The SURF N150 is an amazing ultra-compact Wi-Fi USB dongle from Belkin , its small design (one of the smallest available usb adapter) make it very interesting for an embedded use:
- Dimensions: 15 mm x 18 mm (WxH)
- Weight: approximately 9 grams
- Wireless N150 with up to 150 Mbps
- Encryption: WPA2, WPA, WEP 64/128-bit
- Cost around 20 Euros
Here are some snapshots:
However it does not work out of the Box with Linux/BeagleBoard.
Here a small guide how I’ve got it working:
root@beagleboard:~# lsusb | grep Belkin Bus 001 Device 004: ID 050d:1102 Belkin Components
google it gave that it’s a Realtek based chipset and supported in Linux Kernel (I’m using a 3.0.7 Kernel) in the RTL8192CU driver.
I rebuild the kernel enabling the RTL8192 driver (via make menuconfig) and copied the Firmware required by the driver into /lib/firmware/rtlwifi (on the Beagleboard SD card filesystem):
root@beagleboard:~# ls /lib/firmware/rtlwifi/ rtl8192cfw.bin rtl8192defw.bin rtl8712u.bin rtl8192cufw.bin rtl8192sefw.bin
I installed wpa_supplicant via opkg and edited the config file to match my AP parameters (WPA2):
root@beagleboard:~# cat /etc/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant eapol_version=1 network={ ssid="Access Point Name" scan_ssid=1 proto=RSN pairwise=CCMP TKIP key_mgmt=WPA-PSK psk="password" }
I also edited the network interfaces file (/etc/network/interfaces) to add:
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant.conf wpa-driver wext
loading now the built-in wi-fi driver gave me the following:
root@beagleboard:~# modprobe rtl8192cu [ 3484.251617] rtl8192cu: MAC address: 94:44:52:ee:af:bb [ 3484.257049] rtl8192cu: Board Type 0 [ 3484.302947] rtl8192cu: rx_max_size 15360, rx_urb_num 8, in_ep 1 [ 3484.344635] rtl8192cu: MAC auto ON okay! [ 3484.364440] usbcore: registered new interface driver rtl8192cu root@beagleboard:~# [ 3484.474151] rtl8192cu: Tx queue select: 0x05 [ 3484.489776] rtl8192c: Loading firmware file rtlwifi/rtl8192cufw.bin [ 3485.130889] ADDRCONF(NETDEV_UP): wlan0: link is not ready root@beagleboard:~# ifup wlan0 [ 3587.279724] rtl8192cu: MAC auto ON okay! [ 3587.335906] rtl8192cu: Tx queue select: 0x05 [ 3587.349029] rtl8192c: Loading firmware file rtlwifi/rtl8192cufw.bin [ 3588.184417] ADDRCONF(NETDEV_UP): wlan0: link is not ready udhcpc (v1.13.2) started Sending discover... Sending discover... Sending discover... No lease, forking to background
The link association with the AP failed (it get associated once or two times), so I didn’t want to spend much time debugging this driver because it really sucks !
The other alternative was using the driver sources from Realtek website : RTL819xCU_USB_linux_v3.3.1_3083.zip
I unpacked the sources and changed the driver Makefile as follow to enable the cross-compilation for the beagleboard:
--- rtl8188C_8192C_8192D_usb_linux_v3.3.1_3083.20111213/Makefile 2011-12-13 15:44:37.000000000 +0100 +++ rtl8188C_8192C_8192D_usb_linux_v3.3.1_3083.20111213_/Makefile 2012-01-03 02:03:54.080247526 +0100 @@ -34,7 +34,8 @@ CONFIG_BT_COEXISTENCE = n CONFIG_RTL8192CU_REDEFINE_1X1 =n -CONFIG_PLATFORM_I386_PC = y +CONFIG_PLATFORM_I386_PC = n +CONFIG_PLATFORM_ARM_BEAGLE = y CONFIG_PLATFORM_TI_AM3517 = n CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ARM_S3C2K4 = n @@ -240,6 +241,14 @@ INSTALL_PREFIX := endif +ifeq ($(CONFIG_PLATFORM_ARM_BEAGLE), y) +EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN +ARCH := arm +CROSS_COMPILE := arm-angstrom-linux-gnueabi- +KVER := 3.0.7-r100c +KSRC ?= /home/zak/Projects/angstrom/build/tmp-angstrom_2008_1/work/beagleboard-angstrom-linux-gnueabi/linux-3.0.7-r100c/git +endif + ifeq ($(CONFIG_PLATFORM_TI_AM3517), y) EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_SHUTTLE CROSS_COMPILE := arm-eabi-
Make sure that the kernel sources (KSRC) and cross-compiler (arm-angstrom-linux-gnueabi) paths are correctly set and issue a make to build the driver 8192cu.ko that should be copied to /lib/modules/3.0.7/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system.
Now when I load the new driver it prints a lot of stuffs but it works perfect 🙂 :
root@beagleboard:~# modprobe 8192cu [ 224.467834] [ 224.467834] rtw driver version=v3.3.1_3083.20111213 [ 224.474761] register rtw_netdev_ops to netdev_ops [ 224.479797] CHIP TYPE: RTL8188C_8192C [ 224.483703] [ 224.483703] usb_endpoint_descriptor(0): [ 224.489257] bLength=7 [ 224.491638] bDescriptorType=5 [ 224.494750] bEndpointAddress=81 [ 224.498016] wMaxPacketSize=200 [ 224.501220] bInterval=0 [ 224.503784] RT_usb_endpoint_is_bulk_in = 1 [ 224.508087] [ 224.508087] usb_endpoint_descriptor(1): [ 224.513641] bLength=7 [ 224.516021] bDescriptorType=5 [ 224.519134] bEndpointAddress=2 [ 224.522338] wMaxPacketSize=200 [ 224.525543] bInterval=0 [ 224.528076] RT_usb_endpoint_is_bulk_out = 2 [ 224.532684] [ 224.532684] usb_endpoint_descriptor(2): [ 224.538269] bLength=7 [ 224.540649] bDescriptorType=5 [ 224.543731] bEndpointAddress=3 [ 224.546936] wMaxPacketSize=200 [ 224.550140] bInterval=0 [ 224.552673] RT_usb_endpoint_is_bulk_out = 3 [ 224.557067] [ 224.557067] usb_endpoint_descriptor(3): [ 224.562652] bLength=7 [ 224.565002] bDescriptorType=5 [ 224.568084] bEndpointAddress=84 [ 224.571411] wMaxPacketSize=40 [ 224.574493] bInterval=1 [ 224.577056] RT_usb_endpoint_is_int_in = 4, Interval = 1 [ 224.582519] nr_endpoint=4, in_num=2, out_num=2 [ 224.582519] [ 224.588714] USB_SPEED_HIGH [ 224.600616] Chip Version ID: VERSION_NORMAL_TSMC_CHIP_88C. [ 224.606353] RF_Type is 3!! [ 224.624511] EEPROM type is E-FUSE [ 224.627990] ====> ReadAdapterInfo8192C [ 224.639587] Boot from EFUSE, Autoload OK ! [ 224.955017] EEPROMVID = 0x050d [ 224.958221] EEPROMPID = 0x1102 [ 224.961486] EEPROMCustomerID : 0x00 [ 224.965148] EEPROMSubCustomerID: 0x00 [ 224.969055] RT_CustomerID: 0x00 [ 224.972351] _ReadMACAddress MAC Address from EFUSE = 94:44:52:ee:af:bb [ 224.979217] EEPROMRegulatory = 0x0 [ 224.982788] _ReadBoardType(0) [ 224.985900] BT Coexistance = disable [ 224.989624] RT_ChannelPlan: 0x02 [ 224.993041] _ReadPSSetting...bHWPwrPindetect(0)-bHWPowerdown(0) ,bSupportRem) [ 225.001525] ### PS params=> power_mgnt(0),usbss_enable(0) ### [ 225.007629] ### AntDivCfg(0) [ 225.010650] readAdapterInfo_8192CU(): REPLACEMENT = 1 [ 225.015960] <==== ReadAdapterInfo8192C in 390 ms [ 225.022216] rtw_macaddr_cfg MAC Address = 94:44:52:ee:af:bb [ 225.028228] MAC Address from pnetdev->dev_addr= 94:44:52:ee:af:bb [ 225.054199] bDriverStopped:1, bSurpriseRemoved:0, bup:0, hw_init_completed:0 [ 225.084991] usbcore: registered new interface driver rtl8192cu
root@beagleboard:~# ifup wlan0 [ 233.954589] +871x_drv - drv_open, bup=0 [ 233.967285] ===> FirmwareDownload91C() fw:Rtl819XFwImageArray_TSMC [ 233.973968] FirmwareDownload92C accquire FW from embedded image [ 233.980255] fw_ver=v79, fw_subver=0, sig=0x88c0 [ 234.042755] fw download ok! [ 234.045806] Set RF Chip ID to RF_6052 and RF type to 1T1R. [ 234.488586] IQK:Start!!! [ 234.518737] Path A IQK Success!! [ 234.544219] Path A IQK Success!! [ 234.562591] IQK: final_candidate is 0 [ 234.566436] IQK: RegE94=101 RegE9C=10 RegEA4=fd RegEAC=3fd RegEB4=0 RegEBC=00 [ 234.566467] Path A IQ Calibration Success ! [ 234.724853] pdmpriv->TxPowerTrackControl = 1 [ 234.742858] MAC Address from REG_MACID = 94:44:52:ee:af:bb [ 234.748596] rtl8192cu_hal_init in 789ms [ 234.752716] MAC Address = 94:44:52:ee:af:bb [ 234.781982] -871x_drv - drv_open, bup=1 [ 234.786285] ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 234.803649] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH! [ 234.808349] set_mode = IW_MODE_INFRA ioctl[SIOCSIWAP]: Operation not permitted [ 234.871551] [rtw_wx_set_pmkid] IW_PMKSA_FLUSH! [ 234.982727] IW_SCAN_THIS_ESSID, ssid=ALICE-WLAN14, len=12 [ 235.006866] (2)871x_drv - drv_close, bup=1, hw_init_completed=1 [ 235.039001] rtl8192c_set_FwJoinBssReport_cmd mstatus(0) [ 235.054473] -871x_drv - drv_close, bup=1 [ 236.092437] +871x_drv - drv_open, bup=1 [ 236.096618] -871x_drv - drv_open, bup=1 [ 236.116333] ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 236.275207] survey done event(5) [ 236.280944] wpa_set_auth_algs, AUTH_ALG_OPEN_SYSTEM [ 236.286071] set_mode = IW_MODE_INFRA [ 236.311553] [ 236.311584] wpa_ie(length:22): [ 236.316406] 0x30 0x14 0x01 0x00 0x00 0x0f 0xac 0x04 [ 236.321777] 0x01 0x00 0x00 0x0f 0xac 0x04 0x01 0x00 [ 236.327026] 0x00 0x0f 0xac 0x02 0x00 0x00 0x08 0xc0 [ 236.350769] =>rtw_wx_set_essid [ 236.354003] ssid=ALICE-WLAN14, len=12 [ 236.357879] Set SSID under fw_state=0x00000008 [ 236.362640] [by_bssid:0][assoc_ssid:ALICE-WLAN14][to_roaming:0] new candidat8 [ 236.374053] rtw_select_and_join_from_scanned_queue: candidate: ALICE-WLAN14() [ 236.383178] rtw_restructure_ht_ie IEEE80211_HT_CAP_MAX_AMSDU is set [ 236.389801] link to Ralink AP [ 236.392944] <=rtw_wx_set_essid, ret 0 [ 236.405303] Set BSSID under fw_state=0x00000088 [ 236.441955] set ch/bw before connected [ 236.689300] link to Ralink AP [ 236.703124] OnAuthClient [ 236.705841] network.SupportedRates[0]=82 [ 236.710052] network.SupportedRates[1]=84 [ 236.714141] network.SupportedRates[2]=8B [ 236.718261] network.SupportedRates[3]=96 [ 236.722351] network.SupportedRates[4]=12 [ 236.726470] network.SupportedRates[5]=24 [ 236.730560] network.SupportedRates[6]=48 [ 236.734680] network.SupportedRates[7]=6C [ 236.738769] network.SupportedRates[8]=0C [ 236.742889] network.SupportedRates[9]=18 [ 236.746978] network.SupportedRates[10]=30 [ 236.751190] network.SupportedRates[11]=60 [ 236.755371] bssrate_len = 12 [ 236.780883] OnAssocRsp [ 236.783477] report_join_res(5) [ 236.786682] rtw_joinbss_update_network [ 236.790649] +rtw_update_ht_cap() [ 236.794036] rtw_joinbss_update_stainfo [ 236.803894] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 236.810363] HW_VAR_BASIC_RATE: BrateCfg(0x15d) [ 236.820892] WMM(0): 0, a42b [ 236.827606] WMM(1): 0, a44f [ 236.835388] WMM(2): 0, 5e4322 [ 236.838836] WMM(3): 0, 2f3222 [ 236.850555] [HW_VAR_ACM_CTRL] Write 0x0 [ 236.854919] HTOnAssocRsp [ 236.877685] update raid entry, mask=0xfffff, arg=0x80 [ 236.892028] rtl8192c_set_FwJoinBssReport_cmd mstatus(1) [ 236.906677] SetFwRsvdPagePkt [ 236.909790] Set RSVD page location to Fw. [ 236.922790] =>mlmeext_joinbss_event_callback [ 237.047851] OnAction_back [ 237.050598] OnAction_back, action=0 [ 237.054473] issue_action_BA, category=3, action=1, status=0 [ 237.060394] OnAction_back [ 237.063262] OnAction_back, action=0 [ 237.066925] issue_action_BA, category=3, action=1, status=0 [ 237.102844] [ 237.102844] ~~~~stastakey:unicastkey [ 237.124145] [ 237.124145] ~~~~stastakey:groupkey [ 237.129364] ==> rtw_set_key algorithm(4),keyid(1),key_mask(2) udhcpc (v1.13.2) started Sending discover... [ 238.108398] rtl8192c_dm_RF_Saving(): RF_Normal Sending select for 192.168.1.84... Lease of 192.168.1.84 obtained, lease time 604800 adding dns 192.168.1.1
To automatically load the driver and configure the wlan0 interface when the board starts I created a simple script :
cat /etc/init.d/wlan8192cu #!/bin/sh echo -n "loading 8192cu module" modprobe 8192cu
and start it before the networing script (S41networking) :
cd /etc/rcS.d/ ln -s ../init.d/wlan8192cu /etc/rcS.d/S40wlan8192cu
Great stuff !
Hi, I’m going to give this a shot when my N150 arrives on Friday. Just a quick question concerning the changes to the makfile. Is this line right?
CROSS_COMPILE := arm-angstrom-linux-gnueabi-
or is there something after the dash?
The Prefix is right CROSS_COMPILE := arm-angstrom-linux-gnueabi- just make sure you have the tool-chains installed and available in your PATH.
Hi, would you mind share the driver file you build? the .ko file. Thanks
if you don’t use the same kernel version (3.0.7) I have It won’t work using my *.ko.that you can find by the way on :
http://code.google.com/p/embedded-geeks/downloads/
does it need to be exactly 3.0.7 for this driver to work? Can 3.0.0 work as well?
of course it works with other kernel versions. I’ve use it with the 2.6.32 as well.
Hi, I am using Angstrom prebuilt image of 2.6.32. I have tried to copy the driver over to the /lib/modules/2.6.32/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system. However, it doesn’t work. I couldn’t even modprobe it. May I know what are the ways to make it work? I doesn’t know how to do rebuilding the kernel. Pardon about that, but I would really appreciate if you could help me on this. Thanks! 🙂
HI,
I am using 2.6.32 kernel, do you think it works on the older kernel?
btw, where do you download the specific kernel source? Through the instructions in Angstrom Website, I can only download the latest kernel source.
does the source in the kernel.org works?, or is the kernel source architecture-specific?
Thanks
I run into an error when issuing a make under the driver directory. Error : /lib/modules/2.6.32/build not found
normally this issue is due to the missing kernel-dev module. However, even though i install that module, it is still missing, there is nothing under /usr/src/. Have you seen this error before. My OS is Angstrom
It is described above that you should use the kernel sources from Angstrom Build (KSRC):
for me they are available under :
KSRC=/home/zak/Projects/angstrom/build/tmp-angstrom_2008_1/work/beagleboard-angstrom-linux-gnueabi/linux-3.0.7-r100c/git
so if have an angstrom build system available on your host they should be also available somewhere in your:
/path/to/build/tmp-angstrom_2008_1/work/beagleboard-angstrom-linux-gnueabi/linux-2.6.32/git
I hope it helps !
Have you tried to use it in AP mode?
I haven’t use it yet in AP mode but the driver package contains the necessary sources to configure the device in AP mode.
I’ve been using a NetGear G54/N150 with a similar size on the BeagleBoard. There’s no need to build and use the driver for standard networking. AP mode is a different story however. I don’t have that working yet.
To install ubuntu, go to BeagleBoard.org and look for the ubuntu project.
To setup the dongle as networking interface, simply change your /etc/network/interfaces file so that it has the following, and it will automatically start up at boot time…
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
Please help !
I’m trying to build a module for beagleboard xm for WiFi rtl8192cu , but compile fails with the following error.
CC [M] /opt/rtl/os_dep/linux/os_intfs.o
CC [M] /opt/rtl/os_dep/linux/usb_intf.o
CC [M] /opt/rtl/os_dep/linux/ioctl_linux.o
CC [M] /opt/rtl/os_dep/linux/xmit_linux.o
CC [M] /opt/rtl/os_dep/linux/mlme_linux.o
CC [M] /opt/rtl/os_dep/linux/recv_linux.o
LD [M] /opt/rtl/8192cu.o
Building modules, stage 2.
MODPOST 1 modules
/bin/sh: scripts/mod/modpost: No such file or directory
make[2]: *** [__modpost] Error 127
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/park/setup-scripts/build/tmp-angstrom_2011_x-eglibc/sysroots/beagleboard/kernel’
make: *** [modules] Error 2
This directory does not have a file modpost. There modpost.h, modpost.c and others. How can i get file modpost ?
did you build the kernel before ?
can you list the content of your /home/park/setup-scripts/build/tmp-angstrom_2011_x-eglibc/sysroots/beagleboard/kernel folder ?
Yes, i did MACHINE=beagleboard ./oebb.sh bitbake virtual/kernel
list of content my /home/park/setup-scripts/build/tmp-angstrom_2011_x-eglibc/sysroots/beagleboard/kernel
drwxr-xr-x 26 park park 4096 2012-01-25 15:32 arch
drwxr-xr-x 2 park park 4096 2012-01-25 15:39 block
-rw-r–r– 1 park park 18693 2012-01-25 15:30 COPYING
-rw-r–r– 1 park park 94495 2012-01-25 15:30 CREDITS
drwxr-xr-x 3 park park 4096 2012-01-25 15:39 crypto
drwxr-xr-x 93 park park 4096 2012-01-25 15:39 Documentation
drwxr-xr-x 94 park park 4096 2012-01-25 15:35 drivers
drwxr-xr-x 38 park park 4096 2012-01-25 15:39 firmware
drwxr-xr-x 71 park park 4096 2012-01-25 15:38 fs
drwxr-xr-x 23 park park 4096 2012-01-28 19:19 include
drwxr-xr-x 2 park park 4096 2012-01-25 15:39 init
drwxr-xr-x 2 park park 4096 2012-01-25 15:39 ipc
-rw-r–r– 1 park park 2464 2012-01-25 15:31 Kbuild
-rw-r–r– 1 park park 252 2012-01-25 15:31 Kconfig
drwxr-xr-x 9 park park 4096 2012-01-25 15:39 kernel
-rw-r–r– 1 park park 8 2012-01-25 15:30 kernel-abiversion
-rw-r–r– 1 park park 47 2012-01-25 15:30 kernel-image-name
drwxr-xr-x 8 park park 4096 2012-01-25 15:39 lib
-rw-r–r– 1 park park 195212 2012-01-25 15:31 MAINTAINERS
-rw-r–r– 1 park park 53438 2012-01-25 15:31 Makefile
drwxr-xr-x 2 park park 4096 2012-01-25 15:39 mm
-rw-r–r– 1 park park 436590 2012-01-25 15:31 Module.symvers
drwxr-xr-x 53 park park 4096 2012-01-25 15:36 net
drwxr-xr-x 2 park park 28672 2012-01-25 15:35 patches
-rw-r–r– 1 park park 17459 2012-01-25 15:31 README
-rw-r–r– 1 park park 3371 2012-01-25 15:31 REPORTING-BUGS
drwxr-xr-x 10 park park 4096 2012-01-25 15:35 samples
drwxr-xr-x 13 park park 4096 2012-01-27 17:44 scripts
drwxr-xr-x 8 park park 4096 2012-01-25 15:39 security
drwxr-xr-x 22 park park 4096 2012-01-25 15:39 sound
-rw-r–r– 1 park park 1615726 2012-01-25 15:35 System.map-3.0.17+
drwxr-xr-x 9 park park 4096 2012-01-25 15:35 tools
-rw-r–r– 1 park park 3373136 2012-01-25 15:35 uImage
drwxr-xr-x 2 park park 4096 2012-01-25 15:36 usr
drwxr-xr-x 3 park park 4096 2012-01-25 15:35 virt
Ok so try this :
1) edit your Angstrom local.conf file and comment the line :
#INHERIT += “rm_work”
This will keep the source files of your kernel after a build.
2) then rebuild the kernel again
3) set the KRSRC to:
/home/park/setup-scripts/build/tmp-angstrom_2011_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-3.0.xx/git
and NOT to the folder:
/home/park/setup-scripts/build/tmp-angstrom_2011_x-eglibc/sysroots/beagleboard/kernel
(in this one there is missing files you can fix that by modifing kernel.bbclass)
I hope it helps 😉
thank you very much. the driver is working 🙂
Thanks for the amazingly well-written article.
Are you (or anyone) aware of a USB wifi thing that works with the stock demo Angstrom on the shipped SD? I don’t need anything fancy and would like to avoid a new kernel if possible.
Thanks,
Michael
you can look for available drivers in the Angstrom package repository : http://www.angstrom-distribution.org/repo, I think that the wl1271 should work but I cannot give you a guaranty.
you may also post you question on the beagle-board or Angstrom mailing list.
Thank You for this information, now Edimax nano-usb works perfectly and I know how to crosscompile a driver.
Thank you Ayoub!
I’ll follow your lead and install the Belkin adapter when it arrives.
Greetings aus München,
Tom
Hi, I am using Angstrom prebuilt image of 2.6.32. I have tried to copy the driver over to the /lib/modules/2.6.32/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system. However, it doesn’t work. I couldn’t even modprobe it. May I know what are the ways to make it work? I doesn’t know how to do rebuilding the kernel. Pardon about that, but I would really appreciate if you could help me on this. Thanks! 🙂
It was a misunderstanding : The driver sources work for different kernel versions not the binary !
the 8192cu.ko I’ve built may work only for 3.0.7 kernel.
->So you need to build it 😦
I’ve built one for the 2.6.32 but I’m on holidays right now so I don’t figure it out I can give you mine next week.
Thanks for the prompt reply! I am still a bit confused. there are some questions I have..
1. Do you mean that if I use Angstrom 3.0.7 Kernel, I just have to copy the 8192.ko to /lib/modules/3.0.7/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system and it will just work?
2. I need this to be done before Monday. I am very sorry about this but is there any chance that I could download the driver anywhere straight?
3. When you say build it, does it mean build the driver? Can I just download the driver from realtek and use their install script to build it? Because I do that and copied the driver file to beagleboard filesystem (without rebuilding the kernel). When I modprobe 8192cu, it states that it is not found. I find it weird, or is it I do the steps totally different?
>1.Do you mean that if I use Angstrom 3.0.7 Kernel, I just have to copy the 8192.ko to /lib/modules/3.0.7/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system and it will just work?
Yes just copy it and issue depmod -a then load it.
>2. I need this to be done before Monday. I am very sorry about this but is there any chance that I could download the driver anywhere straight?
You may ask on the BeagleBoard mailing list maybe someone did it und would share it with you.
>3. When you say build it, does it mean build the driver? Can I just download the driver from realtek and use their install script to build it?
The install script from RT will build it for a x86 host.
For the BB you need to cross-compile it : it means you need cross-compiler toolchains and linux kernel sources and this is what it’s described in this post.
>Because I do that and copied the driver file to beagleboard filesystem (without rebuilding the kernel). When I modprobe 8192cu, it states that it is not found.
issue depmod -a or use insmod with the path to the kernel module.
Hi Ayoub,
very timely article for me, many thanks! I’m setting up a Beaglebone as the heart of a home energy control system, and need wifi. I’ve purchased the belkin micro adapter, and am starting the same process as you.
I’ve so far successfully built the Angstrom distribution kernel for Beaglebone, and intend to try to modify the kernel, using menuconfig tonight.
You mention :
“I rebuild the kernel enabling the RTL8192 driver (via make menuconfig) and copied the Firmware required by the driver into /lib/firmware/rtlwifi (on the Beagleboard SD card filesystem):”
Two questions;
1. Is if difficult to use menuconfig to modify the build?
2. What firmware (required by the driver) are you referring to? Is this firmware the result of a build process?
Many thanks for taking the time to share all of your work.
Cheers,
Con
Hi Con,
to your questions:
1. Is if difficult to use menuconfig to modify the build?
No, simply issue bitbake -c menuconfig virtual/kernel and enable disable what you want.
2. What firmware (required by the driver) are you referring to? Is this firmware the result of a build process?
The Realtek firmware is not generated during the build process I just copied from my dev Ubuntu PC.
In the post I wrote that RTL8192CU is not working for me and many other poeple so just build and use the one from Realtek website.
By the way this one does not need the firmware.
You’re a star!
Thanks again.
C.
Hi Con,
yould you please help me building n150 belkin driver for beaglebone anstrom 3.2.5+?
I tried to follow manual, but had problems – at the end I got:
klemen@klemen-ubuntu:~/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103$ make
make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C ~/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel M=/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103 modules
make[1]: Entering directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
make[2]: *** No rule to make target `/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/core/rtw_cmd.o’, needed by `/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/8192cu.o’. Stop.
make[1]: *** [_module_/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103] Error 2
make[1]: Leaving directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
make: *** [modules] Error 2
How can I resolve this? How can I use menuconfig?
Hi Zhivko, sorry, am out of town right now, no access to my toys. I see Ayoub is helping you out anyway, so you are in good hands.
Cheers,
Con
Hi Ayoub,
can i pester you with another question.. I’ve installed the OpenEmbedded environment on Ubuntu, and done a bitbake console-image. All worked fine. I’ve kept the source around, and downloaded the Realtek drivers.
My problem is how where to point the Path to , so that the gnueabi-gcc cross compiler is available. I assume, since I successfully built the beaglebone images, that the toolchain must be installed, but I’m not sure where.
Do I need to explicitely bitbake a toolchain?
Cheers,
Con
Hi Con,
I have an old Angstrom installation: toolchains are located at :
build/tmp-angstrom_2008_1/sysroots/x86_64-linux/usr/armv7a/bin/arm-angstrom-linux-gnueabi-gcc
Cheers
Hi Ayoub,
thanks for that. Just in case anyone else is following this, It appears to be necessary to use the cross-compiler from within the OpenEmbedded setup. I downloaded and installed a pre-built toolchain, and the build of the RTL8192 code failed. The GCC assembler did not understand some of the options set in the master Kernel Makefile.
Once I set the PATH to point to the “Internal” cross compiler in OE, all compiled just fine.
If anyone needs the exact details let me know.
Cheers,
Con
hi sir. nice article I found so far.
but I have a question.
could you please give a step to do build kernel angstrom in PC.
cause I always fail with this things.
I use git clone git://gitorious.org/angstrom/angstrom-setup-scripts.git.
sory for silly question.
thank you very much for your help
did you read this ? :
http://www.angstrom-distribution.org/building-angstrom
what fails ?
Hi!
I try to build rtl 8192cu for beaglebone 3.2.5+.
I folowed tutorial and when I execute sudo make, I get:
No rule to make target `modules’
It seems that source directory is not there. I have:
/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi
but inside only directory that begins with linux is:
/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7
I also commented removing working file by changing local.conf:
#INHERIT += “rm_work”
Has anybody build this driver for 3.2.5+ angstrom BeagleBone kernel ?
Still having problems trying to build realtek 8192CU
I am getting now:
klemen@klemen-ubuntu:~/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103$ make
make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C /home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel M=/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103 modules
make[1]: Entering directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
make[2]: *** No rule to make target `/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/core/rtw_cmd.o’, needed by `/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/8192cu.o’. Stop.
make[1]: *** [_module_/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103] Error 2
make[1]: Leaving directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
make: *** [modules] Error 2
I am using now:
~/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel
as KSRC variable.
HELP!!
hi Zhivko,
KSRC need to be set at the location where the kernel is build, actually the /home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel contains only kernel sources and no build information, so the module won’t build.
So again build the kernel first then build the wireless driver by setting KSRC to :
/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7 or where you kernel sources are located.
I believe this line builds kernel:
MACHINE=beagleboard ./oebb.sh bitbake virtual/kernel
So I found sources in:
/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7
, but I still get “No rule to make target `modules'”.
cross compiler is in:
/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/i686-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-intermediate
and
angstrom-linux-gnueabi-gcc is in path.
Checked by:
klemen@klemen-ubuntu:~/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103$ arm-angstrom-linux-gnueabi-gcc
arm-angstrom-linux-gnueabi-gcc: no input files
So I still get following:
klemen@klemen-ubuntu:~/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103$ make
make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C /home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7 M=/home/klemen/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103 modules
make[1]: Entering directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7′
make[1]: *** No rule to make target `modules’. Stop.
make[1]: Leaving directory `/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7′
make: *** [modules] Error 2
can you by the way check the content of the folder :
/home/klemen/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7
I am doing a project to build wireless driver for Android on Beagleboard-xM. I am using Belkin Wireless G USB adapter F5D7050 as the wireless device. The chipset of this device is Zydas (ZD1211B). The kernel version of android is 2.6.32.
I have tried every possible way to add the driver of this Belkin device into the android root filesystem but I am unable to do that. When I try to turn-on the wireless in the android operating system,it shows error since it can’t find the corresponding driver for the device.
Alternatively, I also tried to add the driver for another USB wireless device of D-Link with chipset of rt73, but I didn’t get success.
Please give some solutions or any suggestions.
It’s urgent!!!
Reply as soon as possible!!
I am doing a project to build a wireless driver for Andoid Froyo-2.2 on BeagleBoard-xM. I am using Belkin Wireless G USB Adapter F5D7050 as the wireless device (on the BeagleBoard) and it’s chipset is Zydas (ZD1211B).
The kernel which I am using to build the Android operating system is 2.6.32. The drivers for ZD1211B are already there in the kernel and while making the uImage of the kernel, the drivers are compiled and are present in the uImage.
I tried every possible way to add the drivers into the Android root filesystem so that it can detect the drivers when the device is connected to the board but I was unable to do that.
When the beagleboard is booted with the android, everything works fine except the Wi-Fi. When I try to “Turn On Wi-Fi”, it shows error.
Alternatively, I tried another USB wireless device of D-Link with rt73 as it’s chipset. The drivers for this chipset are also there in the kernel but I’m unable to add those drivers into the root filesystem of Android.
Please give any solution or suggestion to proceed further…
It’s urgent, so reply as soon as possible….!!!
Hi Ayoub: I checked the directory: it contains following directories:
git
package
packages-split
pseudo
temp
git directory is empty.
Can you help or suggest what to do next?
Thanks,
zhivko
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -C /home/steve/Project/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel M=/home/steve/Project/drivers/RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103/driver/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103 modules
make[1]: Entering directory `/home/steve/Project/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
CC [M] /home/steve/Project/drivers/RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103/driver/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/core/rtw_cmd.o
/bin/sh: scripts/basic/fixdep: No such file or directory
make[2]: *** [/home/steve/Project/drivers/RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103/driver/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103/core/rtw_cmd.o] Error 1
make[1]: *** [_module_/home/steve/Project/drivers/RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103/driver/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103] Error 2
make[1]: Leaving directory `/home/steve/Project/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/beaglebone/kernel’
make: *** [modules] Error 2
root@silver:~/Project/drivers/RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103/driver/rtl8188C_8192C_8192D_usb_linux_v3.3.2_3192.20120103#
Any ideas what to do here?
Think I got sources from angstrom build. But I am still getting some error.
http://pastebin.com/EJwi0uNp
my Makefile is here:
http://pastebin.com/tHFQTJnY
So what could “Error: unrecognized option -mauto-it” mean?
The Realtek driver support only Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.2.
Beaglebone default kernel is based on 3.2 version…maybe it’s the reason why does not compile. to be confirmed I didn’t try it yet.
Hi Zhivko,
you’re a patient guy. I went through all this pain, including the unrecognized option, which is to do with the outtput format for the ARM chip. (THUMB mode).
See my comment above on Apeil 16th. I was using the wrong cross-compiler. You need to use the one that comes in OE. If you need help with this let me know, I will post paths.
By the way, I got it to compile, but never got it working under the 3.2 kernel and angstrom. I ended up using a cisco device, which worked out of the box,. (Or at least as soon as I disabled connmand on Angstrom.) Again, seach the Google Groups BeagleBoard forum, using my name.
Keep at it!
Cheers,
Con
Hi again,
just in case it helps, here are the two directories I added to my path to get the appropriate cross compiler, along with the settings for my ksrc variable in the makefile. After this, I got a clean compile, and a .ko file.
Cheers,
Con
PATH=${PATH}:/home/connel/setup-scripts/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin
PATH=${PATH}:/home/connel/setup-scripts/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi
My ksrc setting:
/home/connel/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r9a+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91/git
Hey Con!
Thank you very much – your point was correct!
Actually I need to set path to following:
PATH=$PATH:~/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/sysroots/i686-linux/usr/bin/armv7a-angstrom-linux-gnueabi
(notice armv7a-angstrom-linux-gnueabi at the end).
I got .ko file now I will now follow Ayoub tutorial.
Thanks again Con – I really apreciate it! Thanks!
You know beaglebone was very promissing – but I see some delays working with i2c – I mean – 20ms for storing and reading 1 byte is really too much… Will see maybe somebody will fix that also… 🙂
You’re most welcome. Can you let me know if you manage to get the driver running under Angstrom? I have to say I’m delighted with the Bone, although it took me a while to figure out systemd, and kick out connmand.
I’m using a string of 1-wire temp sensors, and it’s all working very well. Have some JSON web services running, using Tomcat, and SQLLITE, and am working on an iPhone front end as we speak. I had previously been using a bunch of arduinos, connected using a mesh of XBees, but this is just an order of magnitude better.
I can’t speak to the speed of the i2c bus, but there are a lot of very talented and helpful folk out there, maybe you will find the one who can assist.
I hope you get the Belkin Micro working, I’d be very happy to revert to using it instead of the cisco device.
Cheers,
Con
Hi Con!
Belkin is blinking blue (from time to time) now on my beaglebone(kernel 3.2.16, and demo image Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.05-beaglebone-2012.05.09.img.xz), but I still didn’t succesfully connect to my wifi router.
I have this in dmesg:
http://pastebin.com/dZH8L1qj
I blacklisted rtl8192cu.ko that comes with angstrom distribution, and I’am using 8192cu.ko that I have loaded with:
insmod /lib/modules/3.2.16/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/8192cu.ko
It’s pretty big thought (559188 bytes):
root@beaglebone:~# ls -all /lib/modules/3.2.16/kernel/drivers/net/wireless/rtlwifi/rtl8192cu
total 652
drwxr-xr-x 2 root root 4096 May 13 02:02 .
drwxr-xr-x 4 root root 4096 May 8 07:16 ..
-rw-rw-r– 1 root root 559188 May 12 19:32 8192cu.ko
-rw-r–r– 1 root root 97512 May 8 06:52 rtl8192cu.ko
lsmod shows:
Module Size Used by
bridge 58293 0
stp 1653 1 bridge
llc 4573 2 bridge,stp
8192cu 460815 0
ip_tables 7830 0
x_tables 14348 1 ip_tables
g_mass_storage 24018 0
rfcomm 24259 0
ircomm_tty 14073 0
ircomm 8407 1 ircomm_tty
irda 85557 2 ircomm_tty,ircomm
hidp 10152 0
bluetooth 109714 4 rfcomm,hidp
rfkill 14605 2 bluetooth
ipv6 210442 17 bridge
I am using connman and I have followed: http://ladyada.net/products/beaglebone/wifi.html to configure it.
Be sure I would report if I made it 🙂
Thanks for any suggestions…
can you post your kernel config file ?
Hi Ayoub,
I guess thats content of file: defconfig in directory: ~/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r11h+gitr720e07b4c1f687b61b147b31c698cb6816d72f01
Here is content:
http://pastebin.com/Xh8wZydG
http://ladyada.net/products/beaglebone/wifi.html mentions that driver can be installed with:
opkg install linux-firmware-rtl8192cu
But I (like I think you tried also) didn’t have success with that either 😦
Hi Zhivko,
those “register write” fails look vaguely familiar. Do you have a console attached so that you can see the System Logs? I gained a lot of valuable help by doing so.
C
Hi Con,
If you mean some serial connection attached to beagle – no I don’t have that – how can I establish serial console?
Hi Zhivko,
this is definitely worth doing , for many reasons. The Serial out used for the Angstrom Console is connected to a SUB Serial chip. When you plug the USB port into a PC (or Laptop), drivers are loaded which make the USB – Serial chip available as a communications device.
In Windows, assuming you have loaded the FTDI Drivers, when you plug in the Bone, you can open the control panel, and device manager, and look to see what new COM port has appeared.
Then use a Serial Terminal program (PUTTY, or similar) to open a Serial connection to that port. (Settings are baud 115200, n,8, 1) Then press the reset button on the Bone, and you should see the entire boot up sequence appear on the terminal. It should then prompt you to logon, as root. After this, you can see many interesting things happen, particularly when you are trying to get WiFi to work!
If you are using a Mac, then;
1. Plug in the Bone.
2. Open a Terminal window
3. cat dmesg, and you should see a new ttyusb device appear, like ttyUSB0.
Then, …
4. sudo screen ttyusb0 115200
This should open a serial session to the bone, and off you go.
Let me know if you have problems..
C.
Hi Con,
thanks for explanation – it turns out that I am already using this method – I connect through ssh and ethernet, and through usb also. I ca see bb booting messages, but I haven’t noticed anything special regarding wifidebug messages.
I will retry and pay close attention to those messages.
Thanks, will report how it goes….
Thanks for a really excellent article. It really helped me cross-compile and get an adapter working on an ARM embedded device. In your description you say: “8192cu.ko that should be copied to /lib/modules/3.0.7/kernel/drivers/net/wireless/rtlwifi/8192cu.ko on the Beagle SD card file system”.
I found I had to do one more step – when I logged into my embedded system, I had to do a “/sbin/depmod -a” otherwise the module was not found when you do a modprobe.
It’s true, the kernel modules dependency has to be updated.
Thanks for the hints 😉
Hi Ayoub
sorry I have question not related to your topic, I could make my Huawei E173 to work on my pc (Ubuntu) to send SMS only (not as internet router) but it doesn’t on my Beaglebone?
I keep always get:
minicom: cannot open /dev/ttyS5: No such file or directory
even when I change the serial port setup?
do you have any solution to my problem?
Thanks in advance.
Majid
hi
where did you found those rtl8192cfw.bin rtl8192defw.bin rtl8712u.bin rtl8192cufw.bin rtl8192sefw.bin files, cause the kernel only generates *.o and *.ko files
Andre
God likes plug and play – that is unless you call what you went through to install an industry standard USB product – entertainment – then – rock on dude!!
As for the rest of us we’d rather spend our time USING the technology rather than repairing what is obviously left undone by its progenitors
Hi Zaki,
i find your description good. I have the same USB Wlan type:
Bus 002 Device 003: ID 050d:11f2 Belkin Components
and i need to build the same module or driver.
i use a gnubin board i think they are all the same. I downloaded the driver’s package “RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105” after i unziped i did the following steps:
1. chmod +x install.sh
2. sudo ./install.sh
at the end i got 2 errors depending on the link of built and source folder.because as i built my ubuntu for my board it has only copied a link of folder.
I wonder how did you built your module/driver after you download the zip file?
Thanks
Hi,
Which steps i have to do to select the Module rtl8192cu under the command “make menuconfig”?
thanks
thanks for the article, it was really very helpful to me.
OK, a good starting point. And it does look to start up better than the kernel mods on the 2 other-than-beagle-boards I have here. But, realtek does keep moving their targets (3.4.4, now), although I don’t know how much has changed as I’m actually building against 3.0.something…
The stuff with the init.d entry loading the module is a bit hoky. Looking at the makefile, it should be possible to play with INSTALL_PREFIX and MODDESTDIR to be able to run a proper depmod, and get 8192cu.ko loaded.
[…] In the following Link is the tutorial for all things i want. Link to the Tutorial […]
I haven’t checked in here for some time because I thought it was
getting boring, but the
last several posts are good quality so I guess I will add you back to my everyday bloglist.
You deserve it my friend 🙂
I’m really enjoying the design and layout of your site. It’s
a very easy on the eyes which makes it
much more enjoyable for me to come here and visit more often.
Did you hire out a designer to create
your theme? Exceptional work!
Greetings, I spotted your website on http://embeddedgeeks.wordpress.
com/2012/01/03/belkin-micro-wifi-usb-dongle-on-the-beagleboard/ at the same time as looking for a related subject,
your blog came up, it seems good. I’ve saved it in my google bookmarks.
Could you explain to me how you have build the beagleboard xm image (for the sd card) ? Tanks a lot for your answer ! seb
take a look at Angstrom website :
http://www.angstrom-distribution.org/building-angstrom
Thank you for answer, but this will build the 2.6.32 linux kernel. I want to have the 3.0.7 or more to have the same config that this article. Can you help me ?
hello,
kernell 3.2.28 with angstrom
dongle Surf N150 Belkin with led blue started on BeagleBoard xm
I’ve this error msg:
rtl8192cu ADDRCONF(NETDEV_UP): wlan0: link is not ready
what should I do ?!
thanks
Howdy! I just would like to offer you a huge thumbs up for your great
information you have got here on this post. I will be returning to
your web site for more soon.
I have read so many content concerning the blogger
lovers however this article is genuinely a pleasant piece of writing,
keep it up.
Fantastic post but I was
wondering if you could write a litte more on this subject?
I’d be very thankful if you
could elaborate a little bit further. Cheers!