oh, and I should add: * - PS_ACTIVE actually means "fully on" - it's not actually doing any intelligent power saving. We should port over the basic power management code from rtlwifi so we put the NIC into off mode if it's not active, and into power-save mode if it's not associated - much like what I did with ath(4) for network-sleep. * I think the transmit path is always using TID 0, rather than an appropriate TID for things. We have to fix that before we do 11n or lulz will ensue. * the nic supports softap, ibss and monitor modes - it'd be nice to at least get monitor mode working as a way of testing out 11n..
-adrian On 13 September 2015 at 12:45, Adrian Chadd <adr...@freebsd.org> wrote: > 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_v126.96.36.199.20120405/rtl8712_8188_8191_8192SU_usb_linux_v188.8.131.52.20120405/document/RTL8712_D0_1_Programming_Guide_20090601.pdf > > http://www.urbinek.eu/_soft/RTL819xSU_usb_linux_v184.108.40.206.20120405/rtl8712_8188_8191_8192SU_usb_linux_v220.127.116.11.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 _______________________________________________ email@example.com mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-wireless To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"