The rndis_wlan driver was added to the stock kernel as of 2.6.25. It is also available through the compat-wireless-2.6 package for pre-2.6.25 kernels.
Broadcom 4320 USB WLAN chip, which is only wireless RNDIS chip known to date. Althought rndis_wlan has vendor/device-id list, driver can also autodetect any new wireless RNDIS device.
- Asus WL169gE
- BT Voyager 1055
- Buffalo WLI-U2-KG125S
- Buffalo WLI-USB-G54
- Eminent EM4045
- Linksys WUSB54GSCv1 (v2 unsupported)
- Linksys WUSB54GSv1
- Linksys WUSB54GSv2
- U.S. Robotics USR5420
- U.S. Robotics USR5421
- unencrypted networks
- WPA/WPA2 PSK/Enterprise
- WEP should work
- ad-hoc should work, unencrypted and WEP
- hidden networks, unencrypted and WEP
what does not
- Hidden + WPA
- Device has tx/rx stalls on poor links (less than ~30/100), workaround is present in driver (when link quality less than 30%, issue scan every 0.5sec, which releases freeze). Performance is not pair with ndiswrapper+windows driver in this case. Stalls might be happening on better links too but much more infrequently and recover much faster. Stalls do not happen using ndiswrapper, so there might be some stricter tx/rx locking present in windows driver that prevent stalls.
Driver has been tested with b-variant of chipset/firmware. Older devices with a-variant of chipset/firmware used to operate poorly with this driver but this should be resolved on newer kernels (>=2.6.32).
The driver included in kernels <= 2.6.37 shows very few scan results with a-variant devices. Workaround this by configuring the device statically (e.g., /etc/network/interfaces or by issuing iwconfig/dhclient right after boot). Do not rely on a beacon being detected to determine if a network is available or not — this is NetworkManager's approach, which can make it take hours until it detects and configures an available network. This issue should be resolved in kernel version 2.6.38.