Debian Stretch에서 SRS-XB40 Bluetooth 스피커를 사용할 때 발생하는 문제

Debian Stretch에서 SRS-XB40 Bluetooth 스피커를 사용할 때 발생하는 문제

페어링 하려고 하는데SRS-XB40Debian Stretch 데스크탑을 갖춘 휴대용 스피커입니다.

스피커는 설정 GUI를 사용하여 Mint 노트북에서 제대로 작동합니다.

블루맨을 설치했습니다. 작동하지 않아서 펌웨어 Linux도 백포팅된 버전(20170823)으로 업그레이드했습니다.

하드웨어

기기는 Dell XPS 630i입니다.

hciconfig -a
hci0:   Type: Primary  Bus: USB
        BD Address: 00:1C:26:DD:18:A9  ACL MTU: 1017:7  SCO MTU: 64:1
        UP RUNNING PSCAN 
        RX bytes:2607 acl:0 sco:0 events:153 errors:0
        TX bytes:1739 acl:0 sco:0 commands:125 errors:0
        Features: 0xff 0xfe 0x8d 0xfe 0x9b 0xf9 0x00 0x80
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
        Link policy: RSWITCH HOLD SNIFF 
        Link mode: SLAVE ACCEPT 
        Name: 'ChromeLinux_6529'
        Class: 0x1c0104
        Service Classes: Rendering, Capturing, Object Transfer
        Device Class: Computer, Desktop workstation
        HCI Version: 2.0 (0x3)  Revision: 0x214c
        LMP Version: 2.0 (0x3)  Subversion: 0x41f4
        Manufacturer: Broadcom Corporation (15)

소프트웨어

Linux 4.15.0-0.bpo.2-amd64 #1 SMP Debian 4.15.11-1~bpo9+1 (2018-04-07) x86_64 GNU/Linux
firmware-amd-graphics 20170823-1~bpo9+1
firmware-linux 20170823-1~bpo9+1
firmware-linux-nonfree 20170823-1~bpo9+1
firmware-misc-nonfree 20170823-1~bpo9+1
bluez 5.43-2+deb9u1
bluez-obexd 5.43-2+deb9u1
blueman 2.0.4-1

블루투스 서비스가 시작되었습니다

Bluetooth 서비스가 올바르게 시작됩니다.

# systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-05-07 13:47:15 CEST; 33min ago
     Docs: man:bluetoothd(8)
 Main PID: 679 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─679 /usr/lib/bluetooth/bluetoothd --noplugin=sap

mai 07 13:47:15 bouzin bluetoothd[679]: Excluding (cli) sap
mai 07 13:47:15 bouzin systemd[1]: Started Bluetooth service.
mai 07 13:47:15 bouzin bluetoothd[679]: Bluetooth management interface 1.14 initialized
mai 07 13:47:15 bouzin bluetoothd[679]: Failed to obtain handles for "Service Changed" characteristic
mai 07 13:50:14 bouzin bluetoothd[679]: Endpoint registered: sender=:1.41 path=/MediaEndpoint/A2DPSource
mai 07 13:50:14 bouzin bluetoothd[679]: Endpoint registered: sender=:1.41 path=/MediaEndpoint/A2DPSink

제가 수집한 정보에 따르면,

Failed to obtain handles for "Service Changed" characteristic

경고는 무해해야 합니다.

기기 설정

Blueman 애플릿에서 스피커를 "설정"할 수 있지만 페어링할 수는 없습니다.

페어링하려면 스피커의 "페어" 버튼을 눌러 페어링 모드로 전환한 다음 애플릿에 페어링을 요청했습니다. 오류가 발생합니다.

bluetoothctl을 사용하면 다음과 같이 표시됩니다.

Failed to pair: org.bluez.Error.AuthenticationFailed

올드 블루맨 버그

로그에 다음 오류가 표시됩니다.

mai 07 14:23:30 bouzin bluetoothd[679]: vendor 0x0 product: 0x0
mai 07 14:23:30 bouzin bluetoothd[679]: Agent /org/blueman/agent/global replied with an error: org.freedesktop.DBus.Python.KeyError, Traceback (most recent call last):
                                          File "/usr/lib/python3/dist-packages/dbus/service.py", line 707, in _message_cb
                                            retval = candidate_method(self, *args, **keywords)
                                          File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 167, in RequestPinCode
                                            self.ask_passkey(device, dialog_msg, notify_msg, False, self.notifications, ok, err)
                                          File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 122, in ask_passkey
                                            alias = self.get_device_alias(device_path)
                                          File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 95, in get_device_alias
                                            name = props["Name"]
                                        KeyError: 'Name'

이것은 blueman의 버그였으며 현재 수정되었습니다.이번에 제출하세요. Python 3.6에 의존하기 때문에 test/unstable 버전으로 업그레이드할 수 없어서 /usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py.

사용할 수 있는 프록시가 없습니다.

이제 나는 다음을 얻습니다.

mai 07 14:30:30 bouzin bluetoothd[4042]: vendor 0x0 product: 0x0
mai 07 14:30:30 bouzin bluetoothd[4042]: No agent available for request type 0
mai 07 14:30:30 bouzin bluetoothd[4042]: device_request_pin: Operation not permitted

~에서이 답변, 시작하려고 합니다

bluetoothctl -a

핀 코드

이것은 나를 한 단계 더 발전시킵니다.

pair B8:D5:0B:05:A1:62
Attempting to pair with B8:D5:0B:05:A1:62
Request PIN code
[agent] Enter PIN code: 1324
Failed to pair: org.bluez.Error.AuthenticationFailed

PIN을 묻는 메시지가 나타납니다.

~에서이 답변과 의견, 0000을 입력해야 합니다.

페어링 성공했어요.

GUI에서 장치에 "신뢰"를 설정했는데 이제 스피커를 켜면 자동으로 페어링됩니다.

오디오 수신기

블루맨에서 "오디오 리시버"를 클릭하면 스피커에서 체크음이 들립니다. blueman은 연결 품질에 대한 통계를 표시하는데 이는 매우 훌륭합니다.

오디오 프로필 메뉴는 수십 초 동안 회색으로 바뀌지 않습니다. "고화질 재생(A2DP 수신기)"을 클릭합니다.

오류 메시지가 나타납니다.

Failed to change profile to a2dp_sink

나는 보았다이 데비안 오류그러나 나는 그것이 같은 문제라고 생각하지 않습니다. 나는 gdm을 사용하지 않고 lightdm을 사용하고 있으며 모든 pulseaudio 프로세스는 내 사용자에게 속합니다.

물론 오디오 출력 장치 목록에는 스피커가 보이지 않습니다.

여기서 어디로 가야할지 모르겠습니다.

위 문단의 대부분이 마지막 질문과 관련이 없다는 것을 알고 있지만, 동일한 문제를 겪고 있는 모든 사람에게 유용한 정보를 제공할 수 있기를 바라며 여기에 보관하고 싶었습니다.

답변1

나는 보았다이 데비안 오류그러나 나는 그것이 같은 문제라고 생각하지 않습니다. 나는 gdm을 사용하지 않고 lightdm을 사용하고 있으며 모든 pulseaudio 프로세스는 내 사용자에게 속합니다.

글쎄요, 그런 것 같습니다. 해결 방법을 적용했습니다.이 답변마침내 스피커가 작동하게 되었습니다.

파일 편집:

/etc/pulse/default.pa

그리고 다음 줄을 주석 처리합니다(줄 시작 부분에 # 추가).

#load-module module-bluetooth-discover

이제 파일을 편집합니다.

/usr/bin/start-pulseaudio-x11

그리고 그 줄 뒤에 :

   if [ x”$SESSION_MANAGER” != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp “display=$DISPLAY session_manager=$SESSION_MANAGER” > /dev/null
    fi

다음 줄을 추가합니다.

/usr/bin/pactl load-module module-bluetooth-discover

이 파일을 업그레이드한 후에는 프로세스를 반복해야 할 것 같습니다.

답변2

로그인 후 루트로 "service bluetooth restart" 스크립트를 실행합니다.

"파부 컨트롤". 그런 다음 블루투스 장치를 다시 시작했습니다. pavucontrol에서 블루투스 장치를 선택하고 사운드를 조정합니다. 그 후 내 장치가 연결되어 오디오를 재생합니다.

관련 정보