Unexpected CERR/LCAR from Ethernet controller

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
rmacnak
Posts: 1
Joined: Mon Jan 02, 2012 11:10 pm

Unexpected CERR/LCAR from Ethernet controller

Post by rmacnak »

Hi,

I am working on a driver for the Am79C970 Ethernet controller in VirtualBox. I have managed to receive interrupts for the completion of initialization and for transmit, but the transmits always come back with errors. The status register has CERR (Collision Error) set and the transmit descriptor has LCAR (Loss of Carrier) set. To me this sounds like the controller believes something has gone wrong with the physical link, but this is virtual hardware so that seems dubious. Any suggestions on what might be going wrong?

Thanks, Ryan
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Unexpected CERR/LCAR from Ethernet controller

Post by Combuster »

I'm not familiar with the internals of the device in question, but a few generic things come to mind that you may or may not have checked yet:

1) Have you actually configured the emulated NIC in the settings of the VM (so that it's actually connected), and have you successfully gotten a linux livecd to have working internet to eliminate that option?

2) Are the signals actually inverted in meaning (i.e. 1 is good and 0 is bad)?

3) Are there hardware registers that are relevant for transmission or reception that you haven't touched yet, and do all registers have otherwise acceptable values?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply