Date: Wed, 16 Sep 2015 01:06:03 -0500 From: Matthew Grooms <mgrooms@shrew.net> To: freebsd-wireless@freebsd.org Subject: Re: urtwn and hostap Message-ID: <55F906CB.9030007@shrew.net> In-Reply-To: <55F90187.10809@shrew.net> References: <55F90187.10809@shrew.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 9/16/2015 12:43 AM, Matthew Grooms wrote: > Hey wireless folks, > > I wanted to setup a Raspberry Pi as a FreeBSD AP and purchased a > picked up a few Edimax 802.11 adapters to play with. Unfortunately > these aren't supported in hostap mode. As it turns out these Edimax > adapters use the RTL8188CUS chipset so I poked around the net and > noticed that Linux does support the host AP feature with it's > RTL8188CUS driver. I was also able to find a patch for OpenBSD that > added support for the RTL8188EU chipset to the urtwn driver ... > > http://marc.info/?l=openbsd-tech&m=143577648117514&w=2 > > So I ordered one of these which arrived from China a few weeks later ... > > http://www.amazon.com/gp/product/B00L28AN88?psc=1&redirect=true&ref_=oh_aui_detailpage_o05_s00 > > > Next I took a stab at porting the patch to FreeBSD. With the attached > patch applied, I was able to setup a wlan0 device with the hostap > feature. After bridging it with the LAN I could associate with my > android phone, obtain an IP address via DHCP, browse a few web pages > and watch all the packets pass through the bridge. Sadly, when I > attempted to destroy the wlan0 device I got a kernel panic. The > screenshot for that is also attached and I'm not sure if I'm going to > be able to figure this one out without some help. I'm pretty out of my > element here. I assume it's happening in ieee80211_free_node() when > IEEE80211_NODE_LOCK() is called. To be clear, the crash only occurs > when the adapter is configured in hostap mode with the patch applied. > Anyone have any suggestions as to what I should be looking at to > prevent this crash? > > If I can get this working for the RTL8188EU, I'll also take a stab at > getting the RTL8188CUS chipset working in hostap mode. That is, > assuming I can glean enough info from drivers that support this > feature on other open source platforms. It appears to be extremely > popular with the Raspberry PI crowd ... > > http://www.amazon.com/Edimax-EW-7811Un-150Mbps-Raspberry-Supports/dp/B003MTTJOY > > It looks like my screenshot got scrubbed. Here is my hopefully faithful transcription ... Fatal trap 9: general protection fault while in kernel mode cpuid = 3; apic id = 03 instruction pointer = 0x20:0xffffffff80a01105 stack pointer = 0x28:0xfffffe0092fe86f0 frame pointer = 0x28:0xfffffe0092fe8740 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 716 (ifconfig) [thread pid 716 tid 100082 ] Stopped at __mtx_lock_flags+0x55: movq (%r13),%rax db> bt Tracing pid 716 tid 100082 td 0xffffff800512814d0 __mtx_lock_flags() at __mtx_lock_flags+0x55/frame 0xfffffe0092fe8740 ieee80211_free_node() at ieee80211_free_node()_0x38/frame 0xfffffe0092fe8780 ieee80211_node_vdetach() at ieee80211_node_vdetach()+0x2d/frame 0xfffffe0092fe87a0 ieee80211_vap_detach() at ieee80211_vap_detach()+0x35e/frame 0xfffffe0092fe87d0 urtwn_vap_delete() at urtwn_vap_delete()+0xe/frame 0xfffffe0092fe87f0 if_clone_destroyif() at if_clone_destroyif()+0x1aa/frame 0xfffffe0092fe8840 if_clone_destroy() at if_clone_destroy()0x8e/frame 0xfffffe0092fe8860 kern_ioctl() at kern_ioctl()+0x230/frame 0xfffffe0092fe88c0 sys_ioctl() at sys_ioctl()+0x153/frame 0xfffffe0092fe89a0 amd64_syscall() at amd64_syscall()+0x282/frame 0xfffffe0092fe8ab0 Xfast_syscall() at Xfast_syscall()+0xfb/frame 0xfffffe0092fe8ab0 -- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8011e8c8a, rsp = 0x7fffffffe2f8, rbp = 0x7fffffffe310 -- db> -Matthew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55F906CB.9030007>