2017-10-12 43 views
1

라즈베리 파이 3B (블루투스 내장)가 있습니다. bluetoothctl을 사용할 때 장치를 검색하여 원하는 장치를 쉽게 찾을 수 있습니다. 그러나 페어링 할 때 끊임없이 "페어링하지 못했습니다 : org.bluez.ErrorEautenticationFailed"가 표시됩니다. 블루투스가 2 초 후에 시간 제한을 제공하는 동안 연결하려는 장치에 10.2 초 광고 간격이 있기 때문에 누군가가 내게 그렇게했을 것이라고 말했습니다. Bluez가 기본값으로 2 초가 지나면 시간이 초과되고, 그렇다면 어떻게 변경할 수 있습니까?라즈베리 파이 3에서 블루투스 페어링 타임 아웃

감사

+0

일부 장치에서는 다른 장치에서 페어링을 시작한 경우에만 작동하는 것으로 bluetoothctl에서 발견했습니다. –

+1

불행히도, 그것은 저를 위해 작동하지 않을 것입니다. 페어링을 시도하는 장치 (TE U5600 압력 센서)에는 페어링을 시작할 버튼이 없습니다. 약 10 초마다 광고 신호를 보내는 것뿐입니다. 필자는 장치를 휴대 전화 또는 Windows와 쉽게 연결할 수 있으므로 장치가 제대로 작동하는지, 블루z/bluetoothctl에 있는지 확인하고 있습니다. 문제가 있는지 확인해야합니다. –

답변

1

당신은

sudo sed -i 's/^#IdleTimeout=.*/IdleTimeout=0/' /etc/bluetooth/input.conf 

grep meout /etc/bluetooth/input.conf 

및 해제 시간 제한과 블루투스 IDLETIMEOUT을 볼 수 있습니다 내가 모르는 무슨

sudo sed -i 's/^IdleTimeout=.*/#IdleTimeout=30/' /etc/bluetooth/input.conf 

을 취소 할 공업 지주 bluez에 대한 정한 시간 초과

0

작동하는 해결책을 찾았습니다. 외관상으로는, 문제는 커널에있다. 자동 연결 시간 제한은 2 초로 설정되어 일부 장치에 필요한 것보다 낮습니다. - 해결책은 커널에 작은 패치를 추가하여 빌드하고 사용하는 것입니다. 이 여기 지침에 따라 수행 할 수 있습니다 파일을 수정, https://www.raspberrypi.org/documentation/linux/kernel/building.md 를 자식에서 커널을 복제 한 후 포함/그물/블루투스/hci.h 이

HCI_LE_AUTOCONN_TIMEOUT의 msecs_to_jiffies을 정의 같은 외모를 변경해야하는 라인 (2000)/* 2 초 */

"2000"값을 "20000"(2 초가 아닌 20 초로 설정)으로 변경하십시오. 위의 지침에 따라 커널을 빌드하면 문제가없는 것처럼 보입니다. 새로운 커널을 빌드 할 필요가없는 더 나은 솔루션을 가진 사람이 있다면,이 프로세스는 약간 정교하기 때문에이를 듣고 싶습니다.