Gateworks 2348 and ath problem
John Hay
jhay at meraka.org.za
Thu Nov 30 04:02:21 PST 2006
> > Well you're doing better than me. I tried patching the hal.o in CVS to
> > deal with the ELF magic number and hit problems with DMA aborts on rx so
> > went off to do other work. I'm trying to get a new version together for
> > folks to use but am busy with real work. All my successful testing was
> > done w/ a version of the hal that I am not (yet) comfortable distributing.
> >
> > The above looks like something outside the driver. I forced the
> > ethernet header structure to be __packed to deal with a compiler issue;
> > do you have that change (you don't indicate what code you are running or
> > how you built it)?
>
> Hmmm, I'm doing what my kids do, just assume everyone knows what I do. :-)
>
> I have basically followed the instructions you posted when you merged
> the Gateworks/Avila code into -current. So it was -current build on the
> day I posted. I tried both with the hal in -current (using wackelf) and
> the 0909 hal you mentioned in your email. The kernel used the AVILA conf
> in -current changed to use the CF as root, with nfs and bootp removed
> and these added:
>
> options MROUTING
> options IPFIREWALL
> options IPFIREWALL_FORWARD
> options IPFIREWALL_DEFAULT_TO_ACCEPT
> options IPFIREWALL_VERBOSE
> options IPDIVERT
> options DUMMYNET
>
> options IPSEC
> options IPSEC_ESP
>
> Thinking about it, I can remove all of them and try again to make sure
> it isn't one of them doing it.
>
> The version of net/ethernet.h that I use is 1.27 and struct ether_header
> is marked as __packed.
>
> What is strange to me is that according to tcpdump on the arm box itself,
> the outgoing packets looks ok.
Ok, I built a kernel without all those options, but it didn't make a
difference. I also tried sta mode and it still looks the same. Some
new info that I have is that when I do a tcpdump on the arm box itself,
adding -y IEEE802_11_RADIO makes a difference. Without it the outgoing
packets looks ok, but with it 2 bytes are added between the ether (802.11)
header and the ip(v6) header.
Here is a packet without IEEE802_11_RADIO:
tcpdump -p -i ath0 -n -s 0 -X -c 5 -e
11:59:06.009123 00:02:6f:34:21:a2 > 33:33:00:00:00:01, ethertype IPv6 (0x86dd), length 94: fd9c:6829:597c:10:202:6fff:fe34:21a2.698 > ff0e::1.698: UDP, length 32
0x0000: 6000 0000 0028 1101 fd9c 6829 597c 0010 `....(....h)Y|..
0x0010: 0202 6fff fe34 21a2 ff0e 0000 0000 0000 ..o..4!.........
0x0020: 0000 0000 0000 0001 02ba 02ba 0028 2b63 .............(+c
0x0030: 0020 e1db c948 001c fd9c 6829 597c 0010 .....H....h)Y|..
0x0040: 0202 6fff fe34 21a2 0100 7bfd 0000 0503 ..o..4!...{.....
Here is a similar packet with IEEE802_11_RADIO:
tcpdump -p -i ath0 -n -s 0 -X -c 5 -e -y IEEE802_11_RADIO
11:59:30.249119 2431813630us tsft short preamble 18.0 Mb/s 2412 MHz (0x0480) 40dBm tx power antenna 0 BSSID:00:02:6f:22:95:47 SA:00:02:6f:34:21:a2 DA:33:33:00:00:00:01 LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000), ethertype IPv6 (0x86dd): 1101:fd9c:6829:597c:10:202:6fff:fe34 > 21a2:ff0e::: [|HBH]
0x0000: aaaa 0300 0000 86dd 0000 6000 0000 0028 ..........`....(
0x0010: 1101 fd9c 6829 597c 0010 0202 6fff fe34 ....h)Y|....o..4
0x0020: 21a2 ff0e 0000 0000 0000 0000 0000 0000 !...............
0x0030: 0001 02ba 02ba 0028 2b49 0020 e1e6 c948 .......(+I.....H
0x0040: 001c fd9c 6829 597c 0010 0202 6fff fe34 ....h)Y|....o..4
0x0050: 21a2 0100 7c0c 0000 0503 !...|.....
Note the 0000 between 86dd and 6000. On a non-arm box a similar packet
looks like this:
12:39:21.640024 17221765257721674776us tsft short preamble 6.0 Mb/s 5785 MHz (0x0140) -69dB signal -96dB noise antenna 1 DA:33:33:00:00:00:01 SA:00:80:48:41:99:86 BSSID:02:02:6f:41:19:1f LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000), ethertype IPv6 (0x86dd): fd9c:6829:597c:10:280:48ff:fe41:9986.698 > ff0e::1.698: UDP, length 200
0x0000: aaaa 0300 0000 86dd 6000 0000 00d0 1101 ........`.......
0x0010: fd9c 6829 597c 0010 0280 48ff fe41 9986 ..h)Y|....H..A..
0x0020: ff0e 0000 0000 0000 0000 0000 0000 0001 ................
0x0030: 02ba 02ba 00d0 d30c 00c8 d754 cae8 0030 ...........T...0
0x0040: fd9c 6829 597c 0020 0280 48ff fe7e 6005 ..h)Y|....H..~`.
...
I have checked that net/ethernet.h is the latest with ether_header
marked as __packed.
John
--
John Hay -- John.Hay at meraka.csir.co.za / jhay at FreeBSD.org
More information about the freebsd-arm
mailing list