Estou tentando emparelhar um alto-falante portátil SRS-XB40 com o meu Esticar área de trabalho.
O alto-falante funciona bem em um laptop Mint usando a GUI de configuração.
Eu instalei o blueman. Como isso não funcionou, eu também atualizei o firmware-linux para a versão backport (20170823).
Hardware
A máquina é um 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)
Software
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
inicialização do serviço bluetooth
O serviço de bluetooth é iniciado corretamente.
# 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
Pelo que eu recolhi, o
Failed to obtain handles for "Service Changed" characteristic
aviso deve ser inofensivo.
Configuração do dispositivo
Eu posso "configurar" o alto-falante no applet blueman, mas não consigo parear com ele.
Para parear, pressiono o botão "pareamento" no alto-falante para colocá-lo no modo de pareamento e, em seguida, peço ao applet para emparelhar. Eu recebo um erro.
Usando o bluetoothctl, diz:
Failed to pair: org.bluez.Error.AuthenticationFailed
Velho blueman bug
Eu recebi esses erros nos registros:
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'
Este é um bug no blueman que foi corrigido em este commit . Não consigo atualizar para a versão testing / unstable, pois ela depende do Python 3.6, portanto, aplico a correção a /usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py
.
Nenhum agente disponível
Agora eu recebo:
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
De esta resposta , eu tento lançar
bluetoothctl -a
código PIN
Isso me deixa um pouco mais longe.
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
Fico perguntando por um código PIN.
De esta resposta e comentários , devo inserir 0000.
Eu tenho um bom par de pares.
Na GUI, eu defino "confiança" no dispositivo e, agora, ele é aparentemente emparelhado automaticamente quando o alto-falante é ligado.
Coletor de áudio
De blueman, clico em "audio sink" e ouço um som de verificação vindo do alto-falante. blueman mostra estatísticas sobre a qualidade da conexão, o que é excelente.
Por algumas dezenas de segundos, o menu "perfil de áudio" não está esmaecido. Clico em "Reprodução de alta fidelidade (dissipador A2DP)".
Eu recebo uma mensagem de erro
Failed to change profile to a2dp_sink
Eu vi este bug do Debian mas não acho que seja o mesmo questão. Eu não estou usando gdm mas lightdm, e todos os processos pulseaudio pertencem ao meu usuário.
Claro, não vejo o alto-falante na lista de dispositivos de saída de áudio.
Eu não sei para onde ir a partir daqui.
Sei que a maioria dos parágrafos acima não está relacionada a esse último problema, mas gostaria de mantê-los aqui, esperando que eles forneçam informações úteis para pessoas com os mesmos problemas.