Не могу договорить между собой два Eth чипа

Тема в разделе "WASM.NETWORKS", создана пользователем Arisu, 26 авг 2011.

  1. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    Попробую покороче:

    Писал драйвера (промышленная ос) для двух эзернетов i82546GB и i82551ER.
    В итоге
    46-ой с 46-ым point-to-point работает идеально.
    51-ый с 51-ым тоже. просто супер.

    если соединить 46-ой с 51-ым - у 46-го на приёме начинают на 40% фреймов сыпаться ошибки по CRC, Align, а также банальная потеря фреймов.

    Если соединить эти два чипа не на прямую, а через свич - всё хорошо, ошибок нет.

    Что делать?
    Грешу на то, что я как-то неправильно инициализирую чипы. Пробовал отрубать им обоим Autonegotiation и жестко ставить 100мб фулл-дуплекс, но разницы нет.

    Заметил вот что:
    если 46-ой воткнуть напрямую в 51-ый или другой 46-ой, то линк поднимается примерно через 8 секунд (как будто бы 46-ой пытается своими крутыми мозгами что-то там определить).
    если 46-ой воткнуть в свич, то линк поднимается мгновенно.