베어본 리눅스 블루투스 페어링

베어본 리눅스 블루투스 페어링

KVM 없이 직렬 콘솔, 네트워크 및 Bluetooth USB 어댑터만 있는 작은 임베디드 ARM 상자가 있습니다.

시스템은 Buildroot 프레임워크를 사용하여 자동으로 컴파일하고 합리적으로 실행합니다.

직렬 회선이나 SSH를 통해 상자에 액세스할 수 있습니다.

블루투스 스택을 실행 중인데 hci0이 표시됩니다.

hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:15:83:3D:0A:57  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN AUTH
        RX bytes:7576 acl:27 sco:0 events:267 errors:0
        TX bytes:1396 acl:27 sco:0 commands:130 errors:0

스캔할 수도 있고, 외부에서 "보이게" 만들 수도 있습니다.

안드로이드폰과 페어링을 해야 하는데 주소를 찾았는데 인증을 처리할 수 있는 방법이 없었습니다.

# hcitool scan
Scanning ...
        A0:F8:95:54:C8:00       Wiko MCondarelli
# rfcomm connect hci0 A0:F8:95:54:C8:00 1
Can't connect RFCOMM socket: Operation now in progress

결과는 다음과 같습니다.

< HCI Command: Inquiry (0x01|0x0001) plen 5
    lap 0x9e8b33 len 8 num 0
> HCI Event: Command Status (0x0f) plen 4
    Inquiry (0x01|0x0001) status 0x00 ncmd 1
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -77
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -77
> HCI Event: Inquiry Result with RSSI (0x22) plen 15
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c class 0x5a020c rssi -76
> HCI Event: Inquiry Complete (0x01) plen 1
    status 0x00
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr A0:F8:95:54:C8:00 mode 1 clkoffset 0x6d1c (valid)
> HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
> HCI Event: Remote Name Req Complete (0x07) plen 255
    status 0x00 bdaddr A0:F8:95:54:C8:00 name 'Wiko MCondarelli '
< HCI Command: Create Connection (0x01|0x0005) plen 13
    bdaddr A0:F8:95:54:C8:00 ptype 0xcc18 rswitch 0x01 clkoffset 0x6d1c (valid)
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5
> HCI Event: Command Status (0x0f) plen 4
    Create Connection (0x01|0x0005) status 0x00 ncmd 1
> HCI Event: Link Key Request (0x17) plen 6
    bdaddr A0:F8:95:54:C8:00
> HCI Event: Connect Complete (0x03) plen 11
    status 0x10 handle 42 bdaddr A0:F8:95:54:C8:00 type ACL encrypt 0x00
    Error: Connection Accept Timeout Exceeded

나는 다음과 같은 이유로 확실히 "전통적인" 페어링을 선택했습니다.

# hciconfig hci0 sspmode 1
Can't set Simple Pairing mode on hci0: Input/output error (5)

위 명령의 추적은 다음과 같습니다.

< HCI Command: Write Simple Pairing Mode (0x03|0x0056) plen 1
    mode 0x01
> HCI Event: Command Status (0x0f) plen 4
    Write Simple Pairing Mode (0x03|0x0056) status 0x01 ncmd 1
    Error: Unknown HCI Command

내가 이해한 바에 따르면 이는 내 하드웨어가 보안 단순 페어링을 지원하지 않는다는 의미입니다. 내 시스템에는 BlueZ v3.57이 있지만 hcid, bluetooth-agent, Password-agent 또는 bluez-simple-agent는 없습니다.

기본 도구만 사용하여 페어링하는 방법은 무엇입니까? 이것이 가능하지 않은 경우: 내 상자에 설치해야 하는 최소값은 얼마입니까?

관련 정보