This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: N00blet question on networking


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]