Skip site navigation (1)Skip section navigation (2)
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>