[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