Wireless usb network adapter for 2GB Nano

In the Jetson 2GB Developer Kit User Guide, under Supported Component List - Wireless Networking USB Adapters, it lists the Linksys WUSB6300 as a device qualified to work with the Jetson Nano 2GB dev kit. However, to use it you have to install drivers from
linksys on the Nano, but this device only has drivers for Windows and MacOS. How do I get it to work on Linux Ubuntu (ie, on the Nano) now that I bought one?

I don’t have one of these so I can’t really answer, but WiFi adapters often come with software in two parts: (A) firmware (sometimes not used), and (B), the driver. The firmware tends to be good on all architectures since it just uploads into the adapter. If this was listed as qualified in a Jetson, then there is probably a driver in the Linux kernel for that model and would thus not need the one the vendor publishes (assuming it is a driver and not firmware). If an adapter uses a common chipset, then you’d be able to use that chipset driver.

I found a likely useful URL on the topic, but before I mention that I want to provide an example of viewing if a given driver or kernel feature is set up on your current kernel (if the driver is there, then perhaps what you need id just firmware, but that is speculating if any specific WiFi device needs separate firmware). Let’s say you are using the Realtek chipset “rtl8812” in some form. The Realtek drivers are usually abbreviated with “RTL” (which I know since I’ve seen that so many times), and so you could perform this search for all Realtek:
zcat /proc/config.gz | grep 'RTL'

In my case on a TX2 this shows as:

# CONFIG_USB_RTL8152_SHIELD is not set
# CONFIG_RTL8180 is not set

I also see this search (I don’t know what driver is required, I’m just speculating):

# zcat /proc/config.gz | egrep -i '(RTL8129)'
root@x2:~# zcat /proc/config.gz | egrep -i '(8129)'
# CONFIG_8139TOO_8129 is not set

If one of those happens to be correct for your device, but shows as “# Is not set”, then you’d simply use the driver in the existing kernel source in the format of a module (you’d compile the module and then copy it to the correct location). If it isn’t there, then it might require source code from some third party location (and then you’d compile out-of-tree, but still compile it).

I don’t know what driver your WiFi needs. One of the above is likely correct, or else one from a git source in one of these URLs (but the methods shown in these URLs require modification for install steps):

Those URLs imply the adapter uses a Realtek chipset. Steps to compile against the kernel source differ in a Jetson, and so do the install steps. To help verify what is already present, monitor “dmesg --follow”, and then note what new log lines show as you insert the adapter. Then post that content here. Also post the output from “lsusb” once the adapter is plugged in.

Hi, I am also trying to get the wusb6300 working on my Jetson Nano. I’ve followed the steps outlined in those RTLs and I believe I do have the driver compiled, but not yet installed as part of the Kernel. I’m hoping to do this without having to connect my Nano to the internet at all, so I haven’t used dkms as it doesn’t come pre-installed on the Nano. You note here that there are different steps to compile against the kernel source, but since I’m totally new to both Unix dev and the Jetson, I’m not sure what those different steps are. Could you point me to a file/page that would outline those differences?

I’ve also done as you’ve said and unplugged and replugged the adapter while dmesg --follow is running and I get the following new lines: https://imgur.com/f3ELfzi

The driver in question is CONFIG_RTL8812AU which shows up in my /proc/config.gz as


Which I understand means it needs to be loaded as a module. Any clue how I can do that without dkms? Thanks

According to that log USB has done its job and is 100% functioning. The device was found, and its properties broadcast. However, no driver is taking ownership. Assuming the driver you mention is correct, and seeing in module format (the “CONFIG_RTL8812AU=m”), then if the driver is in the module directory it should work.

Was “CONFIG_RTL8812AU=m” present without you rebuilding the kernel? If so, then the module should be in one of the subdirectories of:
/lib/modules/$(uname -r)/kernel

If it is not there, and you’ve built it somewhere else, then you could copy it as an ordinary file to the correct subdirectory, e.g., with a USB flash drive or ethernet. If this is not part of the original kernel, can you provide details of what you’ve installed or modified? Also, what do you see for “uname -r”?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.