- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Has anyone run into problems relating to byte order and or endian-ness using the SMC 91C111 ethernet chip with uClinux? I'm unable to ping my board at this point. For example, assume I want to ping my board, 00:01:02:03:04:05, from a linux box running ethereal, 06:07:08:09:10:11. In Ethereal, the packet looks as expected: Ethernet Destination & Source, followed by the IP Header, followed by 0x08 through 0x36, in ascending order. However, when I dump the packet in the smc_rcv routine (in the smc91111.c driver), the addresses come out as:
02:03:00:01:06:07 04:05:10:11:08:09 The IP Header information is similarly permuted. This would appear to be some kind of byte-order issue. However, the packet payload (0x08-0x36) remains in correct order on both sides. Plus, this should all be done in 32-bit reads, so that confuses me as well. I can get the OS to accept the packet by swapping around the address bytes to fix the observed 'incorrectness'. But, this is surely not the correct fix, and I'd imagine someone else must have encountered this(?). Thanks in advance, RyanLink Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page