Mint + dźwięk A2DP i sprzęt Bluetooth

Nie potrafię zwalczyć problemu, generalnie chcę podłączyć słuchawki bluetooth pod Minta. A mam i głośniki BT jeszcze do ogarnięcia.
Swego czasu udało mi się ogarnąć temat według tego poradnika, i byłem bardzo zadowolony z efektu

Wszystko śmigało, wszystkie urządzenia były łatwo odnajdywane, we właściwościach z miejsca ustawiał się dźwięk w formacie A2DP. Tylko wczoraj po nowej instalce, i zastosowaniu tego poradnika padł w dziwny sposób dźwięk (kiedyś miałem już taką sytuację). Podejrzewam że poradnik jest nieaktualny, lub nie do końca poprawny, lub zbyt stary

Co do objawów po zastosowaniu tego poradnika:

  • zniknął aplet dźwięku
  • nie można było sterować systemowo głośnością
  • a menu ustawień, nie było widać żadnych urządzeń dźwiękowych
  • Firefox nie odtwarzał dźwięku na www, sugerując że nie mam PulseEfect (a mam)
  • Chrome i Spotify odtwarzały dźwięk, ale sterować można było głośnością tylko w tych apkach.

Dźwięk powrócił po cofnięciu 3 i 4 tego punktu z podlinkowanego tematu. Niestety teraz wielka ch…a z odnajdywaniem i parowaniem urządzeń BT. Zmiana Blueberry z Minta, na Bluemana czy inną apkę do obsługi BT nie działa.

Więc może ktoś zasugeruje rozwiązanie problemu. W domu mam od żony zakaz kładzenia nadmiaru kabli , więc preferowane jest łączenie bezprzewodowe :slight_smile:

Wiesz - poradnik z 2015 roku. a mamy 2018, więc miało prawo się pozmieniać.
Pierwsza sprawa to przywróć stan sprzed modyfikacji, czyli oryginalne pliki konfiguracyjne, aby w ogóle PulseAudio działało.

Po restarcie jak już audio będzie Ci działać pokaż wynik:
pactl info
(polecenia mogą być trochę inne, bo sam na codzień używam ArchLinux)

pactl list sinks

systemctl status bluetooth.service

Grupy:

getent group | grep $(echo $USER)

awk -F ':' '{print $1}' /etc/group

… i będziemy działać dalej

Czarna magia to o co pytasz, ale mam nadzieję że o to co poniżej wkleiłem pytałeś.

Zmiany oczywiście cofnięte, i zrobiony restart.

pactl info

Ciąg serwera: unix:/run/user/1000/pulse/native
Wersja protokołu biblioteki: 30
Wersja protokołu serwera: 30
Czy jest lokalny: tak
Indeks klienta: 11
Rozmiar kafla: 65472
Nazwa użytkownika: witek
Nazwa komputera: RedAsus
Nazwa serwera: pulseaudio
Wersja serwera: 8.0
Domyślne określenie próbki: s16le 2 k 44100 Hz
Domyślna mapa kanałów: front-left,front-right
Domyślny odpływ: alsa_output.pci-0000_00_1f.3.analog-stereo
Domyślne źródło: alsa_input.pci-0000_00_1f.3.analog-stereo
Ciasteczko: 5930:7bd7

pactl list sinks

Odpływ #0
Stan: SUSPENDED
Nazwa: alsa_output.pci-0000_00_1f.3.analog-stereo
Opis: Wbudowany dźwięk Analogowe stereo
Sterownik: module-alsa-card.c
Określenie próbki: s16le 2 k 44100 Hz
Mapa kanałów: front-left,front-right
Właściciel modułu: 6
Wyciszenie: nie
Poziom głośności: front-left: 6568 / 10% / -59,94 dB, front-right: 6568 / 10% / -59,94 dB
balans 0,00
Głośność podstawowa: 65536 / 100% / 0,00 dB
Źródło monitora: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Opóźnienie: 0 usekundy, skonfigurowano 0 usekundy
Flagi: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Właściwości:
alsa.resolution_bits = “16”
device.api = “alsa”
device.class = “sound”
alsa.class = “generic”
alsa.subclass = “generic-mix”
alsa.name = “ALC256 Analog”
alsa.id = “ALC256 Analog”
alsa.subdevice = “0”
alsa.subdevice_name = “subdevice #0
alsa.device = “0”
alsa.card = “0”
alsa.card_name = “HDA Intel PCH”
alsa.long_card_name = “HDA Intel PCH at 0xef328000 irq 16”
alsa.driver_name = “snd_hda_intel”
device.bus_path = “pci-0000:00:1f.3”
sysfs.path = “/devices/pci0000:00/0000:00:1f.3/sound/card0”
device.bus = “pci”
device.vendor.id = “8086”
device.vendor.name = “Intel Corporation”
device.product.id = “9d70”
device.product.name = “Sunrise Point-LP HD Audio”
device.form_factor = “internal”
device.string = “front:0”
device.buffering.buffer_size = “17632”
device.buffering.fragment_size = “4408”
device.access_mode = “mmap”
device.profile.name = “analog-stereo”
device.profile.description = “Analogowe stereo”
device.description = “Wbudowany dźwięk Analogowe stereo”
alsa.mixer_name = “Realtek ALC256”
alsa.components = “HDA:10ec0256,104312f0,00100002 HDA:80862809,80860101,00100000”
module-udev-detect.discovered = “1”
device.icon_name = “audio-card-pci”
Porty:
analog-output-speaker: Głośniki (priority: 10000)
analog-output-headphones: Słuchawki (priority: 9000, not available)
Aktywny port: analog-output-speaker
Formaty:
pcm

getent group | grep $(echo $USER)

adm:x:4:syslog,witek
cdrom:x:24:witek
sudo:x:27:witek
audio:x:29:pulse,witek
dip:x:30:witek
video:x:44:witek
plugdev:x:46:witek
lpadmin:x:113:witek
pulse:x:125:witek
pulse-access:x:126:witek
witek:x:1000:
sambashare:x:130:witek

awk -F ‘:’ ‘{print $1}’ /etc/group

root
daemon
bin
sys
adm
tty
disk
lp
mail
news
uucp
man
proxy
kmem
dialout
fax
voice
cdrom
floppy
tape
sudo
audio
dip
www-data
backup
operator
list
irc
src
gnats
shadow
utmp
video
sasl
plugdev
staff
games
users
nogroup
systemd-journal
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
input
crontab
syslog
netdev
messagebus
uuidd
ssl-cert
lpadmin
lightdm
nopasswdlogin
ntp
mlocate
ssh
avahi-autoipd
avahi
bluetooth
scanner
colord
geoclue
pulse
pulse-access
nm-openvpn
rtkit
saned
witek
sambashare
nvidia-persistenced

Podany przez Ciebie tutorialek nie jest do końca dobry na dzień dzisiejszy.

  1. Pierwsza sprawa dodaj sobie grupę bluetooth do swojego użytkownika:
    sudo usermod -a -G bluetooth witek

  2. W poradniku jest mowa o module bluetooth od pulseaudio, który masz załadować, ale pytanie czy moduł masz zainstalowany. Możesz to sobie sprawdzić tym poleceniem:

pactl list | grep -i module-bluetooth

Jeżeli nie zwróci żadnego wyniku (lub nie masz zainstalowanego bluez) to musisz doinstalować paczki
pulseaudio-module-bluetooth bluez bluez-tools

Oczywiście inne “toolsy” do obsługi BT - WEG z systemu.

Bez tego ruszanie konfigów nie ma sensu, bo żeby załadować moduł trzeba mieć go najpierw w systemie.
Druga sprawa to najpierw musi wykrywać Ci urządzenia BT i je poprawnie parować.

  1. Po instalacji w .w. paczek sprawdź status usługi bluetooth, czy działa tym poleceniem:

systemctl status bluetooth.service

Jeżeli jest Active: inactive (dead) lub jakiś status błędu to włącz ją “z palca”:

systemctl enable bluetooth.service && systemctl start bluetooth.service

Ponownie sprawdź status. Jak jest Active: active (running) to OK!

  1. Nie będziemy bawić sie w klikanie po apletach tylko zrobimy to szybko z konsoli.

Wpisz po kolei:
bluetoothctl
power on
agent on
default-agent

W tym miejscu upewnij się, że masz parowanie włączone w słuchawkach lub w czym tam chcesz to używać i urządzenie jest widoczne.

scan on

Powinno wykryć i je pokazać - przykładowo:

[NEW] Device 00:2D:73:3D:23:21 Zajebisty głośnik firmy Sony

Jeżeli tak się stało to parujemy:

pair XX:XX:XX:XX:XX:XX (zamiast XX numer MAC jaki Ci wykryło)

Dodaj je jako zaufane:
trust XX:XX:XX:XX:XX:XX

Połącz się:
connect XX:XX:XX:XX:XX:XX

Jak wywali błąd w stylu org.bluez.Error.Failed to:
pulseaudio -k (w drugiej konsoli)
i znowu próba połączenia.
Jak połączone to:
scan off
exit

  1. Sprawdź:
    cat /etc/bluetooth/main.conf

Jeżeli ma:
[Policy]
AutoEnable=true

To okej, jeżeli nie to zrób kopię zapasową:
sudo cp /etc/bluetooth/main.conf /etc/bluetooth/main.conf.KOPIA

i dodaj do pliku main.conf to AutoEnable=true w sekcji [Policy].

  1. Teraz tylko pozostaje wybrać profil A2DP w konfiguracji/aplecie dźwięku.
    Nie wiem jakie masz tam środowisko graficzne, ale świetnie nadaje się do tego pavucontrol (lub pavucontrol-qt jeżeli masz KDE) w zakładce konfiguracja.

No chyba, że lubisz konsolę to:
pacmd set-card-profile 0 a2dp_sink && echo “WSIO RYBA!”

:wink: