WLAN USB works with 11.3, but not 11.4

While it worked out of the box in 11.3, openSUSE 11.4 does not recognize my TP-Link TL-WN821N any more.

Googling a bit, apparently the old ar9170 driver is deprecated and supposedly a new driver carl9170 is integrated in the kernel now, but since it is not working this cannot be quite right.

Unfortunately, I do not understand much of the instructions given at the above two URLs:
Should I try to install the old ar9170 driver? If so, I found older, pre-11.4 posts here that seem to indicate that is not so simple as just copying a firmware file somewhere, so how can I install it in openSUSE 11.4?
Or should I rather try getting the new carl9170 to work? If so, how can I do this if it is already supposed to be part of the kernel?

I am confused. Thanks for any clarification! The 11.3 Net-Install (from CD) recognised that USB-WLAN-Stick all by itself, installing 11.3 just fine through the air. With 11.4 it didn’t work. So I borrowed a WLAN bridge for a couple of days and installed 11.4 now (32bit plain install plus Packman), but even after the install, plugging in that Stick does not do anything.

On 04/18/2011 04:06 AM, STurtle wrote:

Driver carl9170 is a work in progress. To get the latest version, you need to
add the repo at


http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.4/

and install the compat-wireless-kmp-XXXX, where XXXX matches your kernel
(default or desktop).

The old driver may have worked for you with 11.3, but its code was a mess. In
addition, it did not use the MAC layer that is common to most wireless drivers
and soon would have no longer been functional as there was no one to maintain
it. Although there are transitional growing pains, you will be much better off
in the long run.

If it happens that your device still does not work after installing
compat-wireless, please post the output of ‘lsusb’ for your device.

Thanks @lwfinger! :slight_smile: Before I saw your post, I had fooled around and installed the package “kernel-firmware”. WLAN works now again, but only for 1-2 minutes.

So I will try your advice (uninstall kernel-firmware before) and report back here then.

> lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0cf3:1002 Atheros Communications, Inc. TP-Link TL-WN821N v2 [Atheros AR9001U-(2)NG]
Bus 001 Device 004: ID 0ac8:3450 Z-Star Microelectronics Corp. 
Bus 002 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Bus 003 Device 002: ID 03f0:3a11 Hewlett-Packard OfficeJet 5500 series

Does not work either. :frowning:

Just adding the repository you suggested triggered the download of three packages, including the compat-wirless package for my kernel and carl9170. I rebooted, but the networkmanager did find any WLAN device at all. :frowning:

So I installed the kernel-firmware package in addition again. Upon reboot, KDE´s networkmanager plasmoid now recognizes a WLAN device, but the connection breaks down very often - about every 30s - too often to be of much use (I am actually posting this from another machine elsewhere).

Any ideas? Can I help somehow by testing something?

On 04/18/2011 02:36 PM, STurtle wrote:
>
> Does not work either. :frowning:
>
> Just adding the repository you suggested triggered the download of
> three packages, including the compat-wirless package for my kernel and
> carl9170. I rebooted, but the networkmanager did find any WLAN device at
> all. :frowning:
>
> So I installed the kernel-firmware package in addition again. Upon
> reboot, KDE´s networkmanager plasmoid now recognizes a WLAN device, but
> the connection breaks down very often - about every 30s - too often to
> be of much use (I am actually posting this from another machine
> elsewhere).
>
> Any ideas? Can I help somehow by testing something?

As you found, you need both the kernel-firmware and the compat-wireless package.

Check the output of dmesg to see why the connection is failing. Post that info
and as much else as you can to the linux-wireless@vger.kernel.org. That way, the
driver author will see it.

Ok, thanks! I just wrote that email with the dmesg output, after the WLAN connection breaking down, being reconnected by networkmanager, and breaking down quickly again. I wonder whether I will get any response.

I got a reply that dmesg shows that I am using the old driver ar9170!? Something wrong with the repositories? Did I install the wrong things?

Searching in YAST->Software for the String “9170” in every available option shows the following packages:

Installed:
carl9170-firmware 1.9.0-1.1
compat-wireless-kmp-default 2.6.38.2-k2.6.37.1_1.2-1.1
compat-wireless-scripts 2.6.38.2-1.1
kernel-default 2.6.37.6-0.5.1
kernel-firmware 2.6.38-1.2.1

Not Installed:
ar9170-firmware (1.1-5.1)
ar9170-open-firmware (1.1-2.1)

On 05/01/2011 02:36 AM, STurtle wrote:
>
> I got a reply that dmesg shows that I am using the old driver ar9170!?
> Something wrong with the repositories? Did I install the wrong things?
>
> Searching in YAST->Software for the String “9170” in every available
> option shows the following packages:

What does ‘lsmod | grep 9170’ show?

The person that told you that you have the wrong driver wrote carl9170. He knows
what he is saying.

# lsmod | grep 9170
ar9170usb              52845  0 
mac80211              264354  1 ar9170usb
ath                    14619  1 ar9170usb
cfg80211              154761  3 ar9170usb,mac80211,ath
usbcore               181694  7 usblp,ar9170usb,uvcvideo,usbhid,uhci_hcd,ehci_hcd

I honestly don’t understand what you mean with this sentence, could you please explain again?:

The person that told you that you have the wrong driver wrote carl9170. He knows
what he is saying.

To make sure that there is no misunderstanding, here is the actual reply that I received upon sending my dmesg output to the above email address:

9.916283] usbcore: registered new interface driver ar9170usb

10.177059] usb 1-2: ar9170.fw firmware file not found, trying old firmware…
11.130602] ath: EEPROM regdomain: 0x809c
11.130623] ath: Country alpha2 being used: CN
11.258624] ieee80211 phy0: Selected rate control algorithm ‘minstrel_ht’
11.264370] Registered led device: ar9170-phy0::tx
11.264429] Registered led device: ar9170-phy0::assoc
11.264437] usb 1-2: Atheros AR9170 is registered as ‘phy0’

looks like ar9170usb to me… can you please attach a dmesg with carl9170?

So I read this that I use ar9170, but that I should be using carl9170.

However, I am at a loss on how to follow that request. Like I wrote in my previous post, I do not have the ar9170 package installed, but I already have the carl9170 package install. So why is the ar9170 active instead of the carl9170? My blind noob-guess would be that ar9170 is maybe still included in that kernel-firmware package, and somehow takes precedence over that carl9170 package?

Thanks for any help!

Am 03.05.2011 14:06, schrieb STurtle:
>
> lwfinger;2333380 Wrote:
>> What does ‘lsmod | grep 9170’ show?
>
> Code:
> --------------------
> # lsmod | grep 9170
> ar9170usb 52845 0
> mac80211 264354 1 ar9170usb
> ath 14619 1 ar9170usb
> cfg80211 154761 3 ar9170usb,mac80211,ath
> usbcore 181694 7 usblp,ar9170usb,uvcvideo,usbhid,uhci_hcd,ehci_hcd
> --------------------
>
>
>
> I honestly don’t understand what you mean with this sentence, could you
> please explain again?:
>>
>> The person that told you that you have the wrong driver wrote carl9170.
>> He knows
>> what he is saying.

Probably just something like:
“carl9170 is the right driver”.
And the link you have given yourself probably meant to be
carl9170 - Linux Wireless

>
> To make sure that there is no misunderstanding, here is the actual
> reply that I received upon sending my dmesg output to the above email
> address:
>> 9.916283] usbcore: registered new interface driver ar9170usb
>> 10.177059] usb 1-2: ar9170.fw firmware file not found, trying old
>> firmware…
>> 11.130602] ath: EEPROM regdomain: 0x809c
>> 11.130623] ath: Country alpha2 being used: CN
>> 11.258624] ieee80211 phy0: Selected rate control algorithm
>> ‘minstrel_ht’
>> 11.264370] Registered led device: ar9170-phy0::tx
>> 11.264429] Registered led device: ar9170-phy0::assoc
>> 11.264437] usb 1-2: Atheros AR9170 is registered as ‘phy0’
>>
>> looks like ar9170usb to me… can you please attach a dmesg with
>> carl9170?
>> So I read this that I use ar9170, but that I should be using carl9170.
>
> However, I am at a loss on how to follow that request. Like I wrote in
> my previous post, I do not have the ar9170 packet installed, but I
> already have the carl9170 packet install. So why is the ar9170 active
> instead of the carl9180? Is the ar9170 maybe still included in that
> kernel-firmware packet, and somehow precedes the carl9170 packet?
>
> Thanks for any help!
>
:wink: Be cautious with what you wish or write - now you get me answering …/:wink:
I have nether an Atheros card/usb device by hand nor much experience.
>
I would guess that the following (A; maybe B and C) may help:

A)
You might need
the according[A] firmware named
carl9170.fw .
And this firmware is probably contained in the openSUSE software package
I found with
Search on software.opensuse.org in 11.4 packages: carl9170
->
carl9170-firmware
detailed now
carl9170-firmware-1.9.0-1.1.noarch.rpm last modified 25-Mar-2011 10:56
in

[quote=“description of carl9170-firmware”]

This package contains binary firmware image for Atheros draft-N USB WLAN adaptors in combination with the new mac80211-based driver carl9170.ko.
The firmware is open source and licensed under GPLv2, if you want to build your own images see

http://www.linuxwireless.org/en/users/Drivers/carl9170](http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.4/

I think you should try adding the URL of the according repository in YaST>Software-Repositories and install the firmware via YaST>Software-Manager .

If A) alone does not help you may try:

B)

  1. unloading ar9170usb
    and

  2. loading carl9170

  3. and 2) via

a) opening a terminal/command line emulator like GNOME terminal or console

b) becoming root with entering

su -

and your (root) password

c) unloading the old driver with

modprobe -rv ar9170usb

d) loading the new driver with

modprobe -v carl9170

Compare for A) the according manual page = manpage= the output of:

man modprobe

=? modprobe(8): add/remove modules from Kernel - Linux man page

But I am really only guessing.

C) Blacklisting ar9170usb

IF A) helps not but B) helps - please post your success/not-success -
I (or someone with more experience) will try to lead you through C)…

I wish you good luck and a good backup [de: Datensicherung] (or a wiser advice[r])!

puzzled pistazienfresser
(Martin)

[A] see
carl9170.fw - Linux Wireless

On 05/03/2011 07:06 AM, STurtle wrote:
>
> lwfinger;2333380 Wrote:
>> What does ‘lsmod | grep 9170’ show?
>
> Code:
> --------------------
> # lsmod | grep 9170
> ar9170usb 52845 0
> mac80211 264354 1 ar9170usb
> ath 14619 1 ar9170usb
> cfg80211 154761 3 ar9170usb,mac80211,ath
> usbcore 181694 7 usblp,ar9170usb,uvcvideo,usbhid,uhci_hcd,ehci_hcd
> --------------------
>
>
>
> I honestly don’t understand what you mean with this sentence, could you
> please explain again?:
>>
>> The person that told you that you have the wrong driver wrote carl9170.
>> He knows
>> what he is saying.
>
> To make sure that there is no misunderstanding, here is the actual
> reply that I received upon sending my dmesg output to the above email
> address:
>> 9.916283] usbcore: registered new interface driver ar9170usb
>> 10.177059] usb 1-2: ar9170.fw firmware file not found, trying old
>> firmware…
>> 11.130602] ath: EEPROM regdomain: 0x809c
>> 11.130623] ath: Country alpha2 being used: CN
>> 11.258624] ieee80211 phy0: Selected rate control algorithm
>> ‘minstrel_ht’
>> 11.264370] Registered led device: ar9170-phy0::tx
>> 11.264429] Registered led device: ar9170-phy0::assoc
>> 11.264437] usb 1-2: Atheros AR9170 is registered as ‘phy0’
>>
>> looks like ar9170usb to me… can you please attach a dmesg with
>> carl9170?
>> So I read this that I use ar9170, but that I should be using carl9170.
>
> However, I am at a loss on how to follow that request. Like I wrote in
> my previous post, I do not have the ar9170 packet installed, but I
> already have the carl9170 packet install. So why is the ar9170 active
> instead of the carl9180? Is the ar9170 maybe still included in that
> kernel-firmware packet, and somehow precedes the carl9170 packet?

You say that you do not have ar9170 installed; however, the lsmod output clearly
shows that ar9170usb is loaded, therefore, one must conclude that ar9170usb is
installed.

First of all, blacklist ar9170usb to get rid of it. To do that, add the line


blacklist ar9170usb

to file /etc/modprobe.d/50-blacklist.conf. You will need to be root to do that.
That will take care of future reboots. Now to get the proper driver loaded,


sudo /sbin/modprobe -r ar9170usb
sudo /sbin/modprobe carl9170

If neither of the above commands produce any output, that means they worked. At
this ppoint, carl9170 will be loaded.

The blacklisting works and the modprobe commands did not produce any output. For the first brief tests WLAN appeared to be stable (I only have physical access to that particular machine at the weekends). Thanks!

However, the USB stick is not recognised after booting, only after issuing

 sudo /sbin/modprobe carl9170 

Goggling gives outdated results, but my best guesses are to add the line “carl9170” to /etc/modprobe.d/99-local.conf or using Yast->System->Editor Sysconfig->MODULES_LOADED_ON_BOOT. Which one is the way to go?

Furthermore, is it to be expected that the modules does not load automatically at this stage or is it worthwhile to continue to examine the issue, e.g. sending another mail with log info to that mailing list, in order to help?

**Hooray! Success! **rotfl!

Albeit I have to admit that I am an idiot. :shame:
I tried the Yast->Sysconfig->module_to_load_on_boot way first. While the USB stick worked, the keyboard was all messed up (no arrwos, no del, no F-keys, etc.). After I undid this, I discovered the following file:
/etc/modprobe.d/50-prefer_ar9170usb_over_carl9170.conf
This file blacklisted carl9170, which kinda explains why that driver was not loaded on boot - I had blacklisted both! Removing the blacklisting for carl9170 now fixed all problems. The network connection over the USB WLAN Stick now appears to be stable.

Thanks for all the help! :slight_smile: