usb/156000: rum(4) Fatal trap 18: integer divide fault while in
kernel mode
Ruan Chunping
rcp at mipang.com
Tue Mar 29 14:40:47 UTC 2011
The following reply was made to PR usb/156000; it has been noted by GNATS.
From: Ruan Chunping <rcp at mipang.com>
To: PseudoCylon <moonlightakkiy at yahoo.ca>
Cc: bug-followup at freebsd.org, Hans Petter Selasky <hselasky at c2i.net>
Subject: Re: usb/156000: rum(4) Fatal trap 18: integer divide fault while in
kernel mode
Date: Tue, 29 Mar 2011 21:42:54 +0800
--bcaec51b2071e86735049f9f3d93
Content-Type: text/plain; charset=UTF-8
Thanks a lot!
Maybe rum(4) has anthor ARP-Reply problem too.
Last week,i try to setup the rum as my wireless AP.
I foud that, some device work, and some not.
My Nokia E71(symbian) works good, while anthor two Andriod mobile phones can
not access any website.
rum0 <hostap>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:1d:0f:07:9b:28
inet 192.168.77.1 netmask 0xffffff00 broadcast 192.168.77.255
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: running
ssid mptest channel 6 (2437 MHz 11g) bssid 00:1d:0f:07:9b:28
regdomain ROW country CN authmode WPA2/802.11i privacy MIXED
deftxkey 3 AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 30 scanvalid
60
protmode CTS dtimperiod 1 -dfs
Let's see how E17 talking to wlan0 (arp request/reply)
#tcpdump -i wlan0 -e -Nnnn arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
20:56:12.234527 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.101 tell 0.0.0.0, length 28
20:56:12.234561 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.101 tell 0.0.0.0, length 28
20:56:13.263247 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.101,
length 28
20:56:13.263389 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.101,
length 28
20:56:13.263513 00:1d:0f:07:9b:28 > 00:21:fe:3e:0a:6b, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 00:1d:0f:07:9b:28, length 28
Everything ok.
And,the Andriod phone.
18:02:06.879851 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:06.879869 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:07.879226 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:07.879244 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:08.877476 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:08.877494 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:15.260227 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:15.260245 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:16.261477 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:16.261495 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
...........
there's no arp answer reply to andriod's mac a4:ed:4e:74:e4:30
so the andriod phone don't know who-has 192.168.77.1,he can't access any
website.
# arp -an
(192.168.77.101) at 00:21:fe:3e:0a:6b on wlan0 expires in 1197 seconds
[ethernet
...
( there's no 192.168.77.1 at 00:1d:0f:07:9b:28 on wlan0 ... is it right?)
//////////
Then, i addm wlan0 to an bridge (Another pc, Freebsd8.2-RELEASE amd64)
rum0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether 00:1d:0f:07:9b:28
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: running
wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
ether 00:1d:0f:07:9b:28
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: running
ssid mptest channel 6 (2437 MHz 11g) bssid 00:1d:0f:07:9b:28
regdomain ROW country CN authmode WPA2/802.11i privacy MIXED
deftxkey 3 AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 30 scanvalid
60
protmode CTS dtimperiod 1 -dfs
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
ether 72:5f:7d:8a:55:34
inet 192.168.77.1 netmask 0xffffff00 broadcast 192.168.77.255
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: wlan0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 10 priority 128 path cost 370370
setup isc-dhcpd listening on bridge0
Almost the same result.
Nokia E71 works good too. and the Andriod phone,waiting for the ARP-Reply
packet,waiting and waiting....
Something different is that:
birdge0 received the ARP-Request and sent ARP-Reply back, but the packet not
sent (by wlan0) back to the phone.
here's the tcpdump on bridge0:
18:02:06.879881 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:06.879893 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 28
18:02:07.879256 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:07.879269 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 28
18:02:08.877507 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:08.877519 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 28
18:02:15.260258 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:15.260281 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 28
18:02:16.261508 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100,
length 28
18:02:16.261521 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype ARP
(0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 28
..........
#arp -an
? (192.168.77.100) at a4:ed:4e:74:e4:30 on bridge0 expires in 761 seconds
[bridge] //< -- the Andriod
? (192.168.77.1) at 72:5f:7d:8a:55:34 on bridge0 permanent [bridge] //< --
the bridge it's self
Is this rum's bug or wlan's ?
On Tue, Mar 29, 2011 at 18:09, PseudoCylon <moonlightakkiy at yahoo.ca> wrote:
> > sudo arping -i wlan0 -b -S 192.168.77.100 -s 00:21:fe:3e:0a:6b -t
> >00:1d:0f:07:9b:28 192.168.77.1
> >
> > * 00:1d:0f:07:9b:28 is the rum0/wlan0 's MAC
>
> Looks like
> 1) rum0 was asked to Tx a packet with it's own mac addr as dst addr
> 2) find_tx_node() picked Tx node with ni_associd == 0 (node with own mac
> addr)
> because rum0 runs in HOSTAP mode, IEEE80211_NODE_ASSOCID flag hasn't
> been
> set
> 3) the packet slip though this test
> http://fxr.watson.org/fxr/source/net80211/ieee80211_output.c#L231
> 4) picked up a bogus value at
> http://fxr.watson.org/fxr/source/dev/usb/wlan/if_rum.c#L1221
> 5) probably divided by 0 at
> http://fxr.watson.org/fxr/source/dev/usb/wlan/if_rum.c#L1019
>
> [RFC] could add a simple test to the driver, like if (rate != 0), but isn't
> it
> nicer to patch in ieee80211_output.c?
>
> workaround
> Also addm em0, and set dhcpd_iface in /etc/re.conf
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-dhcp.html
> Then, it should work without issuing tricky arping
>
>
> AK
>
>
--bcaec51b2071e86735049f9f3d93
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<font face=3D"courier new,monospace"><div>Thanks a lot!</div><div><br></div=
><div><br></div><div>Maybe rum(4) has anthor ARP-Reply problem too.</div><d=
iv><br></div><div>Last week,i try to setup the rum as my wireless AP.</div>
<div>I foud that, some device work, and some not.</div><div><br></div><div>=
My Nokia E71(symbian) works good, while anthor two Andriod mobile phones ca=
n not access any website.</div><div><br></div><div>rum0 <hostap></div=
>
<div><div>wlan0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>=
metric 0 mtu 1500</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ether 00:1d:0f:07:=
9b:28</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 inet 192.168.77.1 netmask 0xfff=
fff00 broadcast 192.168.77.255</div><div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 media: IEEE 802.11 Wireless Ethernet autoselect=
mode 11g <hostap></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 status: runn=
ing</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ssid mptest channel 6 (2437 MHz 1=
1g) bssid 00:1d:0f:07:9b:28</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 regdomain=
ROW country CN authmode WPA2/802.11i privacy MIXED</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 deftxkey 3 AES-CCM 2:128-bit AES-CCM 3:128=
-bit txpower 30 scanvalid 60</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 protmode=
CTS dtimperiod 1 -dfs</div></div><div><br></div><div><br></div><div>Let=
9;s see how E17 talking to wlan0 (arp request/reply)=C2=A0</div>
<div><br></div><div>#tcpdump -i wlan0 -e -Nnnn arp</div><div>tcpdump: verbo=
se output suppressed, use -v or -vv for full protocol decode</div><div>list=
ening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes</div>
<div>20:56:12.234527 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.101 tell 0.0.0.0, length =
28</div><div>20:56:12.234561 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethe=
rtype ARP (0x0806), length 42: Request who-has 192.168.77.101 tell 0.0.0.0,=
length 28</div>
<div>20:56:13.263247 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.101, le=
ngth 28</div><div>20:56:13.263389 00:21:fe:3e:0a:6b > ff:ff:ff:ff:ff:ff,=
ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.1=
68.77.101, length 28</div>
<div>20:56:13.263513 00:1d:0f:07:9b:28 > 00:21:fe:3e:0a:6b, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 00:1d:0f:07:9b:28, length 2=
8</div><div><br></div><div>Everything ok.</div><div><br></div><div>And,the =
Andriod phone.</div>
<div><div>18:02:06.879851 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, etherty=
pe ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.10=
0, length 28</div><div>18:02:06.879869 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:f=
f:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell =
192.168.77.100, length 28</div>
<div>18:02:07.879226 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100, le=
ngth 28</div><div>18:02:07.879244 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff,=
ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.1=
68.77.100, length 28</div>
<div>18:02:08.877476 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100, le=
ngth 28</div><div>18:02:08.877494 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff,=
ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.1=
68.77.100, length 28</div>
<div>18:02:15.260227 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100, le=
ngth 28</div><div>18:02:15.260245 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff,=
ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.1=
68.77.100, length 28</div>
<div>18:02:16.261477 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype AR=
P (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.100, le=
ngth 28</div><div>18:02:16.261495 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff,=
ethertype ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.1=
68.77.100, length 28</div>
</div><div>...........</div><div>there's no arp answer reply to =C2=A0a=
ndriod's mac=C2=A0a4:ed:4e:74:e4:30</div><div><br></div><div>so the and=
riod phone don't know who-has 192.168.77.1,he can't access any webs=
ite.</div>
<div><br></div><div># arp -an</div><div>(192.168.77.101) at 00:21:fe:3e:0a:=
6b on wlan0 expires in 1197 seconds [ethernet</div><div>...</div><div>( the=
re's no 192.168.77.1 at=C2=A000:1d:0f:07:9b:28 on wlan0 ... is it right=
?)</div>
<div><br></div><div><br></div><div>//////////</div><div><br></div><div>Then=
, i addm wlan0 to an bridge (Another pc, Freebsd8.2-RELEASE amd64)</div><di=
v><br></div><div><div>rum0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MU=
LTICAST> metric 0 mtu 2290</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ether 00:1d:0f:07:9b:28</div><div>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 media: IEEE 802.11 Wireless Ethernet autoselect mode 1=
1g <hostap></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 status: running</di=
v><div>wlan0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAS=
T> metric 0 mtu 1500</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ether 00:1d:0f:07:9b:28</div><div>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 media: IEEE 802.11 Wireless Ethernet autoselect mode 1=
1g <hostap></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 status: running</di=
v><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ssid mptest channel 6 (2437 MHz 11g) bss=
id 00:1d:0f:07:9b:28</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 regdomain ROW country CN authmode WPA2/802=
.11i privacy MIXED</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 deftxkey 3 AES-CCM=
2:128-bit AES-CCM 3:128-bit txpower 30 scanvalid 60</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 protmode CTS dtimperiod 1 -dfs</div><div>
bridge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric =
0 mtu 1500</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ether 72:5f:7d:8a:55:34</d=
iv><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 inet 192.168.77.1 netmask 0xffffff00 br=
oadcast 192.168.77.255</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 id 00:00:00:00=
:00:00 priority 32768 hellotime 2 fwddelay 15</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 maxage 20 holdcnt 6 proto rstp maxaddr 100=
timeout 1200</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 root id 00:00:00:00:00:=
00 priority 32768 ifcost 0 port 0</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 mem=
ber: wlan0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP></div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ifmaxaddr 0 po=
rt 10 priority 128 path cost 370370</div></div><div><br></div><div><br></di=
v><div>setup isc-dhcpd listening on bridge0</div><div><br></div><div>Almost=
the same result.</div><div><br></div>
<div>Nokia E71 works good too. and the Andriod phone,waiting for the =C2=A0=
ARP-Reply packet,waiting and waiting....</div><div><br></div><div>Something=
different is that:</div><div>birdge0 received the ARP-Request and sent ARP=
-Reply back, but the packet not sent (by wlan0) back to the phone.</div>
<div><br></div><div>here's the tcpdump on bridge0:</div><div><div>18:02=
:06.879881 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806)=
, length 42: Request who-has 192.168.77.1 tell 192.168.77.100, length 28</d=
iv>
<div>18:02:06.879893 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 2=
8</div><div>18:02:07.879256 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ether=
type ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.=
100, length 28</div>
<div>18:02:07.879269 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 2=
8</div><div>18:02:08.877507 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ether=
type ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.=
100, length 28</div>
<div>18:02:08.877519 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 2=
8</div><div>18:02:15.260258 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ether=
type ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.=
100, length 28</div>
<div>18:02:15.260281 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 2=
8</div><div>18:02:16.261508 a4:ed:4e:74:e4:30 > ff:ff:ff:ff:ff:ff, ether=
type ARP (0x0806), length 42: Request who-has 192.168.77.1 tell 192.168.77.=
100, length 28</div>
<div>18:02:16.261521 72:5f:7d:8a:55:34 > a4:ed:4e:74:e4:30, ethertype AR=
P (0x0806), length 42: Reply 192.168.77.1 is-at 72:5f:7d:8a:55:34, length 2=
8</div></div><div>..........</div><div><br></div><div>#arp -an</div><div>
<div>? (192.168.77.100) at a4:ed:4e:74:e4:30 on bridge0 expires in 761 seco=
nds [bridge] =C2=A0//< -- the Andriod=C2=A0</div><div>? (192.168.77.1) a=
t 72:5f:7d:8a:55:34 on bridge0 permanent [bridge] //< -- the bridge it&#=
39;s self</div>
</div><div><br></div><div><br></div><div>Is this rum's bug or wlan'=
s ?</div><div><br></div><div><br></div></font><br><div class=3D"gmail_quote=
">On Tue, Mar 29, 2011 at 18:09, PseudoCylon <span dir=3D"ltr"><<a href=
=3D"mailto:moonlightakkiy at yahoo.ca">moonlightakkiy at yahoo.ca</a>></span> =
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">> sudo arping -i wlan0 -b -S 192.168.77.=
100 -s 00:21:fe:3e:0a:6b -t<br>
>00:1d:0f:07:9b:28 192.168.77.1<br>
><br>
> * 00:1d:0f:07:9b:28 is the rum0/wlan0 's MAC<br>
<br>
Looks like<br>
1) rum0 was asked to Tx a packet with it's own mac addr as dst addr<br>
2) find_tx_node() picked Tx node with ni_associd =3D=3D 0 (node with own ma=
c addr)<br>
=C2=A0 =C2=A0because rum0 runs in HOSTAP mode, IEEE80211_NODE_ASSOCID flag=
hasn't been<br>
set<br>
3) the packet slip though this test<br>
=C2=A0 <a href=3D"http://fxr.watson.org/fxr/source/net80211/ieee80211_outp=
ut.c#L231" target=3D"_blank">http://fxr.watson.org/fxr/source/net80211/ieee=
80211_output.c#L231</a><br>
4) picked up a bogus value at<br>
=C2=A0 <a href=3D"http://fxr.watson.org/fxr/source/dev/usb/wlan/if_rum.c#L=
1221" target=3D"_blank">http://fxr.watson.org/fxr/source/dev/usb/wlan/if_ru=
m.c#L1221</a><br>
5) probably divided by 0 at<br>
=C2=A0 <a href=3D"http://fxr.watson.org/fxr/source/dev/usb/wlan/if_rum.c#L=
1019" target=3D"_blank">http://fxr.watson.org/fxr/source/dev/usb/wlan/if_ru=
m.c#L1019</a><br>
<br>
[RFC] could add a simple test to the driver, like if (rate !=3D 0), but isn=
't it<br>
nicer to patch in ieee80211_output.c?<br>
<br>
workaround<br>
Also addm em0, and set dhcpd_iface in /etc/re.conf<br>
<a href=3D"http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/networ=
k-dhcp.html" target=3D"_blank">http://www.freebsd.org/doc/en_US.ISO8859-1/b=
ooks/handbook/network-dhcp.html</a><br>
Then, it should work without issuing tricky arping<br>
<br>
<br>
AK<br>
<br>
</blockquote></div><br><br clear=3D"all"><br><div><font face=3D"'courie=
r new', monospace"><br></font><br><br></div><br>
--bcaec51b2071e86735049f9f3d93--
More information about the freebsd-usb
mailing list