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 &lt;hostap&gt;</div=
 >
 
 <div><div>wlan0: flags=3D8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt;=
  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 &lt;hostap&gt;</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&#3=
 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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&#39;s no arp answer reply to =C2=A0a=
 ndriod&#39;s mac=C2=A0a4:ed:4e:74:e4:30</div><div><br></div><div>so the and=
 riod phone don&#39;t know who-has 192.168.77.1,he can&#39;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&#39;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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MU=
 LTICAST&gt; 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 &lt;hostap&gt;</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 status: running</di=
 v><div>wlan0: flags=3D8943&lt;UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAS=
 T&gt; 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 &lt;hostap&gt;</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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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&lt;LEARNING,DISCOVER,AUTOEDGE,AUTOPTP&gt;</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&#39;s the tcpdump on bridge0:</div><div><div>18:02=
 :06.879881 a4:ed:4e:74:e4:30 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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 &gt; 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//&lt; -- the Andriod=C2=A0</div><div>? (192.168.77.1) a=
 t 72:5f:7d:8a:55:34 on bridge0 permanent [bridge] //&lt; -- the bridge it&#=
 39;s self</div>
 
 </div><div><br></div><div><br></div><div>Is this rum&#39;s bug or wlan&#39;=
 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">&lt;<a href=
 =3D"mailto:moonlightakkiy at yahoo.ca">moonlightakkiy at yahoo.ca</a>&gt;</span> =
 wrote:<br>
 
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex;">&gt; sudo arping -i wlan0 -b -S 192.168.77.=
 100 -s 00:21:fe:3e:0a:6b -t<br>
 &gt;00:1d:0f:07:9b:28 192.168.77.1<br>
 &gt;<br>
 &gt; * 00:1d:0f:07:9b:28 is the rum0/wlan0 &#39;s MAC<br>
 <br>
 Looks like<br>
 1) rum0 was asked to Tx a packet with it&#39;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&#39;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=
 &#39;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"&#39;courie=
 r new&#39;, monospace"><br></font><br><br></div><br>
 
 --bcaec51b2071e86735049f9f3d93--


More information about the freebsd-usb mailing list