[ECOS] N00blet question on networking

Chuck McManis cmcmanis@mcmanis.com
Fri Feb 23 02:49:00 GMT 2007


At 04:04 AM 2/22/2007, Gary Thomas wrote:
The most likely cause is not getting interrupts from your
>ethernet card.  RedBoot doesn't use them but eCos requires
>that they work.


Ok so many diag_printfs later ...

One of the things I discovered is that my CR0 register which has 
control bits for enabling transmission and reception. Rx Enable is 
bit 3 and Tx enable is bit 4, NIC "Start" is bit 1 so a "proper" CR0 
should be 0x1a, but at somepoint it gets 0x12 in it and that disables 
the receiver. Since my transmits were working fine slam 0x1a in to 
periodically and I at least got through the handshake to the DHCP 
server (it assigned my address Etc.) that tells me that interrupts 
are hooked correctly if the CR0 register is correct.

Looking at it further, I was wondering if the Half duplex / full 
duplex state of the PHY might have anything to do with it (its hooked 
to a switch and so should be full duplex). Has anyone had an 
experience where if the MAC thought the Phy was half duplex it would 
disable the receiver when it was transmitting? In such a system would 
I be adding code to my TxDone function to turn the receiver enable 
bit back on? Clearly on a Hub it would be half duplex and some other 
lame networking equipment so I want to do the right thing.

--Chuck


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list