[ECOS] A clue....

Chuck McManis cmcmanis@mcmanis.com
Wed Feb 15 13:05:00 GMT 2006


At 04:37 AM 2/15/2006, Andrew Lunn wrote:
>Does it known its own MAC address? Where does it get it from? When it
>sends out the ARP request what does it use for its own address?

Yes, it does. This is the bit of the log that shows the eCos target trying 
to ARP:

##Tx descriptor index 0 TDES 0012c090 buffer 0012c0d0
TxEvent:  len: 0x002a
Packet data at 0x0012c0d0
ff ff ff ff ff ff 75 17 c7 05 04 4d 08 06 00 01 08 00 06 04 00 01 75 17 c7 
05 04 4d c0 a8 6e b1 6e ff 00 8a 00 8a c0 a8 6e 1e
Padded 42 byte packet to 60 bytes
Before TX: Desc (@0x0012c090) 80000000 00e0803c 0012c0d0 0012c0a0
  Next (@0x0012c0a0) 00000000 00e0803c 0012c6d8 0012c0b0
vt8235_send:END: ints at TX: 00

As you can see the destination address is FF:FF...FF but the source address 
is 75:17:C7:05:05:4D which is the correct MAC address for the card. I'm 
pretty sure the PHY is working fine as I can talk to it, and if it were in 
loopback mode or something it wouldn't send out any data (but tcpdump on my 
host sees the packet come out, and tcpdump sees it being responded to, but 
my ethernet driver doesn't see the response.

I've got a really dumb ethernet switch so I don't believe the switch is 
filtering and like I said it works fine under FreeBSD when I boot that to 
copy over a new redboot.elf boot image.

In another curious bit I tried putting it into promiscuous mode and it 
STILL didn't get non-broadcast packets. That is troublesome as well. What 
is really strange is I can't figure out from the data sheet how I would 
even PUT the thing in a mode where it ignore packets addressed to it and 
accepted broadcast packets.

To Nick's point, given that I don't see the packets show up in 
vt8235_recv() I don't think its the upper levels of the networking code. 
I'm taking it on faith that if they saw the packet they would put it to use 
but there is no way for them to see a packet without the _recv() function 
seeing it first.

The other area that is interesting will be where recv decides it actually 
has a packet. That will bear further investigation after I get some sleep.

--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