LINUX.ORG.RU

Bluetoth-гарнитура не работает после suspend/resume

 , ,


1

2

Asus Zenbook UX52VS
Kubuntu 14.04
После перезагрузки гарнитура подцепляется нормально, звук идёт.
После suspend/resume она вроде бы как подцепляется, значок соединения показывается, но звука через неё нет.

На другом ноутбуке (HP) с другой гарнитурой и кубунтой совершенно аналогичная история.

Куда копать? Спасибо.

Ответ на: комментарий от te111011010

Как это можно сделать? Попробовал rmmod, но не получилось:

# rmmod bluetooth 
rmmod: ERROR: Module bluetooth is in use by: bnep btusb rfcomm

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от anonymous

Через обычные динамики и проводные наушники звук работает нормально.

prischeyadro ★★★☆☆
() автор топика

Возможно блютуз модуль не просыпается корректно, сам с таким столкнулся на последних ядрах. Мне помогает

 # hciconfig hci0 reset 

superuser ★★★★★
()
Ответ на: комментарий от superuser

Не помогает. ( Вообще, ощущение такое, что bluetooth-соединение устанавливается (значок в KDE, звуковой сигнал на самой гарнитуре — всё как обычно), но потом почему-то звук не перенаправляется куда нужно. Гарнитура подцепилась, но звук всё равно идёт на ноутбучные колонки или проводные наушники.

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от te111011010

Попробовал, извлечь и загрузить модуль удалось, но это не помогло.

----------------
Вот ещё дополнительная инфа: если заглянуть в systemsettings→Multimedia→Audio And Video Settings→Hardware Setup, то там видно гарнитуру в списке звуковых устройств. У неё стоит профиль Off. Если поставить A2DP или Telephony и нажать Apply, то ничего не происходит. Если потом уйти с этой вкладки и вернуться, то там по-прежнему профиль Off.

sudo service bluetooth restart не помогает
sudo service pulseaudio restart не помогает

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от te111011010

Скинул на телефон файл по блютусу, работает нормально.

prischeyadro ★★★☆☆
() автор топика

Поломка звука сопровождается вот таким сообщением в syslog:

pulseaudio[2095]: [bluetooth] bluetooth-util.c: Failed to
 release transport /org/bluez/952/hci0/dev_00_18_09_03_EA_42/fd1: 
Method "Release" with signature "s" on interface 
"org.bluez.MediaTransport" doesn't exist

prischeyadro ★★★☆☆
() автор топика

Выключи гарнитуру. Отключись от девайса. Включи гарнитуру.

По крайней мере у мну такое работает. Правда под Ubuntu 14.04, уши defender (коробку просрал, что то там недорогое HN-B601).

Если охота пофиксать прям пофиксать, то надо копать скорее всего в поисках причины почему дивайс из пульсы не пропадает.

pon4ik ★★★★★
()

А если отключить гарнитуру перед suspend? у меня была такая же фигня, bluetooth адаптер немного глючный. добавил в /etc/acpi/handler.sh на закрытие крышки:

hcitool con | grep ACL | awk '{print $3}' | xargs -L 1 hcitool dc

ksim
()
Ответ на: комментарий от pon4ik

Нет, не помогает. Более того, баг надёжнее всего проявляется _именно_ тогда, когда я руками выключаю гарнитуру перед саспендом. Если захлопнуть крышку ноута, не отключив гарнитуру, а потом открыть, гарнитура подцепится обратно и нередко после этого она даже продолжает работать (если она работала до этого, если не работала, то и не заработает).

Чтобы 100% воспроизвести баг, надо подключиться, отключиться вручную (отключив гарнитуру или отключив соединение) и suspend/resume.

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от pon4ik

Мне бы сделать всю конструкцию хотя бы работоспособной без полной перезагрузки. Если перезагрузка помогает, возможно, где-то есть сервис или что-то ещё, что можно сбросить к исходному состоянию и восстановить работоспособность, не перезагружая систему.

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от ksim

Та же история, принудительно отключить гарнитуру перед саспендом — стопроцентный способ поймать баг при следующем подключении.

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Зависит от того, должен ли быть метод там, откуда его пытается вызывать пульса, или нет, лол. Но я не понимаю, что там в результате начинает тупить. Не помогают ни перезапуск блютуса, ни перезапуск пульсы. Попробовал поставить самую свежую пульсу из ppa, тоже никак не помогло.

prischeyadro ★★★☆☆
() автор топика

Интереса ради - можешь проверить, помогают ли действия из этого мануала?

Если помогают, будем думать, как проделать их в момент просыпания. У мну после гибернации другая проблемма проявилась тут - гарнитурка перестала переходить в режим A2DP. Но сии телодвижения чинят этот косячок.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Застреваю на шаге 4.

~$ pactl list cards short
0       alsa_card.pci-0000_00_1b.0      module-alsa-card.c
6       bluez_card.00_18_09_03_EA_42    module-bluez4-device.c
~$ pactl set-card-profile 6 a2dp
Failure: Input/Output error
Методы, описанные в шаге 5, никак на ситуацию не влияют.

Лог пульсы:

(  52.466|  13.534) I: [pulseaudio] client.c: Created 5 "Native client (UNIX socket client)"
(  52.466|   0.000) D: [pulseaudio] protocol-native.c: Protocol version: remote 29, local 29
(  52.466|   0.000) I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
(  52.466|   0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
(  52.466|   0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
(  52.467|   0.000) D: [pulseaudio] module-augment-properties.c: Looking for .desktop file for pactl
(  52.467|   0.000) W: [pulseaudio] module-bluez4-device.c: Profile not connected, refused to switch profile to a2dp
(  52.468|   0.000) I: [pulseaudio] client.c: Freed 5 "pactl"
(  52.468|   0.000) I: [pulseaudio] protocol-native.c: Connection died.

prischeyadro ★★★☆☆
() автор топика
Последнее исправление: prischeyadro (всего исправлений: 1)

Блин! Я дебил! «Волшебной» командой оказалась

killall pulseaudio
pulseaudio
но при обязательно отцепленной гарнитуре. Не понимаю, почему я раньше её обнаружил.

prischeyadro ★★★☆☆
() автор топика
Последнее исправление: prischeyadro (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.