Tenda W311M is a mini USB WiFi adapter. It use Ralink RT5370 chip.
gary@ubuntu:/proc$ lsusb Bus 001 Device 002: ID 148f:5370 Ralink Technology, Corp.
TP-LINK TL-WN727N also has the exact chipset as Tenda W311M, and the instructions below also apply to TP-LINK TL-WN727N.
Devices with RT5370 chipset do not work out of the box in Ubuntu 11.10 to 12.04. They work automatically in Ubuntu 12.10.
There are two drivers supporting this chip, a driver supplied by RALink and the rt2800usb which is part of the Linux kernel tree.
Ralink driver
Ralink Driver must be compiled. Ralink only supports Infrastructure and Ad-Hoc mode.
1. Download the Linux driver from Ralink
RT3070/RT3072/RT3370/RT5370/RT5372 all-in-one driver package. The latest version is v2.5.0.3
http://www.ralinktech.com/en/04_support/support.php?sn=501
2. Extract the package to user home, and rename the directory name to sta, for example.
3. Change HAS_WPA_SUPPLICANT and AS_NATIVE_WPA_SUPPLICANT_SUPPORT from n to y in os/linux/config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native Wpa_Supplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
4. now just make, make install, and register your module with modprobe
sudo su make make install modprobe rt5370sta
5. To enable the module at each boot add your module to /etc/modules
echo rt5370sta >> /etc/modules
Thanks to vitoshka@
rt2800usb driver
rt2800usb is more powerful. "The rt2x00 driver is currently in the kernel tree marked as experimental."
If the kernel is 3.0.0-12 above(?), it's very easy to enable the driver.
sudo modprobe rt2800usb echo 148F 5370 | sudo tee /sys/bus/usb/drivers/rt2800usb/new_id
Then there will be an interface named wlan0
Make the driver loaded at every boot (this step is not needed if you use the udev method below).
echo "rt2800usb" | sudo tee -a /etc/modules
Removing rt5730 module if was installed
Remove the rt5370sta module if you added it like in the Ralink driver section above.
Open the modules list
sudo gedit /etc/modules
and delete "rt5370sta" from the list. Save and close.
Unload the rt5370sta module
sudo modprobe -r rt5370sta
Enable support in udev
"udev is a generic kernel device manager. It listens to events the kernel sends out if a new device is initialized or a device is removed from the system. The system provides a set of rules that match against exported values of the event and properties of the discovered device. A matching rule will possibly name and create a device node and run configured programs to set-up and configure the device." ---chili555@
Suppose you're using GNOME
gksu gedit /etc/udev/rules.d/95-RT5370.rules
A new empty document will open. Copy and paste the text as follows:
SUBSYSTEM=="usb", ATTR{idVendor}=="148f", ATTR{idProduct}=="5370", RUN="/etc/RT5370.sh"
save and close gedit Create another file
gksu gedit /etc/RT5370.sh
A new empty document will open. Copy and paste the text as follows:
#!/bin/sh modprobe rt2800usb echo 148F 5370 > /sys/bus/usb/drivers/rt2800usb/new_id
save and close gedit
make the file executable
sudo chmod +x /etc/RT5370.sh
so the two files looks like below
root@ubuntu:~# cat /etc/udev/rules.d/95-RT5370.rules SUBSYSTEM=="usb", ATTR{idVendor}=="148f", ATTR{idProduct}=="5370", RUN="/etc/RT5370.sh"
root@ubuntu:~# cat /etc/RT5370.sh #!/bin/sh modprobe rt2800usb echo 148F 5370 > /sys/bus/usb/drivers/rt2800usb/new_id
Configure Access Point Mode
The W311M can work as an access point with hostapd >=0.7.3. And there is more
gary@ubuntu:~/sta/os/linux$ iw list Wiphy phy0 Band 1: Capabilities: 0x172 HT20/HT40 Static SM Power Save RX Greenfield RX HT20 SGI RX HT40 SGI RX STBC 1-stream Max AMSDU length: 7935 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 2 usec (0x04) HT RX MCS rate indexes supported: 0-7, 32 TX unequal modulation not supported HT TX Max spatial streams: 1 HT TX MCS rate indexes supported may differ Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS) * 2472 MHz [13] (20.0 dBm) (passive scanning, no IBSS) * 2484 MHz [14] (20.0 dBm) (passive scanning, no IBSS) Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps max # scan SSIDs: 4 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point Supported commands: * new_interface * set_interface * new_key * new_beacon * new_station * new_mpath * set_mesh_params * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * Unknown command (68) * Unknown command (55) * Unknown command (57) * Unknown command (59) * Unknown command (67) * set_wiphy_netns * Unknown command (65) * Unknown command (66) * connect * disconnect