More on the Orinoco + XI-825 + StrongARM platform...

Ben Greear greearb at candelatech.com
Thu Feb 21 17:47:56 EST 2002


Well, I added the -mstructure-size-boundary=8 command to the
main make file (I didn't load the resulting kernel, only
the modules.)

I'm too tired to decode...but here's what the printout looks like when
it's working...not sure where the difference is, but the only change
was to recompile those three modules....

Packet received, hdr:
00 60 b3 69 56 67 00 02 2d 0b 27 a0 00 5c aa aa
03 00 00 00 08 00
eh->h_proto: 8  hdr.ethertype: 8 ntohs(eh->h_proto): 800
Packet received, data_len: 84  data_off: 68 skb->len: 98 skb->data:
skb->protocol: 0x8  skb->data addr: c14bead2, hhl: 14
00 60 b3 69 56 67 00 02 2d 0b 27 a0 08 00 45 00
00 54 00 00 40 00 40 01 e0 41 ac 01 01 01 ac 01
01 64 08 00 1a bb 4a 15 0c 00 86 8c 74 3c 99 63
08 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15
16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25
26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
36 37
After eth_type_trans, data_len: 84  data_off: 68 skb->len: 84 skb->data:
skb->protocol: 0x8  skb->data addr: c14beae0
45 00 00 54 00 00 40 00 40 01 e0 41 ac 01 01 01
ac 01 01 64 08 00 1a bb 4a 15 0c 00 86 8c 74 3c
99 63 08 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23
24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33
34 35 36 37


David Gibson wrote:

> On Wed, Feb 20, 2002 at 10:30:31PM -0700, Ben Greear wrote:
> 
>>
>>David Gibson wrote:
>>
>>
>>
>>>Huh, weirder and weirder.  The de-encapsulated packet data looks
>>>correct but eth_trans_type() appears to be misbehaving.  The Ethernet
>>>header is big-endian so the 08 00 protocol should give protocol 0x800,
>>>not 0x8 - so it looks like there is some subtl endian problem, buried
>>>within there.
>>>
>>
>>I added some more printing...the ntohs() value for the header seems
>>correct.  The really baffling thing is that arps seem to work
>>(as shown by the tcpdump trace I just sent):
>>
>>I'll be more than happy to throw in some ntohs or visa/versa
>>calls to test things out...but I'm unclear of exactly where
>>I should start poking...
>>
>>Note that the regular ethernet driver works fine, too, so I
>>suspect the orinoco somehow...
>>
> 
> Well, that's logical.  Except that at the point you're printing out
> the data the packet looks fine.  In fact I just figured out that even
> the protocol is ok, because skb->protocol is stored in network order.
> But by the time the packet reaches tcpdump, the first two bytes of the
> IP header have gone missing.  But I can't see anything in the driver
> which could possibly mangle the data between your printk()s and the
> netif_rx().  The IP header is even 4-byte aligned.
> 
> 


-- 
Ben Greear <greearb at candelatech.com>       <Ben_Greear AT excite.com>
President of Candela Technologies Inc      http://www.candelatech.com
ScryMUD:  http://scry.wanfear.com     http://scry.wanfear.com/~greear






More information about the wireless mailing list