장치 설명
방금 무선 xbox one 컨트롤러인 새 게임패드를 구입했습니다. 정확한 변형 이름을 어떻게 지정해야 할지 모르겠지만, 프로 제품이 아닌 원래 제품이고 dpad가 채워져 있고 USB 포트가 있습니다. C포트로 보아 꽤 최근 모델인 것 같습니다.
이전 컨트롤러는 훌륭하게 작동했습니다. 특정 컨트롤러가 무엇인지는 모르겠지만 Dpad가 채워져 있지 않으며 마이크로 USB 포트도 있습니다.
문제
새 컨트롤러를 사용하여 페어링 및 연결을 시도하면 bluetoothd에서 오류 메시지가 표시되고 연결이 이루어진 후 즉시 연결이 발생하지 않거나 끊어집니다.
내가 사용하는 bluetoothctl 명령은 다음과 같습니다.
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: yes
[NEW] Device 44:16:22:7A:58:B3 Xbox Wireless Controller
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Key: 0x0006
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Value:
03 00 80 ...
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Key: 0x0006
[CHG] Device 44:16:22:7A:58:B3 ManufacturerData Value:
00 .
[bluetooth]# scan off
Discovery stopped
[CHG] Device 44:16:22:7A:58:B3 TxPower is nil
[CHG] Device 44:16:22:7A:58:B3 RSSI is nil
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: no
[Xbox Wireless Controller]# pair 44:16:22:7A:58:B3
Attempting to pair with 44:16:22:7A:58:B3
[CHG] Device 44:16:22:7A:58:B3 Paired: yes
Pairing successful
[CHG] Device 44:16:22:7A:58:B3 Connected: no
[bluetooth]# trust 44:16:22:7A:58:B3
[CHG] Device 44:16:22:7A:58:B3 Trusted: yes
Changing 44:16:22:7A:58:B3 trust succeeded
[bluetooth]# connect 44:16:22:7A:58:B3
Attempting to connect to 44:16:22:7A:58:B3
Failed to connect: org.bluez.Error.Failed
bluetoothd가 출력하는 오류(다음으로 시작됨 /usr/lib/bluetooth/bluetoothd -n
:
bluetoothd[354718]: profiles/deviceinfo/deviceinfo.c:read_pnpid_cb() Error reading PNP_ID value: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:info_read_cb() HID Information read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: src/service.c:service_accept() input-hog profile accept failed for 44:16:22:7A:58:B3
bluetoothd[354718]: profiles/input/hog-lib.c:info_read_cb() HID Information read failed: Encryption required before read/write
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Encryption required before read/write
bluetoothd[354718]: profiles/input/hog-lib.c:report_map_read_cb() Report Map read failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[354718]: profiles/battery/battery.c:batt_io_ccc_written_cb() Battery Level: notifications not enabled Request attribute has encountered an unlikely error
로그는 기본적으로 이와 유사한 오류 메시지로 스팸 처리됩니다.
전체 bluetoothctl 세션 로그:http://tcp.st/eaesd
전체 bluetoothd 출력(페어링을 시도하기 전에 몇 가지 줄바꿈을 추가했습니다):http://tcp.st/vx933
(링크는 2021년 11월 20일까지 유효함)
두 개의 서로 다른 Arch Linux 시스템에서 이것을 시도했는데 결과는 비슷했습니다. 그러나 Android 장치와 페어링하면 완벽하게 작동하므로 컨트롤러 자체가 제대로 작동한다고 가정합니다.
실제 질문
이러한 오류는 실제로 무엇을 의미합니까? "예상치 못한 오류"는 가장 설명적인 오류 메시지가 아닙니다. 자세한 정보를 어떻게 찾을 수 있습니까? "읽기/쓰기 전에 암호화가 필요합니다"라는 오류도 있습니다. 이것이 필요한 경우 Bluetooth가 암호화되지 않는 이유는 무엇입니까? 이 요구사항을 끌 수 있나요? 아니면 계약의 일부인가요?
이상적으로 제 질문은 "이 문제를 어떻게 해결합니까?"입니다. 그러나 대답을 아는 사람이 있는지 확실하지 않으므로 이 문제를 디버깅하는 방법에 대한 몇 가지 팁을 주시면 감사하겠습니다.
답변1
그래서 마침내 성공하게 됐어요. 해결책은 다음 줄을 섹션에 추가하는 것 /etc/bluetooth/main.conf
입니다 [General]
.
Privacy = device
여전히 완벽하게 작동하지 않습니다. 버튼을 누른 후 등록하는 사이에 눈에 띄는 지연이 있지만 연결은 설정됩니다.