cli를 사용하여 Fedora 24에서 블루투스를 통해 파일을 수신하는 방법은 무엇입니까?

cli를 사용하여 Fedora 24에서 블루투스를 통해 파일을 수신하는 방법은 무엇입니까?

이 질문은 이전에 요청되었을 수도 있지만 작동 방법을 찾을 수 없습니다.

지금까지 내가 찾은 것(실패한 것)은 다음과 같습니다.

  • obexush를 사용하세요(해당 명령은 존재하지 않으며 가장 가까운 일치 항목은 obex_push입니다).
  • obexftpd 사용이 실패하고 "SDP 서버 등록에 실패했습니다." 연결을 기다리고 있습니다. 아무 일도 일어나지 않고 파일을 받을 수 없습니다.
  • sdptool add --channel=12 OPUSH로 인해 obex_push도 실패했습니다(12는 hcitool로 검색하여 찾은 내 휴대폰의 OPUSH 채널입니다).

지금까지는 bluetoothctl을 사용하여 내 장치를 페어링하고 연결하고 "신뢰"할 수 있으며 오디오 및 인터넷 연결을 내 컴퓨터로 스트리밍할 수 있지만 그게 전부입니다. 휴대폰에서 컴퓨터로 파일을 보내는 방법을 찾을 수 없는 것 같습니다. 이를 수행할 수 있는 방법이 있습니까? 아니면 적어도 이 모든 것이 어떻게 작동하는지에 대한 참조가 있습니까?

답변1

좋아, 그래서 작동하게 만들었습니다. 그것은 단지 bluez 5의 문제이고 bluez 4와의 하위 호환성이 부족하다는 것입니다. 내가 아는 한, 먼저 다음을 사용하여 SDP 리스너, 서비스 등을 추가해야 합니다. sdptool add OPUSHPC가 수신 전화를 수신하려면황소 밀기메시지, 버스 sdptool에는 bluez 4 API가 필요하므로 서비스를 생성할 수 없습니다. 나는 sdptool browse local이것도 실패했기 때문에 이것을 알아차렸고 , 조사를 하면서 bluez 4/5에 대해 배웠습니다. 이것이 obex_push실패의 이유이기도 하다 obexftp. 마지막으로 해결책은 --compat실행 파일에 인수를 추가하거나 시스템 파일(내 경우에는)에 인수를 추가하여 호환 모드에서 데몬을 시작하는 것이었습니다.

vi /usr/lib/systemd/system/bluetooth.service

[서비스]에서:

ExecStart=/usr/libexec/bluetooth/bluetoothd->ExecStart=/usr/libexec/bluetooth/bluetoothd --compat

실제로 기본 구성이 포함된 bluetooth.service와 compat 플래그가 포함된 bluetooth-compat.service라는 두 개의 별도 서비스 파일을 생성하여 기본값으로 설정했습니다.

]# systemctl disable bluetooth.service
]# systemctl enable bluetooth-compat.service

데몬을 다시 시작했는데 이제 sdptool이 제대로 작동하고 몇 개의 중간 크기 파일(5MB)을 전송했습니다. 엄청난.

관련 정보