Difference between revisions of "USB to WiFi adapter"
(→Tested hardware) |
(→Links) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 13: | Line 13: | ||
| '''APF9328''' || '''APF27''' || '''APF51''' || '''APF28''' | | '''APF9328''' || '''APF27''' || '''APF51''' || '''APF28''' | ||
|---------------- | |---------------- | ||
− | | rowspan=" | + | | rowspan="4" | '''D-Link''' || [http://www.ldlc.com/fiche/PB00023863.html DWL-G122] '''(not rev E1 !)''' || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || NT || NT || rowspan="2" | Ralink RT2571WF |
|---------------- | |---------------- | ||
− | | WPA-110 || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || NT || NT | + | | WPA-110 || style="background:#00ff00;" | OK || style="background:#00ff00;" | OK || NT || NT |
+ | |---------------- | ||
+ | | DWA-131 ('''rev. A1''')|| NT || style="background:#00ff00;" | ~OK (3.7 kernel) || NT || style="background:#00ff00;" | ~OK (3.7 kernel) || [[USB_to_WiFi_adapter#RTL8712U|Realtek RTL8192U]] | ||
|---------------- | |---------------- | ||
| DWA-140 || NT || NT || NT || style="background:#ff0000;" | KO || Ralink RT2870 | | DWA-140 || NT || NT || NT || style="background:#ff0000;" | KO || Ralink RT2870 | ||
Line 26: | Line 28: | ||
|---------------- | |---------------- | ||
| '''Linksys''' || AE1000 || NT || NT || NT || style="background:#00ff00;" | ~OK (3.7 kernel)|| Ralink RT3572 | | '''Linksys''' || AE1000 || NT || NT || NT || style="background:#00ff00;" | ~OK (3.7 kernel)|| Ralink RT3572 | ||
+ | |---------------- | ||
+ | | '''TP-LINK''' || TL-WN823N || NT || style="background:#00ff00;" | ~OK ? (3.7+ kernel) || NT || NT || [[USB_to_WiFi_adapter#RTL8192CU|Realtek 8192CU]] | ||
|} | |} | ||
Line 90: | Line 94: | ||
====Configure Linux==== | ====Configure Linux==== | ||
<pre class="host"> | <pre class="host"> | ||
− | $ make | + | $ make linux-menuconfig |
</pre> | </pre> | ||
Line 108: | Line 112: | ||
<pre class="host"> | <pre class="host"> | ||
− | $ make | + | $ make linux && make |
</pre> | </pre> | ||
Line 156: | Line 160: | ||
===Configure Linux=== | ===Configure Linux=== | ||
<pre class="host"> | <pre class="host"> | ||
− | $ make | + | $ make linux-menuconfig |
</pre> | </pre> | ||
Line 169: | Line 173: | ||
<pre class="host"> | <pre class="host"> | ||
− | $ make | + | $ make linux && make |
</pre> | </pre> | ||
Line 223: | Line 227: | ||
cp build root/output/images/* /tftpboot | cp build root/output/images/* /tftpboot | ||
</pre> | </pre> | ||
− | |||
===Launch driver=== | ===Launch driver=== | ||
Line 244: | Line 247: | ||
</pre> | </pre> | ||
+ | ==RTL8712U== | ||
+ | * [http://wiki.debian.org/rtl819x#r8712u Compatibility List] | ||
+ | * Tested devices: | ||
+ | ** D-LINK DWA-131 | ||
+ | |||
+ | ===Configure Linux=== | ||
+ | * If not already done: | ||
+ | |||
+ | <pre class="host"> | ||
+ | $ make linux-menuconfig | ||
+ | </pre> | ||
+ | |||
+ | <pre class="config"> | ||
+ | Device Drivers ---> | ||
+ | [*] Staging drivers ---> | ||
+ | <M> RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver | ||
+ | </pre> | ||
+ | * rebuild and reflash Linux image | ||
+ | |||
+ | ===Configure Buildroot=== | ||
+ | * Only on recent Buildroot, otherwise get the firmware manually from linux-firmware git repository. | ||
+ | |||
+ | <pre class="host"> | ||
+ | $ make menuconfig | ||
+ | </pre> | ||
+ | |||
+ | <pre class="config"> | ||
+ | Package Selection for the target ---> | ||
+ | Hardware handling ---> | ||
+ | Misc devices firmwares ---> | ||
+ | [*] linux-firmware | ||
+ | WiFi firmwares ---> | ||
+ | ... | ||
+ | [*] Realtek 8712 | ||
+ | </pre> | ||
+ | |||
+ | * rebuild and reflash rootfs image | ||
+ | |||
+ | <pre class="apf"> | ||
+ | # modprobe r8712u | ||
+ | [ 22.563440] r8712u: module is from the staging directory, the quality is unknown, you have been warned. | ||
+ | [ 22.583039] r8712u: Staging version | ||
+ | [ 22.586760] r8712u: register rtl8712_netdev_ops to netdev_ops | ||
+ | [ 22.603628] r8712u: USB_SPEED_HIGH with 4 endpoints | ||
+ | [ 22.611685] r8712u: Boot from EFUSE: Autoload OK | ||
+ | [ 23.714020] r8712u: CustomerID = 0x0000 | ||
+ | [ 23.717967] r8712u: MAC Address from efuse = cc:b2:55:c6:67:1d | ||
+ | [ 23.725866] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin" | ||
+ | [ 23.739712] usbcore: registered new interface driver r8712u | ||
+ | |||
+ | # ifconfig wlan0 up | ||
+ | [ 62.320936] r8712u: 1 RCR=0x153f00e | ||
+ | [ 62.325542] r8712u: 2 RCR=0x553f00e | ||
+ | [ 62.440908] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready | ||
+ | |||
+ | # iwlist wlan0 scan | ||
+ | wlan0 Scan completed : | ||
+ | Cell 01 - Address: 00:17:33:1C:91:E6 | ||
+ | ESSID:"SFR WiFi Public" | ||
+ | Protocol:IEEE 802.11bg | ||
+ | Mode:Master | ||
+ | Frequency:2.462 GHz (Channel 11) | ||
+ | Encryption key:off | ||
+ | Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s | ||
+ | 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s | ||
+ | 12 Mb/s; 48 Mb/s | ||
+ | Signal level=82/100 | ||
+ | ..... | ||
+ | </pre> | ||
+ | |||
+ | ==RTL8192CU== | ||
+ | * [http://wiki.debian.org/rtl819x#r8192cu Compatibility List] | ||
+ | * Tested devices: | ||
+ | ** TP-Link TL-WN823N | ||
+ | |||
+ | ===Configure Linux=== | ||
+ | * If not already done: | ||
+ | |||
+ | <pre class="host"> | ||
+ | $ make linux-menuconfig | ||
+ | </pre> | ||
+ | |||
+ | <pre class="config"> | ||
+ | Device Drivers ---> | ||
+ | [*] Network device support ---> | ||
+ | [*] Wireless LAN ---> | ||
+ | <M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter | ||
+ | </pre> | ||
+ | * rebuild and reflash Linux image | ||
+ | |||
+ | ===Configure Buildroot=== | ||
+ | * Only on recent Buildroot, otherwise get the firmware manually from linux-firmware git repository. | ||
+ | |||
+ | <pre class="host"> | ||
+ | $ make menuconfig | ||
+ | </pre> | ||
+ | |||
+ | <pre class="config"> | ||
+ | Package Selection for the target ---> | ||
+ | Hardware handling ---> | ||
+ | Misc devices firmwares ---> | ||
+ | [*] linux-firmware | ||
+ | WiFi firmwares ---> | ||
+ | ... | ||
+ | [*] Realtek 8192 | ||
+ | </pre> | ||
+ | |||
+ | * rebuild and reflash rootfs image | ||
+ | |||
+ | * then plug the USB dongle and load the corresponding driver: | ||
+ | <pre class="apf"> | ||
+ | # modprobe rtl8192cu | ||
+ | [ 180.151881] cfg80211: Calling CRDA to update world regulatory domain | ||
+ | [ 180.462064] rtl8192cu: Chip version 0x11 | ||
+ | [ 180.642278] rtl8192cu: MAC address: 64:70:02:17:84:9a | ||
+ | [ 180.647469] rtl8192cu: Board Type 0 | ||
+ | [ 180.653125] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 | ||
+ | [ 180.659369] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin | ||
+ | [ 180.673783] usbcore: registered new interface driver rtl8192cu | ||
+ | [ 180.833248] rtlwifi: wireless switch is on | ||
+ | |||
+ | # ifconfig wlan0 up | ||
+ | [ 257.824955] rtl8192cu: MAC auto ON okay! | ||
+ | [ 257.896107] rtl8192cu: Tx queue select: 0x05 | ||
+ | [ 258.348956] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready | ||
+ | |||
+ | # iw dev wlan0 scan | ||
+ | BSS f4:ca:e5:c4:bc:35(on wlan0) | ||
+ | TSF: 2389267669750 usec (27d, 15:41:07) | ||
+ | freq: 2417 | ||
+ | beacon interval: 96 TUs | ||
+ | capability: ESS ShortSlotTime (0x0401) | ||
+ | signal: -35.00 dBm | ||
+ | last seen: 650 ms ago | ||
+ | Information elements from Probe Response frame: | ||
+ | SSID: FreeWifi | ||
+ | Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 | ||
+ | DS Parameter set: channel 2 | ||
+ | ERP: Barker_Preamble_Mode | ||
+ | Extended supported rates: 24.0 36.0 48.0 54.0 | ||
+ | ..... | ||
+ | </pre> | ||
==To go further== | ==To go further== | ||
Line 250: | Line 395: | ||
==Links== | ==Links== | ||
− | * [ | + | * https://wireless.wiki.kernel.org/ |
+ | * [https://wireless.wiki.kernel.org/en/users/drivers/zd1211rw zd1211 driver on linuxwireless.org] | ||
[[Category:Network]] | [[Category:Network]] | ||
[[Category:WiFi]] | [[Category:WiFi]] | ||
[[Category:USB]] | [[Category:USB]] |
Latest revision as of 18:05, 26 February 2018
How-to use USB to Wi-Fi adapters on your APF boards.
Contents
Prerequesities
Note: You have to be sure that Wireless Tools are installed on your rootfs before going further. |
- To use USB dongles with APF9328, you'll need an APF9328DevFull development board, with USB Host configured. See this page to know how to do that.
Tested hardware
Constructor | Model | Status | Chipset | |||
---|---|---|---|---|---|---|
APF9328 | APF27 | APF51 | APF28 | |||
D-Link | DWL-G122 (not rev E1 !) | OK | OK | NT | NT | Ralink RT2571WF |
WPA-110 | OK | OK | NT | NT | ||
DWA-131 (rev. A1) | NT | ~OK (3.7 kernel) | NT | ~OK (3.7 kernel) | Realtek RTL8192U | |
DWA-140 | NT | NT | NT | KO | Ralink RT2870 | |
SMC | WUSB-G | NT | OK | NT | NT | ZyDas zd1212 |
Realtek | RTL8188CUS | NT | NT | NT | OK | RTL8188CUS see discussion |
Netgear | N150 WNA1100 | NT | NT | NT | OK | Atheros AR9271 see discussion |
Linksys | AE1000 | NT | NT | NT | ~OK (3.7 kernel) | Ralink RT3572 |
TP-LINK | TL-WN823N | NT | ~OK ? (3.7+ kernel) | NT | NT | Realtek 8192CU |
Ralink RT2571WF
The RT2571WF Wi-Fi chipset can be found in the following devices:
- D-Link DWL-G122 (not rev E1 !)
- D-Link WPA-110
Drivers are included in Linux kernel > 2.6.29, but firmware must be downloaded from serialmonkey website at this address.
Kernel configuration
- If not already done, Wireless network must be configured by selecting these options in make linux-menuconfig:
[*] Networking support ---> Wireless ---> <*> Generic IEEE 802.11 Networking Stack (mac80211)
- then, select the chipset :
Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) <M> Ralink driver support <M> Ralink rt2501/rt73 (USB) support
Wi-Fi configuration
First mount the module:
# modprobe rt73usb
Then copy the firmware named rt73.bin (found in Module directory of rt73-cvs archive) in apf /lib/firmware directory. If /lib/firmware doesn't exist create it.
mkdir -p /lib/firmware tftp -g -r rt73.bin <yourIP> mv rt73.bin /lib/firmware
Your Wi-Fi module driver is ready, you can now connect the dongle and after go further with the Wi-Fi configuration.
Ralink RT2870
- Activate the driver in Linux configuration (if not already done):
$ make linux-menuconfig
- Load driver
# modprobe rt2800_usb
- Be sure to have rt2870.bin in /lib/firmware
ZyDas zd1212 chipset
- Tested with SMC WUSB-G (which is in the compatibility list).
- Go here to buy this device in France (LDLC)
- Other ways to get it ?
Configure Linux
$ make linux-menuconfig
[*] Networking support ---> Wireless ---> <*> Generic IEEE 802.11 Networking Stack (mac80211) Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) ... <M> ZyDAS ZD1211/ZD1211B USB-wireless support [*] ZyDAS ZD1211 debugging
$ make linux && make
Reinstall your system.
Get firmware
- http://zd1211.ath.cx/get-firmware
- copy the archive to your TFTP export directory
Install firmware on your APF
# mkdir -p /lib/firmware/ # cd /lib/firmware/ # tftp -g -r zd1211-firmware-1.4.tar.bz2 192.168.0.17 # bunzip2 zd1211-firmware-1.4.tar.bz2 # tar xf zd1211-firmware-1.4.tar # mv zd1211-firmware zd1211
Connect your USB adapter
usb 1-1: new high speed USB device using mxc-ehci and address 2 usb 1-1: configuration #1 chosen from 1 choice usb 1-1: New USB device found, idVendor=083a, idProduct=4505 usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=0 usb 1-1: Product: USB2.0 WLAN usb 1-1: Manufacturer: SMC
Launch driver
# modprobe zd1211rw usb 1-1: reset high speed USB device using mxc-ehci and address 2 zd1211rw 1-1:1.0: phy0 usbcore: registered new interface driver zd1211rw # ifconfig wlan0 up firmware: requesting zd1211/zd1211b_ub firmware: requesting zd1211/zd1211b_uphr
Realtek rtl8187
Compatibility list
Tested devices:
- Netgear WG111v3
Configure Linux
$ make linux-menuconfig
Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) ... <M> Realtek 8187 and 8187B USB support
$ make linux && make
Launch driver
# modprobe rtl8187 cfg80211: Calling CRDA to update world regulatory domain ieee80211 phy0: hwaddr 00:22:3f:df:2c:04, RTL8187BvE V0 + rtl8225z2, rfkill mask 2 rtl8187: wireless switch is on usbcore: registered new interface driver rtl8187 # ifconfig wlan0 up ADDRCONF(NETDEV_UP): wlan0: link is not ready
Chipset RTL8188CUS
Thanks to Sly for this contribution.
Here are the details for the RTL8188CUS driver for the APF28.
Build procedure
Build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 . You can get the driver here (chose RTL8188CUS) : [1]
Add those option in the makefile :
- change line 39 : CONFIG_PLATFORM_I386_PC = n - add line 40 : CONFIG_PLATFORM_ARM_ARMADEUS = y - Near line 261 add: ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y) EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV ARCH := arm CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux- KVER := 2.6.35.3 KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3 endif
finally copy the driver to the target directory :
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/
Rebuild your armadeus roots and reprogram your board:
cd /path-to-your-armadeus-directory make cp build root/output/images/* /tftpboot
Launch driver
# insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko rtw driver version=v3.4.3_4369.20120622 Build at: Oct 15 2012 14:47:14 register rtw_netdev_ops to netdev_ops CHIP TYPE: RTL8188C_8192C ... # ifconfig wlan0 up +871x_drv - drv_open, bup=0 ===> FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC FirmwareDownload92C accquire FW from embedded image ... MAC Address = 78:44:76:95:96:76 -871x_drv - drv_open, bup=1 ADDRCONF(NETDEV_UP): wlan0: link is not ready
RTL8712U
- Compatibility List
- Tested devices:
- D-LINK DWA-131
Configure Linux
- If not already done:
$ make linux-menuconfig
Device Drivers ---> [*] Staging drivers ---> <M> RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver
- rebuild and reflash Linux image
Configure Buildroot
- Only on recent Buildroot, otherwise get the firmware manually from linux-firmware git repository.
$ make menuconfig
Package Selection for the target ---> Hardware handling ---> Misc devices firmwares ---> [*] linux-firmware WiFi firmwares ---> ... [*] Realtek 8712
- rebuild and reflash rootfs image
# modprobe r8712u [ 22.563440] r8712u: module is from the staging directory, the quality is unknown, you have been warned. [ 22.583039] r8712u: Staging version [ 22.586760] r8712u: register rtl8712_netdev_ops to netdev_ops [ 22.603628] r8712u: USB_SPEED_HIGH with 4 endpoints [ 22.611685] r8712u: Boot from EFUSE: Autoload OK [ 23.714020] r8712u: CustomerID = 0x0000 [ 23.717967] r8712u: MAC Address from efuse = cc:b2:55:c6:67:1d [ 23.725866] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin" [ 23.739712] usbcore: registered new interface driver r8712u # ifconfig wlan0 up [ 62.320936] r8712u: 1 RCR=0x153f00e [ 62.325542] r8712u: 2 RCR=0x553f00e [ 62.440908] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready # iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:17:33:1C:91:E6 ESSID:"SFR WiFi Public" Protocol:IEEE 802.11bg Mode:Master Frequency:2.462 GHz (Channel 11) Encryption key:off Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s Signal level=82/100 .....
RTL8192CU
- Compatibility List
- Tested devices:
- TP-Link TL-WN823N
Configure Linux
- If not already done:
$ make linux-menuconfig
Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
- rebuild and reflash Linux image
Configure Buildroot
- Only on recent Buildroot, otherwise get the firmware manually from linux-firmware git repository.
$ make menuconfig
Package Selection for the target ---> Hardware handling ---> Misc devices firmwares ---> [*] linux-firmware WiFi firmwares ---> ... [*] Realtek 8192
- rebuild and reflash rootfs image
- then plug the USB dongle and load the corresponding driver:
# modprobe rtl8192cu [ 180.151881] cfg80211: Calling CRDA to update world regulatory domain [ 180.462064] rtl8192cu: Chip version 0x11 [ 180.642278] rtl8192cu: MAC address: 64:70:02:17:84:9a [ 180.647469] rtl8192cu: Board Type 0 [ 180.653125] rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1 [ 180.659369] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw.bin [ 180.673783] usbcore: registered new interface driver rtl8192cu [ 180.833248] rtlwifi: wireless switch is on # ifconfig wlan0 up [ 257.824955] rtl8192cu: MAC auto ON okay! [ 257.896107] rtl8192cu: Tx queue select: 0x05 [ 258.348956] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready # iw dev wlan0 scan BSS f4:ca:e5:c4:bc:35(on wlan0) TSF: 2389267669750 usec (27d, 15:41:07) freq: 2417 beacon interval: 96 TUs capability: ESS ShortSlotTime (0x0401) signal: -35.00 dBm last seen: 650 ms ago Information elements from Probe Response frame: SSID: FreeWifi Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Parameter set: channel 2 ERP: Barker_Preamble_Mode Extended supported rates: 24.0 36.0 48.0 54.0 .....