Po aktualizacji do 16.04 tryb Bluetooth A2DP przestał działać

29

Mam fajny odbiornik audio bluetooth podłączony do mojego stereo HiFi i kiedyś mogłem go podłączyć w 14.04 jako zlew A2DP o dobrej jakości.

Po aktualizacji do 16.04 urządzenie łączy się tylko jako zestaw słuchawkowy, a gdy próbuję przełączyć go w tryb A2DP, mam ten błąd w moim dzienniku systemowym:

May 21 11:35:50 RRyS pulseaudio[6159]: [pulseaudio] module-bluez5-device.c: Refused to switch profile to a2dp_sink: Not connected

a jakość dźwięku jest absurdalna. Jak mogę to naprawić?

Rmano
źródło
Mam nadzieję, że to komuś się przyda. Straciłem 3 godziny na kopanie w nim ... Uwielbiam aktualizacje! ;-)
Rmano

Odpowiedzi:

39

Dla mnie działa podłączenie urządzenia Bluetooth, przejście do trybu HSP / HFP, rozłączenie, ponowne połączenie, a następnie przejście do trybu A2DP.

walczył
źródło
4
To samo tutaj. Jednak tak nie powinno być i działało poprawnie w poprzedniej wersji.
eldad-a
Dla mnie też to zadziałało. Ale naprawdę duży ból w ** za coś, co działało (prawie) bezbłędnie w 15.10 i wcześniej.
Dolanor,
Och, uwierz mi, zgadzam się. to ogromny ból. Jedyną dystrybucją, jaką znalazłem, która obecnie poprawnie obsługuje BT po wyjęciu z pudełka, jest Solus OS.
rmfought
2
To bardzo dziwne, ale zadziałało!
ArcaneDominion
1
O kurczę. Nie spodziewałem się, że to zadziała, ale zadziałało.
Parth Thakkar,
35

Jest kilka błędów na ten temat, sprawdź na przykład ten (rozpoczęty w 15.05) i ten drugi, dość starszy ; przyczyny ogólnie nie są dobrze poznane.

Przed rozpoczęciem modyfikowania plików systemowych możesz także sprawdzić brak dźwięku głośnika Bluetooth w Ubuntu 16.04 (wydaje się, że to inny błąd), a Bluetooth A2DP nie działa w 16.04 (rozwiązany w komentarzach przez aktualizację jądra).

Poprawka, która zadziałała dla mnie jest następująca --- dzięki użytkownikowi RobertFM w starterze i SimFox3 na forach Arch . Wszystkie poniższe instrukcje muszą zostać wykonane z poziomu powłoki root ( sudo -i). Uważaj i potrójnie sprawdź.

  1. Przede wszystkim wykonaj kopię zapasową tych plików (nigdy nie wiesz):

    cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak
    cp /etc/pulse/default.pa /etc/pulse/default.pa.bak
    cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak
    
  2. Edytuj /etc/bluetooth/audio.confi upodobnij to:

    # Configuration file for the audio service
    # This section contains options which are not specific to any
    # particular interface
    [General]
    Enable=Gateway,Source
    
    # Switch to master role for incoming connections (defaults to true)
    Master=true
    
    # If we want to disable support for specific services
    # Defaults to supporting all implemented services
    #Disable=Gateway,Source,Socket
    Disable=Socket
    
    # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
    # Defaults to HCI
    #SCORouting=HCI
    
    # Automatically connect both A2DP and HFP/HSP profiles for incoming
    # connections. Some headsets that support both profiles will only connect the
    # other one automatically so the default setting of true is usually a good
    # idea.
    AutoConnect=true
    
    # Headset interface specific options (i.e. options which affect how the audio
    # service interacts with remote headset devices)
    [Headset]
    
    # Set to true to support HFP, false means only HSP is supported
    # Defaults to true
    HFP=true
    
    # Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
    MaxConnected=2
    
    # Set to true to enable use of fast connectable mode (faster page scanning)
    # for HFP when incoming call starts. Default settings are restored after
    # call is answered or rejected. Page scan interval is much shorter and page
    # scan type changed to interlaced. Such allows faster connection initiated
    # by a headset.
    FastConnectable=true
    
    # Just an example of potential config options for the other interfaces
    #[A2DP]
    #SBCSources=1
    #MPEG12Sources=0
    
  3. Edytuj /etc/pulse/default.pai komentuj linię

    #load-module module-bluetooth-discover
    

    (naprawdę musisz tylko dodać #na początku)

  4. Edytuj /usr/bin/start-pulseaudio-x11i dodaj linię /usr/bin/pactl load-module module-bluetooth-discoverpo załadowaniu modułu module-x11-xsmp; w praktyce powinieneś edytować plik pod koniec, aby uzyskać zwrotkę

    if [ x"$SESSION_MANAGER" != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
        # add this line here:
        /usr/bin/pactl load-module module-bluetooth-discover
    fi
    
  5. Restart.

    Teraz powinieneś być w stanie ustawić urządzenie na A2DP i cieszyć się muzyką wysokiej jakości:

    Ustawienia dźwięku

    Zauważ, że czasami musisz odłączyć i ponownie podłączyć urządzenie, aby ponownie włączyć A2DP:

    Urządzenia Bluetooth

    ... tak, to puszka błędów. Ale kiedy działa, działa pięknie.

  6. Problemy po ponownym uruchomieniu

    Po tym wszystkim sztuczka wydaje się działać dopiero po następnym restarcie. W takim przypadku spróbuj zastosować się do odpowiedzi rmfought :

    Dla mnie działa podłączenie urządzenia Bluetooth, przejście do trybu HSP / HFP, rozłączenie, ponowne połączenie, a następnie przejście do trybu A2DP.

    ... też działa dla mnie (znowu, kiedyś). Musiałem nawet raz sparować ponownie klucz sprzętowy raz.

  7. Jeśli nadal nie działa ...

    Jeśli to też nie działa, możesz wypróbować ten skrypt - jego autor aktualizuje go.

Rmano
źródło
5
Audio.conf nie jest obecny w Ubuntu 16.04, tylko main.conf, czy to zadziała?
Joakim Koed
2
@JoakimKoed --- masz rację, sprawdziłem --- audio.conf-removeprawdopodobnie miałem resztkę z aktualizacji. Po prostu go odtworzyłem --- więc teraz mam wątpliwości, może tylko punkty 3 i 4 są konieczne?
Rmano
1
Kroki 3 i 4 nie naprawiły się dla mnie i odtworzyłem plik audio.conf zgodnie z powyższym opisem i brak poprawki. Usunięcie urządzenia Bluetooth i naprawa poprawek, ale robienie tego za każdym razem, gdy chcesz korzystać z dźwięku Bluetooth, nie jest możliwe.
Thomas Carlisle,
@ThomasCarlisle przykro mi to słyszeć - tutaj zadziałało (nie trzeba ponownie kojarzyć) po raz pierwszy. Musi być inna rzecz ...
Rmano,
1
Znakomity! To załatwia sprawę ze mną! Proponuję dodać odniesienie do tego w swojej odpowiedzi, ponieważ wszystko razem wydaje się w pełni działającym rozwiązaniem problemu. Twoje zdrowie!
romanovzky
5

To niekoniecznie jest rozwiązanie dla tych, którzy potrzebują mikrofonu, ale działało to w Ubuntu 16.04 dla mnie:

sudo nano /etc/bluetooth/audio.conf

A następnie dodaj Disable=Headsetponiżej [General].

[General]
Disable=Headset

I uruchom ponownie usługę Bluetooth

sudo service bluetooth restart

I wszystkie podziękowania dla tego faceta: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

helgis
źródło
Niestety, nie wyszło mi to. Moja ikona stacji dokującej Bluetooth jest wyszarzona… Może to sterownik / moduł? XPS 13 9350 i ubuntu 16.04.
Dolanor
@Dolanor Nie wiem, czy to nadal problem, ale jeśli ikona stacji dokującej jest wyszarzona, najprawdopodobniej oznacza to, że adapter bluetooth jest miękko zablokowany. Spróbuj, rfkill unblock bluetootha może nawet bluetoothctlwtedy power on(w interfejsie bluetoothctl-CLI).
FMaz
To zadziałało w moim przypadku zorinos 12
FDisk
W systemie Ubuntu 18 nie ma /etc/bluetooth/audio.confpliku. I dodaje Disable=Headsetsię /etc/bluetooth/main.conf, ponownie uruchomić usługę, ponownie podłączyć słuchawki, ale profil dźwięku była domyślnie off. Nie jesteś pewien, czy to zadziałało?
Dan Dascalescu