You are not logged in.

#1 2015-02-02 10:40:18

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Wifi interface takes forever to come up

I have a fresh install on an SSD and while the boot time is really fast, it takes up to 120 seconds after my X is up for the wireless network interface to come up (and connect). This is a pretty long time and I'm wondering if there is anything I can do to speed it up? The systemd-analyze output seems pretty fine to me, but I'm basically a newbie still:

860ms man-db.service
           734ms systemd-modules-load.service
           472ms systemd-journal-flush.service
           232ms systemd-journald.service
           151ms systemd-vconsole-setup.service
            94ms systemd-tmpfiles-setup-dev.service
            79ms systemd-random-seed.service
            58ms systemd-tmpfiles-clean.service
            52ms systemd-udevd.service
            46ms systemd-logind.service
            45ms keyboardctl.service
            41ms alsa-restore.service
            40ms systemd-user-sessions.service
            36ms polkit.service
            36ms home.mount
            29ms wpa_supplicant.service
            28ms rpcbind.service
            26ms shadow.service
            25ms systemd-fsck@dev-disk-by\x2duuid-26d19429\x2d5814\x2d40b5\x2da640\x2db76399d77ce7.service
            21ms logrotate.service
            20ms systemd-udev-trigger.service
            19ms systemd-fsck@dev-disk-by\x2duuid-ef67fae8\x2d2715\x2d4ad3\x2da6ac\x2d222aea1fdf36.service
            13ms systemd-rfkill@rfkill1.service
            13ms dev-disk-by\x2duuid-226d9aa0\x2d8559\x2d450b\x2db95a\x2d3de11edce812.swap
            12ms systemd-rfkill@rfkill0.service
            11ms ntpd.service
            11ms dev-hugepages.mount
            11ms user@1000.service
            10ms systemd-backlight@backlight:acpi_video0.service
            10ms tmp.mount
             9ms dev-mqueue.mount
             8ms kmod-static-nodes.service
             7ms boot.mount
             5ms systemd-remount-fs.service
             4ms systemd-sysctl.service
             4ms systemd-update-utmp.service
             3ms systemd-tmpfiles-setup.service
             3ms sys-kernel-debug.mount
             3ms rtkit-daemon.service
             3ms systemd-rfkill@rfkill3.service
             2ms sys-kernel-config.mount
             1ms systemd-rfkill@rfkill2.service

The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.

graphical.target @991ms
└─multi-user.target @991ms
  └─rpcbind.service @962ms +28ms
    └─basic.target @922ms
      └─sockets.target @922ms
        └─rpcbind.socket @921ms
          └─sysinit.target @921ms
            └─systemd-update-utmp.service @916ms +4ms
              └─systemd-tmpfiles-setup.service @912ms +3ms
                └─local-fs.target @912ms
                  └─home.mount @875ms +36ms
                    └─systemd-fsck@dev-disk-by\x2duuid-26d19429\x2d5814\x2d40b5\x2da640\x2db76399d77ce7.service @848ms +25ms
                      └─dev-disk-by\x2duuid-26d19429\x2d5814\x2d40b5\x2da640\x2db76399d77ce7.device @837ms

Any advice? I've already disabled the ModemManager, I've changed the "Type" of the NetworkManager service to Simple and based on some stuff I found online, I've disabled IPv6 for all my connections. None of those seems to do anything.

Last edited by Airblader (2015-02-02 11:09:10)

Offline

#2 2015-02-02 18:07:03

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

graphical.target @698ms
└─multi-user.target @698ms
  └─ntpd.service @669ms +28ms
    └─network.target @667ms
  *** └─dhcpcd.service @610ms +52ms ***
        └─basic.target @610ms
          └─sockets.target @610ms
            └─dbus.socket @610ms
              └─sysinit.target @609ms
                └─systemd-update-utmp.service @605ms +3ms
                  └─systemd-tmpfiles-setup.service @599ms +6ms
                    └─local-fs.target @598ms
                      └─boot.mount @590ms +7ms
                        └─systemd-fsck@dev-disk-by\x2duuid-9669\x2d102D.service @537ms +53ms
                          └─dev-disk-by\x2duuid-9669\x2d102D.device @536ms

Is 52 milliseconds quick enough?

This only works for a single wireless access point:

Set up /etc/wpa_supplicant/wpa_suppicant.conf like this (back up the original file first!):

# tee /etc/wpa_supplicant/wpa_supplicant.conf <<< "ctrl_interface=DIR=/run/wpa_supplicant"
# tee -a /etc/wpa_supplicant/wpa_supplicant.conf <<< $(wpa_passphrase <your SSID> <your password>)

And then disable all of your current internet-related .services and enable dhcpcd with:

# systemctl enable dhcpcd.service

This will also give you a plug-and-play ethernet connection.
smile


Jin, Jîyan, Azadî

Offline

#3 2015-02-02 18:28:10

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

Hi,

thanks smile But I think you misunderstood the problem (and maybe I wasn't very clear, sorry). When I boot, it takes about two minutes for my wifi interface to so much as even show up – not for the connection to be made. dhcpcd isn't involved at that point yet either. Having done some more digging, I found

[   62.115790] iwlwifi 0000:03:00.0: Direct firmware load failed with error -2
[   62.115797] iwlwifi 0000:03:00.0: Falling back to user helper
[   63.821876] Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-21e6.hcd not found
[  122.260168] iwlwifi 0000:03:00.0: loaded firmware version 9.221.4.1 build 25532 op_mode iwldvm

From what I understand, it is looking for a wrong version of the firmware – twice, each time with a 60 second timeout. Then it finally finds the correct firmware, loads it and from that point on everything is going quickly. This raises the question: how do I make it find the correct one right away?

Last edited by Airblader (2015-02-02 18:31:51)

Offline

#4 2015-02-02 18:41:09

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

Ah of course, sorry.

What is your hardware?


Jin, Jîyan, Azadî

Offline

#5 2015-02-02 18:43:36

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

I'm on a Lenovo Thinkpad T530. The network card is Intel Corporation Centrino Ultimate-N 6300. Let me know if you need anything else. smile

Offline

#6 2015-02-02 18:54:41

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

That device needs iwlwifi-6000-ucode-17.{176,193,221}.4.1.tgz
https://wireless.wiki.kernel.org/en/use … rs/iwlwifi

Do you have those?

They are available here:
http://git.kernel.org/cgit/linux/kernel … rmware.git


Jin, Jîyan, Azadî

Offline

#7 2015-02-02 19:04:46

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

Thanks. For the sake of understanding how this is solved: where did you look up what version my device needs?

Moving on, how do I check whether I have this particular version? I can run

cd /lib/firmware && find . -name "*iwlwifi*" | grep 6000

and get

./iwlwifi-6000g2a-5.ucode
./iwlwifi-6000g2a-6.ucode
./iwlwifi-6000g2b-5.ucode
./iwlwifi-6000g2b-6.ucode
./iwlwifi-6000-4.ucode

Doesn't seem like it's in there, right? As for the repository you linked, that's just the linux-firmware package which I do have installed (as the package that's installed by default). Why wouldn't I have the correct driver version then?

Last edited by Airblader (2015-02-02 19:07:25)

Offline

#8 2015-02-02 19:15:15

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

Airblader wrote:

where did you look up what version my device needs?

I just used startpage.com & searched for "<your card> linux" and it was near the top of the list big_smile

It looks like you have the right file (6000-4) so it should work OK (I may be wrong about this -- hopefully other forum members will correct me).

Can you check if the card is seated and connected properly?

It's probably best to post:

dmesg|grep iwl

Or maybe even the whole dmesg output via sprunge.

EDIT: https://wiki.archlinux.org/index.php/Le … nkPad_T530

Last edited by Head_on_a_Stick (2015-02-02 19:16:47)


Jin, Jîyan, Azadî

Offline

#9 2015-02-02 19:19:30

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

Sure, here's the entire output: http://pastebin.com/8nawQfiv
And here the grep:

[    2.150765] iwlwifi 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[    2.151864] iwlwifi 0000:03:00.0: irq 46 for MSI/MSI-X
[    2.155374] iwlwifi 0000:03:00.0: Direct firmware load failed with error -2
[    2.155377] iwlwifi 0000:03:00.0: Falling back to user helper
[   62.329286] iwlwifi 0000:03:00.0: Direct firmware load failed with error -2
[   62.329293] iwlwifi 0000:03:00.0: Falling back to user helper
[  122.472999] iwlwifi 0000:03:00.0: loaded firmware version 9.221.4.1 build 25532 op_mode iwldvm
[  122.512828] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUG disabled
[  122.512833] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
[  122.512835] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[  122.512838] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Ultimate-N 6300 AGN, REV=0x74
[  122.512998] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
[  122.534213] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[  122.593391] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
[  122.600035] iwlwifi 0000:03:00.0: Radio type=0x0-0x3-0x1
[  122.818869] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
[  122.825454] iwlwifi 0000:03:00.0: Radio type=0x0-0x3-0x1

I don't seem to have the problem when booting Ubuntu (granted, Ubuntu boots longer, but it boots nowhere near two minutes to cover up the time it takes iwlwifi to load; I can try running dmesg there, too, though, to see what is happening).

Offline

#10 2015-02-02 19:25:33

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

I've just checked. Ubuntu has the same problem, but it doesn't have the timeout and just immediately moves on. A quick google search later, I learned about /sys/class/firmware/timeout, which on my system is indeed set to 60. Would I just be able to set this lower (or even 0)?

Offline

#11 2015-02-02 19:31:51

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

Airblader wrote:

Would I just be able to set this lower (or even 0)?

Try it and find out smile


Jin, Jîyan, Azadî

Offline

#12 2015-02-02 19:36:30

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

I did (echo 1 | sudo tee /sys/class/firmware/timeout). The value is written, but when I rebooted it was reset back to 60. sad
How can I make the change persistent?

Also, if someone can tell me whether this would be a horrible thing to do, I'd appreciate it too – not that by changing this I'm breaking ten other things. smile

Last edited by Airblader (2015-02-02 19:37:53)

Offline

#13 2015-02-02 20:21:50

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

At least overwriting the timeout does in fact help if I just manually remove and reload the iwlwifi module. It feels like a hack and if someone has a real solution, I'd be happy to hear or investigate it further. For now, changing the timeout would make booting acceptable (plus, Ubuntu is doing the same, too – so I was doing it this way for a long time without knowing it).

My problem is, though, how I can set the value in sysfs before the module is attempted to be loaded?

Offline

#14 2015-02-02 21:30:21

Airblader
Member
From: Munich, Germany
Registered: 2015-02-02
Posts: 19

Re: Wifi interface takes forever to come up

Trying to write an udev rule to set the timeout, I found this bug report: https://bugs.launchpad.net/ubuntu/+sour … ug/1398458
Comment #8 has a udev rule which, instead of overwriting the timeout, changes the loading attribute of the hanging iwlwifi module, causing it to abort the timeout immediately. This seems to work for me smile

Thanks for your help, it is very much appreciated! Sometimes just talking to someone about it makes you go in the right direction.

Last edited by Airblader (2015-02-02 21:34:38)

Offline

#15 2015-02-02 21:36:18

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,796
Website

Re: Wifi interface takes forever to come up

You're welcome, glad I could help smile


Jin, Jîyan, Azadî

Offline

Board footer

Powered by FluxBB