하드웨어

[하드웨어] 블루투쓰 USB 동글 동작하지 않을 경우

by zharyong posted Apr 24, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

 USB Bluetooth의  Bluetooth: hci0: hardware error 0x35 오류 대처


USB Bluetooth 동글을 USB 포트에 끼운 후에 dmesg 명령으로 블루투스 동작 여부를 확인해 보면 다음과 같은 오류 메시지가 나오는 경우가 있습니다.


 Bluetooth: hci0: hardware error 0x35


상기 오류 메시지를 커널 메시지에서 보여 주면서 블루투스 동작이 안 될 때는 먼저 블루투쓰 데몬이 정상적으로 동작하고 있는지를 체크해봐야 합니다.


그러면 블루투쓰 데몬을 띄우기 전에 블루투스 동글을 커널에서 인식하는지 여부를 확인해 볼까요?

먼저 lsusb 명령으로 블루투스 동글 장치에 대한 정보가 있는지를 확인합니다.

 [dumca@localhost ~]$ lsusb
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 005 Device 007: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
 Bus 005 Device 002: ID 1a81:1004 Holtek Semiconductor, Inc.
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 002: ID 046d:c52f Logitech, Inc. Unifying Receiver
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 [dumca@localhost ~]$


상기 메시지에서는 CSR 블루투쓰 동글을 사용하고 있음을 보여 줍니다. 이번에는 lsmod 명령으로 USB 블루투스 모듈이 동작하였는지를 확인해 봅니다.

 [dumca@localhost ~]$ lsmod | grep btusb
 btusb                  40960  0
 btintel                16384  1 btusb
 btbcm                  16384  1 btusb
 btrtl                  16384  1 btusb
 bluetooth             299008  9 rfcomm,bnep,btusb,btintel,btbcm,btrtl
 [dumca@localhost ~]$


만일 커널에서 지원하는 블루투스 동글임에도 불구하고 모듈이 동작하질 않았다면 modprobe btusb 명령을 실행해 줍니다.


이번에는 dmesg 명령으로 커널에서 블루투스 동글에 대한 정보를 확인해 봅니다. 이 명령을 실행하기전에 블루투스 동글을 USB 포트에서 뺏다가 다시 끼워 놓습니다. 이전 메시지와 구별하기 위함입니다.


 [53521.402332] usb 5-5: USB disconnect, device number 7
 [53524.840211] usb 5-4: new full-speed USB device number 8 using ohci-pci
 [53525.072007] usb 5-4: New USB device found, idVendor=0a12, idProduct=0001
 [53525.072011] usb 5-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
 [53525.438194] Bluetooth: hci0: hardware error 0x35


커널 메시지에서 hci0 장치에 대한 오류가 있음을 확인할 수 있습니다. 만일 이 오류가 없는 시스템이라면 블루투스 데몬이 정상적으로 동작하고 있는 것입니다.


 [dumca@localhost ~]$ hciconfig hci0
 hci0:   Type: Primary  Bus: USB
        BD Address: 00:15:83:EC:11:7E  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING
        RX bytes:2000 acl:0 sco:0 events:70 errors:0
        TX bytes:757 acl:0 sco:0 commands:62 errors:0

 [dumca@localhost ~]$


그러면 블루투스 데몬이 동작하고 있는지를 확인해 봅니다.

 [dumca@localhost ~]$ ps ax | grep blue
   2036 pts/1    S+     0:00 grep --color blue
   4129 ?        S      0:00 /usr/libexec/bluetooth/obexd
 25060 ?        Sl     0:00 /usr/bin/kcmshell5 bluedevildevices bluedeviladapters bluedevilglobal
 28460 ?        Sl     0:00 /usr/bin/kcmshell5 bluedevildevices bluedeviladapters bluedevilglobal
 [dumca@localhost ~]$


블루투스 데몬이 동작하지 않고 있음으로 루트 권한으로 백그라운드 모드로 블루투스 데몬을 띄웁니다.

 [dumca@localhost ~]$ su
 암호:
 [root@localhost dumca]# bluetoothd &
 [1] 6475
 [root@localhost dumca]#


블루투스 동글을 다시 끼우고나서 dmesg 명령으로 커널  메시지를 확인해 보면 더 이상 오류 메시지가 발생되지 않습니다. hciconfig hci0 명령을 실행해 보면 아까하고는 다소 차이가 있을 겁니다. 초록색 표시된 부분이 추가로 나타나죠?

 [root@localhost dumca]# hciconfig hci0
 hci0:   Type: Primary  Bus: USB
         BD Address: 00:15:83:EC:11:7E  ACL MTU: 310:10  SCO MTU: 64:8
         UP RUNNING PSCAN ISCAN
         RX bytes:1360 acl:0 sco:0 events:90 errors:0
         TX bytes:4765 acl:0 sco:0 commands:87 errors:0

 [root@localhost dumca]#


블루투스 데몬이 정상적으로 구동되면 패널에 블루투스 시스템 트레이 아이콘이 나타납니다.

blue1.png

오른쪽 마우스를 클릭하여 [블루투스 설정]을 선택합니다.

blue2.png

[어탭터] 메뉴를 클릭해 보면 블루투스 장치에 대한 정보를 확인할 수 있습니다. 만일 데몬이 동작하질 않는다면 어탭터를 찾을 수 없다는 메시지가 있을 것입니다.

blue3.png


이제 블루투스 동글이 정상적으로 동작하고 있음을 확인하였습니다. 


이와 같이 0x35 오류 메시지는 블루투스 동글에 문제가 있는 것이 아니라 블루투스 데몬 동작에 문제가 있는 것이므로, 부팅할 때 블루투스 데몬이 기본적으로 동작하게 끔 하여 사용하는 것이 편리할 것입니다.


블루투스 초보자들을 위해 좀 장대하게  설명을 드렸습니다. 여기서 설명하지 않은 블루투스 조작 관련 명령어들이 있는데, 어느 정도 블루투스 설정에 익숙해지면 구글 검색을 통해서 hciconfig나 rfkill 등의 명령어에 대해서도 익혀 보기 바랍니다.



Articles

1 2 3 4 5 6 7 8 9 10