usb/156000: rum(4) Fatal trap 18: integer divide fault while in
kernel mode
PseudoCylon
moonlightakkiy at yahoo.ca
Tue Mar 29 10:40:10 UTC 2011
The following reply was made to PR usb/156000; it has been noted by GNATS.
From: PseudoCylon <moonlightakkiy at yahoo.ca>
To: bug-followup at freebsd.org, rcp at mipang.com
Cc: 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 03:09:33 -0700 (PDT)
> 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
More information about the freebsd-usb
mailing list