here is the situation: Ubuntu 13.04, wireless adapter: intel PRO/Wireless 3945ABG [Golan]. Wireless driver: iwl3945.

The problem is that wireless performance is less than satisfactory. I can connect to any wireless network without difficulty but the transfer speed is way worse than it should be. A quick test on speedtest.net shows that I get about half the speed I used to get with the same laptop in windows environment (FYI the laptop had windows7 until last week and used to connect to the very same wireless network). Furthermore (like if that wasn't enough..), when copying files across the local network the speed is also far from pleasing... much slower it used to be. As a result, streaming a media file stored on another computer or device on the network is impossible. As this is what I'm primarily using this laptop for, it's a real pain that I can't get it working correctly.

What I've done so far: I tried disabling hardware scan:

    modprobe -r iwl3945 
    modprobe iwl3945 disable_hw_scan=1

but this didn´t work so I didn´t bother making it permanent.

I also tried replacing the network manager with wicd - didn't help at all.

So what could it be?

Here´s the output of lshw -C network:

    icefire@Toshiba:~$ sudo lshw -C network
    [sudo] password for icefire: 
    description: Ethernet interface
    product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
    vendor: Realtek Semiconductor Co., Ltd.
    physical id: 0
    bus info: pci@0000:02:00.0
    logical name: eth0
    version: 02
    serial: 00:1e:33:5d:46:ab
    size: 10Mbit/s
    capacity: 100Mbit/s
    width: 64 bits
    clock: 33MHz
    capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical  tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
    configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-        NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
    resources: irq:44 ioport:4000(size=256) memory:d0010000-d0010fff memory:d0000000-d000ffff

    description: Wireless interface
    product: PRO/Wireless 3945ABG [Golan] Network Connection
    vendor: Intel Corporation
    physical id: 0
    bus info: pci@0000:03:00.0
    logical name: wlan0
    version: 02
    serial: 00:1f:3c:ae:d0:ea
    width: 32 bits
    clock: 33MHz
    capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
    configuration: broadcast=yes driver=iwl3945 driverversion=3.8.0-19-generic firmware= ip= latency=0 link=yes multicast=yes wireless=IEEE 802.11abg
    resources: irq:46 memory:d4200000-d4200fff

Here´s what iwconfig outputs:

    icefire@Toshiba:~$ iwconfig
    wlan0     IEEE 802.11abg  ESSID:"dd-wrt"  
      Mode:Managed  Frequency:2.437 GHz  Access Point: 00:26:5A:B1:62:EE   
      Bit Rate=54 Mb/s   Tx-Power=15 dBm   
      Retry  long limit:7   RTS thr:off   Fragment thr:off
      Power Management:off
      Link Quality=61/70  Signal level=-49 dBm  
      Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
      Tx excessive retries:6  Invalid misc:224   Missed beacon:0

     lo        no wireless extensions.

     eth0      no wireless extensions.

and ifconfig:

    icefire@Toshiba:~$ ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:1e:33:5d:46:ab  
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

     lo        Link encap:Local Loopback  
      inet addr:  Mask:
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:554 errors:0 dropped:0 overruns:0 frame:0
      TX packets:554 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:63267 (63.2 KB)  TX bytes:63267 (63.2 KB)

    wlan0     Link encap:Ethernet  HWaddr 00:1f:3c:ae:d0:ea  
      inet addr:  Bcast:  Mask:
      inet6 addr: fe80::21f:3cff:feae:d0ea/64 Scope:Link
      RX packets:9773 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6310 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:10377083 (10.3 MB)  TX bytes:1143412 (1.1 MB)
  • 1
    Did you try: sudo modprobe -r iwl3945; sudo modprobe iwl3945 11n_disable=1 – chili555 Apr 29 '13 at 20:06
  • 1
    Yes I did but forgot to mention it. The result when typing sudo modprobe iwl3945 11n_disable=1 is: ERROR: could not insert 'iwl3945': Invalid argument – user153640 Apr 30 '13 at 16:34

You could be seeing slightly different symptoms of the same wireless N problem that I was having with my Intel card. This is what fixed mine (reference Why does my wifi Internet intermittently disappear?):

Try typing the following commands at a terminal. These will turn off your ethernet port and disable the wireless N in the wifi driver. It is not permanent and will revert the next time you reboot:

sudo ifconfig eth0 down
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1

If that works for you, there's a bash script on my Github that you can download and run each time you reboot: https://github.com/FreedomBen/handy-bash-scripts/blob/master/fixTheInternet.bash

I have this script on my desktop and I just run it each time I reboot. I haven't had any issues since.

Note: You will have to make the script executable. At a terminal, type:

cd path/to/script
chmod +x fixTheInternet.bash
  • Unsure what this does, but it fixes and issue where 'medium to low' signal was useless to me. Thanks! – wjdp Nov 14 '16 at 19:45

Update: at the end none of what follows actually worked. Some minutes after performance was bad again :(

I was in the very same situation as you, a really bad performance on iwl3945 in ubuntu 13.04.

Just follow the solution in this article: Resolve Slow Connexion When Using Wifi In Ubuntu 13.04 Raring Ringtail, 12.04 And LinuxMint13

I actually applied solution 1 and 3 from the article, don't know exactly which one was the effective but it works now.

Solution 1: add the following line on /etc/modprobe.d/ath9k.conf

options ath9k nohwcrypt=1

which doesn't makes much sense as its for atheros card...

Solution 2: deactivate ipv6 on /etc/sysctl.conf adding following lines at the end

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

unless you actually use ipv6. I'm also discarding this as a solution at the end because after while of working well it go went bad once more...

Hope this helps!

  • Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Eric Carvalho Jun 13 '13 at 9:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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