So I bought the Edimax EW-7811Un 150Mbps Wireless 802.11n USB nano adapter because Jetson/Network Adapters - eLinux.org said it was tested successfully. I downloaded the driver and copied where instructed but it does not ever load the driver. USB is recognizing it from what I can see from dmesg.
Sorry to hear it. Personally I’m not wasting another dime/minute on this TK1 board until a working intel 7260 driver is posted and I can get it online. I was excited about learning cuda parallel programming and doing machine learning algorithms on this board. Now it just collects dust.
I am not entirely sure what ‘the driver’ is good for. It’s basically about downloading the firmware, which is already present in linux-firmware package.
Edimax EW-7811Un 150Mbps Wireless 802.11n USB nano adapter works rock-solid on my Raspberry Pi, but raspbian has the driver built-in. Mine is based on Realtek RTL8188CUS chip.
I have purchased another Wireless USB mini adapter before Edimax, but it was consuming too much power - not suitable for Raspberry Pi, with its limited power budget. It shows up as Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter.
I’ve built kernel module for RTL8192CU on L4T 19.3 according to the above tutorial’s instructions, but with some deviations.
Wireless is working for me on Jetson TK1 quite well. A very few disconnects, with immediate reconnect. What’s not working, is iwconfig and the others iw*, with exception for iw.
What happened after obtaining the kernel sources is as follows. /home/ubuntu/Downloads is mounted to an SD card. Jetson TK1’s eMMC might not have enough space to play with the kernel/module builds. And yes, Realtek RTL8188CUS and RTL8192CU are being handled by the same piece of code: Device Drivers / Network device support / Wireless LAN:
Realtek wireless card support
Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
sudo apt-get install libncurses-dev
cd /home/ubuntu/Downloads/19.3/Linux_for_Tegra/sources/kernel_source
export TEGRA_KERNEL_OUT=/home/ubuntu/Downloads/19.3/kernel_build/
mkdir -p $TEGRA_KERNEL_OUT
make O=$TEGRA_KERNEL_OUT prepare
make O=$TEGRA_KERNEL_OUT modules_prepare
make O=$TEGRA_KERNEL_OUT tegra12_defconfig
make O=$TEGRA_KERNEL_OUT menuconfig
diff -U 0 ~/Downloads/19.3/.config .config
--- /home/ubuntu/Downloads/19.3/.config 2014-07-10 16:15:13.440688219 +0000
+++ .config 2014-07-10 18:58:05.124794574 +0000
@@ -1758 +1758,9 @@
-# CONFIG_RTLWIFI is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+# CONFIG_RTL8192CE is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_RTL8192DE is not set
+# CONFIG_RTL8723AE is not set
+# CONFIG_RTL8188EE is not set
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
head Makefile
VERSION = 3
PATCHLEVEL = 10
EXTRAVERSION = -gf455cd4
make O=$TEGRA_KERNEL_OUT zImage
make O=$TEGRA_KERNEL_OUT dtbs
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=net/wireless
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=net/mac80211
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=drivers/net/wireless
WARNING: "ieee80211_rx_irqsafe" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "ieee80211_beacon_get_tim" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "ieee80211_unregister_hw" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "rate_control_send_low" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "freq_reg_info" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c/
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu/
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtlwifi.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/
sudo apt-get install linux-firmware
sudo vi /etc/default/crda
REGDOMAIN=GB
modinfo rtl8192cu
filename: /lib/modules/3.10.24-gf455cd4/kernel/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
firmware: rtlwifi/rtl8192cufw.bin
description: Realtek 8192C/8188C 802.11n USB wireless
depends: rtlwifi,rtl8192c-common
vermagic: 3.10.24-gf455cd4 SMP preempt mod_unload ARMv7 p2v8
parm: swenc:Set to 1 for software crypto (default 0)
(bool)
parm: debug:Set debug level (0-5) (default 0) (int)
iwconfig wlan0
wlan0 no wireless extensions.
iw wlan0 info
Interface wlan0
ifindex 7
type managed
wiphy 0
Hello Guys,
I’m new on Jetson, but other I know other e-linux based solutions, don’t give it up! E-linux (on BBB) works with some usb dongles ( I tried TPlink 150mbps), but from console it is not straight forward setup. It takes me always at least 2-3 days to set it up properly.
Second option is to setup connection via some minipci-e card.
I am not entirely sure what ‘the driver’ is good for. It’s basically about downloading the firmware, which is already present in linux-firmware package.
Edimax EW-7811Un 150Mbps Wireless 802.11n USB nano adapter works rock-solid on my Raspberry Pi, but raspbian has the driver built-in. Mine is based on Realtek RTL8188CUS chip.
I have purchased another Wireless USB mini adapter before Edimax, but it was consuming too much power - not suitable for Raspberry Pi, with its limited power budget. It shows up as Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter.
I’ve built kernel module for RTL8192CU on L4T 19.3 according to the above tutorial’s instructions, but with some deviations.
Wireless is working for me on Jetson TK1 quite well. A very few disconnects, with immediate reconnect. What’s not working, is iwconfig and the others iw*, with exception for iw.
What happened after obtaining the kernel sources is as follows. /home/ubuntu/Downloads is mounted to an SD card. Jetson TK1’s eMMC might not have enough space to play with the kernel/module builds. And yes, Realtek RTL8188CUS and RTL8192CU are being handled by the same piece of code: Device Drivers / Network device support / Wireless LAN:
Realtek wireless card support
Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
sudo apt-get install libncurses-dev
cd /home/ubuntu/Downloads/19.3/Linux_for_Tegra/sources/kernel_source
export TEGRA_KERNEL_OUT=/home/ubuntu/Downloads/19.3/kernel_build/
mkdir -p $TEGRA_KERNEL_OUT
make O=$TEGRA_KERNEL_OUT prepare
make O=$TEGRA_KERNEL_OUT modules_prepare
make O=$TEGRA_KERNEL_OUT tegra12_defconfig
make O=$TEGRA_KERNEL_OUT menuconfig
diff -U 0 ~/Downloads/19.3/.config .config
--- /home/ubuntu/Downloads/19.3/.config 2014-07-10 16:15:13.440688219 +0000
+++ .config 2014-07-10 18:58:05.124794574 +0000
@@ -1758 +1758,9 @@
-# CONFIG_RTLWIFI is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+# CONFIG_RTL8192CE is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_RTL8192DE is not set
+# CONFIG_RTL8723AE is not set
+# CONFIG_RTL8188EE is not set
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
head Makefile
VERSION = 3
PATCHLEVEL = 10
EXTRAVERSION = -gf455cd4
make O=$TEGRA_KERNEL_OUT zImage
make O=$TEGRA_KERNEL_OUT dtbs
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=net/wireless
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=net/mac80211
make O=$TEGRA_KERNEL_OUT modules SUBDIRS=drivers/net/wireless
WARNING: "ieee80211_rx_irqsafe" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "ieee80211_beacon_get_tim" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "ieee80211_unregister_hw" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "rate_control_send_low" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
WARNING: "freq_reg_info" [drivers/net/wireless/rtlwifi/rtlwifi.ko] undefined!
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c/
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu/
sudo cp $TEGRA_KERNEL_OUT/drivers/net/wireless/rtlwifi/rtlwifi.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/
sudo apt-get install linux-firmware
sudo vi /etc/default/crda
REGDOMAIN=GB
modinfo rtl8192cu
filename: /lib/modules/3.10.24-gf455cd4/kernel/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
firmware: rtlwifi/rtl8192cufw.bin
description: Realtek 8192C/8188C 802.11n USB wireless
depends: rtlwifi,rtl8192c-common
vermagic: 3.10.24-gf455cd4 SMP preempt mod_unload ARMv7 p2v8
parm: swenc:Set to 1 for software crypto (default 0)
(bool)
parm: debug:Set debug level (0-5) (default 0) (int)
iwconfig wlan0
wlan0 no wireless extensions.
iw wlan0 info
Interface wlan0
ifindex 7
type managed
wiphy 0
Yes I have gotten it to work - you will need to do like above and compile the modules, then you will need to re-flash from a Linux machine with the TK1 connected via the usb.
By works I mean I can connect to a wireless network, but I can’t do any channel scanning or anything fancy. Still not sure why.
Okay, I’ve got to the bottom of the issue. Wireless Extensions aren’t enabled in stock kernel. There is no point to enable them during driver compilation.
The only three things to change in make menuconfig are:
General setup / Local version - append to kernel release
-gf455cd4
Device Drivers / Network device support / Wireless LAN
Realtek wireless card support
Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
Strangely enough, mac80211.ko and cfg80211.ko are different from the ones in stock kernel. This time I am replacing these two modules too. I know, it’s cheating, because my kernel zImage is different from the stock one.
The result - stable driver for Realtek RTL8188CUS / RTL8192CU chipset, but without support for Wireless Extensions. Please, feel free to give it a try (rtl8192cu.ko.tbz2)!
I am a bit too lazy to re-compile the whole kernel and re-flash it. My field notes are as follows. NB This time the field notes reflect a better order of commands. Please, ignore the previous notes!
PS. The version of the driver included into the stock kernel sources is severely outdated. Raspberry Pi, when it was at kernel version 3.10, was using native Realtek driver v4.0.2_9000 with some patches. Apparently this driver cannot work without Wireless Extensions.
PPS. I wonder if NVIDIA Jetson TK1 developers are reading this forum ;o).
Field notes:
mount
<snip>
/dev/mmcblk1p1 on /home/ubuntu/Downloads type ext4 (rw)
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get autoconf automake libncurses-dev linux-firmware
sudo apt-get upgrade -y
cd ~/Downloads/19.3/
wget https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/kernel_src.tbz2
tar xvf kernel_src.tbz2
cd kernel
export ARCH=arm
make -j4 tegra12_defconfig
make menuconfig
General setup / Local version - append to kernel release
-gf455cd4
Device Drivers / Network device support / Wireless LAN
<M> Realtek wireless card support
<M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
zcat /proc/config.gz | diff - .config
35c35
< CONFIG_LOCALVERSION=""
---
> CONFIG_LOCALVERSION="-gf455cd4"
1758c1758,1766
< # CONFIG_RTLWIFI is not set
---
> CONFIG_RTLWIFI=m
> CONFIG_RTLWIFI_DEBUG=y
> # CONFIG_RTL8192CE is not set
> # CONFIG_RTL8192SE is not set
> # CONFIG_RTL8192DE is not set
> # CONFIG_RTL8723AE is not set
> # CONFIG_RTL8188EE is not set
> CONFIG_RTL8192CU=m
> CONFIG_RTL8192C_COMMON=m
make -j4 prepare
make -j4 modules_prepare
make -j4 zImage
make -j4 dtbs
make -j4 modules SUBDIRS=net/wireless
make -j4 modules SUBDIRS=net/mac80211
make -j4 modules SUBDIRS=drivers/net/wireless
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c
sudo mkdir -p /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu
sudo cp drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192c/
sudo cp drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/rtl8192cu/
sudo cp drivers/net/wireless/rtlwifi/rtlwifi.ko /lib/modules/$(uname -r)/kernel/net/wireless/rtlwifi/
sudo cp /lib/modules/$(uname -r)/kernel/net/mac80211/mac80211.ko /lib/modules/$(uname -r)/kernel/net/mac80211/mac80211.ko.bak
sudo cp /lib/modules/$(uname -r)/kernel/net/wireless/cfg80211.ko /lib/modules/$(uname -r)/kernel/net/wireless/cfg80211.ko.bak
sudo cp kernel/net/mac80211/mac80211.ko /lib/modules/$(uname -r)/kernel/net/mac80211/mac80211.ko
sudo cp kernel/net/wireless/cfg80211.ko /lib/modules/$(uname -r)/kernel/net/wireless/cfg80211.ko
sudo depmod -a
cd ..
tar cvjf rtl8192cu.ko.tbz2 `find kernel -name \*.ko -exec echo -n "{} " \;`
https://onedrive.live.com/redir?resid=977DDFC5316D45E5!2273&authkey=!AKW7mpXmqo2IifM&ithint=file%2ctbz2
modinfo rtl8192cu
filename: /lib/modules/3.10.24-gf455cd4/kernel/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
firmware: rtlwifi/rtl8192cufw.bin
description: Realtek 8192C/8188C 802.11n USB wireless
license: GPL
author: Larry Finger <Larry.Finger@lwfinger.net>
author: Ziv Huang <ziv_huang@realtek.com>
author: Georgia <georgia@realtek.com>
alias: usb:v7392p7822d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2357p0100d*dc*dsc*dp*ic*isc*ip*in*
<snip>
alias: usb:v0BDAp8191d*dc*dsc*dp*ic*isc*ip*in*
depends: rtlwifi,rtl8192c-common
vermagic: 3.10.24-gf455cd4 SMP preempt mod_unload ARMv7 p2v8
parm: swenc:Set to 1 for software crypto (default 0)
(bool)
parm: debug:Set debug level (0-5) (default 0) (int)
sudo modprobe
lsmod
Module Size Used by
rtl8192cu 90651 0
rtlwifi 105007 1 rtl8192cu
mac80211 377460 2 rtlwifi,rtl8192cu
cfg80211 335285 2 mac80211,rtlwifi
rtl8192c_common 53083 1 rtl8192cu
nvhost_vi 2940 0
As here you have showed the good connection of Edimax usb nano with wifi. For this purpose Edimax drivers help out so well. Here is the best source to download it. Therefore, after coming this post this will be really good one.