시스템 대기모드 해제 후 usb가 활성화 되지 않을 때 대처법

by 마이쮸가이 posted Oct 04, 2022
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

리눅스를 사용하다 보면 시스템 대기모드 해제 후에도 usb가 

절전모드에서 깨어나지 못하는 때가 있는데

tlp 관련 autosuspend 설정을 비활성화 한 후에도 동일한 증상이

발생할 때 사용해 볼 수 있는 방법입니다.

 

우선 TLP 설정을 변경해 보고 이후에도 변화가 없다면 시도해 보시면 좋습니다.

 

해당 방법은 터미널 명령어를 통해 usb 디바이스 목록과 각 디바이스에 wakeup 설정을

확인하고 각 디바이스를 특정하여 wakeup 설정을 변경하는 스크립트를 작정해 시스템에

적용해 주는 방식으로 진행됩니다.

 

 

1. 우선 시스템에 등록된 usb 디바이스를 확인합니다.

 

터미널을 열고

 

grep . /sys/bus/usb/devices/*/product    

 

엔터하면 아래 예시와 같이 목록이 나타납니다.

 

#### 예시

 

/sys/bus/usb/devices/2-1.1/product:USB Optical Mouse

/sys/bus/usb/devices/2-1.3.1/product:USB Hub/Keyboard

/sys/bus/usb/devices/2-1.3/product:Generic USB Hub

/sys/bus/usb/devices/2-1/product:USB2.0 Hub

/sys/bus/usb/devices/2-5/product:ATIV VGA Camera

/sys/bus/usb/devices/2-8/product:USB2.0-CRW

/sys/bus/usb/devices/usb1/product:EHCI Host Controller

/sys/bus/usb/devices/usb2/product:xHCI Host Controller

/sys/bus/usb/devices/usb3/product:xHCI Host Controller

 

 

목록을 메모장에 복사해고 필요한 디바이스가 어떤 것인지 특정합니다.

특히 devices 이후에 숫자를 확인합니다.

 

 

2. usb 디바이스들의 설정을 확인합니다.

 

터미널을 열고

 

grep . /sys/bus/usb/devices/*/power/wakeup

 

엔터하면 아래와 같은 목록이 나옵니다.

 

#### 예시

 

/sys/bus/usb/devices/1-1/power/wakeup:disabled

/sys/bus/usb/devices/2-1.1/power/wakeup:disabled

/sys/bus/usb/devices/2-1.3.1/power/wakeup:disabled

/sys/bus/usb/devices/2-1.3/power/wakeup:disabled

/sys/bus/usb/devices/2-1/power/wakeup:disabled

/sys/bus/usb/devices/2-4/power/wakeup:disabled

/sys/bus/usb/devices/2-8/power/wakeup:disabled

/sys/bus/usb/devices/usb1/power/wakeup:disabled

/sys/bus/usb/devices/usb2/power/wakeup:disabled

/sys/bus/usb/devices/usb3/power/wakeup:disabled

 

목록 끝부분에 enabled가 되어 있다면 문제가 없겠으나

보통은 문제가 발생하는 경우는 예시와 같이 disabled 로 되어 있습니다.

이번에 나온 목록도 메모장에 복사하고 1 의 목록과 숫자를 비교하여

필요한 디바이스와 그 옵션 상황을 특정합니다.

 

 

3-1. 방법 1

 

부팅마다 실행될 rc.local 에 wakeup 활성화하는 명령어를 기입합니다.

 

 

sudo nano /etc/rc.local 하여 편집기를 열고 1 과 2에서 확인하여 특정된

 

필요한 usb를 아래 예시를 참고하여 본인에게 필요한 활성화 옵션 명령어를 입력합니다.

 

#### 예시 -  devices/2-1.3.1/product:USB Hub/Keyboard

            devices/2-1.1/product:USB Optical Mouse

인 usb 키보드와 마우스를 활성화 할때

 

 

echo enabled > /sys/bus/usb/devices/2-1.1/power/wakeup

echo enabled > /sys/bus/usb/devices/2-1.3.1/power/wakeup

 

를 편집기를 이용 rc.local 에 입력 후 저장, 재부팅하면 적용됩니다.

 

 

3-2. 방법 2 ( 시스템에 따라 방법 1이 잘 적용되지 않을 때 시도 합니다.)

 

터미널을 열고 

 

sudo su

 

nano /etc/init.d/usbwakeup

 

엔터하여 편집창을 열어 주고 방법 1에서와 같이 디바이스에 따른 명령어를 입력해 주고 저장합니다.

 

#### 예시 

 

echo enabled > /sys/bus/usb/devices/2-1.1/power/wakeup

echo enabled > /sys/bus/usb/devices/2-1.3.1/power/wakeup

 

혹 데스크탑 사용자나 노트북 사용자지만 전력관리에 큰의미가 없다면

아래 예시 한줄로 디바이스를 특정하지 않고 통으로 usb 모두를 깨울수 있습니다.

(사실 이 방법이 가장 편합니다.)

 

#### 예시

 

echo enabled | tee /sys/bus/usb/devices/*/power/wakeup

 

 

선택한 명령어를 입력하고 저장이 끝났으면 아래 명령어 순으로 실행권한 부여와

시스템 부팅시 적용될 수 있도록 링크를 걸어 마무리 합니다. 

 

chmod +x /etc/init.d/usbwakeup

 

sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup

 

 

여기까지 진행 되었으면 재부팅하여 터미널을 열고 

 

grep . /sys/bus/usb/devices/*/power/wakeup

 

 

엔터하여 잘 적용되어 있는지 확인하고 마무리 합니다. :)

 

 

 

참고링크 : https://askubuntu.com/questions/848698/wake-up-from-suspend-using-wireless-usb-keyboard-or-mouse-for-any-linux-distro

 

 

 


Articles

1 2 3 4 5 6 7 8 9 10