Date: Tue, 29 Mar 2011 14:40:12 GMT From: Ruan Chunping <rcp@mipang.com> To: freebsd-usb@FreeBSD.org Subject: Re: usb/156000: rum(4) Fatal trap 18: integer divide fault while in kernel mode Message-ID: <201103291440.p2TEeCip063352@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/156000; it has been noted by GNATS. From: Ruan Chunping <rcp@mipang.com> To: PseudoCylon <moonlightakkiy@yahoo.ca> Cc: bug-followup@freebsd.org, Hans Petter Selasky <hselasky@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@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@yahoo.ca">moonlightakkiy@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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103291440.p2TEeCip063352>