커널 3.7.10 이상에서 USB 자동 일시 중단을 비활성화하는 방법은 무엇입니까? 옵션에서 사라져 PM에 포함 된

HTPC를 커널 3.7.10 에서 3.10.7로 업데이트했는데 CONFIG_USB_SUSPEND 가 커널 옵션에서 사라져 PM에 포함 된 것 같습니다 .

내가 직면하고있는 주요 문제는 외부 HDD가 있고 HTPC를 일시 중지하고 깨울 때 시스템에서 사용할 수 없다는 것입니다. HDD가 깨어납니다 (다시 회전하는 소리가 들립니다). 그러나 마운트 지점에 액세스하려고하면 다음 오류가 발생합니다.

ZOTAC ~ # ls /media
ls: reading directory /media: Input/output error

그리고 dmesg에서 :

[  253.278260] EXT4-fs warning (device sdb1): __ext4_read_dirblock:908: error reading   directory block (ino 2, block 0)

이전 커널에서는 CONFIG_USB_SUSPEND = N을 설정하면 HDD가 최대 절전 모드를 자체적으로 처리하고 마운트 지점에 항상 액세스 할 수 있으므로 문제가 해결됩니다. HDD가 휴면 상태이고 HTPC가 HDD의 마운트 지점에서 무언가를 필요로했을 때 HDD 자체가 문제없이 깨어나고 작동 할 것입니다.

지금은 성공하지 않고 다음을 시도했습니다.

  1. / sys / bus / usb / devices / usb * / power / control“auto” 대신 “on”으로 수동 변경하십시오 .
  2. / sys / bus / usb / devices / usb * / power / autosuspend“0” 대신 “-1″로 수동 변경하십시오 .

그러나 HTPC를 다시 깨우면 마운트 지점에 다시 액세스 할 수 없습니다. 해결 방법으로 마운트 포인트를 마운트 해제했다가 다시 마운트 할 수 있으며 문제없이 다시 작동하지만 OS가 USB 자동 일시 중지를 처리하지 않도록해야합니다.

커널 3.7.10 이상에서 usb autosuspend를 비활성화하는 방법에 대한 아이디어가 있습니까?



답변

를 들어 우분투데비안 , usbcore커널 컴파일되어 있으므로에 항목을 만들 /etc/modprobe.d것입니다 NOT 작업 : 우리는 커널 부트 매개 변수를 변경해야합니다.

/etc/default/grub파일을 편집하고 GRUB_CMDLINE_LINUX_DEFAULT행을 변경 하여 usbcore.autosuspend=-1옵션 을 추가하십시오 .

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"

참고 quit splash이미 선택했다. 따라서 다른 옵션도 유지하십시오.

파일을 저장 한 후 grub을 업데이트하십시오 :

sudo update-grub

그리고 재부팅하십시오 .

이제 autosuspend값을 확인하십시오 .

cat /sys/module/usbcore/parameters/autosuspend

그리고가 표시되어야합니다 -1.

커널 문서에는 언젠가이 매개 변수가로 autosuspend_delay_ms대신 변경 될 것이라고 명시되어 있습니다 autosuspend.


답변

커널 트리 문서 에 따르면 자동 일시 중단 유휴 지연 시간은의 autosuspend모듈 매개 변수에 의해 제어됩니다 usbcore. 초기 기본 유휴 지연을 -1로 설정하면 USB 장치의 자동 일시 중단이 방지됩니다. 선택한 장치에 대해 자동 일시 중단을 계속 활성화 할 수 있어야합니다.

usbcore.autosuspend모듈을 수동으로로드 될 때 커널 매개 변수를 설정할 수 있습니다 :

$ modprobe usbcore autosuspend=-1

또는 다음의 구성 파일에 다음 줄을 추가하여 /etc/modprobe.d:

options usbcore autosuspend=-1

usbcore커널로 컴파일 된 경우 커널 명령 행에 다음을 추가하여 매개 변수를 조정할 수 있습니다.

usbcore.autosuspend=-1

마지막으로 런타임시 다음을 수행하여 옵션을 조정할 수 있습니다.

echo -1 >/sys/module/usbcore/parameters/autosuspend

변경 사항은 모든 새 USB 장치에 영향을 미칩니다. 기존 장치는 영향을받지 않습니다.


답변

Linux Mint Debian Edition 시스템을 커널로 업그레이드 한 후 Microsoft Wheel Mouse Optical USB 및 PS / 2 Compatible과 비슷한 문제가 있습니다. 커널의 USB 전원 관리 에 의한 부적절한 자동 일시 중지 가 의심되었습니다. 데비안에서는 커널에 모듈로 컴파일됩니다 .3.10-2-amd64usbcore

명령 행에서 발행하여이를 영구적으로 변경할 수 있습니다.

sudo echo "options usbcore autosuspend=-1" | sudo tee /etc/modprobe.d/disable-usb-autosuspend.conf > /dev/null

그러나 일부 커널에는이 필요할 수 있습니다 autosuspend=0.

시스템이 initrd(대부분의 경우) 사용하는 경우 initrd커널을 위해 다시 빌드하십시오 .

예를 들면 다음과 같습니다.

uname -r
sudo dpkg-reconfigure linux-image-3.10-2-amd64

재부팅하고 다음을 확인하십시오.

cat /sys/module/usbcore/parameters/autosuspend

-1지금 당장 산출해야합니다 .


답변