무선 USB 키보드 또는 마우스 (Linux Distro 용)를 사용하여 일시 중지 몇 시간을 찾고 있었고 방금 찾았습니다.

나는 해결책을 찾기 위해 몇 시간을 찾고 있었고 방금 찾았습니다. 모든 사람과 공유하고 싶습니다. 이런 식으로 솔루션을 더 빨리 찾기 위해이 문제를 쉽게 검색 할 수 있습니다. 제목과 같이 아래에 해결책이 있습니다.



답변

터미널에 충돌 :

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

결과적으로 모든 USB가 비활성화되어 있음을 알게되었습니다. 이제 다음을 입력하십시오 :

1.

sudo su

우리는 이제 뿌리 특권을 가지고 있습니다.

2. 8 usb 포트 ( 당신은 많은 usb 포트 당신이 ), 그래서 :

echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup

계속해서 테스트하십시오. 이제 무선 또는 유선 USB 키보드 및 마우스에서 깨울 수 있습니다.

따라서 모든 단계를 활성화해야하는 이유는 다음 단계에서 재부팅 할 때마다 명령을 실행하기 위해 rc.local에 작성하고 재부팅 후에는 일부 Linux 배포판 (모두)이 USB 포트를 변경하기 때문입니다.
리눅스가 일시 중단 또는 최대 절전 모드에 있기 때문에 Wi-Fi를 사용하여 아무것도 다운로드 할 수 없으므로 의도적으로 깨우지 않으면 깨어날 수 없으므로 모든 기능을 활성화하여 문제가 발생할 염려가 없습니다. .

다음 단계:

삼.

sudo nano /etc/rc.local

그리고 2 단계의 모든 내용을 거기에 붙여 넣습니다 (물론 출구 0 전에).

그게 다야. 이제부터는 무선 USB와 마우스를 사용하여 일시 중지 상태에서 깨어날 수 있습니다.

나는 그것이 당신 모두에게 효과가 있기를 바랍니다. 이 안내서는 인터넷에서 가능한 다른 모든 솔루션을 테스트 한 후에 작성되었습니다.


답변

위의 내 가이드 외에도이 정보를 추가하고 싶습니다. 최근에 절전 모드에서 깨어 난 후 일부 무선 USB 장치가 비활성화되어 다시 돌아온다는 것을 알았습니다. 반복합니다. 일부 USB 장치 만 그렇게 할 수 있습니다. 그래서이 작은 가이드를 내 가이드에 추가하지 않았습니다.

위의 지시대로 PC를 깨우지 만 나중에는 갑자기 다시 깨지 않습니다.

해결책:

터미널을 열고 다음을 수행하십시오.

lsusb

키보드 장치 ID 정보에서 첫 번째 4 자리 숫자는 공급 업체 ID이고 다음 4 자리 숫자는 제품 ID입니다 (스크린 샷 참조).
여기에 이미지 설명을 입력하십시오

다음은

sudo nano /etc/udev/rules.d/10-wakeup.rules

여기서 “wakeup”은 원하는 스크립트 이름을 입력합니다. 숫자 10은 다른 많은 udev 규칙이있는 경우 우선 순위이며 ‘rule’이 다른 규칙보다 먼저 실행됩니다.

이를 붙여넣고 공급 업체 ID 및 제품 ID를 자신의 무선 키보드 공급 업체 ID 및 제품 ID로 바꿉니다.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 for my 무선 키보드입니다 (스크린 샷 (Bus 008)에서도 볼 수 있음).

Ctrl+ O를 눌러 저장하고 Ctrl+ X를 종료하고 재부팅합니다.


답변

Pavlos Theodorou의 답변이 매우 유용합니다. dmesggrep을 통해 두 번 연결 한 다음 egrep를 한 번 수행하고 마지막으로 tail 을 사용 하여 마우스가 최신인지 확인 하여 부팅시 마우스 / 키보드가 연결된 USB 장치를 찾을 수 있다고 덧붙이고 싶습니다. 기입.

이 방법을 사용하면 모든 USB 포트 에서 깨우기를 활성화 할 필요가 없습니다 .

다음을 내 /etc/rc.local 파일에 저장하면 한 USB 포트에서 다른 USB 포트로 이동하더라도 매번 내 logitech 수신기를 찾습니다. 그냥의 이름으로 대체 하여 “로지텍 K270″대신 dmesg 명령에서 키보드 나 마우스를

KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup

이것은 부팅시 작동하지만 일시 중단에서 깨어나지 않는 것처럼 보이므로 / lib / systemd / system-sleep /에 스크립트 파일을 넣어야했습니다. 그것은, 그것은 같은 세계적으로 실행 설정 만들고 00 내 스크립트를 다음과 같이 구성되어 99 사이의 두 자리 숫자로 시작되면 다시 substite있는 이름을 부여 하여 dmesg 명령에서 키보드 / 마우스 verbage를을 :

#!/bin/sh

# Action script to enable wake after suspend by keyboard or mouse

if [ $1 = post ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

if [ $1 = pre ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

어떤 이유로 든 설명 할 수없는 ‘포스트’수면 if 문은 다른 모든 깨우기에만 작동하지만 … ‘pre’수면 if 문은 매번 작동하는 것 같습니다.


답변

위에서 언급 한 답변 중 어느 것도 도움이되지 않았습니다. 그렇기 때문에 여기에 내 글을 게시합니다.

USB 장치의 일시 중단에서 깨우기 활성화 / 비활성화

Ubuntu 18.04를 기반으로 KDE 네온 5.16.2에서 테스트되었지만 모든 배포에서 작동합니다.

1. USB 장치 목록을 표시하여 활성화 / 비활성화하려는 장치를 식별하십시오.

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

다음과 같은 것을 얻어야합니다.

/ sys / bus / usb / devices / 3-3 / product : 코드 광 마우스
/sys/bus/usb/devices/3-4.3/product:802.11n WLAN 어댑터
/sys/bus/usb/devices/3-4.4/product:USB 수신기
/sys/bus/usb/devices/3-4/product:USB2.0 허브
/sys/bus/usb/devices/4-4/product:USB3.0 허브
/ sys / bus / usb / devices / usb1 / product : EHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb2 / product : EHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb3 / product : xHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb4 / product : xHCI 호스트 컨트롤러

2. 모든 USB 장치의 깨우기 상태를 확인하십시오.

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

결과는 다음과 같아야합니다.

/ sys / bus / usb / devices / 1-1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 2-1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 3-11 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 3-3 / power / wakeup : 사용
/sys/bus/usb/devices/3-4.4/power/wakeup : 비활성화
/ sys / bus / usb / devices / 3-4 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 4-4 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb2 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb3 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb4 / power / wakeup : 비활성화

필자의 경우 깨우기는 이전 목록에 따라 “코드 광학 마우스”인 USB 장치 3-3에 대해서만 활성화됩니다.

무선 키보드의 경우에만 일시 중지에서 깨우기를 활성화하고 나머지는 비활성화합니다. 키보드 USB 수신기는 허브에 연결되어 있으며 이전 목록 ( “USB 수신기”)의 3-4.4에 해당합니다.

3. 작업을 수행하는 스크립트를 작성하십시오.

루트 권한을 가지려면

sudo su

그런 다음 스크립트 용 파일을 만듭니다 (파일을 “usbwakeup”또는 원하는 설명이라고 할 수 있음).

nano /etc/init.d/usbwakeup

파일 내용 “SCRIPT ACTIONS”섹션을 변경하여 필요에 맞게 조정하십시오 (언젠가 다시 열면 실제로 수행 할 작업을 알기 위해 스크립트에 주석을 추가하는 것이 좋습니다).

#! / 빈 / bash
#
#######################
# 일반 정보 #
#######################
#
#-이 스크립트는 USB 장치에 대한 일시 중지에서 깨우기를 활성화 / 비활성화합니다.
#
#-스크립트에 실행 권한이 필요합니다.
#
#-시스템이 시작될 때이 스크립트를 실행하려면
# 우선 순위가 S01 인 /etc/rc3.d/의 심볼릭 링크
# (예 : /etc/rc3.d/S01usbwakeup)
#
###########################
관련 유용한 명령 #
###########################
#
#-USB 장치 식별 :
# grep. / sys / bus / usb / devices / * / product
#
#-USB 장치의 "일시 중지"상태를 확인하십시오.
# grep. / sys / bus / usb / devices / * / power / wakeup
#
#
##################
# 스크립트 액션 #
##################
#
# 광 마우스 일시 중지에서 깨우기를 비활성화합니다
에코 비활성화> / sys / bus / usb / devices / 3-3 / power / wakeup
#
# 무선 키보드 일시 중지에서 깨어날 수 있습니다
USB 포트 번호 4의 USB 3.0 허브에 연결되어 있음
에코 활성화> /sys/bus/usb/devices/3-4.4/power/wakeup

4. 실행 권한을 부여하십시오.

chmod +x /etc/init.d/usbwakeup

5. 부팅시 시작할 수 있도록 /etc/rc3.d/에 심볼릭 링크를 만듭니다.

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

시스템을 다시 시작하면 모든 것이 스크립트에 지정된대로 작동합니다. 변경 사항은 각 시스템 부팅시 실행되므로 영구적입니다.

문의 한 출처 (이 게시물 제외) :

https://ubuntuforums.org/showthread.php?t=2388336

https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/

/unix/83748/the-rc0-d-rc1-d-directories-in-etc


답변