Date: Sun, 27 Aug 2017 06:46:27 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 221845] bridge0 causes kernel panic on BBB using usb wifi in hostap mode (RT3071) Message-ID: <bug-221845-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221845 Bug ID: 221845 Summary: bridge0 causes kernel panic on BBB using usb wifi in hostap mode (RT3071) Product: Base System Version: CURRENT Hardware: arm OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: russ.haley@gmail.com Created attachment 185799 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D185799&action= =3Dedit Kernel panic caused by client request for web page. Running BBB through ftdi cable.=20 Asus WiFi Adapter, RT3071 chipset https://wikidevi.com/files/Ralink/RT307x%20product%20brief.pdf root@bbb:~ # uname -a FreeBSD bbb.highfell.local 12.0-CURRENT FreeBSD 12.0-CURRENT #7 r321601M: T= hu Aug 17 22:13:21 PDT 2017=20=20=20=20 russellh@prescott.highfell.local:/usr/home/russellh/FreeBSD/rh-armv6/obj/ar= m.armv6/usr/home/russellh/FreeBSD/rh-armv6/src/sys/BEAGLEBONE-MMCCAM arm root@bbb:~ # cat /boot/loader.conf=20 if_run0_load=3D"YES" wlan_mac_load=3D"YES" root@bbb:~ # cat /etc/rc.conf hostname=3D"bbb.highfell.local" ifconfig_cpsw0=3D"inet 192.168.2.101 netmask 255.255.255.0" defaultrouter=3D"192.168.2.1" hostapd_enable=3D"YES" wlans_run0=3D"wlan0" create_args_wlan0=3D"wlanmode hostap" ifconfig_wlan0=3D"up" #gateway_enable=3D"YES"=20 cloned_interfaces=3D"bridge0" ifconfig_bridge0=3D"addm cpsw0 addm wlan0 up" sshd_enable=3D"YES" sendmail_enable=3D"NONE" sendmail_submit_enable=3D"NO" sendmail_outbound_enable=3D"NO" sendmail_msp_queue_enable=3D"NO" growfs_enable=3D"YES" root@bbb:~ # cat /etc/hostapd.conf=20 interface=3Dwlan0 debug=3D1 ctrl_interface=3D/var/run/hostapd ctrl_interface_group=3Dwheel ssid=3Dfreebsd wpa=3D2 wpa_passphrase=3Dtesting wpa_key_mgmt=3DWPA-PSK wpa_pairwise=3DCCMP root@bbb:~ # cat /etc/resolv.conf=20 # Generated by resolvconf nameserver 192.168.2.1 Hi! So I'm only partially successful repeating your test so far, but I can caus= e a kernel panic! The following are my observations: 1) Before the kernel loads, loader give the following errors: can't find 'if_run' can't find 'wlan_mac' 2) It seems the run0 usb wi-fi interface only comes up after the bridge0 is already enabled. dmesg does NOT capture the output from the failed attempt = to add the non-existent wlan0 interface. However, I grabbed it from the boot output in the serial console: #From dmesg: ugen1.2: <Ralink 802.11 n WLAN> at usbus1 random: unblocking device. bridge0: Ethernet address: 02:94:dd:d7:a3:00 cpsw0: link state changed to DOWN cpsw0: promiscuous mode enabled bridge0: link state changed to DOWN cpsw0: link state changed to UP bridge0: link state changed to UP run0 on uhub1 run0: <1.0> on usbus1 run0: MAC/BBP RT3572 (rev 0x0223), RF RT3052 (MIMO 2T2R), address 60:a4:4c:ec:c9:a5 ieee80211_load_module: load the wlan_amrr module by hand for now. wlan0: Ethernet address: 60:a4:4c:ec:c9:a5 run0: firmware RT3071 ver. 0.33 loaded #From console grab: eeding entropy: . ifconfig: SIOCIFCREATE2: Invalid argument bridge0: Ethernet address: 02:94:dd:d7:a3:00 Created clone interfaces: bridge0. cpsw0: link state changed to DOWN cpsw0: promiscuous mode enabled bridge0: link state changed to DOWN ifconfig: BRDGADD wlan0: No such file or directory cpsw0: link state changed to UP bridge0: link state changed to UP Starting Network: lo0 cpsw0 bridge0. lo0: flags=3D8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3D600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128=20 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2=20 inet 127.0.0.1 netmask 0xff000000=20 groups: lo=20 nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> cpsw0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric = 0 mtu 1500 options=3D8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE> ether a0:f6:fd:8a:c5:be hwaddr a0:f6:fd:8a:c5:be inet 192.168.2.101 netmask 0xffffff00 broadcast 192.168.2.255=20 media: Ethernet autoselect (100baseTX <full-duplex>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> bridge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 ether 02:94:dd:d7:a3:00 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: cpsw0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 1 priority 128 path cost 55 groups: bridge=20 nd6 options=3D9<PERFORMNUD,IFDISABLED> Starting devd. run0 on uhub1 run0: <1.0> on usbus1 run0: MAC/BBP RT3572 (rev 0x0223), RF RT3052 (MIMO 2T2R), address 60:a4:4c:ec:c9:a5 ieee80211_load_module: load the wlan_amrr module by hand for now. wlan0: Ethernet address: 60:a4:4c:ec:c9:a5 Created wlan(4) interfaces: wlan0. run0: firmware RT3071 ver. 0.33 loaded Starting Network: wlan0. wlan0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 15= 00 ether 60:a4:4c:ec:c9:a5 hwaddr 60:a4:4c:ec:c9:a5 groups: wlan=20 ssid "" channel 11 (2462 MHz 11g) regdomain FCC country US authmode OPEN privacy OFF txpower 30 scanvalid 60 protmode CTS wme dtimperiod 1 -dfs bintval 0 media: IEEE 802.11 Wireless Ethernet autoselect <hostap> (autoselect <hostap>) status: no carrier nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> add host 127.0.0.1: gateway lo0 fib 0: route already in table add net default: gateway 192.168.2.1 add host ::1: gateway lo0 fib 0: route already in table *Something else to note about this setup output is that wlan0 did NOT get t= he ssid or the security setup from /etc/hostapd.conf After boot I manually add the wlan0 to the bridge and then set the ssid root@bbb:~ # ifconfig bridge0 addm wlan0 root@bbb:~ # ifconfig wlan0 ssid freebsd I brought the interface down and back up again which made the AP is availab= le to the clients. I open the ipod and get the system to associate with the ap= and enter the following information static IP address: 192.168.2.102 subnet: 255.255.255.0 router: 192.168.2.1 dns : 192.168.1 After numerous wrong attempts at configuring the client, I managed to get exactly ONE request through. The freebsd.org page came up. I then tried to search for the ookla page and my bbb kernel paniced! (yay!) https://pastebin.com/zB9AnWTv The next time I booted the entire board hung right after the usb wifi adapt= er loaded (chop of hung board output, full output here https://pastebin.com/M09C5NEP): cpsw0: link state changed to UP bridge0: link state changed to UP Starting Network: lo0 cpsw0 bridge0. lo0: flags=3D8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3D600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128=20 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2=20 inet 127.0.0.1 netmask 0xff000000=20 groups: lo=20 nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> cpsw0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric = 0 mtu 1500 options=3D8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE> ether a0:f6:fd:8a:c5:be hwaddr a0:f6:fd:8a:c5:be inet 192.168.2.101 netmask 0xffffff00 broadcast 192.168.2.255=20 media: Ethernet autoselect (100baseTX <full-duplex>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> bridge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 ether 02:94:dd:d7:a3:00 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 member: cpsw0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> ifmaxaddr 0 port 1 priority 128 path cost 55 groups: bridge=20 nd6 options=3D9<PERFORMNUD,IFDISABLED> Starting devd. run0 on uhub1 run0: <1.0> on usbus1 U-Boot SPL 2015.10-00001-g143c9ee (Nov 06 2015 - 15:27:19) bad magic I can cause the entire OS to hang it seems. Sometimes it boots, sometimes it hangs. The lights on the cpsw0 interface still blink but the serial console= is dead. I'm trying to *avoid* triggering that so I don't know the sequence th= at's causing it. However, I can cause the kernel to panic relatively quickly aft= er a handful of pages. No more than three full page requests so far. It seems t= here is a bad memory happening in bridge_broadcast() at bridge_broadcast+0x1c4?= =20 https://www.freebsd.org/cgi/man.cgi?apropos=3D0&sektion=3D9&query=3Dm_dup Anyway, that's all the time I have for this weekend. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-221845-8>