bash.im ithappens.me zadolba.li
7179

Сколько веревочке ни виться…

Работал я некогда в одном замечательно-секретном НИИ, занимающемся разработкой замечательно-секретных приборов. Настолько секретных, что ни сами разработчики, ни начальники полностью про секретность ничего сказать не могли.

Понадобилось как-то сделать хитроумный девайс типа большой военной флешки с кучей специализированных и обычных интерфейсов. Это наши «брелочки» маленькие да лёгкие, все в USB-портах висят самостоятельно, а у военных девайсы каждый по четыре-пять кило, да и подключаются штатно вовсе не к писишкам. Кроме прочих радостей, в задуманном приборе должен был быть и самый обычный Ethernet.

Девайс разработали, испытали, сделали две или три серии по несколько десятков штук и сдали в эксплуатацию. Мелкие огрехи устранялись перепрошивками или незначительными доработками, но в целом всё шло прекрасно. LAN-порт в своей простоте с надёжностью работал как часы.

Через несколько лет эксплуатации случайно выяснился замечательный факт: при подключении в сеть через свитчи вполне определённой марки связи с приборами нет. Со всеми! Ставим другие имеющиеся свитчи — всё без сучка и задоринки. Сами коммутаторы, понятное дело, проверены во всех возможных ситуациях заранее и линк держат аж до 130-метровых дистанций.

Мистика? Отнюдь нет. После недели курения мануалов по микросхемам, попыток снять low-level-логи со свитчей и прочих танцев с бубном главный разработчик в ходе перепроверок конструкторской документации обнаружил нестандартный порядок обжима тех самых кабелей, которые подключаются к Ethernet-портам приборов. Надо заметить, что разъёмы используются специализированные, поэтому кабели на основе витой пары делаются на производстве самостоятельно. На приборной стороне используется одна четвёрка кабелей (например, синяя пара — Rx, зелёная — Tx), а на противоположной сетевой — другая (соответственно, оранжевая и коричневая).

Как это работало на протяжении трёх лет, спросите? А вот так! На чистых наводках обеспечивались полные 100 Мбит/с. Прибор честно отрабатывал все задания во всевозможных жёстких условиях эксплуатации, так ни разу и не отказавшись передавать свои кровные данные по назначению.

Поучаствовав в прилюдной экзекуции конструктора, который и нарисовал схему разводки жил, я уяснил для себя два важных момента:

1) Обязательно проверяй работу не только за собой, но и за другими.
2) Сколь бы хорошо ни вилась витая пара, дополнительная экранировка лишней не будет.