Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

There are two Dell laptops on our home's wifi:

  • Inspiron 1525
  • Latitude E5420

These connect along with several other devices (iPad, phones) with which we have no trouble at all. The laptops are both running Ubuntu 12.04.

Sometimes the laptops both work fine; but occasionally - often after a good hour or more of simultaneous use - one or other laptop will suddenly experience a very slow wifi connection. If the working laptop's networking is disabled, the problematic laptop's speed bounces back. Re-enabling the networking kills the problematic laptop's connection again. This has happened with each laptop sometimes having the problem; usually the one nearest the router is most likely to be OK.

Here's some of the things I've ruled out:

  • MAC and IP addresses are different (sudo ifconfig). But then if they were conflicting, then the problem would surely not be intermittent!
  • Power management is turned off for both wifi connections (sudo iwconfig)
  • Router and ISP have both changed while we've had this problem: we switched broadband providers from O2 to The Phone Coop, but the problem persisted; at the same time we went from a Speedtouch router (I think) to a Technicolor TG582n. So it's unlikely that's the problem.
  • Link strength is OK; but then again, unless two completely different routers had link strengths varying in similar ways, then you'd expect that to be the case.

Testing for a possible bug in the wl drivers (suggested by @Braiam) below, the output is as follows. On laptop-1:

laptop-1%  sudo lspci -nnk | grep -A8 -i network
02:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
Subsystem: Dell Inspiron M5010 / XPS 8300 [1028:0010]
Kernel driver in use: wl
Kernel modules: wl, bcma, brcmsmac
03:00.0 CardBus bridge [0607]: O2 Micro, Inc. Device [1217:8134] (rev 06)
Subsystem: Dell Device [1028:049b]
Kernel driver in use: yenta_cardbus
Kernel modules: yenta_socket
09:00.0 FireWire (IEEE 1394) [0c00]: O2 Micro, Inc. 1394 OHCI Compliant Host Controller [1217:13f7] (rev 05)

On laptop-2:

laptop-2%  sudo lspci -nnk | grep -A8 -i network
0b:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
Subsystem: Intel Corporation Device [8086:1021]
Kernel driver in use: iwl3945
Kernel modules: iwl3945

Anyone know what are the likely remaining causes of this problem; more importantly, how do I diagnose and test those causes?

share|improve this question
1  
What do your systems connect to? It seems like you should investigate the common point. –  waltinator Sep 17 '13 at 22:29
    
@waltinator there isn't really a common point: they used to use an O2 Speedtouch router; we've since switched to a Technicolor TG582n router, and we're having exactly the same problem. –  J-P Sep 18 '13 at 18:43
    
@Braiam I've added that output to the description above. One laptop is using wl; the other is using iwl3945. Should I switch them both to use iwl3945? What's the easiest way to do that permanently if so? –  J-P Sep 18 '13 at 18:56
    
One of my "last resort" tricks is to wait until the problem begins, and on both systems, do <code>ls -lrt /var/log</code>, and inspect the last lines of the most recently modified log files. Do this again, after you've "fixed" the problem. On <code>wl</code> vs <code>iwl3925</code>, don't switch. The two laptops have different hardware. –  waltinator Sep 21 '13 at 22:30
add comment

2 Answers

up vote 1 down vote accepted

The BroadComm wl driver has a bug that correspond with the problem. You can disable it by running:

sudo sh -c "echo 'blacklist wl' >> /etc/modprobe.d/broadcomm-blacklist.conf"
sudo sh -c "echo 'brcmsmac' >> /etc/modprobe.d/broadcomm.conf"

then reboot the system.

share|improve this answer
    
When I do this, I end up with no kernel driver in use and no wifi. I've tried installing b43-fwcutter: modprobe b43 then gets me the bcma-pci-bridge module in use, but my wifi doesn't work. modprobe -r b43 && modprobe wl gets my wifi working again, but presumably I'm now back on the (buggy) BroadComm driver. –  J-P Sep 20 '13 at 19:51
    
Based on this, for the BCM4313: help.ubuntu.com/community/WifiDocs/Driver/bcm43xx modprobe brcmsmac seems to get me wifi. What's the magic incantation to load that on boot? –  J-P Sep 20 '13 at 20:21
    
No, adding that to the same conf file as the blacklist command gives me "ignoring bad line starting with 'modprobe'". Actually, it looks like brcmsmac was already blacklisted in a different modprobe.d/ file, created by bcmwl. I commented that out and rebooted and brcmsmac was active. Thanks for your help so far, Braiam: I'll keep testing for a couple of days - laptop-2 isn't being used seriously this weekend - and respond then. –  J-P Sep 21 '13 at 14:59
    
Sorry to be a pain, @Braiam; I wanted to check we've solved the original point of this issue (the slowness with two laptops) as it's been a problem for us for months now and a real blocker for both of us working from home. But after a couple of nights' testing I can say it works brilliantly: thanks very much! –  J-P Sep 25 '13 at 8:53
    
Nah, it's ok, I just wanted to move along if this problem was solved ;) –  Braiam Sep 25 '13 at 12:16
add comment

I am facing similar problem. Could you please elaborate final resolution for same. Is it to just run the following command:

sudo sh -c "echo 'brcmsmac' >> /etc/modprobe.d/broadcomm.conf".

and ignore the command about blacklist?

I am on raring 13.04 , hence would prefer a solution which would work on that. Following is my output for the command:

$ sudo lspci -nnk | grep -A8 -i network
12:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
    Subsystem: Dell Inspiron M5010 / XPS 8300 [1028:0010]
    Kernel driver in use: wl
13:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
    Subsystem: Dell Device [1028:0441]
    Kernel driver in use: r8169
ff:00.0 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers [8086:2c62] (rev 05)
    Subsystem: Intel Corporation Device [8086:8086]
ff:00.1 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture System Address Decoder [8086:2d01] (rev 05)
share|improve this answer
    
No, you want the blacklist wl line. BUT: as it stands, it looks like you've no alternative modules available: you're missing the "Kernel modules: ..." in your output there. I don't understand why not, as brcmsmac should be part of the Linux kernel: askubuntu.com/questions/170822/… - anyway, I wouldn't blacklist at the moment as it might leave you with no driver! –  J-P Sep 27 '13 at 21:20
    
Incidentally, if you do end up with no kernel module to drive the wifi, the modprobe MODULE and modprobe -r MODULE basically act to add/remove kernel modules, and don't respect the blacklists, so that would be a way of manually fixing that. –  J-P Sep 27 '13 at 21:21
    
Thanks I will try this and let inform back once there. –  nobuzz Sep 28 '13 at 18:03
    
In case if end up with no kernel module to drive the wifi, can I just revert the lines added, and I should be back to square one? Is that correct.. –  nobuzz Sep 29 '13 at 22:17
    
Yeah - you can also always open a terminal, and if there's no module, run sudo modprobe wl and that will override the blacklists. –  J-P Sep 30 '13 at 9:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.