https://github.com/jelius-sama/restart-driver
A small utility to restart unstable WiFi and Bluetooth kernel modules on Asahi Linux.
https://github.com/jelius-sama/restart-driver
asahi-linux kernel-module linux utility
Last synced: 13 days ago
JSON representation
A small utility to restart unstable WiFi and Bluetooth kernel modules on Asahi Linux.
- Host: GitHub
- URL: https://github.com/jelius-sama/restart-driver
- Owner: jelius-sama
- License: agpl-3.0
- Created: 2026-05-25T14:04:14.000Z (18 days ago)
- Default Branch: main
- Last Pushed: 2026-05-25T15:48:11.000Z (18 days ago)
- Last Synced: 2026-05-25T16:09:58.510Z (18 days ago)
- Topics: asahi-linux, kernel-module, linux, utility
- Language: C
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
A small utility to restart unstable WiFi and Bluetooth kernel modules
on Asahi Linux. The brcmfmac and hci_bcm4377 drivers can enter broken
states where WiFi stops scanning or associating, and Bluetooth fails to
reinitialize after being disabled.
Rather than manually running modprobe/rmmod/ip/systemctl sequences,
this tool wraps the full restart sequence for each device behind a
single command.
For WiFi, the full sequence is:
- Stop iwd
- Bring wlp1s0f0 down
- Unload brcmfmac_wcc, brcmutil, brcmfmac
- Reload brcmfmac
- Start iwd
- Wait for wlp1s0f0 to appear in sysfs before bringing it up
The sysfs poll on /sys/class/net/ avoids a race between iwd
registering the interface and the subsequent ip-link call.
For Bluetooth, hci_bcm4377 is cycled via rmmod/modprobe as the
driver does not recover gracefully from a soft disable.
Requires root. Must be run as: sudo restart-driver