Unix & Linux Asked on January 5, 2022
I’ve updated my HTPC from kernel 3.7.10 to 3.10.7 and it seems CONFIG_USB_SUSPEND is now gone from the kernel options and included in PM.
The main problem I’m facing is that I have an external HDD and when suspending and waking up the HTPC, it isn’t available to the system. The HDD wakes up (you can hear it spin up again), but when you try to access the mount point you get the following error:
ZOTAC ~ # ls /media ls: reading directory /media: Input/output error
And on dmesg:
[ 253.278260] EXT4-fs warning (device sdb1): __ext4_read_dirblock:908: error reading directory block (ino 2, block 0)
In previous kernels, setting CONFIG_USB_SUSPEND=N would solve the problem, as the HDD would handle its hibernation by itself and the mount point was always accesible. When the HDD was on sleep and the HTPC needed something from the HDD’s mount point, the HDD itself would wake up and operate without issues.
Right now I’ve tried the following without success:
But when waking up again the HTPC, the mount point is again inaccesible. As workarround I can unmount and remount the mount point and it works again without problems, but I’m sure there should be a way to avoid having the OS handle the usb autosuspend.
Any idea how to disable usb autosuspend on kernel 3.7.10 or above?
For Ubuntu and Debian,
usbcore is compiled in to the kernel, so creating entries in
/etc/modprobe.d will NOT work. Instead, we need to change the kernel boot parameters.
/etc/default/grub file and change the
GRUB_CMDLINE_LINUX_DEFAULT line to add the
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
quiet splash were already present options. So keep other options you have too.
After save the file, update grub:
And it should display
In the kernel documentation is stated that someday in the future this param will change to
autosuspend_delay_ms (instead of
autosuspend), but so far, still the same name.
The documentation for the value
-1 can be found in the kernel source file
1808: * - If user has indicated to prevent autosuspend by passing 1809: * usbcore.autosuspend = -1 then keep autosuspend disabled.
Answered by Rael Gugelmin Cunha on January 5, 2022
I have a similar issue with a Microsoft Wheel Mouse Optical USB and PS/2 Compatible since upgrading a Linux Mint Debian Edition system to kernel
3.10-2-amd64. An inappropriate autosuspend by the kernel's USB power management was suspected. In Debian, this is compiled as the
usbcore module into the kernel.
You can change this permanently by issuing at the command line:
sudo echo "options usbcore autosuspend=-1" | sudo tee /etc/modprobe.d/disable-usb-autosuspend.conf > /dev/null
Some kernels might require
If your system uses
initrd (most probably does), then rebuild the
initrd for your kernel.
uname -r sudo dpkg-reconfigure linux-image-3.10-2-amd64
Reboot and check with:
which should yield
Answered by Serge Stroobandt on January 5, 2022
According to the kernel tree documentation, the autosuspend idle-delay time is controlled by the
autosuspend module parameter in
usbcore. Setting the initial default idle-delay to -1 will prevent the autosuspend of any USB device. You should still be able to to enable autosuspend for selected devices.
usbcore.autosuspend kernel parameter can be set when the module is loaded manually:
$ modprobe usbcore autosuspend=-1
or by adding the following line to a configuration file in
options usbcore autosuspend=-1
usbcore is compiled into the kernel, parameter can be adjusted by adding the following to the kernel command line:
Lastly, the option may be adjusted at runtime by doing:
echo -1 >/sys/module/usbcore/parameters/autosuspend
The change will affect all new USB devices. Already existing devices will not be affected.
Answered by Thomas Nyman on January 5, 2022
2 Asked on January 24, 2021 by codeholic24
0 Asked on January 24, 2021 by hahasajk
4 Asked on January 24, 2021 by nitins
0 Asked on January 23, 2021 by mat-contras
1 Asked on January 23, 2021 by strae
1 Asked on January 23, 2021 by daniel-quinn
1 Asked on January 22, 2021 by bluekingwhite
2 Asked on January 21, 2021 by elegant-codeworks
0 Asked on January 21, 2021 by calumah
1 Asked on January 21, 2021 by ava
0 Asked on January 21, 2021 by novicefedora
1 Asked on January 20, 2021 by plugwash
1 Asked on January 20, 2021 by hakk
0 Asked on January 20, 2021 by valentin
1 Asked on January 19, 2021 by user10345633
Get help from others!