Попробую покороче: Писал драйвера (промышленная ос) для двух эзернетов i82546GB и i82551ER. В итоге 46-ой с 46-ым point-to-point работает идеально. 51-ый с 51-ым тоже. просто супер. если соединить 46-ой с 51-ым - у 46-го на приёме начинают на 40% фреймов сыпаться ошибки по CRC, Align, а также банальная потеря фреймов. Если соединить эти два чипа не на прямую, а через свич - всё хорошо, ошибок нет. Что делать? Грешу на то, что я как-то неправильно инициализирую чипы. Пробовал отрубать им обоим Autonegotiation и жестко ставить 100мб фулл-дуплекс, но разницы нет. Заметил вот что: если 46-ой воткнуть напрямую в 51-ый или другой 46-ой, то линк поднимается примерно через 8 секунд (как будто бы 46-ой пытается своими крутыми мозгами что-то там определить). если 46-ой воткнуть в свич, то линк поднимается мгновенно.