Wireless cards keep always cutting off

Hello.

I finally decided to post the issue here in the forums, though the issue actually seems now general Linux related, not openSUSE exclusive.

Also, actually the problem is not entirely mine, but my friend’s (the one I’ve always mentioned in the forums). It’s about his laptop, but since we have been helping each other for years, I’m trying to help as well. It’s also a long time issue, since openSUSE 12.1 release, and we learned to live with it for a while, but my friend just got tired of it and I also thought it was fair to find a solution once and for all.

The rig in question is an Acer Aspire 3680 (complete name Aspire 3680-2446). Back on 11.3 and 11.4 there were no problems, however since 12.1 wireless card started to cut off periodically, randomly, loosing internet connection. At first the laptop had a Broadcom BCM4312. The moment it cut off was very random: 1 hour after booting, 3 minutes, half an hour, 2 hours max. When cut off it never worked again until rebooting, and same story.

We then tried an Atheros card. It kept cutting off, but at least it came back after a very short while, so we lived bearing with it. But it turns impossible when you use internet full time: online TV, downloads, server connections at work, etc. We were already on openSUSE 12.3 and things remained the same, so we got tired.

So far these are the things we have tried:
–Different access points (obviously not the problem, but just in case)
–Different internal PCI wifi cards from different manufacturers (Broadcom, Atheros, Realtek, Intel…). Some came back, some didn’t, but all of them keeps cutting off.
–Different Linux distributions, such as Fedora and Linux Mint (the recent versions). However, there are no problems on Windows nor older openSUSE versions, such as 11.3 and 11.4. From this we got a theory: should be a kernel 3.x.x related problem, something that conflicts with the chipset’s way of handling PCI, or kind of…
–Compiling the kernel-firmware version 2.6 on openSUSE 12.3 (and I had a high hope on this one…)
–Tried with other rigs (Toshiba tecra intel celeron D 1gb ram 120 gb hd, and Compaq presario v3000). Same results.

I know little about PC or motherboard architecture, and I’m still not sure if it’s related or not. That’s why I’m asking for help. We haven’t been able to detect the problem itself so far, just that best guess of ours. So again, if you know something, or if you don’t, know about some expert or place who could be asked…

Thank you for your attention beforehand.

I include some information about the rig (the Aspire):

linux-04qh:/home/user # uname -a
Linux linux-04qh.site 3.7.10-1.4-desktop #1 SMP PREEMPT Fri Apr 19 12:06:34 UTC 2013 (8ef74f8) i686 i686 i386 GNU/Linux

linux-04qh:/home/user # /sbin/lspci -nnk |grep Network -A2
03:00.0  Network controller [0280]: Atheros Communications Inc. AR9285  Wireless  Network Adapter (PCI-Express) [168c:002b] (rev 01)
        Subsystem: Lite-On Communications Inc Device [11ad:6631]
        Kernel driver in use: ath9k

linux-04qh:/home/user # rfkill list
1: acer-wireless: Wireless LAN
        Soft blocked: no
        Hard blocked: no
2: acer-bluetooth: Bluetooth
        Soft blocked: yes
        Hard blocked: no
3: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
4: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

Thanks you beforehand.

On 06/01/2013 10:16 AM, F style wrote:
>
> Hello.
>
> I finally decided to post the issue here in the forums, though the
> issue actually seems now general Linux related, not openSUSE exclusive.
>
> Also, actually the problem is not entirely mine, but my friend’s (the
> one I’ve always mentioned in the forums). It’s about his laptop, but
> since we have been helping each other for years, I’m trying to help as
> well. It’s also a long time issue, since openSUSE 12.1 release, and we
> learned to live with it for a while, but my friend just got tired of it
> and I also thought it was fair to find a solution once and for all.
>
> The rig in question is an Acer Aspire 3680 (complete name Aspire
> 3680-2446). Back on 11.3 and 11.4 there were no problems, however
> since 12.1 wireless card started to cut off periodically, randomly,
> loosing internet connection. At first the laptop had a Broadcom
> BCM4312. The moment it cut off was very random: 1 hour after booting,
> 3 minutes, half an hour, 2 hours max. When cut off it never worked
> again until rebooting, and same story.
>
> We then tried an Atheros card. It kept cutting off, but at least it
> came back after a very short while, so we lived bearing with it. But it
> turns impossible when you use internet full time: online TV, downloads,
> server connections at work, etc. We were already on openSUSE 12.3 and
> things remained the same, so we got tired.
>
> So far these are the things we have tried:
> --Different access points (obviously not the problem, but just in case)
> --Different internal PCI wifi cards from different manufacturers
> (Broadcom, Atheros, Realtek, Intel…). Some came back, some didn’t,
> but all of them keeps cutting off.
> --Different Linux distributions, such as Fedora and Linux Mint (the
> recent versions). However, there are no problems on Windows nor older
> openSUSE versions, such as 11.3 and 11.4. From this we got a theory:
> should be a kernel 3.x.x related problem, something that conflicts with
> the chipset’s way of handling PCI, or kind of…
> --Compiling the kernel-firmware version 2.6 on openSUSE 12.3 (and I had
> a high hope on this one…)
> --Tried with other rigs (Toshiba tecra intel celeron D 1gb ram 120 gb
> hd, and Compaq presario v3000). Same results.
>
> I know little about PC or motherboard architecture, and I’m still not
> sure if it’s related or not. That’s why I’m asking for help. We haven’t
> been able to detect the problem itself so far, just that best guess of
> ours. So again, if you know something, or if you don’t, know about
> some expert or place who could be asked…
>
> Thank you for your attention beforehand.
>
> I include some information about the rig (the Aspire):
>
> Code:
> --------------------
> linux-04qh:/home/user # uname -a
> Linux linux-04qh.site 3.7.10-1.4-desktop #1 SMP PREEMPT Fri Apr 19 12:06:34 UTC 2013 (8ef74f8) i686 i686 i386 GNU/Linux
>
> linux-04qh:/home/user # /sbin/lspci -nnk |grep Network -A2
> 03:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
> Subsystem: Lite-On Communications Inc Device [11ad:6631]
> Kernel driver in use: ath9k
>
> linux-04qh:/home/user # rfkill list
> 1: acer-wireless: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 2: acer-bluetooth: Bluetooth
> Soft blocked: yes
> Hard blocked: no
> 3: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 4: hci0: Bluetooth
> Soft blocked: no
> Hard blocked: no
> --------------------

I agree that this is not an openSUSE problem.

Your theory about a significant regression in the PCI chipset handling is not
really credible. Certainly such a change would have been found long ago as it is
unlikely that your machine is the only one with this chipset. Based on the
evidence you presented here, I think you overlooked a simple solution. I am also
certain that if you look carefully at the kernels where the problem started, you
would find that it coincides with the implementation of rfkill and/or Bluetooth
in the kernel.

If we look at your ‘rfkill list’ above, the Acer Bluetooth module is soft
blocking. That alone would kill wifi. Once ANY device blocks the radios, ALL
devices are blocked.

Are you using Bluetooth? If not, then you need to blacklist all bluetooth
modules. If you are, then you need to figure out why acer-bluetooth is blocking.
From your symptoms, it would appear that it is intermittent. The module
acer-wmi probably handles the Fn-FX key(s) to toggle radio availability.

You can test my ideas by verifying that ‘rfkill list’ shows a bluetooth block
that corresponds with the wifi also blocked.

I had this same problem and had to Install the wl driver instead of the default one that openSUSE uses. I believe you can find it by searching for broadcom-wl at software.opensuse.org. If not, then just download the source from here: 802.11 Linux STA driver | Broadcom. I use dkms to make sure it is recompiled and added to every kernel I install. I followed the instructions from here: Using alternative Broadcom drivers with dkms - FedoraForum.org (use zypper instead of yum). You may have to find dkms. I use the one from the BumbleBee repository since I have an nvidia Optimus graphics card.

Eric

On 06/01/2013 12:06 PM, endavis wrote:
>
> I had this same problem and had to Install the wl driver instead of the
> default one that openSUSE uses. I believe you can find it by searching
> for broadcom-wl at software.opensuse.org. If not, then just download the
> source from here: ‘802.11 Linux STA driver | Broadcom’
> (http://www.broadcom.com/support/802.11/linux_sta.php). I use dkms to
> make sure it is recompiled and added to every kernel I install. I
> followed the instructions from here: ‘Using alternative Broadcom drivers
> with dkms - FedoraForum.org
> (http://forums.fedoraforum.org/showthread.php?t=259629) (use zypper
> instead of yum). You may have to find dkms. I use the one from the
> BumbleBee repository since I have an nvidia Optimus graphics card.

If you read the original posting carefully, you will see that the problem was
found for Broadcom and Atheros devices. In fact, he had the Atheros device
listed in his postings. Please explain to me how wl will help that non-Broadcom
device.

Note: BCM4312 is working in my computer using b43.

As mr Lwfinger said, wl driver didn’t help at all with the problem, but I just forgot to mention this in the first post.

Lwfinger, unfortunately I don’t know much about kernels since I’m not a bit of an expert, so I didn’t know bluetooth and rfkill were implemented in the kernel. And if they are, why did I have to install rfkill to get that output? Rfkill is not included by default in an openSUSE installation.

And yes, it is intermittent, with some wireless cards. With others it cuts off and never gets back until rebooting.

Oh, and regarding bluetooth, my friend normally leaves it always turned on, but “invisible”, that’s why rfkill takes it as soft blocked. When setting bluetooth as “visible” rfkill lists it as not soft blocked, therefore in this case rfkill reports nothing is soft or hard blocked.

But I don’t think this is related any longer, since we just tried physically removing bluetooth and the problem persists.

On 06/01/2013 02:56 PM, F style wrote:
>
> As mr Lwfinger said, wl driver didn’t help at all with the problem, but
> I just forgot to mention this in the first post.
>
> Lwfinger, unfortunately I don’t know much about kernels since I’m not a
> bit of an expert, so I didn’t know bluetooth and rfkill were implemented
> in the kernel. And if they are, why did I have to install rfkill to get
> that output? Rfkill is not included by default in an openSUSE
> installation.
>
> And yes, it is intermittent, with some wireless cards. With others it
> cuts off and never gets back until rebooting.

Like many things, both rfkill and bluetooth have both user- and kernel-space
components. You had to install the user-space part of rfkill, but every openSUSE
kernel has contained rfkill.ko since it became part of the kernel.

EDIT: ouch sorry, double post…

I’m the owner of a broadcom wireless device
Specifically it is:

04:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)	Subsystem: Broadcom Corporation Device [14e4:04b5]
	Kernel driver in use: b43-pci-bridge

Now I see you are no longer using it, but assume you must still be in possession of said device?

It’s always worked perfectly well. Pre-kernel 3 I had to use ‘wl’ but post kernel 3 I use b43

Physically removing the Acer device should be AFAIK a solution even better than blacklisting it

IMO, you should do either of those and then test your devices

As I said, we already tried removing the physical bluetooth, and the problem persists, if by Acer device you mean bluetooth…

Also, when setting bluetooth as “invisible” rfkill marks it as soft blocked, but when setting “visible” rfkill marks no devices soft or hard blocked.

Also, the Atheros wifi card we’re using is not the laptop’s original, yet rfkill marks it as an Acer device…

On 06/01/2013 11:56 PM, F style wrote:
>
> As I said, we already tried removing the physical bluetooth, and the
> problem persists, if by Acer device you mean bluetooth…
>
> Also, when setting bluetooth as “invisible” rfkill marks it as soft
> blocked, but when setting “visible” rfkill marks no devices soft or hard
> blocked.
>
> Also, the Atheros wifi card we’re using is not the laptop’s original,
> yet rfkill marks it as an Acer device…

No, it does not. That is part of acer-wmi. The real wireless (Atheros card) is
shown as


3: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

To help debug the problem, please unload the ath9k driver and reload with the
following:


sudo /sbin/modprobe -rv ath9k
sudo /sbin/modprobe -v ath9k debug=0xffffffff

That should generate a lot of debugging output in the dmesg output, and in
/var/log/messages. When the network drops, please post one of those logs in the
openSUSE pastebin.

wrt a slightly out of the box view - > Are all of these wireless devices connected via a USB interface ? If so, any chance this is USB interface related ? (either in hardware or software ? ) . I note a separate thread on the forum where openSUSE-12.3 users conducting large data transfers with USB (from one USB device to another via central CPU on the PC), where such transfers take a lot of time, have noted a slow down in the PC’s performance at the same time as the massive transfers. Could a problem with the USB device/driver impact the wireless?

… (and I’ll retreat back to my different box having suggested something from ‘left field’ ) … :shame:

On 06/02/2013 05:56 AM, oldcpu wrote:
>
> wrt a slightly out of the box view - > Are all of these wireless devices
> connected via a USB interface ? If so, any chance this is USB interface
> related ? (either in hardware or software ? ) . I note a separate
> thread on the forum where openSUSE-12.3 users conducting large data
> transfers with USB (from one USB device to another via central CPU on
> the PC), where such transfers take a lot of time, have noted a slow down
> in the PC’s performance at the same time as the massive transfers.
> Could a problem with the USB device/driver impact the wireless?
>
> … (and I’ll retreat back to my different box having suggested
> something from ‘left field’ ) … :shame:

The rfkill list is as follows:


linux-04qh:/home/user # rfkill list
1: acer-wireless: Wireless LAN
Soft blocked: no
Hard blocked: no
2: acer-bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
3: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

Number 1 is the Fn-FX key.

I think #2 is a different key that controls only BT.

Number 3 is the real wireless device and is PCIe.

Number 4 is probably USB as are most BT devices.

Yes, USB is a lot more CPU intensive than one finds for PCI. That is the nature
of the interface and there isn’t much one can do about that. For example, on PCI
one can set some bits in a device register with a simple read-modify-write
instruction. On USB, that takes two separate transactions, and the device has
to be locked for the whole process so that some other thread doesn’t change that
register in the meantime.

Don’t retreat in shame. Those of us with experienced organic CPUs do still have
something to contribute.

FINALLY SOLVED.

From a very remote theory we barely had, and all the advise given in the whole thread, we finally tried blacklisting the acer-wmi module, and SOLVED!

According to my friend, on a very old openSUSE version (9.x) one was able to change the wifi energy settings -and my friend used to do so-, feature seemingly gone since version 10. However since there were no problems on versions 10.x and 11.x, it passed by unnoticed.

Thanks very much to everyone for all the given advise. We really needed an idea of where to look for the problem. Now only tests on the Toshiba rig are left, luckily it may be the same fix…

Finally, I wanted to ask, what changes in kernel 3.x.x could have caused this module to give such problems? As I said, it didn’t happen on openSUSE 11.x versions, which used kernel 2.6.x…

On 06/06/2013 06:26 PM, F style wrote:
>
> FINALLY SOLVED.
>
> From a very remote theory we barely had, and all the advise given in
> the whole thread, we finally tried blacklisting the acer-wmi module, and
> SOLVED!
>
> According to my friend, on a very old openSUSE version (9.x) one was
> able to change the wifi energy settings -and my friend used to do so-,
> feature seemingly gone since version 10. However since there were no
> problems on versions 10.x and 11.x, it passed by unnoticed.
>
> Thanks very much to everyone for all the given advise. We really needed
> an idea of where to look for the problem. Now only tests on the Toshiba
> rig are left, luckily it may be the same fix…
>
> Finally, I wanted to ask, what changes in kernel 3.x.x could have
> caused this module to give such problems? As I said, it didn’t happen on
> openSUSE 11.x versions, which used kernel 2.6.x…

Module acer-wmi probably did not exist at that time, or it has been greatly
modified. In addition, rfkill has not been in the kernel for that long. As it is
likely that only a very few laptops are affected, there have been no bug reports
filed against acer-wmi. Your laptop could still have a hardware fault that would
make the rfkill signal be intermittent.

If you mean RF power when you say “energy”, each device has a maximum power that
the radio can take without self destructing. Drivers usually are restricted to
roughly 80% of that value; however, using that much power might violate the
regulatory requirements of the jurisdiction in which you are operating. To force
compliance with the regulations, a Linux facility called regdb was developed.
Now the power is set to the minimum of the reg value and the radio max.
Development of regdb and its user-space component crda is also relatively recent.

This is an interesting thread. I was asking myself, what is acer-wmi … and stumbled across this: Linux Kernel Documentation :: laptops : acer-wmi.txt which notes:


Acer Laptop WMI Extras Driver
2	http://code.google.com/p/aceracpi
3	Version 0.3
4	4th April 2009
5	
6	Copyright 2007-2009 Carlos Corbacho <carlos@strangeworlds.co.uk>
7	
8	acer-wmi is a driver to allow you to control various parts of your Acer laptop
9	hardware under Linux which are exposed via ACPI-WMI.
10	
11	This driver completely replaces the old out-of-tree acer_acpi, which I am
12	currently maintaining for bug fixes only on pre-2.6.25 kernels. All development
13	work is now focused solely on acer-wmi.
... snipped ....
24	
25	Background
26	**********
27	
28	acer-wmi is derived from acer_acpi, originally developed by Mark
29	Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate
30	the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the
31	previous solution to the problem) relied on making 32 bit BIOS calls which are
32	not possible in kernel space from a 64 bit OS.
33	
34	[1] acerhk: http://www.cakey.de/acerhk/
35	
36	Supported Hardware
37	******************
38	
39	NOTE: The Acer Aspire One is not supported hardware. It cannot work with
40	acer-wmi until Acer fix their ACPI-WMI implementation on them, so has been
41	blacklisted until that happens.
42	
43	Please see the website for the current list of known working hardware:
44	
45	http://code.google.com/p/aceracpi/wiki/SupportedHardware
46	
47	If your laptop is not listed, or listed as unknown, and works with acer-wmi,
48	please contact me with a copy of the DSDT.
49	
50	If your Acer laptop doesn't work with acer-wmi, I would also like to see the
51	DSDT.
52	
53	To send me the DSDT, as root/sudo:
54	
55	cat /sys/firmware/acpi/tables/DSDT > dsdt
56	
57	And send me the resulting 'dsdt' file.
58	
59	Usage
60	*****
61	
62	On Acer laptops, acer-wmi should already be autoloaded based on DMI matching.
63	For non-Acer laptops, until WMI based autoloading support is added, you will
64	need to manually load acer-wmi.
65	
66	acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various
67	files whose usage is detailed below, which enables you to control some of the
68	following (varies between models):
69	
70	* the wireless LAN card radio
71	* inbuilt Bluetooth adapter
72	* inbuilt 3G card
73	* mail LED of your laptop
74	* brightness of the LCD panel
75	
76	Wireless
77	********
78	
79	With regards to wireless, all acer-wmi does is enable the radio on the card. It
80	is not responsible for the wireless LED - once the radio is enabled, this is
81	down to the wireless driver for your card. So the behaviour of the wireless LED,
82	once you enable the radio, will depend on your hardware and driver combination.
83	
84	e.g. With the BCM4318 on the Acer Aspire 5020 series:
85	
86	ndiswrapper: Light blinks on when transmitting
87	b43: Solid light, blinks off when transmitting
88	
89	Wireless radio control is unconditionally enabled - all Acer laptops that support
90	acer-wmi come with built-in wireless. However, should you feel so inclined to
91	ever wish to remove the card, or swap it out at some point, please get in touch
92	with me, as we may well be able to gain some data on wireless card detection.
93	
94	The wireless radio is exposed through rfkill.
95	
..... snipped .....