seolcu notes

Disable USB autosuspend on Linux (USB Ethernet adapter drops after boot)

Add the kernel parameter usbcore.autosuspend=-1 and regenerate the bootloader config (update-grub on Debian/Ubuntu, grubby on Fedora). Verify with cat /sys/module/usbcore/parameters/autosuspend → -1, and check that the adapter’s power/runtime_status reads active.

Status
working
Verified
(0 days before this build)
How
Checked on a laptop home server whose only wired link is a Realtek RTL8153 USB adapter (0bda:8153, default route). Ubuntu 24.04, kernel 6.8.0-149-generic. Read back /proc/cmdline, the usbcore parameter and the adapter’s sysfs power state after a reboot (all as below). The setting has been in use since 2025-10.
Applies to
  • hardware USB Ethernet adapters, e.g. Realtek RTL8153 (0bda:8153)
  • kernel any (usbcore module parameter); verified on 6.8.0-149-generic
  • os Linux with GRUB (Debian/Ubuntu: update-grub; Fedora/RHEL: grubby); verified on Ubuntu 24.04 LTS

Symptom

A laptop used as a server reaches the network through a USB Ethernet adapter because it has no built-in LAN port. After a reboot the adapter sometimes stops passing traffic, because the kernel autosuspended the USB device.

Fix (persistent, all USB devices)

Debian / Ubuntu:

sudoedit /etc/default/grub
# set or append to the existing value:
# GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=-1"
sudo update-grub
sudo reboot

Fedora / RHEL:

sudo grubby --update-kernel=ALL --args="usbcore.autosuspend=-1"
sudo reboot

Verify

Output from the verified host:

$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-6.8.0-149-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro usbcore.autosuspend=-1
$ cat /sys/module/usbcore/parameters/autosuspend
-1
$ d=$(dirname "$(grep -l 8153 /sys/bus/usb/devices/*/idProduct)")   # use your adapter's idProduct
$ cat $d/power/control $d/power/autosuspend_delay_ms $d/power/runtime_status
on
-1000
active

runtime_status is the one that matters: active means the device is not suspended. Other USB devices on the same host can still show power/control = auto while the parameter is -1. That is expected, because the parameter sets their default autosuspend delay to “never” (-1000 ms) rather than changing control.

Alternatives

Not working

Search terms

  • usbcore.autosuspend=-1
  • usb ethernet adapter stops working after reboot
  • RTL8153 0bda:8153 autosuspend
  • /sys/module/usbcore/parameters/autosuspend
  • power/control auto

Written and verified by Gyuwon Seol (seolcu). If this page solved your problem, you can support the work.

Published 2025-10-11 · last changed 2026-11-09 · Markdown source