본문 바로가기

4.개발 및 운영 환경

[Linux] Debian 데비안에서 Bluetooth 구성

Bluetooth 검증

먼저 Bluetooth 장치가 있는지 제대로 인식했는지 확인한다. 아래 두가지 명령 중에 아무나 입력해서 출력되는지 확인한다.

dmesg | grep Bluetooth
lsusb | grep Bluetooth

Bluetooth 설치

Bluetooth을 관리할 서비스 및 유틸리티를 설치한다.

apt install bluetooth bluez-tools pulseaudio-module-bluetooth

그리고 서비스가 제대로 실행되는지 확인한다.

systemctl status bluetooth

외부장치 페어링 및 연결

hic 툴을 사용

외부장치 스캔

hcitool scan

외부장치 연결

hidd --connect <BTaddress>

외부장치 스캔은 되지만 hidd 명령을 찾을 수 없다.

bt-device 사용

외부장치 스캔

bt-device -l

외부장치 연결

bt-device -c <BTaddress>

bt-device 스캔에서 장치가 인식안된다. 관련 추가 서비스가 누락된듯하다.

bluetoothctl 사용

먼저 프로그램을 실행하고 명령을 입력하는 방식이다.

bluetoothctl

지원하는 명령은 아래와 같다.

  • 기본정보

    show
  • 외부장치 스캔

    scan on
  • 외부장치 연결

    connect <BTaddress>
  • 외부장치 페어링

    connect <BTaddress>
  • 장치 연결 해제

    disconnect <BTaddress>
  • 다른 곳에서 자신을 검색가능하려면

    discoverable on

Troubleshooting

bluetooth 서비스 상태를 확인했는데 아래처럼 sap 관련 오류 메시지가 보이는 경우이다.

Sap driver initialization failed.
sap-server: Operation not permitted (1)

서비스에서 sap을 비활성하여 재시작하면된다. 단순 재시작이 아니라 서비스를 내리고 다시 시작해야 한다.

systemctl stop bluetooth
systemctl disable bluetooth

서비스 파일인 /lib/systemd/system/bluetooth.service을 수정한다. 해당 파일이 안되는 경우 /etc/systemd/system/bluetooth.target.wants/bluetooth.service를 찾아서 수정한다.
ExecStart부분을 찾아서 뒤에 --noplugin을 추가한다.

ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap

다시 서비스를 활성화한다.

systemctl enable bluetooth
systemctl start bluetooth

서비스 상태를 확인한다.

systemctl status bluetooth
반응형

'4.개발 및 운영 환경' 카테고리의 다른 글

[autohotkey] chrome 제어하기  (0) 2023.10.24
구글 FCM 사용하기  (2) 2023.10.23
[jenkins] pipeline 사용하기  (0) 2021.11.12
[jenkins] JNLP 사용하기  (0) 2021.11.12
[jenkins] LDAP 설정  (0) 2021.11.12