<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MartinH</id>
	<title>ArmadeusWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MartinH"/>
	<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Special:Contributions/MartinH"/>
	<updated>2026-06-12T04:15:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11509</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11509"/>
		<updated>2012-12-23T22:51:28Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Netgear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need to connect to  share myshare on the SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script /usr/bin/wlan_up will  bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect -for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:MartinH|MartinH]] 22:51, 23 December 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11508</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11508"/>
		<updated>2012-12-23T22:49:25Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Netgear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need to connect to  share myshare on the SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script /usr/bin/wlan_up will  bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect -for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11507</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11507"/>
		<updated>2012-12-23T22:48:52Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Netgear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need to connect to  share myshare on the SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script /usr/bin/wlan_up will  bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11506</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11506"/>
		<updated>2012-12-23T22:48:03Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Netgear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need to connect to  share myshare on the SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script /usr/bin/wlan_up  bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11505</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11505"/>
		<updated>2012-12-23T22:47:05Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Netgear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need to connect to  share myshare on the SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11504</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11504"/>
		<updated>2012-12-23T22:43:18Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need the LAN to connect to  SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11503</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11503"/>
		<updated>2012-12-23T22:37:59Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist after you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need the LAN to connect to  SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11502</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11502"/>
		<updated>2012-12-23T22:36:46Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need the LAN to connect to  SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/myshare /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Starting WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The whole setup is not yet perfect, for example the IP address used by the scripts is hardcoded and of course must match the one that will be received from the dns server. Suggestions for improvement are welcome!&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11501</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11501"/>
		<updated>2012-12-23T22:32:10Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let&#039;s assume you need the LAN to connect to  SMB network drive to be mounted under /media/mydrive&lt;br /&gt;
&amp;lt;br&amp;gt;The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
ifconfig eth0 down&lt;br /&gt;
ifconfig wlan0 192.168.178.31&lt;br /&gt;
mount.cifs //192.168.178.28/Media /media/mydrive/ -o user= -o pass=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if mount.cifs //192.168.178.28/Media /media/mydrive/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Startin WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11500</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11500"/>
		<updated>2012-12-23T22:23:30Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The below script  /etc/init.d/S99wlan will call the wlan_up script automatically at boot in case the wired LAN is not present:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
mount.cifs //192.168.178.28/Xchange /media/Xchange/ -o user= -o pass=&lt;br /&gt;
if mount.cifs //192.168.178.28/Media /media/sblan/ -o user= -o pass=;&lt;br /&gt;
then &lt;br /&gt;
echo Using Wired LAN&lt;br /&gt;
else&lt;br /&gt;
echo Startin WLAN&lt;br /&gt;
/usr/bin/wlan_up &amp;amp;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11499</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11499"/>
		<updated>2012-12-23T22:17:42Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script will bring your WLAN up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
until iwconfig | grep wlan0; do sleep 5; echo &amp;quot; tick &amp;quot;; done&lt;br /&gt;
ifconfig wlan0 up&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script starts up the WLAN wit WPA2 encryption. This requires the /etc/wpa_supplicant.conf file to be configured properly:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=wheel&lt;br /&gt;
network={&lt;br /&gt;
ssid=&amp;quot;your SSID&amp;quot;&lt;br /&gt;
scan_ssid=1&lt;br /&gt;
proto=RSN&lt;br /&gt;
key_mgmt=WPA-PSK&lt;br /&gt;
pairwise=CCMP&lt;br /&gt;
group=TKIP&lt;br /&gt;
psk=&amp;quot;your secret network password&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11498</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11498"/>
		<updated>2012-12-23T22:11:15Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Atheros driver needs some firmware to be installed. I got it from &lt;br /&gt;
http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git&lt;br /&gt;
&amp;lt;br&amp;gt;You must download the entire reository and extract the ar9721.fw file locally.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls -al /lib/firmware&lt;br /&gt;
total 52&lt;br /&gt;
drwxr-xr-x    2 root     root           232 Jan  1 00:54 .&lt;br /&gt;
drwxr-xr-x    6 root     root          2672 Dec 14  2012 ..&lt;br /&gt;
-rwxr-xr-x    1 root     root         49280 Jan  1  1970 ar9271.fw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;With this setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48&lt;br /&gt;
usb 2-1: Product: WNA1100&lt;br /&gt;
usb 2-1: Manufacturer: NETGEAR WNA&lt;br /&gt;
usb 2-1: SerialNumber: 12345&lt;br /&gt;
usb 2-1: ath9k_htc: Transferred FW: ar9271.fw, size: 49280&lt;br /&gt;
usb 2-1: ath9k_htc: USB layer initialized&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11497</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11497"/>
		<updated>2012-12-23T21:55:05Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With setup no modprobe is necessary. On Plugin of the Nergear WNA1100 the following should print:&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11496</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11496"/>
		<updated>2012-12-23T21:52:10Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
           Generic Driver Options  ---&amp;gt;        &lt;br /&gt;
                            (/sbin/hotplug) path to uevent helper &lt;br /&gt;
                            [*] Maintain a devtmpfs filesystem to mount at /dev    &lt;br /&gt;
                            [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs  &lt;br /&gt;
                            [ ] Select only drivers that don&#039;t need compile-time external firmware   &lt;br /&gt;
                            [ ] Prevent firmware from being built     &lt;br /&gt;
                            -*- Userspace firmware loading support    &lt;br /&gt;
                            [*]   Include in-kernel firmware blobs in kernel binary  &lt;br /&gt;
                            ()    External firmware blobs to build into the kernel binary &lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11495</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11495"/>
		<updated>2012-12-23T21:46:02Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  Device Drivers  ---&amp;gt;     &lt;br /&gt;
        [*] Network device support  ---&amp;gt;      &lt;br /&gt;
                [*]   Wireless LAN  ---&amp;gt;               &lt;br /&gt;
                     &amp;lt;*&amp;gt;   Atheros Wireless Cards  ---&amp;gt;        &lt;br /&gt;
                            --- Atheros Wireless Cards    &lt;br /&gt;
                            [*]   Atheros wireless debugging             &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros HTC based wireless cards support    &lt;br /&gt;
                            [*]     Atheros ath9k_htc debugging  &lt;br /&gt;
                            &amp;lt;*&amp;gt;   Atheros AR9170 802.11n USB support    &lt;br /&gt;
        &amp;lt; &amp;gt; Hardware Monitoring support  ---&amp;gt;    &lt;br /&gt;
        [*] USB support  ---&amp;gt;      &lt;br /&gt;
                 &amp;lt;*&amp;gt;     Enable Wireless USB extensions (EXPERIMENTAL) &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11494</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11494"/>
		<updated>2012-12-23T20:46:10Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;br&amp;gt;The file will only exist until you change the &#039;&#039;linux-menuconfig&#039;&#039; as below and do the first make&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the fist compile change the file, do a &#039;&#039;linux-clean&#039;&#039; and &#039;&#039;make&#039;&#039; again.&lt;br /&gt;
&amp;lt;br&amp;gt;Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 -*- Networking support  ---&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11493</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11493"/>
		<updated>2012-12-23T20:37:45Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;pre&amp;gt; buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 -*- Networking support  ---&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11492</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11492"/>
		<updated>2012-12-23T20:35:56Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 -*- Networking support  ---&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11491</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11491"/>
		<updated>2012-12-23T19:49:33Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rather than compiling the driver as a module, I compiled it directly into the kernel.&lt;br /&gt;
&amp;lt;br&amp;gt;In make linux-menuconfig&lt;br /&gt;
&amp;lt;br&amp;gt; I added:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 -*- Networking support  ---&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11490</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11490"/>
		<updated>2012-12-23T19:44:59Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefore I applied a little manual patch to the file &lt;br /&gt;
&amp;lt;br&amp;gt; buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&lt;br /&gt;
&amp;lt;br&amp;gt; changing the current device ID against the ID  0x0846, 0x9030 of the Netgear device. (Maybe someone can add in here how to add instead how to change...)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11489</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11489"/>
		<updated>2012-12-23T19:41:45Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Chipset Atheros AR9271 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
The Netgear N150 WNA 1100 WLAN stick is based upon the Atheros AR9271 Chipset. The kernel 2.6.35.3 contains the driver for that chipset, but the specific USB ID for the Netgear stick is not listed in the source. Therefor I applied a little manual patch to the file &lt;br /&gt;
buildroot/output/build/linux-2.6.35.3/drivers/net/wireless/ath/ath9k/hif_usb.c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;htc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#define ATH9K_FW_USB_DEV(devid, fw)					\&lt;br /&gt;
	{ USB_DEVICE(0x0846, 0x9030), .driver_info = (unsigned long) fw }&lt;br /&gt;
// 	{ USB_DEVICE(0x0cf3, devid), .driver_info = (unsigned long) fw }&lt;br /&gt;
&lt;br /&gt;
static struct usb_device_id ath9k_hif_usb_ids[] = {&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x9271, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	ATH9K_FW_USB_DEV(0x1006, &amp;quot;ar9271.fw&amp;quot;),&lt;br /&gt;
	{ },&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=USB_to_WiFi_adapter&amp;diff=11488</id>
		<title>USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=USB_to_WiFi_adapter&amp;diff=11488"/>
		<updated>2012-12-23T19:31:51Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Tested hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-to use USB to Wi-Fi adapters on your APF boards.&lt;br /&gt;
&lt;br /&gt;
==Prerequesities==&lt;br /&gt;
{{Note| You have to be sure that [[Wireless Tools]] are installed on your rootfs before going further.}}&lt;br /&gt;
&lt;br /&gt;
* To use USB dongles with [[APF9328]], you&#039;ll need an [[APF9328DevFull]] development board, with USB Host configured. See [[ISP1761_Linux_driver|this page]] to know how to do that.&lt;br /&gt;
&lt;br /&gt;
==Tested hardware==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;microSDs&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Constructor&#039;&#039;&#039; || rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Model&#039;&#039;&#039; || colspan=&amp;quot;4&amp;quot; | &#039;&#039;&#039;Status&#039;&#039;&#039; || rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Chipset&#039;&#039;&#039;&lt;br /&gt;
|----- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;APF9328&#039;&#039;&#039; || &#039;&#039;&#039;APF27&#039;&#039;&#039; || &#039;&#039;&#039;APF51&#039;&#039;&#039; || &#039;&#039;&#039;APF28&#039;&#039;&#039; &lt;br /&gt;
|----------------&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | &#039;&#039;&#039;D-Link&#039;&#039;&#039; || [http://www.ldlc.com/fiche/PB00023863.html DWL-G122] &#039;&#039;&#039;(not rev E1 !)&#039;&#039;&#039; || style=&amp;quot;background:#00ff00;&amp;quot; | OK || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT  || rowspan=&amp;quot;2&amp;quot; | Ralink RT2571WF&lt;br /&gt;
|----------------&lt;br /&gt;
| WPA-110 || style=&amp;quot;background:#00ff00;&amp;quot; | OK || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT &lt;br /&gt;
|----------------&lt;br /&gt;
| DWA-140 || NT || NT || NT || style=&amp;quot;background:#ff0000;&amp;quot; | KO || Ralink RT2870&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;SMC&#039;&#039;&#039; || WUSB-G || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT || ZyDas zd1212&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Realtek&#039;&#039;&#039; || [[USB_to_WiFi_adapter#Chipset_RTL8188CUS|RTL8188CUS]] || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || RTL8188CUS [[Talk:USB_to_WiFi_adapter#Chipset_RTL8188CUS |see discussion]]&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Netgear&#039;&#039;&#039; ||  N150 WNA1100  || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || Atheros AR9271 [[Talk:USB_to_WiFi_adapter#Chipset_Atheros_AR9271 |see discussion]]&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Linksys&#039;&#039;&#039; || AE1000 || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | ~OK (3.7 kernel)|| Ralink RT3572&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ralink RT2571WF==&lt;br /&gt;
The RT2571WF Wi-Fi chipset can be found in the following devices:&lt;br /&gt;
* [http://www.ldlc.com/fiche/PB00023863.html D-Link DWL-G122] &#039;&#039;&#039;(not rev E1 !)&#039;&#039;&#039;&lt;br /&gt;
* D-Link WPA-110&lt;br /&gt;
&lt;br /&gt;
Drivers are included in Linux kernel &amp;gt; 2.6.29, but firmware must be downloaded from serialmonkey website at [http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz this address].&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
&lt;br /&gt;
* If not already done, Wireless network must be configured by selecting these options in &#039;&#039;make linux-menuconfig&#039;&#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 [*] Networking support  ---&amp;gt;&lt;br /&gt;
    Wireless  ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Generic IEEE 802.11 Networking Stack (mac80211)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* then, select the chipset :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        Wireless LAN  ---&amp;gt;&lt;br /&gt;
            [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
            &amp;lt;M&amp;gt; Ralink driver support&lt;br /&gt;
            &amp;lt;M&amp;gt; Ralink rt2501/rt73 (USB) support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi configuration===&lt;br /&gt;
&lt;br /&gt;
First mount the module:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rt73usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then copy the firmware named &#039;&#039;rt73.bin&#039;&#039; (found in Module directory of&lt;br /&gt;
[http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz rt73-cvs] archive) in apf /lib/firmware directory. If /lib/firmware doesn&#039;t exist create it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 mkdir -p /lib/firmware&lt;br /&gt;
 tftp -g -r rt73.bin &amp;lt;yourIP&amp;gt;&lt;br /&gt;
 mv rt73.bin /lib/firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your Wi-Fi module driver is ready, you can now connect the dongle and after go further with the [[WiFi|Wi-Fi configuration]].&lt;br /&gt;
&lt;br /&gt;
==Ralink RT2870==&lt;br /&gt;
* Activate the driver in Linux configuration (if not already done):&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Load driver&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rt2800_usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Be sure to have rt2870.bin in /lib/firmware&lt;br /&gt;
&lt;br /&gt;
==ZyDas zd1212 chipset== &lt;br /&gt;
* Tested with SMC WUSB-G (which is in [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices the compatibility list]).&lt;br /&gt;
**[http://www.ldlc.com/fiche/PB00067971.html Go here to buy this device in France (LDLC)]&lt;br /&gt;
** Other ways to get it ?&lt;br /&gt;
&lt;br /&gt;
====Configure Linux====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 [*] Networking support  ---&amp;gt;&lt;br /&gt;
    Wireless  ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Generic IEEE 802.11 Networking Stack (mac80211)&lt;br /&gt;
&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
     [*] Network device support  ---&amp;gt;&lt;br /&gt;
         Wireless LAN  ---&amp;gt;&lt;br /&gt;
             [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;M&amp;gt; ZyDAS ZD1211/ZD1211B USB-wireless support&lt;br /&gt;
             [*]   ZyDAS ZD1211 debugging&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall your system.&lt;br /&gt;
&lt;br /&gt;
====Get firmware====&lt;br /&gt;
* http://zd1211.ath.cx/get-firmware&lt;br /&gt;
* copy the archive to your TFTP export directory&lt;br /&gt;
&lt;br /&gt;
====Install firmware on your APF====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 # mkdir -p /lib/firmware/&lt;br /&gt;
 # cd /lib/firmware/&lt;br /&gt;
 # tftp -g -r zd1211-firmware-1.4.tar.bz2 192.168.0.17&lt;br /&gt;
 # bunzip2 zd1211-firmware-1.4.tar.bz2&lt;br /&gt;
 # tar xf zd1211-firmware-1.4.tar&lt;br /&gt;
 # mv zd1211-firmware zd1211&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Connect your USB adapter====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
usb 1-1: new high speed USB device using mxc-ehci and address 2&lt;br /&gt;
usb 1-1: configuration #1 chosen from 1 choice&lt;br /&gt;
usb 1-1: New USB device found, idVendor=083a, idProduct=4505&lt;br /&gt;
usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=0&lt;br /&gt;
usb 1-1: Product: USB2.0 WLAN&lt;br /&gt;
usb 1-1: Manufacturer: SMC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Launch driver====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 # modprobe zd1211rw&lt;br /&gt;
 usb 1-1: reset high speed USB device using mxc-ehci and address 2&lt;br /&gt;
 zd1211rw 1-1:1.0: phy0&lt;br /&gt;
 usbcore: registered new interface driver zd1211rw&lt;br /&gt;
 &lt;br /&gt;
 # ifconfig wlan0 up&lt;br /&gt;
 firmware: requesting zd1211/zd1211b_ub&lt;br /&gt;
 firmware: requesting zd1211/zd1211b_uphr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Realtek rtl8187==&lt;br /&gt;
[http://www.linuxwireless.org/en/users/Drivers/rtl8187 Compatibility list] &amp;lt;br&amp;gt;&lt;br /&gt;
Tested devices:&lt;br /&gt;
* Netgear WG111v3&lt;br /&gt;
&lt;br /&gt;
===Configure Linux===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
     [*] Network device support  ---&amp;gt;&lt;br /&gt;
         Wireless LAN  ---&amp;gt;&lt;br /&gt;
             [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;M&amp;gt;   Realtek 8187 and 8187B USB support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Launch driver===&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rtl8187&lt;br /&gt;
cfg80211: Calling CRDA to update world regulatory domain&lt;br /&gt;
ieee80211 phy0: hwaddr 00:22:3f:df:2c:04, RTL8187BvE V0 + rtl8225z2, rfkill mask 2&lt;br /&gt;
rtl8187: wireless switch is on&lt;br /&gt;
usbcore: registered new interface driver rtl8187&lt;br /&gt;
&lt;br /&gt;
# ifconfig wlan0 up&lt;br /&gt;
ADDRCONF(NETDEV_UP): wlan0: link is not ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
Thanks to Sly for this contribution.&lt;br /&gt;
&lt;br /&gt;
Here are the details for the RTL8188CUS driver for the APF28.&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
Build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rebuild your armadeus roots and reprogram your board:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cd /path-to-your-armadeus-directory&lt;br /&gt;
make&lt;br /&gt;
cp build root/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Launch driver===&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
rtw driver version=v3.4.3_4369.20120622 &lt;br /&gt;
Build at: Oct 15 2012 14:47:14&lt;br /&gt;
register rtw_netdev_ops to netdev_ops&lt;br /&gt;
CHIP TYPE: RTL8188C_8192C&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
# ifconfig wlan0 up&lt;br /&gt;
+871x_drv - drv_open, bup=0&lt;br /&gt;
 ===&amp;gt; FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC&lt;br /&gt;
FirmwareDownload92C accquire FW from embedded image&lt;br /&gt;
...&lt;br /&gt;
MAC Address = 78:44:76:95:96:76&lt;br /&gt;
-871x_drv - drv_open, bup=1&lt;br /&gt;
ADDRCONF(NETDEV_UP): wlan0: link is not ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==To go further==&lt;br /&gt;
* [[WiFi| Configure your Wi-Fi network interface]]&lt;br /&gt;
* [[Links | Browse the net (in text mode) from your terminal]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.linuxwireless.org/en/users/Drivers/zd1211rw zd1211 driver on linuxwireless.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Network]]&lt;br /&gt;
[[Category:WiFi]]&lt;br /&gt;
[[Category:USB]]&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=USB_to_WiFi_adapter&amp;diff=11487</id>
		<title>USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=USB_to_WiFi_adapter&amp;diff=11487"/>
		<updated>2012-12-23T19:29:32Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Tested hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How-to use USB to Wi-Fi adapters on your APF boards.&lt;br /&gt;
&lt;br /&gt;
==Prerequesities==&lt;br /&gt;
{{Note| You have to be sure that [[Wireless Tools]] are installed on your rootfs before going further.}}&lt;br /&gt;
&lt;br /&gt;
* To use USB dongles with [[APF9328]], you&#039;ll need an [[APF9328DevFull]] development board, with USB Host configured. See [[ISP1761_Linux_driver|this page]] to know how to do that.&lt;br /&gt;
&lt;br /&gt;
==Tested hardware==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;microSDs&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Constructor&#039;&#039;&#039; || rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Model&#039;&#039;&#039; || colspan=&amp;quot;4&amp;quot; | &#039;&#039;&#039;Status&#039;&#039;&#039; || rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Chipset&#039;&#039;&#039;&lt;br /&gt;
|----- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;APF9328&#039;&#039;&#039; || &#039;&#039;&#039;APF27&#039;&#039;&#039; || &#039;&#039;&#039;APF51&#039;&#039;&#039; || &#039;&#039;&#039;APF28&#039;&#039;&#039; &lt;br /&gt;
|----------------&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | &#039;&#039;&#039;D-Link&#039;&#039;&#039; || [http://www.ldlc.com/fiche/PB00023863.html DWL-G122] &#039;&#039;&#039;(not rev E1 !)&#039;&#039;&#039; || style=&amp;quot;background:#00ff00;&amp;quot; | OK || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT  || rowspan=&amp;quot;2&amp;quot; | Ralink RT2571WF&lt;br /&gt;
|----------------&lt;br /&gt;
| WPA-110 || style=&amp;quot;background:#00ff00;&amp;quot; | OK || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT &lt;br /&gt;
|----------------&lt;br /&gt;
| DWA-140 || NT || NT || NT || style=&amp;quot;background:#ff0000;&amp;quot; | KO || Ralink RT2870&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;SMC&#039;&#039;&#039; || WUSB-G || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || NT || NT || ZyDas zd1212&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Realtek&#039;&#039;&#039; || [[USB_to_WiFi_adapter#Chipset_RTL8188CUS|RTL8188CUS]] || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || RTL8188CUS [[Talk:USB_to_WiFi_adapter#Chipset_RTL8188CUS |see discussion]]&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Netgear&#039;&#039;&#039; ||  N150 WNA1100  || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | OK || Atheros AR9271 [[Talk:USB_to_WiFi_adapter#Chipset_AR9271 |see discussion]]&lt;br /&gt;
|----------------&lt;br /&gt;
| &#039;&#039;&#039;Linksys&#039;&#039;&#039; || AE1000 || NT || NT || NT || style=&amp;quot;background:#00ff00;&amp;quot; | ~OK (3.7 kernel)|| Ralink RT3572&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Ralink RT2571WF==&lt;br /&gt;
The RT2571WF Wi-Fi chipset can be found in the following devices:&lt;br /&gt;
* [http://www.ldlc.com/fiche/PB00023863.html D-Link DWL-G122] &#039;&#039;&#039;(not rev E1 !)&#039;&#039;&#039;&lt;br /&gt;
* D-Link WPA-110&lt;br /&gt;
&lt;br /&gt;
Drivers are included in Linux kernel &amp;gt; 2.6.29, but firmware must be downloaded from serialmonkey website at [http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz this address].&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
&lt;br /&gt;
* If not already done, Wireless network must be configured by selecting these options in &#039;&#039;make linux-menuconfig&#039;&#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 [*] Networking support  ---&amp;gt;&lt;br /&gt;
    Wireless  ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Generic IEEE 802.11 Networking Stack (mac80211)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* then, select the chipset :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        Wireless LAN  ---&amp;gt;&lt;br /&gt;
            [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
            &amp;lt;M&amp;gt; Ralink driver support&lt;br /&gt;
            &amp;lt;M&amp;gt; Ralink rt2501/rt73 (USB) support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi configuration===&lt;br /&gt;
&lt;br /&gt;
First mount the module:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rt73usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then copy the firmware named &#039;&#039;rt73.bin&#039;&#039; (found in Module directory of&lt;br /&gt;
[http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz rt73-cvs] archive) in apf /lib/firmware directory. If /lib/firmware doesn&#039;t exist create it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 mkdir -p /lib/firmware&lt;br /&gt;
 tftp -g -r rt73.bin &amp;lt;yourIP&amp;gt;&lt;br /&gt;
 mv rt73.bin /lib/firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your Wi-Fi module driver is ready, you can now connect the dongle and after go further with the [[WiFi|Wi-Fi configuration]].&lt;br /&gt;
&lt;br /&gt;
==Ralink RT2870==&lt;br /&gt;
* Activate the driver in Linux configuration (if not already done):&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Load driver&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rt2800_usb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Be sure to have rt2870.bin in /lib/firmware&lt;br /&gt;
&lt;br /&gt;
==ZyDas zd1212 chipset== &lt;br /&gt;
* Tested with SMC WUSB-G (which is in [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices the compatibility list]).&lt;br /&gt;
**[http://www.ldlc.com/fiche/PB00067971.html Go here to buy this device in France (LDLC)]&lt;br /&gt;
** Other ways to get it ?&lt;br /&gt;
&lt;br /&gt;
====Configure Linux====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 [*] Networking support  ---&amp;gt;&lt;br /&gt;
    Wireless  ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Generic IEEE 802.11 Networking Stack (mac80211)&lt;br /&gt;
&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
     [*] Network device support  ---&amp;gt;&lt;br /&gt;
         Wireless LAN  ---&amp;gt;&lt;br /&gt;
             [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;M&amp;gt; ZyDAS ZD1211/ZD1211B USB-wireless support&lt;br /&gt;
             [*]   ZyDAS ZD1211 debugging&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reinstall your system.&lt;br /&gt;
&lt;br /&gt;
====Get firmware====&lt;br /&gt;
* http://zd1211.ath.cx/get-firmware&lt;br /&gt;
* copy the archive to your TFTP export directory&lt;br /&gt;
&lt;br /&gt;
====Install firmware on your APF====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 # mkdir -p /lib/firmware/&lt;br /&gt;
 # cd /lib/firmware/&lt;br /&gt;
 # tftp -g -r zd1211-firmware-1.4.tar.bz2 192.168.0.17&lt;br /&gt;
 # bunzip2 zd1211-firmware-1.4.tar.bz2&lt;br /&gt;
 # tar xf zd1211-firmware-1.4.tar&lt;br /&gt;
 # mv zd1211-firmware zd1211&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Connect your USB adapter====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
usb 1-1: new high speed USB device using mxc-ehci and address 2&lt;br /&gt;
usb 1-1: configuration #1 chosen from 1 choice&lt;br /&gt;
usb 1-1: New USB device found, idVendor=083a, idProduct=4505&lt;br /&gt;
usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=0&lt;br /&gt;
usb 1-1: Product: USB2.0 WLAN&lt;br /&gt;
usb 1-1: Manufacturer: SMC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Launch driver====&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
 # modprobe zd1211rw&lt;br /&gt;
 usb 1-1: reset high speed USB device using mxc-ehci and address 2&lt;br /&gt;
 zd1211rw 1-1:1.0: phy0&lt;br /&gt;
 usbcore: registered new interface driver zd1211rw&lt;br /&gt;
 &lt;br /&gt;
 # ifconfig wlan0 up&lt;br /&gt;
 firmware: requesting zd1211/zd1211b_ub&lt;br /&gt;
 firmware: requesting zd1211/zd1211b_uphr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Realtek rtl8187==&lt;br /&gt;
[http://www.linuxwireless.org/en/users/Drivers/rtl8187 Compatibility list] &amp;lt;br&amp;gt;&lt;br /&gt;
Tested devices:&lt;br /&gt;
* Netgear WG111v3&lt;br /&gt;
&lt;br /&gt;
===Configure Linux===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 Device Drivers  ---&amp;gt;&lt;br /&gt;
     [*] Network device support  ---&amp;gt;&lt;br /&gt;
         Wireless LAN  ---&amp;gt;&lt;br /&gt;
             [*] Wireless LAN (IEEE 802.11)&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;M&amp;gt;   Realtek 8187 and 8187B USB support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Launch driver===&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# modprobe rtl8187&lt;br /&gt;
cfg80211: Calling CRDA to update world regulatory domain&lt;br /&gt;
ieee80211 phy0: hwaddr 00:22:3f:df:2c:04, RTL8187BvE V0 + rtl8225z2, rfkill mask 2&lt;br /&gt;
rtl8187: wireless switch is on&lt;br /&gt;
usbcore: registered new interface driver rtl8187&lt;br /&gt;
&lt;br /&gt;
# ifconfig wlan0 up&lt;br /&gt;
ADDRCONF(NETDEV_UP): wlan0: link is not ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
Thanks to Sly for this contribution.&lt;br /&gt;
&lt;br /&gt;
Here are the details for the RTL8188CUS driver for the APF28.&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
Build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rebuild your armadeus roots and reprogram your board:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cd /path-to-your-armadeus-directory&lt;br /&gt;
make&lt;br /&gt;
cp build root/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Launch driver===&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
rtw driver version=v3.4.3_4369.20120622 &lt;br /&gt;
Build at: Oct 15 2012 14:47:14&lt;br /&gt;
register rtw_netdev_ops to netdev_ops&lt;br /&gt;
CHIP TYPE: RTL8188C_8192C&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
# ifconfig wlan0 up&lt;br /&gt;
+871x_drv - drv_open, bup=0&lt;br /&gt;
 ===&amp;gt; FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC&lt;br /&gt;
FirmwareDownload92C accquire FW from embedded image&lt;br /&gt;
...&lt;br /&gt;
MAC Address = 78:44:76:95:96:76&lt;br /&gt;
-871x_drv - drv_open, bup=1&lt;br /&gt;
ADDRCONF(NETDEV_UP): wlan0: link is not ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==To go further==&lt;br /&gt;
* [[WiFi| Configure your Wi-Fi network interface]]&lt;br /&gt;
* [[Links | Browse the net (in text mode) from your terminal]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.linuxwireless.org/en/users/Drivers/zd1211rw zd1211 driver on linuxwireless.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Network]]&lt;br /&gt;
[[Category:WiFi]]&lt;br /&gt;
[[Category:USB]]&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11486</id>
		<title>Talk:USB to WiFi adapter</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Talk:USB_to_WiFi_adapter&amp;diff=11486"/>
		<updated>2012-12-23T19:27:51Z</updated>

		<summary type="html">&lt;p&gt;MartinH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Zydas zd1211 tries ==&lt;br /&gt;
[[User:JulienB|JulienB]] 09:52, 4 February 2009 (UTC) : now working&lt;br /&gt;
&lt;br /&gt;
== Chipset RTL8188CUS ==&lt;br /&gt;
&lt;br /&gt;
I will give you the details for the RTL8188CUS driver for the APF28:&lt;br /&gt;
# the build procedure&lt;br /&gt;
# the error I got for AFP28 with AFP28dev&lt;br /&gt;
# and the workaround to fix it&lt;br /&gt;
&lt;br /&gt;
===Build procedure===&lt;br /&gt;
I build the driver for chip RTL8188CUS from source rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622 .&lt;br /&gt;
You can get the driver here (chose RTL8188CUS) :&lt;br /&gt;
[http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=21&amp;amp;PFid=48&amp;amp;Level=5&amp;amp;Conn=4&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true]&lt;br /&gt;
&lt;br /&gt;
Add those option in the makefile :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
- change line 39 :&lt;br /&gt;
CONFIG_PLATFORM_I386_PC = n&lt;br /&gt;
- add line 40 :&lt;br /&gt;
CONFIG_PLATFORM_ARM_ARMADEUS = y&lt;br /&gt;
&lt;br /&gt;
- Near line 261 add:&lt;br /&gt;
ifeq ($(CONFIG_PLATFORM_ARM_ARMADEUS), y)&lt;br /&gt;
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_WEXT_PRIV&lt;br /&gt;
ARCH := arm&lt;br /&gt;
CROSS_COMPILE := /path-to-your/armadeus/buildroot/output/host/usr/bin/arm-linux-&lt;br /&gt;
KVER  := 2.6.35.3&lt;br /&gt;
KSRC ?= /path-to-your/armadeus/buildroot/output/build/linux-2.6.35.3&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And I need to rebuild the linux kernel with define WEXT_PRIV :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I use this trick for that :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;  &lt;br /&gt;
 [*] Network device support  ---&amp;gt;   &lt;br /&gt;
   [*]   Wireless LAN  ---&amp;gt;&lt;br /&gt;
     &amp;lt;M&amp;gt;   USB ZD1201 based Wireless device support   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which give me :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
  │   Selects: WIRELESS_EXT [=y] &amp;amp;&amp;amp; WEXT_PRIV [=n] &amp;amp;&amp;amp; FW_LOADER [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rebuild the kernel :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-rebuild&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
finally copy the driver to the target directory :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
cp 8192cu.ko /path-to-your/armadeus/buildroot/output/target/lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Known issue===&lt;br /&gt;
Here is the test I made :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
insmod /lib/modules/2.6.35.3\+/kernel/drivers/net/wireless/8192cu.ko&lt;br /&gt;
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -Dwext -B dhclient&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then I can ping wifi adress with 0% packet loss.&lt;br /&gt;
&lt;br /&gt;
I connect with ssh it work ok for the few command I did.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then I try to connect with SFTP from my PC (using FileZilla) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;the wifi goes down and the usb with it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is the part of &amp;quot;messages&amp;quot; where the error is :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: fatal status 49098 Async Halt FATAL FLR&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: fsl-ehci fsl-ehci.0: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: ###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.err kernel: fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: hub 2-0:1.0: state 0 ports 1 chg 0000 evt 0000&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.info kernel: usb 2-1: USB disconnect, address 2&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering device&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: usb_disable_device nuking all URBs&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.debug kernel: usb 2-1: unregistering interface 2-1:1.0&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: reg 0x608, usb read 4 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: [dvobjpriv:c8aa401c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
Jan 10 01:23:29 armadeus kern.warn kernel: rtw_sta_flush&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: (2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -871x_drv - drv_close, bup=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ===&amp;gt; rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_read_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: usb_write_port_cancel&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: ###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;=== rtw_dev_unload&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: +r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: free_recv_skb_queue not empty, 5&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: =====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: &amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
Jan 10 01:23:30 armadeus kern.warn kernel: -r871xu_dev_remove, done&lt;br /&gt;
Jan 10 01:23:40 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
Jan 10 01:23:42 armadeus kern.err kernel: FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the error by using iperf -c to connect to an iperf server :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
fsl-ehci fsl-ehci.0: fatal error&lt;br /&gt;
###=&amp;gt; usb_read_port_complete =&amp;gt; urb status(-108)&lt;br /&gt;
fsl-ehci fsl-ehci.0: HC died; cleaning up&lt;br /&gt;
usb 2-1: USB disconnect, address 2&lt;br /&gt;
+rtw_dev_remove&lt;br /&gt;
rtw_set_ps_mode(): Busy Traffic , Leave 802.11 power save..&lt;br /&gt;
rtl8192c_set_FwPwrMode_cmd(): Mode = 0, SmartPS = 0&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:1&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:2&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:3&lt;br /&gt;
reg 0x1cc, usb read 1 fail, status:-19 value=0x0, vendorreq_times:4&lt;br /&gt;
[dvobjpriv:c8abd01c][ERROR] continual_urb_error:5 &amp;gt; 4&lt;br /&gt;
issue_deauth to 00:18:84:19:e1:62&lt;br /&gt;
rtw_sta_flush&lt;br /&gt;
(2)871x_drv - drv_close, bup=1, hw_init_completed=1&lt;br /&gt;
-871x_drv - drv_close, bup=1&lt;br /&gt;
===&amp;gt; rtw_dev_unload&lt;br /&gt;
usb_read_port_cancel &lt;br /&gt;
usb_write_port_cancel &lt;br /&gt;
###&amp;gt; rtw_cmd_thread break.................&lt;br /&gt;
rtw_cmd_thread: leaving... check &amp;amp; free all cmd_obj resources&lt;br /&gt;
rtw_cmd_thread: leaving... call up terminate_cmdthread_sema&lt;br /&gt;
&amp;lt;=== rtw_dev_unload&lt;br /&gt;
+r871xu_dev_remove, hw_init_completed=1&lt;br /&gt;
free_recv_skb_queue not empty, 4&lt;br /&gt;
=====&amp;gt; rtl8192c_free_hal_data =====&lt;br /&gt;
&amp;lt;===== rtl8192c_free_hal_data =====&lt;br /&gt;
-r871xu_dev_remove, done&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
FEC: MDIO read timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Sly|Sly]] 20:33, 31 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
It should work now with the last git dev branch (5.1)&lt;br /&gt;
===old Workaround===&lt;br /&gt;
Here is the workaround to fix this issue:&lt;br /&gt;
Disable dynamic frequency scaling by setting the scaling_governor to &amp;quot;userspace&amp;quot; or &amp;quot;performance&amp;quot;&lt;br /&gt;
====1st solution: change governor at runtime====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo userspace &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you will have to use this command each time you boot your board.&lt;br /&gt;
&lt;br /&gt;
====2nd solution: rebuild your kernel with default governor set to userspace or performance====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
      Default CPUFreq governor (userspace)  ---&amp;gt;  &lt;br /&gt;
            ( ) performance&lt;br /&gt;
            ( ) powersave&lt;br /&gt;
            (X) userspace&lt;br /&gt;
            ( ) ondemand &lt;br /&gt;
            ( ) conservative&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build and update your APF kernel..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chipset Atheros AR9271 ==&lt;br /&gt;
Details to follow soon......&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11485</id>
		<title>User:MartinH</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11485"/>
		<updated>2012-12-23T19:11:13Z</updated>

		<summary type="html">&lt;p&gt;MartinH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there,&lt;br /&gt;
&lt;br /&gt;
As an electrical engineer  working on the development of automotive micro controllers (well, too small to run Linux) I decided to &lt;br /&gt;
widen my view also on ARM and embedded Linux. &lt;br /&gt;
&lt;br /&gt;
My project is an &#039;&#039;&#039;Audio Streaming Client,&#039;&#039;&#039; based on the MPD so the APF28 with it&#039;s SPDIF out is a perfect choice.&lt;br /&gt;
&lt;br /&gt;
With zero experience in embedded Linux, I got my &amp;quot;Hello World&amp;quot; out of my stereo speaker a week after I received my APF28_dev.&lt;br /&gt;
&lt;br /&gt;
Meanwhile the whole MPD is up and running over ETH cable. Now I am fighting to get my Netgear WNA1100 WLAN stick to work.&lt;br /&gt;
(OK, I could spend 10 Euro on a supported one, but I try to be a good sports) &lt;br /&gt;
&lt;br /&gt;
UPDATE:&lt;br /&gt;
SUCCESS!! I got the Netgear N150 WNA1100  stick up and running.&lt;br /&gt;
The version 1.0 of my streaming client is fully working with it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My mother language is German, but I can also read French (ecrire est un petit plus difficile).&lt;br /&gt;
If you have any questions, suggestions or ideas how to upgrade the APF28 kernel , please feel free to contact me &lt;br /&gt;
&lt;br /&gt;
--[[User:MartinH|MartinH]] 19:53, 10 December 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Target_Software_Installation&amp;diff=11465</id>
		<title>Target Software Installation</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Target_Software_Installation&amp;diff=11465"/>
		<updated>2012-12-10T20:42:26Z</updated>

		<summary type="html">&lt;p&gt;MartinH: /* Network configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will learn how to flash new U-Boot, Linux and rootfs images on your APF module.&lt;br /&gt;
&lt;br /&gt;
==Configure U-Boot==&lt;br /&gt;
&lt;br /&gt;
===Environment variables===&lt;br /&gt;
U-Boot can be customized in a flexible way with the use of &amp;quot;environment variables/scripts&amp;quot;.&lt;br /&gt;
The command &#039;&#039;&#039;printenv&#039;&#039;&#039; shows you most of them and their current value:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; printenv&lt;br /&gt;
 bootcmd=run jffsboot&lt;br /&gt;
 bootdelay=20&lt;br /&gt;
 baudrate=115200&lt;br /&gt;
 ethaddr=&lt;br /&gt;
 autoload=no&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The command &#039;&#039;&#039;setenv&#039;&#039;&#039; is used to change these variables. For example, to set the IP address (don&#039;t do it yet):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv ipaddr 192.168.0.10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The command &#039;&#039;&#039;saveenv&#039;&#039;&#039; is used to save the state of your environment variables in FLASH memory; that way they will be available at next boot:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
 Saving Environment to Flash...&lt;br /&gt;
 . done&lt;br /&gt;
 Un-Protected 1 sectors&lt;br /&gt;
 Erasing Flash...&lt;br /&gt;
 . done&lt;br /&gt;
 Erased 1 sectors&lt;br /&gt;
 Writing to Flash... done&lt;br /&gt;
 . done&lt;br /&gt;
 Protected 1 sectors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Network configuration===&lt;br /&gt;
In order to use the U-Boot&#039;s network features, you have to set the network environment variables:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv netmask 255.255.255.0                (this default value should be fine in most situations)&lt;br /&gt;
 BIOS&amp;gt; setenv ipaddr 192.168.0.10 &lt;br /&gt;
 BIOS&amp;gt; setenv serverip 192.168.0.2                 (the IP address of your tftp server/PC hosting the files to download)&lt;br /&gt;
 BIOS&amp;gt; setenv rootpath &amp;quot;/tftpboot/apf9328-root&amp;quot;    (to boot Linux over NFS)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can use the &#039;&#039;&#039;dhcp&#039;&#039;&#039; command to configure these variables from your DHCP server. You probably will have to adjust the &#039;&#039;&#039;serverip&#039;&#039;&#039; variable manually.&lt;br /&gt;
If you use VirtualBox make sure you have selected Bridge Mode for the network adaptor, otherwise the UBOOT cannot talk to your host.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; dhcp&lt;br /&gt;
 dm9000 i/o: 0x15c00000, id: 0x90000a46&lt;br /&gt;
 MAC: 00:0e:32:00:00:01&lt;br /&gt;
 operating at 100M full duplex mode&lt;br /&gt;
 BOOTP broadcast 1&lt;br /&gt;
 DHCP client bound to address 192.168.0.10&lt;br /&gt;
 BIOS&amp;gt; setenv serverip 192.168.0.2&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Do not forget to save your changes in FLASH, to have them available at next power up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In case of troubles you can use the following U-Boot script to reset the variables to the &amp;quot;factory&amp;quot;/default settings:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_reset_env&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Linux kernel installation==&lt;br /&gt;
XX, in the following chapters, has to be replaced by your board name&lt;br /&gt;
&lt;br /&gt;
* Check that your Armadeus kernel image size is smaller than the U-Boot partition (see [[#Flash_memory_partitions|Flash Memory Partitions]] for size allowances):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ ls -al buildroot/output/images/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If yes, copy it to your TFTP server directory (here &#039;&#039;/tftpboot/&#039;&#039;):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ cp buildroot/output/images/* /tftpboot/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Linux kernel update script===&lt;br /&gt;
* This is the recommended method and the easiest one. The automatic &#039;update_kernel&#039; scripts downloads the image and flash it in the same go:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To know what &#039;&#039;update_kernel&#039;&#039; script is doing you can display its content:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; printenv update_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Warning|If the loaded kernel image is too large, the following operation can destroy data that are stored after the partition limits (e.g. RootFS) - Check that transfered size value is less than the ones specified here [[#Flash_memory_partitions|Flash Memory Partitions]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Other Linux kernel update method===&lt;br /&gt;
* Load kernel image with U-Boot through network:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run download_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or with the serial line:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
     &#039;&#039;Ctrl+Altgr+\+c to access kermit command line then:&#039;&#039;&lt;br /&gt;
 (/home/.../) C-Kermit&amp;gt;send /tftpboot/XX-linux.bin&lt;br /&gt;
     &#039;&#039;After download is completed, you can type the c command to reconnect to the terminal:&#039;&#039;&lt;br /&gt;
 (/home/.../) C-Kermit&amp;gt;c&lt;br /&gt;
 Connecting to /dev/ttyUSB0, speed 115200&lt;br /&gt;
  Escape character: Ctrl-\ (ASCII 28, FS): enabled&lt;br /&gt;
 Type the escape character followed by C to get back,&lt;br /&gt;
 or followed by ? to see other options.&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 ## Total Size      = 0x&amp;lt;size of XX-linux.bin&amp;gt; = .... Bytes&lt;br /&gt;
 ## Start Addr      = 0x08000000&lt;br /&gt;
 BIOS&amp;gt; setenv filesize &amp;lt;size of XX-linux.bin&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Check that transfered size value is less than the ones specified here [[#Flash_memory_partitions|Flash Memory Partitions]]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 Bytes transferred = 1313216 (1409c0 hex)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* You can test your new kernel image without flashing it with; if so you will have to reload it again after test:&lt;br /&gt;
** &#039;&#039;&#039;Please note&#039;&#039;&#039;: The &#039;&#039;bootm&#039;&#039; command is not supported by [[APF51]] boards yet; directly flash the kernel with the below commands instead&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; bootm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* a U-Boot script exists to ease kernel image loading through Ethernet:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run download_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* After kernel image has been downloaded into RAM memory, you can flash it with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you only want to try a new kernel without flashing the kernel image you can launch it directly from RAM (U-Boot 2011.12):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv bootargs console=${consoledev},${baudrate} ${mtdparts};run addubifsargs addipargs; bootm&lt;br /&gt;
(the kernel image you want to try must have been loaded at ${loadaddr})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Please note&#039;&#039;&#039;: The &#039;&#039;bootm&#039;&#039; command is not supported by [[APF51]] boards yet; directly flash the kernel with the below commands&lt;br /&gt;
&lt;br /&gt;
==rootfs installation==&lt;br /&gt;
&lt;br /&gt;
* Check that your Armadeus rootfs image size is smaller than the rootfs partition (see [[#Flash_memory_partitions|Flash Memory Partitions]] for size allowances):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ ls -al buildroot/output/images/&lt;br /&gt;
 ...&lt;br /&gt;
 [armadeus]$ cp buildroot/output/images/* /tftpboot/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Load rootfs image with U-Boot through network:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_rootfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For large rootfs (bigger than the available RAM on your system) please use this method (&#039;&#039;&#039;not&#039;&#039;&#039; supported on the [[APF9328]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; nand erase.part rootfs&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${rootfs_addr} ${board_name}-rootfs.ubi nand&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or serial line:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
    &#039;&#039;Ctrl+Altgr+\+c to access kermit command line then...&#039;&#039;&lt;br /&gt;
(/home/.../) C-Kermit&amp;gt;send path_to_your_host_buildroot_dir/XX-rootfs.ubi&lt;br /&gt;
    &#039;&#039;After download is completed, you can type the c command to reconnect to the terminal:&#039;&#039;&lt;br /&gt;
(/home/.../) C-Kermit&amp;gt;c&lt;br /&gt;
Connecting to /dev/ttyUSB0, speed 115200&lt;br /&gt;
 Escape character: Ctrl-\ (ASCII 28, FS): enabled&lt;br /&gt;
Type the escape character followed by C to get back,&lt;br /&gt;
or followed by ? to see other options.&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
## Total Size      = 0x&amp;lt;size of rootfs&amp;gt;&lt;br /&gt;
## Start Addr      = 0x........&lt;br /&gt;
BIOS&amp;gt; setenv filesize &amp;lt;size of rootfs&amp;gt;&lt;br /&gt;
BIOS&amp;gt; run flash_rootfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now you should be ready to test Linux:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FPGA firmware test==&lt;br /&gt;
&lt;br /&gt;
The FPGA firmwares are all located in the &#039;&#039;firmware/&#039;&#039; directory of your Armadeus view:&lt;br /&gt;
 [armadeus]$ ls firmware/&lt;br /&gt;
 apf_pkg  BRAMTest  bus_led  led  PS2  PS2_Opencore  servo  sram_test  wishbone_example  Xtools&lt;br /&gt;
You can make some trials with the &#039;&#039;firmware/PS2/ps2_top.bin&#039;&#039; file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warning| for the APF9328, Check that your bitfile size is smaller than the firmware partition size (256KB) before trying the following commands or you may corrupt your Linux kernel FLASH partition !!!}}&lt;br /&gt;
{{Note | For the APF51 only binary file format work (&#039;&#039;&#039;.bin&#039;&#039;&#039;). Do not use &#039;&#039;&#039;.bit&#039;&#039;&#039; format}}&lt;br /&gt;
&lt;br /&gt;
* Load FPGA firmware image file with U-Boot through:&amp;lt;br&amp;gt;&lt;br /&gt;
Ethernet:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; tftpboot ${loadaddr} fpgafirmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;fpgafirmware.bin&#039;&#039; is of course the name of your bitfile stored in your TFTP shared directory (&#039;&#039;/tftpboot/&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
then you can type the c command to reconnect to the terminal&lt;br /&gt;
&lt;br /&gt;
* Test your new FPGA firmware&#039;s downloading:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; fpga load 0 ${loadaddr} ${filesize}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FPGA firmware installation==&lt;br /&gt;
&lt;br /&gt;
* Flash your firmware image with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* When you are &#039;&#039;&#039;satisfied with your firmware&#039;&#039;&#039;, you can make it &amp;quot;autoloaded&amp;quot; at power up:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; setenv firmware_autoload 1&lt;br /&gt;
 BIOS&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note | (U-Boot 2011.12) you can manually cancel the firmware autoload using the following procedure: keeping &amp;lt;CTRL-C&amp;gt; pressed on the console and power up the board will start the board without downloading the FPGA firmware - This procedure can be helpfull if you have programmed a broken firmware  }}&lt;br /&gt;
&lt;br /&gt;
==Update U-Boot==&lt;br /&gt;
* Check that your Armadeus U-Boot image size is smaller than the u-boot partition (see [[#Flash_memory_partitions|Flash Memory Partitions]] for size allowances) and copy all the binary images to your TFTP server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ ls -al buildroot/output/images/&lt;br /&gt;
 ...&lt;br /&gt;
 [armadeus]$ cp buildroot/output/images/* /tftpboot/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===U-Boot update script===&lt;br /&gt;
* This is the recommended method and the easiest one. The automatic &#039;update_uboot&#039; scripts downloads the image and flash it in the same go:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_uboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reset your board and check if you need to update your environment variables:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; reset&lt;br /&gt;
 U-Boot 2011.12 ..&lt;br /&gt;
 ...&lt;br /&gt;
 *** Warning - Environment version change suggests: run flash_reset_env; reset&lt;br /&gt;
 BIOS&amp;gt; run flash_reset_env; reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In such a case you may have to update your network environment variables (see [[#Configure_U-Boot|Configure U-Boot]]) &lt;br /&gt;
===Other U-Boot update method===&lt;br /&gt;
You can use the following commands to download U-boot in RAM:&amp;lt;br&amp;gt;&lt;br /&gt;
*With Ethernet and a TFTP server:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run download_uboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*With Ethernet and a NFS server:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; nfs ${loadaddr} host_ip_addr:/nfs_path_to_buildroot/apfXX-u-boot{.bin|-nand.bin|.sb}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*With kermit and the serial/RS232 line&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; loadb ${loadaddr}&lt;br /&gt;
    &amp;lt;CTRL&amp;gt;&amp;lt;ALT GR&amp;gt;\&lt;br /&gt;
    c&lt;br /&gt;
    send path_to_buildroot/apfXX-u-boot{.bin|-nand.bin|.sb}&lt;br /&gt;
    c&amp;lt;ENTER&amp;gt;&lt;br /&gt;
 Connecting to /dev/ttyUSB0, speed 115200&lt;br /&gt;
  Escape character: Ctrl-\ (ASCII 28, FS): enabled&lt;br /&gt;
 Type the escape character followed by C to get back,&lt;br /&gt;
 or followed by ? to see other options.&lt;br /&gt;
 ----------------------------------------------------&lt;br /&gt;
 ## Total Size      = 0x&amp;lt;size of U-Boot&amp;gt; = .... Bytes&lt;br /&gt;
 ## Start Addr      = 0x08000000&lt;br /&gt;
 BIOS&amp;gt; setenv filesize &amp;lt;size of U-Boot&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you can use the U-Boot command/script &#039;flash_uboot&#039; to tranfert the new U-Boot from RAM to Flash memory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run flash_uboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Advanced informations can be found at the [[BootLoader]] wiki page.&lt;br /&gt;
&lt;br /&gt;
==Update U-Boot, kernel and rootfs images all at once==&lt;br /&gt;
* Copy all the binary images to your TFTP server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 [armadeus]$ cp buildroot/output/images/* /tftpboot/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The automatic &#039;update_all&#039; scripts downloads each image and flash it in the same go:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 BIOS&amp;gt; run update_all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reset your board to check that wour board is correctly updated.&lt;br /&gt;
&lt;br /&gt;
{{Note |When updating your board from a legacy version of Armadeus BSP you should update U-Boot first to update the environment variables before any other partition update ( see [[#Update_U-Boot|Update U-Boot]]) }}&lt;br /&gt;
&lt;br /&gt;
==Flash memory partitions==&lt;br /&gt;
===APF9328 / U-Boot 1.3.4 Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF9328 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!width=&amp;quot;60%&amp;quot; |Address range (index from FLASH physical @ 0x10000000) (up to Armadeus 4.x)!!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x000000 - 0x03FFFF ( 256KB )&lt;br /&gt;
|U-Boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x040000 - 0x5FFFF ( 128KB )&lt;br /&gt;
|U-Boot environment variables&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x060000 - 0x9FFFF ( 256KB )&lt;br /&gt;
|FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x0A0000 - 0x29FFFF ( 2MB )&lt;br /&gt;
|Linux kernel image&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x2A0000 - End of FLASH ( ~5.5 MB or ~13.5MB  )&lt;br /&gt;
|Root filesystem&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF9328 / U-Boot 2011.12 and newer release - Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF9328 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; |Address range (index from FLASH physical @ 0x10000000) !!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x000000 - 0x03FFFF ( 256KB )&lt;br /&gt;
|u-boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x040000 - 0x5FFFF ( 128KB )&lt;br /&gt;
|U-Boot environment variables (primary partition: env)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x060000 - 0x7FFFF ( 128KB )&lt;br /&gt;
|U-Boot environment variables (redundant partition: env2)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x080000 - 0xBFFFF ( 256KB )&lt;br /&gt;
|FPGA bitfile (firmware)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x0C0000 - 0x2BFFFF ( 2MB )&lt;br /&gt;
|Linux kernel image (kernel)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x2C0000 - End of FLASH ( ~5.5 MB or ~13.5 MB  )&lt;br /&gt;
|Root filesystem (rootfs)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF27 / U-Boot 1.3.4 Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF27 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!width=&amp;quot;60%&amp;quot; |NAND flash address range (up to Armadeus 4.x)!!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x0009FFFF (640KB, including NAND SPL and spare memory for bad blocks)&lt;br /&gt;
|U-Boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x000A0000 - 0x000FFFFF (384KB)&lt;br /&gt;
|U-Boot environment variables&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00100000 - 0x0017FFFF (512KB)&lt;br /&gt;
|FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00180000 - 0x0067FFFF (5MB)&lt;br /&gt;
|Linux kernel image&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00680000 - End of FLASH (&amp;gt;~250MB)&lt;br /&gt;
|Root filesystem&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF27 / U-Boot 2011.12 and newer release - Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF27 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; |NAND flash address range !!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x000FFFFF (1MiB, including NAND SPL and spare memory for bad blocks)&lt;br /&gt;
|u-boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00100000 - 0x0017FFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (primary partition: env)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00180000 - 0x001FFFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (redundant partition: env2)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00200000 - 0x0027FFFF (512KB)&lt;br /&gt;
|FPGA bitfile (firmware)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00280000 - 0x002FFFFF (512kB)&lt;br /&gt;
|DeviceTree Block partition (dtb)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00300000 - 0x007FFFFF (5MB)&lt;br /&gt;
|Linux kernel image (kernel)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00800000 - End of FLASH (&amp;gt;~248MB)&lt;br /&gt;
|Root filesystem (rootfs)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF28 / U-Boot 2011.12 and newer release - Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF28 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!  width=&amp;quot;60%&amp;quot; |NAND flash address range !!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x002FFFFF (3MB, including NAND SPL and spare memory for bad blocks)&lt;br /&gt;
|u-boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00300000 - 0x0037FFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (primary partition: env)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00380000 - 0x003FFFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (redundant partition: env2)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00400000 - 0x0047FFFF (512kB)&lt;br /&gt;
|DeviceTree Block partition (dtb)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00480000 - 0x004FFFFF (512kB)&lt;br /&gt;
|Reserved for a futur splash screen (splash)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00500000 - 0x00CFFFFF (8MB)&lt;br /&gt;
|Linux kernel image (kernel)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00D00000 - End of FLASH (&amp;gt;~243MB)&lt;br /&gt;
|Root filesystem (rootfs)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF51 / U-Boot 2010.03 Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF51 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!  width=&amp;quot;60%&amp;quot; |NAND flash address range (up to Armadeus 4.x)!!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x000FFFFF (1MB, including NAND SPL and spare memory for bad blocks)&lt;br /&gt;
|U-Boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00100000 - 0x001FFFFF (1MB)&lt;br /&gt;
|U-Boot environment variables&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00200000 - 0x002FFFFF (1MB)&lt;br /&gt;
|FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00300000 - 0x00AFFFFF (8MB)&lt;br /&gt;
|Linux kernel image&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00B00000 - End of FLASH (&amp;gt;~500MB)&lt;br /&gt;
|Root filesystem&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===APF51 / U-Boot 2011.12 and newer release - Flash memory partitions===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;APF51 Flash memory partitions&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!  width=&amp;quot;60%&amp;quot; |NAND flash address range !!Type&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00000000 - 0x000FFFFF (1MB, including NAND SPL and spare memory for bad blocks)&lt;br /&gt;
| u-boot&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00100000 - 0x0017FFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (primary partition: env)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00180000 - 0x001FFFFF (512kB)&lt;br /&gt;
|U-Boot environment variables (redundant partition: env2)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00200000 - 0x002FFFFF (1MB)&lt;br /&gt;
|FPGA bitfile&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00300000 - 0x0037FFFF (512kB)&lt;br /&gt;
|DeviceTree Block partition (dtb)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00380000 - 0x003FFFFF (512kB)&lt;br /&gt;
|Reserved for a futur splash screen (splash)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00400000 - 0x00BFFFFF (8MB)&lt;br /&gt;
|Linux kernel image (kernel)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0x00C00000 - End of FLASH (&amp;gt;~500MB)&lt;br /&gt;
|Root filesystem (rootfs)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11464</id>
		<title>User:MartinH</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11464"/>
		<updated>2012-12-10T19:54:08Z</updated>

		<summary type="html">&lt;p&gt;MartinH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there,&lt;br /&gt;
&lt;br /&gt;
As an electrical engineer  working on the development of automotive micro controllers (well, too small to run Linux) I decided to &lt;br /&gt;
widen my view also on ARM and embedded Linux. &lt;br /&gt;
&lt;br /&gt;
My project is an &#039;&#039;&#039;Audio Streaming Client,&#039;&#039;&#039; based on the MPD so the APF28 with it&#039;s SPDIF out is a perfect choice.&lt;br /&gt;
&lt;br /&gt;
With zero experience in embedded Linux, I got my &amp;quot;Hello World&amp;quot; out of my stereo speaker a week after I received my APF28_dev.&lt;br /&gt;
&lt;br /&gt;
Meanwhile the whole MPD is up and running over ETH cable. Now I am fighting to get my Netgear WNA1100 WLAN stick to work.&lt;br /&gt;
(OK, I could spend 10 Euro on a supported one, but I try to be a good sports) &lt;br /&gt;
&lt;br /&gt;
Wish I had a linux kernel above 2.6.3 running! The next one has the WNA1100 driver contained in the kernel&lt;br /&gt;
- with the current one I am just gathering experience with patching ;-)&lt;br /&gt;
&lt;br /&gt;
Up to now I could not manage to get the 3.6.2 Vanilla kernel to boot as described on the wiki page.&lt;br /&gt;
&lt;br /&gt;
My mother language is German, but I can also read French (ecrire est un petit plus difficile).&lt;br /&gt;
If you have any questions, suggestions or ideas how to upgrade the APF28 kernel , please feel free to contact me &lt;br /&gt;
&lt;br /&gt;
--[[User:MartinH|MartinH]] 19:53, 10 December 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11463</id>
		<title>User:MartinH</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11463"/>
		<updated>2012-12-10T19:53:20Z</updated>

		<summary type="html">&lt;p&gt;MartinH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there,&lt;br /&gt;
&lt;br /&gt;
As an electrical engineer  working on the development of automotive micro controllers (well, too small to run Linux) I decided to &lt;br /&gt;
widen my view also on ARM and embedded Linux. &lt;br /&gt;
&lt;br /&gt;
My project is an &#039;&#039;&#039;Audio Streaming Client,&#039;&#039;&#039; based on the MPD so the APF28 with it&#039;s SPDIF out is a perfect choice.&lt;br /&gt;
&lt;br /&gt;
With zero experience in embedded Linux, I got my &amp;quot;Hello World&amp;quot; out of my stereo speaker a week after I received my APF28_dev.&lt;br /&gt;
Meanwhile the whole MPD is up and running over ETH cable. Now I am fighting to get my Netgear WNA1100 WLAN stick to work.&lt;br /&gt;
(OK, I could spend 10 Euro on a supported one, but I try to be a good sports) &lt;br /&gt;
&lt;br /&gt;
Wish I had a linux kernel above 2.6.3 running! The next one has the WN1100 driver contained in the kernel - with the current one I am just gathering experience with patching ;-)&lt;br /&gt;
Up to now I could not manage to get the 3.6.2 Vanilla kernel to boot as described on the wiki page.&lt;br /&gt;
&lt;br /&gt;
My mother language is German, but I can also read French (ecrire est un petit plus difficile).&lt;br /&gt;
If you have any questions, suggestions or ideas how to upgrade the APF28 kernel , please feel free to contact me &lt;br /&gt;
&lt;br /&gt;
--[[User:MartinH|MartinH]] 19:53, 10 December 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11462</id>
		<title>User:MartinH</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=User:MartinH&amp;diff=11462"/>
		<updated>2012-12-10T19:43:39Z</updated>

		<summary type="html">&lt;p&gt;MartinH: Audio Streaming Client in work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there,&lt;br /&gt;
&lt;br /&gt;
As an electrical engineer  working on the development of automotive micro controllers (well, too small to run Linux) I decided to &lt;br /&gt;
widen my view also on ARM and embedded Linux. &lt;br /&gt;
&lt;br /&gt;
My project is an &#039;&#039;&#039;Audio Streaming Client,&#039;&#039;&#039; based on the MPD so the APF28 with it&#039;s SPDIF out is a perfect choice.&lt;br /&gt;
&lt;br /&gt;
With zero experience in embedded Linux, I got my &amp;quot;Hello World&amp;quot; out of my stereo speaker a week after I received my APF28_dev.&lt;br /&gt;
Meanwhile the whole MPD is up and running over ETH cable. Now I am fighting to get ma Netgear WN1100 WLAN stick to work.&lt;br /&gt;
&lt;br /&gt;
Wish I had a linux kernel above 2.6.3 running! The next one has the WN1100 driver contained in the kernel - with the current one I am just gathering experience with patching ;-)&lt;br /&gt;
Up to now I could not manage to get the 3.6.2 Vanilla kernel to boot as described on the wiki page.&lt;br /&gt;
&lt;br /&gt;
My mother language is German, but I can also read French (ecrire est un petit plus difficile).&lt;br /&gt;
If you have any questions, suggestions or ideas how to upgrade the APF28 kernel , please feel free to contact me &lt;br /&gt;
&lt;br /&gt;
--[[User:MartinH|MartinH]] 19:43, 10 December 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>MartinH</name></author>
	</entry>
</feed>