Ethernet драйвер LAN7800 loopback
Я преобразовал драйвер linux LAN7800, чтобы создать драйвер baremetal, и он отлично работает, если я отправляю и получаю пакеты через интерфейс.
Проблема возникает, если вы хотите отладить пакеты и перевести LAN7800 в режим внутренней обратной связи.
Предположительно, все, что вы делаете, это устанавливаете бит 10 (INT_LOOP) на MAC_CR
регистр.
Поэтому я делаю это, создаю пакет и отправляю, а затем иду и читаю полученный пакет. То, что я получаю, - это мусор, даже заголовок не имеет никакого смысла.
В техническом описании есть комментарий о том, чтобы не менять режим во время TXEN
а также RXEN
и я даже снял их и ждал подтверждения того, что они не работают. Затем я изменил режим и вернул их обратно.
Но ничего не изменилось. Все, что я когда-либо получаю из петли, это мусор.
Что мне не хватает?