0

I have an AE3000 Linksys wireless usb device, which works fine with the rt2800usb driver at 802.11n level. However, the device is an 802.11ac wifi adapter which is capable of 5ghz.

I downloaded the code for the rt3573sta driver, modified it to get rid of 'make' errors, modprobe'ed it and ran update-initramfs . So now, the command lsmod |grep rt shows:

rt3573sta             712704  0
rt2800usb              28672  0
rt2x00usb              20480  1 rt2800usb
rt2800lib              94208  1 rt2800usb
rt2x00lib              53248  3 rt2800lib,rt2800usb,rt2x00usb
mac80211              782336  3 rt2800lib,rt2x00lib,rt2x00usb
cfg80211              602112  2 rt2x00lib,mac80211
parport_pc             32768  1
parport                49152  3 lp,parport_pc,ppdev

As you can see, rt3573sta is loaded, but is not being used (usage count 0). I tried blacklisting the rt2800usb, but that resulted in no wifi at all, since the rt3573sta driver still would not associate.

Can someone give me an idea how to get the new driver to grab the AE3000? Many thanks.

Additional data as requested by chili555: Output of lsusb -t, showing the driver as rt2800usb:

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/10p, 12M |__ Port 4: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 4: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/10p, 480M |__ Port 1: Dev 2, If 3, Class=Vendor Specific Class, Driver=, 480M |__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=au0828, 480M |__ Port 5: Dev 4, If 0, Class=Vendor Specific Class, Driver=rt2800usb, 480M

Also, here's the output of a simple 'lsusb':

Bus 001 Device 004: ID 13b1:003b Linksys AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] Bus 001 Device 002: ID 2040:7240 Hauppauge WinTV HVR-850 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub The chipset reads RAlkink RT3573. I'd been searching for a way to enable 802.11ac, and came across this:

http://geekniggle.blogspot.ca/2012/07/cisco-linksys-ae3000-wifi-usb-dongle.html

which worked for that fellow. I followed the link in his solution section and downloaded the source from there; the source apparently originates from Cisco's open source driver code. Compile threw errors:

/home/xxx/Downloads/Linux/DPO_RT3573_LinuxSTA_V2.5.0.0/os/linux/../../os/linux/rt_linux.c:1136:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t {aka const struct <anonymous>}’ /home/xxx/Downloads/Linux/DPO_RT3573_LinuxSTA_V2.5.0.0/os/linux/../../os/linux/rt_linux.c:1137:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t {aka const struct <anonymous>}’ /home/xxx/Downloads/Linux/DPO_RT3573_LinuxSTA_V2.5.0.0/os/linux/../../sta/sta_cfg.c:4905:85: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time] /home/xxx/Downloads/Linux/DPO_RT3573_LinuxSTA_V2.5.0.0/os/linux/../../sta/sta_cfg.c:4905:95: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time] cc1: some warnings being treated as errors

which I fixed by commenting out the offending lines. They don't seem critical to the operation of the code. (I know.. tsk, tsk) After that, the 'make' ran without error. As for lsmod output, it's my understanding that the 0 indicates that nothing is using the module:

https://en.wikipedia.org/wiki/Lsmod

  • Please edit your question to add the result of: lsusb as well as to add a link to the rt3573sta driver that you compiled. By the way, the associated 0 in lsmod doesn't mean that the driver is not in use. – chili555 Sep 3 '17 at 21:05
  • Why do you believe that rt3573sta is compatible with your wireless chipset at all? If the driver doesn't advertise support for it to the kernel then it likely doesn't support it. – David Foerster Sep 3 '17 at 21:21
  • @chili555 re: "associated 0 in lsmod doesn't mean that the driver is not in use". Are you sure about that? ref: en.wikipedia.org/wiki/Lsmod – heynnema Sep 3 '17 at 21:45
  • @heynnema 'used by' just indicates that it is required by the other listed modules. If there is nothing listed it means that nothing is dependant on it but that isn't the same as that it isn't doing anything. On the other hand, as we see, rt2800usb loads because of the usb.id or alias; rt2800usb also depends on rt2x00usb which then loads and so on and on. – chili555 Sep 3 '17 at 22:03
  • @chili555 not to belabor the discussion... I would think that the module is showing up in lsmod because after building the module (with lines of code commented out) that a modprobe was done to load the module. A modprobe -r would probably cleanly unload it because it's probably not being used. Keep up the good work! Cheers. – heynnema Sep 3 '17 at 22:33

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.