Unable to get Linksys WUSB6100M wireless adapter to work
I'm using Ubuntu 16.04 server and trying to make my Linksys WUSB6100M wireless adapter to work.
I can't really find anything on the internet either on what drivers to use to get this adapter to work.
Anyone got any pointers ?
Output from lsusb
:
Bus 001 Device 003: ID 13b1:0042 Linksys
[43772.417720] usb 1-1.1: new high-speed USB device number 3 using ehci-pci
[43772.511671] usb 1-1.1: New USB device found, idVendor=13b1, idProduct=0042
[43772.511676] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[43772.511679] usb 1-1.1: Product: USBWLAN
[43772.511681] usb 1-1.1: Manufacturer: Qualcomm Atheros
[43772.511683] usb 1-1.1: SerialNumber: 12345678
*-usb UNCLAIMED
description: Generic USB device
product: USBWLAN
vendor: Qualcomm Atheros
physical id: 1
bus info: usb@1:1.1
version: 92.10
serial: 12345678
capabilities: usb-2.01
configuration: maxpower=500mA speed=480Mbit/s
Yours is a very new device. A Google search for the usb.id of 13b1:0042 only finds one page of interest; this one.
I then downloaded the Windows 7 driver from Linksys. Here is a snip from the .inf driver file:
[Linksys.NTX86.6.1]
; DisplayName Section DeviceID
; ----------- ------- --------
%Linksys.DeviceDesc% = Linksys_robin_fcc.ndi, USB\VID_13B1&PID_0042&REV_9010 ; Linksys WUSB6100M Robin US
%Linksys.DeviceDesc% = Linksys_robin_ic.ndi, USB\VID_13B1&PID_0042&REV_9110 ; Linksys WUSB6100M Robin CA
%Linksys.DeviceDesc% = Linksys_robin_ce.ndi, USB\VID_13B1&PID_0042&REV_9210 ; Linksys WUSB6100M Robin EU
%Linksys.DeviceDesc% = Linksys_robin_as.ndi, USB\VID_13B1&PID_0042&REV_9310 ; Linksys WUSB6100M Robin AS
As you can see, the usb.id matches.
I also looked at the other files in the driver package. There are several references to qca9377_7_1p1. A Google search for this device finds nothing. A Google search for QCA9377 finds many references to the corresponding PCI device and the ath10k_pci driver.
In short, there is currently no native Linux driver for your device.
There is a mechanism to use Windows drivers called ndiswrapper. It depends on Windows XP drivers files; typically the .inf and .sys files. Here is a snip from the ndiswrapper manual page:
ndiswrapper is two parts: user space tool that is used to install Windows XP drivers and kernel module to load the Windows XP drivers. Both are called ndiswrapper.
Unfortunately, Linksys does not provide XP files; only Windows 7-10.
I am sorry to report that there is no way I know of to get your device working. If there is an option to return it for a supported device, I suggest you do so.
I have the same dongle and tried to use ndiswrapper. I downloaded the Win10 and Win7 driver from here: http://www.linksys.com/us/support-article?articleNum=198580
When I run the commands:
ndiswrapper -i netuac.inf (For Windows10: ndiwsrapper -i netuac8.inf)
modprobe -r ndiswrapper
In the logs I see the following:
Feb 6 22:26:59 netbeez-UP-CHT01 kernel: [ 6896.922402] ndiswrapper version 1.61 loaded (smp=yes, preempt=no)
Feb 6 22:26:59 netbeez-UP-CHT01 kernel: [ 6897.043614] usb 1-3: reset high-speed USB device number 6 using xhci_hcd
Feb 6 22:26:59 netbeez-UP-CHT01 loadndisdriver: loadndisdriver: load_driver(336): too many .bin files for driver netuacx
Feb 6 22:26:59 netbeez-UP-CHT01 adndisdriver: loadndisdriver: load_driver(364): couldn't load driver netuacx
Feb 6 22:26:59 netbeez-UP-CHT01 loadndisdriver: loadndisdriver: load_driver(364): couldn't load driver netuacx
Feb 6 22:26:59 netbeez-UP-CHT01 kernel: [ 6897.177935] ndiswrapper (load_wrap_driver:103): couldn't load driver netuacx; check system log for messages from 'loadndisdriver'
Feb 6 22:26:59 netbeez-UP-CHT01 kernel: [ 6897.178032] usbcore: registered new interface driver ndiswrapper
So, it looks like the driver gets installed properly, but it cannot be loaded.
There's a project on GitHub to generate ATH10K firmware files. It might be worth a try in this scenario
Generate ath10k firmware files
ath10k has its own firmware format. Standard qca firmware files (qwlan30.bin, athwlan.bin etc.) must be converted into the ath10k format using the tool
ath10k-fwencoder
ath10k-fwencoder
is a part of theqca-swiss-army-knife
package:https://github.com/qca/qca-swiss-army-knife.git
Usage instructions:
git clone https://github.com/qca/qca-swiss-army-knife.git cd qca-swiss-army-knife ./tools/scripts/ath10k/ath10k-fwencoder \ --create \ --otp /path/to/otp30.bin \ --firmware /path/to/qwlan30.bin \ --set-wmi-op-version=tlv \ --set-htt-op-version=tlv \ --set-fw-api=5 \ --features=ignore-otp-result \
SDIO fw (usually named
qwlan30.bin
) must be obtained from the module vendor.USB firmware (usually named athwlan.bin) for Linksys WUSB6100M can be downloaded from:
http://downloads.linksys.com/downloads/driver/Win10.zip
ath10k-fwencoder
will produce a firmware file namedfirmware-X.bin
, where X is the API version (--set-fw-api
argument).The file must be renamed to either
firmware-usb-X.bin
orfirmware-sdio-X.bin
depending on which chipset the file was generated for.Currently, ath10k supports QCA9377 based usb and sdio chipsets. Thus, the generated firmware files should be placed in the
QCA9377/hw1.0
subdirectory of the ath10k firmware directory.Board files
Board files contain calibration stuff etc. They are radio device dependent and not just chip dependent (other circuitry on the board like LNA's and PA's etc. affect the performance as well). This is the reason the board data is not included in the firmware file. The board data files are always 8124 bytes and should be obtained from the device manufacturer.
In the case with WUSB6100M, Linksys distributes a bunch of different files for different regions:
-rw-rw-r-- 1 erik erik 8124 dec 26 18:26 eeprom_qca9377_7_1p1_Robin_clpc_as.bin -rw-rw-r-- 1 erik erik 8124 dec 26 18:26 eeprom_qca9377_7_1p1_Robin_clpc_ce.bin -rw-rw-r-- 1 erik erik 8124 dec 26 18:26 eeprom_qca9377_7_1p1_Robin_clpc_fcc.bin -rw-rw-r-- 1 erik erik 8124 dec 26 18:26 eeprom_qca9377_7_1p1_Robin_clpc_ic.bin
I guess that
ce
is intended for Europe andfcc
for America, but any of the files will do.The recommended approach is to create a symlink pointing to the board file of interest:
ln -s eeprom_qca9377_7_1p1_Robin_clpc_ce.bin board-usb.bin