WiFi cannot automatically reconnect after hibernate/sleep/or power cycle

Hi there! I'm a new Garuda user and I have to start off by saying I am thuroughly impressed. I've hopped to many distros throughout the year and Garuda (KDE Dr460nized)is the first that has simply just worked out of the box on my late 2015 dell xps 13 (with one exception).

The exception: I have to manually disconnect and reconnect to any WiFi network after hibernate/sleep/reboot/power cycle. While this isnt the end of the world it would be nice to just open up my laptop and whamo flawless network connection without issue.

Out of the box WiFI worked (was very surprised) with my pesky Broadcom BCM4352 wireless chip. I ran lcpci -k and confirmed that I was running the appropriate kernel module for my chip which is the broadcom-wl module. I am using NetworkManager as my preferred network manger and connected to my WiFi network the easy way via the Network icon at the top right corner of the desktop (a bit of a change from ways the manual way of getting NetworkManager setup in cases like a fresh Arch install). Furthermore, I've connected to both my home wireless networks (2.4g & 5G) and gave them the priority 1 and 0 respectively.

The error is the same upon hibernate/sleep/reboot/power cycle. The wheel layed over the WiFi signal icon spins. If I click it says its trying to connect to my 5G network and after 2 minutes I receive a notification that the network could not connect and then it retries and will result in the same notification message until I disconnect from the network while its attempting to connect and then I have to reconnect.

Any thoughts or suggestions on where to begin with looking at this? I haven't had this issue in other distros when using NetworkManager so i'm a bit confused as to where to start.

Any input is appreciated.

Thanks!

-Silv

Hi there, welcome!
Although the issue is clearly described, please include always your detailed system specs, with the output of inxi -Fza as text with 3 ~ before and after the text block, for formatting reasons.
In this way, many other details will be available.
Maybe you could use the forum search field with your network driver.
Also your precise laptop model could be useful in the search engine of the arch wiki, which contains useful info for a lot of model, with eg sometimes known issues.
Apart from that, in the meanwhile, my only suggestion is to check other kernels.

3 Likes
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=d1ed0935-9d13-45db-a1be-ad181355fc5d  
rw rootflags=subvol=@ quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 resume=UUID=88adfeae-d65a-4ab0-a345-ba15b13218c1 loglevel=3
Desktop: KDE Plasma 5.22.4 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM  
Distro: Garuda Linux base: Arch Linux  
Machine:   Type: Laptop System: Dell product: XPS 13 9343 v: N/A serial: <filter> Chassis: type: 9  
serial: <filter>  
Mobo: Dell model: 0310JH v: A00 serial: <filter> UEFI: Dell v: A20 date: 06/06/2019  
Battery:   ID-1: BAT0 charge: 32.2 Wh (90.7%) condition: 35.5/52.7 Wh (67.4%) volts: 8.8 min: 7.6  
model: SMP DELL 0N7T653 type: Li-poly serial: <filter> status: Charging  
CPU:       Info: Dual Core model: Intel Core i7-5500U bits: 64 type: MT MCP arch: Broadwell family: 6  
model-id: 3D (61) stepping: 4 microcode: 2F cache: L2: 4 MiB  
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 19156  
Speed: 2396 MHz min/max: 500/3000 MHz Core speeds (MHz): 1: 2396 2: 2395 3: 2642 4: 2395  
Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled  
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable  
Type: mds mitigation: Clear CPU buffers; SMT vulnerable  
Type: meltdown mitigation: PTI  
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp  
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization  
Type: spectre_v2  
mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling  
Type: srbds mitigation: Microcode  
Type: tsx_async_abort status: Not affected  
Graphics:  Device-1: Intel HD Graphics 5500 vendor: Dell driver: i915 v: kernel bus-ID: 00:02.0  
chip-ID: 8086:1616 class-ID: 0300  
Device-2: Microdia Integrated Webcam HD type: USB driver: uvcvideo bus-ID: 2-5:4  
chip-ID: 0c45:670c class-ID: 0e02  
Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: intel  
unloaded: modesetting alternate: fbdev,vesa display-ID: :0 screens: 1  
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 507x285mm (20.0x11.2") s-diag: 582mm (22.9")  
Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 168 size: 290x170mm (11.4x6.7") diag: 336mm (13.2")  
OpenGL: renderer: Mesa Intel HD Graphics 5500 (BDW GT2) v: 4.6 Mesa 21.1.6 direct render: Yes  
Audio:     Device-1: Intel Broadwell-U Audio vendor: Dell driver: snd_hda_intel v: kernel bus-ID: 00:03.0  
chip-ID: 8086:160c class-ID: 0403  
Device-2: Intel Wildcat Point-LP High Definition Audio vendor: Dell driver: snd_hda_intel  
v: kernel bus-ID: 00:1b.0 chip-ID: 8086:9ca0 class-ID: 0403  
Sound Server-1: ALSA v: k5.13.10-zen1-1-zen running: yes  
Sound Server-2: JACK v: 1.9.19 running: no  
Sound Server-3: PulseAudio v: 15.0 running: no  
Sound Server-4: PipeWire v: 0.3.33 running: yes  
Network:   Device-1: Broadcom BCM4352 802.11ac Wireless Network Adapter vendor: Dell driver: wl v: kernel  
modules: bcma port: f040 bus-ID: 02:00.0 chip-ID: 14e4:43b1 class-ID: 0280  
IF: wlp2s0 state: up mac: <filter>  
Bluetooth: Device-1: Broadcom BCM20702A0 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 2-3:2  
chip-ID: 0a5c:216f class-ID: fe01 serial: <filter>  
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:    Local Storage: total: 238.47 GiB used: 14.46 GiB (6.1%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD PM851 M.2 2280 256GB size: 238.47 GiB
block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 5D0Q
scheme: GPT
Partition: ID-1: / raw-size: 229.41 GiB size: 229.41 GiB (100.00%) used: 14.46 GiB (6.3%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.45%) used: 562 KiB (0.2%) fs: vfat
dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 229.41 GiB size: 229.41 GiB (100.00%) used: 14.46 GiB (6.3%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 229.41 GiB size: 229.41 GiB (100.00%) used: 14.46 GiB (6.3%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 229.41 GiB size: 229.41 GiB (100.00%) used: 14.46 GiB (6.3%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/sda3
maj-min: 8:3
ID-2: swap-2 type: zram size: 7.67 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 66.0 C mobo: 41.0 C sodimm: SODIMM C
Fan Speeds (RPM): cpu: 0
Info:      Processes: 228 Uptime: 1h 12m wakeups: 1 Memory: 7.67 GiB used: 3.1 GiB (40.4%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1327 lib: 304
Shell: fish v: 3.3.1 running-in: konsole inxi: 3.3.06~~~

I have posted the op of inxi -Fza above and will begin conducting your recommended queries. Thank you for the reply!

1 Like

Something you could try is to disable mac address randomization in the Garuda network assistant, then reboot router and laptop.
If I remember correctly (tech-free holiday :wink:), there is also a WiFi powersafe option that you may want to change/test.

3 Likes

This is a problem that usually easily resolved by writing a systemd suspend service. I have written numerous posts over the years detailing how this is done. A thorough search online should turn up lots of information, but here is my Cole's Notes on how it is done.


This service is condensed into only one unit, so it is very easy to create the service.

Combined network restart service unit:

Create the following file with a root text editor:

/etc/systemd/system/network-restart.service

Add the following contents to the file:

#/etc/systemd/system/network-restart.service
#sudo systemctl enable network-restart.service
#sudo systemctl start network-restart.service
#systemctl status network-restart.service
#sudo systemctl daemon-reload

[Unit]
Description=Broadcom WiFi Restart Service 
Before=sleep.target
StopWhenUnneeded=yes

[Service]
User=root
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/sudo -u $USER /bin/bash -lc 'nmcli networking off'
ExecStart=/usr/bin/sleep 1
ExecStart=/usr/bin/systemctl stop NetworkManager
ExecStart=/usr/bin/ip link set wlp2s0  down
ExecStart=/usr/bin/modprobe -r  wl
ExecStop=/usr/bin/sleep 5
ExecStop=/usr/bin/modprobe wl
ExecStop=/usr/bin/sleep 3
ExecStop=/usr/bin/ip link set wlp2s0 up
ExecStop=/usr/bin/sleep 2
ExecStop=/usr/bin/systemctl start NetworkManager
ExecStop=/usr/bin/sleep 1
ExecStop=/usr/bin/sudo -u $USER /bin/bash -lc 'nmcli networking on'
ExecStop=/usr/bin/sleep 1
ExecStop=/usr/bin/sudo -u $USER /bin/bash -lc 'nmcli r wifi off'
ExecStop=/usr/bin/sleep 1
ExecStop=/usr/bin/sudo -u $USER /bin/bash -lc 'nmcli r wifi on'

[Install]
WantedBy=sleep.target

The sleep units in the service may be reduced, (or eliminated) if you do not like the delay it creates. Be aware though, that doing so may reduce the reliability of the service.

Once you have created and saved the service file, enable the service:

sudo systemctl enable network-restart.service

Then reboot the computer.


For the benefit of others wishing to adapt this service to their installation (if different than above):

If your adapter's designation is different than wlp2s0 you will need to substitute you own adapter’s ID into the service file.

If you are using a different driver module you will also need to substitute it in place of “wl”.


6 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.