Date: Sun, 13 Sep 2015 12:45:28 -0700 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: looking for if_rsu testers Message-ID: <CAJ-Vmom6J3ztDq6QrdMEWti4y88=u5e-xkks-hsZh12Ti8ZX_A@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
hi all, I've done some digging into if_rsu (thanks to idwer on #freebsd-wifi on efnet!) and found a few places that needed addressing. I haven't yet enabled 11n on the thing yet, but it now seems a bunch more stable and associating-y than it did before. Here's what I've found thus far: http://urbinek.eu/_soft/RTL819xSU_usb_linux_v2.6.6.0.20120405/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/document/RTL8712_D0_1_Programming_Guide_20090601.pdf http://www.urbinek.eu/_soft/RTL819xSU_usb_linux_v2.6.6.0.20120405/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/ReleaseNotes.pdf I also looked at the rtlwifi driver in linux and the fork specifically for this particular chipset for ideas: https://github.com/chunkeey/rtl8192su/tree/master/rtlwifi This is a mostly-smart device. ie, the firmware handles scanning, 802.11 association, transmit rate control, and I /think/ at least something to do with 11n aggregation - but I don't know the full details there yet. * openbsd adds a ENOTSUPP stub method for ic_send_mgmt() - ie, it blocks all software-generated management frames out. The general idea here is that the device handles scan, probe, assoc req, etc itself. I bet freebsd transmitting its own assoc request / probe requests at the same time the device is was confusing things. * it's smart like iwm/iwn/etc - however scan returns a survey message set, not beacons - so we should directly populate the scan cache rather than the current hack of faking a beacon to the stack * handle the STA disassociate message - yes, it's actually legit. * the debug sysctl is now a bitmap, so you can see interesting things without getting spammed. The most interesting one is the /text/ firmware debug messages - sysctl hw.usb.rsu.debug=0x200 - which is actually pretty enlightening. * we don't yet print out the join message response code - it does tell you about failures if they occur. * there's some very large scan-to-scan differences in reported RSSI, which is highly suspicious. That's worth looking into, in case our calibration code is suspect. So, if you're using if_rsu then please update to the latest -head and try it out. I'm very interested in the results. firmware messages via debugging is also good - compile a kernel with USB_DEBUG, and sysctl hw.usb.rsu.debug=0x200 . It'll actually give you text strings as debugging info, which is highly awesome. Thanks! -adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmom6J3ztDq6QrdMEWti4y88=u5e-xkks-hsZh12Ti8ZX_A>