내가 찾은 것
내가 찾은 몇 가지를 설명하기 위해 시간이 걸릴 것입니다. 이것은 사람들이 왜 이것이 그렇게 복잡한 과정인지, 그리고 적어도 그들을 위해 더 나은 과정을 만들기 위해 무엇을 할 수 있는지 이해하는 데 도움이되어야합니다.
먼저 MBP의 Bluetooth 라디오는 "USB"장치입니다. 이것은 랩톱 및 일부 데스크톱에서 매우 일반적입니다. 그 때문에 Linux는 USB 장치로 취급하므로 적절하게 구성 할 수 있습니다.
둘째, Bluetooth 라디오에는 두 가지 모드가 있습니다. HID 모드는 키보드와 마우스에만 매우 기본적인 "프로필"입니다. 이 모드는 Bluetooth 장치를 관리하는 응용 프로그램이 있기 전에 키보드를 사용할 수있게합니다. 예를 들어 GRUB 메뉴에서 Bluetooth 키보드를 사용하는 경우 HID 모드입니다. 랩톱과 키보드는 여전히 페어링해야하지만 문제 나 개입없이 (한 번 페어링하면)이 매우 낮은 수준에서 작동 할 수 있습니다. 그러나 HID 모드는 매우 제한되어 있으며 특정 기능이 작동하지 않습니다. 예를 들어 키보드의 배터리 잔량이 작동하지 않습니다. 또한 HID 모드에서 기능 키와 미디어 키로 어려움을 겪었습니다 (이 키보드에서는 동일한 키이며 소프트웨어로 전환 할 수 있습니다).
다음으로 키보드가 랩탑에 "무언가"를 보내도록해야합니다. 또한 "무언가"를 받으려면 랩탑이 필요합니다. 그런 다음 랩톱을 실제로 깨우려면 모든 것을 묶어야합니다.
마지막으로 Linux, Ubuntu, Bluez 또는 다른 사람은 모든 Bluetooth 컨트롤러가 HCI 모드에서 작동해야한다고 생각하는 것 같습니다. 이 키보드조차도 HID 모드에서 매우 제한적이며 간단한 마우스 및 키보드 이외의 모든 것 (예 : 휴대폰 또는 헤드셋)에는 HCI 모드가 필요하다는 것을 감안할 때 이것은 아마도 제정신이 아닐 수 있습니다. 그러나 HCI 모드를 실행하려면 전체 소프트웨어 스택이 필요하며 랩톱이 일시 중지 / 절전 / 전원이 꺼진 동안에는 실행되지 않습니다. 따라서 기본적으로 랩톱이 잠 자면 키보드 연결이 끊어지고 청취가 종료됩니다.
작동시키기위한 실제 단계
0 단계 : 해결 방법
내가이 일을 할 때 나는 문제를 해결하기 위해 아무것도 할 수 없다는 사실에 매우 좌절했습니다. 노트북이 잠자기 상태 일 때는 아무 것도 할 수 없으며, 적어도 Mac Book Pro를 사용하면 잠자기 전에 뚜껑을 닫을 수 없습니다. 따라서 왼쪽은 비디오가 작동하지 않거나 (도킹 해제되었을 때 연결되지 않은 외부 모니터로 연결되기 때문에) 작동하지 않거나 페어링되지 않은 / 무엇이든 키보드가없는 모든 것을 볼 수 있습니다. 내부는 액세스 할 수 없습니다). 이 문제를 해결하려면 문제가 발생해야합니다. LDM의 로그인 화면에서 비주얼 키보드를 사용하십시오. 비밀번호 프롬프트가 표시되면 사용자 전환을 클릭 한 다음 시각적 키보드를 사용하여 로그인 할 수 있습니다. 동일한 사용자로 로그인하면 세션이 손실되지 않습니다. 나는 말했다
1 단계 : 키보드를 사전 페어링합니다.
테스트하면서이 단계가 필요하다는 것을 알았습니다. 그러나 이유를 완전히 이해하지 못합니다. 애플은 이상한 일을하기 때문에 그냥 놓아 두겠다.
- PRAM / NVRAM / 무엇이든 재설정하십시오. 이렇게하면 현재 OS X 설정이 지워지고 필요하지 않지만 깨끗하게 시작하는 것이 좋습니다. Apple 지원 웹 사이트에는 지침이 있습니다. PMU를 재설정 할 필요는 없습니다.
- OS X을 시작하거나 재시작하고 키보드를 정상적으로 페어링하십시오. 다른 모든 Bluetooth 장치를 끄고 키보드에 집중하는 것이 좋습니다. 내가 말할 수있는 것은 NVRAM과 모든 키보드에 일부 정보를 저장하여 전원이 꺼진 랩톱과 통신합니다.
- 고급 (OS X에서 페어링 된 경우)을 클릭하고 "블루투스 장치가 컴퓨터를 깨우도록 허용"을 선택하십시오. 다시 한번 애플 지원 웹 사이트에 지침이 있습니다
- 컴퓨터를 Linux로 다시 시작하십시오. 부팅하는 동안 ReFIT / GRUB /에서 키보드가 정상적으로 작동합니다.
2 단계 : 키보드를 사용하여 Linux 작동
어떤 이유로 로그인하면 키보드가 느슨해집니다. Bluetooth 컨트롤러가 HCI 모드로 전환 되었기 때문일 수 있습니다. 이 문제를 해결하려면 Linux에서 페어링해야합니다. 이렇게하면 1 단계에서 수행 한 페어링이 끊어 지지만 랩탑의 전원이 꺼 지거나 부팅 될 때 HID 모드가 중단되지는 않습니다. 즉, 재부팅하면 블루투스 스택이 HCI 모드에서 완전히 다시 실행될 때까지 키보드가 작동하지 않습니다. 키보드가 HCI 모드에서 대화하려고하지만 아무도 듣지 않기 때문입니다. 종료하고 연결 시간이 초과 될 때까지 기다리면 키보드가 HID 모드에서 다시 작동합니다.
- 실행하여 bluez-compat를 설치
sudo apt-get install bluez-compat
하면 쉽게 페어링 할 수 있습니다. Bluetooth 관리자가 없으면 나를 위해 추락했습니다.
- 키보드와 Linux를 정상적으로 페어링하십시오.
Bluetooth
Unity Dash에서 실행 하고 더하기를 클릭하십시오. 키보드를 페어링 모드로 설정하고 (Apple Wireless 키보드의 전원 버튼을 누른 상태로) 지침을 따르십시오. 아주 매끄럽게 페어링해야합니다. 이 시점에서 키보드는 Linux에서 정상적으로 작동하며 랩톱이 잠자기 상태 일 때 HID 컨트롤러로 신호를 보냅니다.
3 단계 : 리눅스에 깨우기
이제 블루투스 장치가 "무언가"가되면 리눅스가 깨어나도록해야한다. 이 사이트 의 스크립트 덕분에 이렇게하는 것이 매우 쉽습니다 . 기본 지침은 아래에 있지만 확실하지 않은 경우 사이트를 읽어야 합니다 . 이 모든 것이 연결된 사이트에서 제공됩니다.
- 일부 의존성 설치
sudo apt-get install notify-send zenity
- udev 이력서 스크립트를 다운로드 하고 / usr / local / sbin / enable-wakeup에 복사하십시오.
- 장치 선택 스크립트를 다운로드 하여 / usr / local / sbin / select-resume-devices로 복사하십시오.
- 스크립트를 실행 가능하게 만드십시오 :
chmod a+x /usr/local/sbin/select-resume-devices
및 chmod a+x /usr/local/sbin/enable-wakeup
.
- 장치 선택 스크립트를 루트 권한으로 실행하십시오.
sudo /usr/local/sbin/select-resume-devices
- 최소한 "Apple, Inc. Bluetooth 호스트 컨트롤러", "Belkin Components B8T017 Bluetooth + EDR 2.1", "Apple Inc. 내부 키보드 / 트랙 패드 (ANSI)"및 컴퓨터를 재개하는 데 사용할 기타 장치를 선택하십시오. .
- 확인을 클릭하십시오.
- /etc/udev/rules.d/90-hid-wakeup-enable.rules 파일을 검토하고 의미가 있는지 확인하십시오.
- 컴퓨터를 다시 시작하십시오.
4 단계 : 테스트 및 캐치
컴퓨터를 다시 시작한 후 모든 것이 제대로 작동합니다. 다시 로그인하면 컴퓨터가 어떻게 든 잠자기 모드로 전환됩니다. 키보드의 키를 치면 랩톱이 다시 시작됩니다. 그러나 몇 가지 잡기가 있습니다.
- 컴퓨터가 절전 모드 인 경우 HID 장치를 찾습니다. 키보드는 HID 모드에서 시작합니다. 휴면 모드에서 다시 시작하면 Linux는 HCI 장치를 찾고 있습니다. 랩탑이 아닌 키보드가 연결을 재설정해야합니다. 약 45 초 후에 자연스럽게 발생합니다. 배터리를 제거하여 배터리를 강제로 장착 할 수 있지만 페어링이 엉망이 될 수 있습니다. 키보드를 사용하여 절전 모드에서 다시 시작하지 않으면 문제가되지 않습니다.
- 재부팅 할 때 키보드는 여전히 HCI 모드에서 통신을 시도하지만 랩톱은 HID 장치 만 찾습니다. 시간 초과 후 키보드는 다시 키보드를 가져오고 올바르게 작동합니다.