Unable to get Linksys WUSB6100M wireless adapter to work

12,526

Solution 1

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.

Solution 2

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 the qca-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 named firmware-X.bin, where X is the API version (--set-fw-api argument).

The file must be renamed to either firmware-usb-X.bin or firmware-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 and fcc 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

Solution 3

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.

Share:
12,526

Related videos on Youtube

Stefan Andersson
Author by

Stefan Andersson

Just another nerd i guess =)

Updated on September 18, 2022

Comments

  • Stefan Andersson
    Stefan Andersson over 1 year

    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
    

  • Pilot6
    Pilot6 almost 8 years
    It is possible to add this ID to ath10k, but it needs some work and detection of the correct firmware.
  • chili555
    chili555 almost 8 years
    I wonder if ath10k_pci will properly, or at all, drive a USB device.
  • Pilot6
    Pilot6 almost 8 years
    That's not a big deal to get any driver to pick a USB device, if the chip is supported. The question is WHO will do it ;-)
  • chili555
    chili555 almost 8 years
    I nominate you, @Pilot6!
  • Pilot6
    Pilot6 almost 8 years
    I am too lazy, that's the problem.
  • Stefan Andersson
    Stefan Andersson almost 8 years
    It indeed was helpful to me. But didn't solve my problem ;) I have accepted your answer.
  • Stefan Andersson
    Stefan Andersson about 7 years
  • eco
    eco about 3 years
    This should've worked but it didn't on Groovy (20.10).