You are not logged in.

#1 2014-07-28 01:13:45

Salkay
Member
Registered: 2014-05-22
Posts: 619

NetworkManager slow to connect after resume from suspend

I've moved recently from (K)ubuntu to Arch, and I've noticed that my laptop is a little slow to connect to wifi after resuming from suspend.

In (K)ubuntu, my laptop would connect to the network before my screen turned on (< 3 seconds after resuming). In Arch (KDE), my laptop will connect to wifi about 15 seconds after the screen turns on. I tested using `systemctl suspend`, and this also takes 15 seconds (I presume KDE just calls this command).

I've noticed a few similar threads here, in particular one from three years ago that suggests using pm-suspend. I installed pm-utils, and tested suspending with `sudo pm-suspend`, and this fixed it. Now after resuming from suspend, connecting was instantaneous.

However, I'd prefer to use `systemctl suspend`, since it integrates better with KDE, and pm-utils can potentially corrupt your system. Is there a way to make `systemctl suspend` work better with NetworkManager?

Offline

#2 2014-07-28 03:35:18

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: NetworkManager slow to connect after resume from suspend

I haven't used pm-utils in quite some time.  But you might want to have a look though /usr/lib/pm-utils/sleep.d and see if you can figure out what it might be doing to make things faster.

Offline

#3 2014-07-28 10:30:35

Salkay
Member
Registered: 2014-05-22
Posts: 619

Re: NetworkManager slow to connect after resume from suspend

Thanks for the quick reply, WonderWoofy. I had a scan through that directory, but nothing really jumped out at me. (I was hoping to find a file called 00networkmanger. wink ) The only file that may have been relevant (IMO) was `75modules`, which unloaded kernel modules specified in $SUSPEND_MODULES. Unfortunately, I'm not familiar enough with pm-utils to know where this variable is sourced from.

In any case, I presume that `systemctl suspend` would unload all necessary modules too. FWIW, I also found a line in 00logging to record the output of `lsmod`. I'm not sure if this is the list of modules that pm-utils suspends. I checked out /var/log/pm-suspend.log, and found this output. I'm not sure if I'm barking up the wrong tree, but here was the list.

Module                  Size  Used by
fuse                   84337  3 
ctr                     3927  2 
ccm                     8278  2 
bbswitch                6342  0 
dell_wmi                1581  0 
sparse_keymap           3242  1 dell_wmi
i915                  796361  3 
snd_hda_codec_hdmi     40396  1 
snd_hda_codec_realtek    54803  1 
snd_hda_codec_generic    56366  1 snd_hda_codec_realtek
coretemp                6388  0 
hwmon                   3346  1 coretemp
joydev                 10367  0 
iTCO_wdt                5663  0 
iTCO_vendor_support     1929  1 iTCO_wdt
dell_laptop            12613  0 
dcdbas                  6559  1 dell_laptop
arc4                    2064  2 
intel_rapl             12460  0 
x86_pkg_temp_thermal     7311  0 
intel_powerclamp        9442  0 
kvm_intel             135528  0 
mousedev               10912  0 
kvm                   408583  1 kvm_intel
crct10dif_pclmul        4714  0 
crc32_pclmul            2955  0 
crc32c_intel           14217  0 
ghash_clmulni_intel     4362  0 
aesni_intel           144871  4 
iwldvm                170799  0 
aes_x86_64              7463  1 aesni_intel
lrw                     3821  1 aesni_intel
mac80211              495361  1 iwldvm
gf128mul                6018  1 lrw
glue_helper             4737  1 aesni_intel
ablk_helper             2100  1 aesni_intel
cryptd                  8537  3 ghash_clmulni_intel,aesni_intel,ablk_helper
microcode              17157  0 
uvcvideo               74983  0 
ecb                     2201  2 
videobuf2_vmalloc       3368  1 uvcvideo
xpad                   12514  0 
videobuf2_memops        2239  1 videobuf2_vmalloc
videobuf2_core         30407  1 uvcvideo
ff_memless              6371  1 xpad
videodev              123032  2 uvcvideo,videobuf2_core
evdev                  11784  19 
btusb                  19976  0 
mac_hid                 3273  0 
media                  12611  2 uvcvideo,videodev
led_class               3611  3 xpad,iwldvm,dell_laptop
drm_kms_helper         39643  1 i915
bluetooth             380942  2 btusb
iwlwifi               148746  1 iwldvm
drm                   244846  5 i915,drm_kms_helper
6lowpan_iphc           11556  1 bluetooth
snd_hda_intel          22831  3 
psmouse                94918  0 
cfg80211              437959  3 iwlwifi,mac80211,iwldvm
i2c_i801               11364  0 
snd_hda_controller     22911  1 snd_hda_intel
intel_gtt              12856  1 i915
serio_raw               5073  0 
r8169                  59191  0 
i2c_algo_bit            5480  1 i915
snd_hda_codec         104665  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
pcspkr                  2059  0 
i2c_core               41648  6 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,videodev
rfkill                 15971  4 cfg80211,bluetooth,dell_laptop
mii                     4251  1 r8169
snd_hwdep               6652  1 snd_hda_codec
thermal                 9103  0 
snd_pcm                83207  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
wmi                     8539  1 dell_wmi
snd_timer              19294  1 snd_pcm
snd                    61276  14 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
mei_me                 10096  0 
soundcore               5551  2 snd,snd_hda_codec
shpchp                 25706  0 
mei                    66784  1 mei_me
lpc_ich                14008  0 
video                  12057  1 i915
battery                 7885  0 
processor              25153  0 
button                  4765  1 i915
ac                      3595  0 
ext4                  494292  3 
crc16                   1359  2 ext4,bluetooth
mbcache                 9155  1 ext4
jbd2                   82948  1 ext4
hid_generic             1217  0 
usbhid                 41250  0 
hid                    93052  2 hid_generic,usbhid
sd_mod                 37554  6 
sr_mod                 15026  0 
cdrom                  35191  1 sr_mod
crc_t10dif              1135  1 sd_mod
crct10dif_common        1436  2 crct10dif_pclmul,crc_t10dif
atkbd                  17006  0 
libps2                  4571  2 atkbd,psmouse
ahci                   24299  4 
libahci                21772  1 ahci
libata                174089  2 ahci,libahci
ehci_pci                4152  0 
xhci_hcd              149286  0 
ehci_hcd               64619  1 ehci_pci
scsi_mod              138333  3 libata,sd_mod,sr_mod
usbcore               188381  7 xpad,btusb,uvcvideo,ehci_hcd,ehci_pci,usbhid,xhci_hcd
usb_common              1712  1 usbcore
i8042                  13666  2 libps2,dell_laptop
serio                  11018  6 serio_raw,atkbd,i8042,psmouse

Also, for no particular reason, I presumed that the quickness of pm-suspend was the base state, and the slowness of `systemctl suspend` was due to the presence of unnecessary interference in its hooks. I guess either might be possible.

===EDIT===
Oops, and silly me, the Arch wiki explains how to configure SUSPEND_MODULES. So presumably there's not much important in /usr/lib/pm-utils/sleep.d, at least that I can see.

Last edited by Salkay (2014-07-28 12:43:26)

Offline

Board footer

Powered by FluxBB