Karta dźwiękowa przez bluetooth


(arekk-99) #1

Witajcie.
Posiadam dyktafon Olympus lsp2 i podpiąłem go przez bluetooth do komputera. Dmesg stwierdził, ze dostępne jest urządzenie nagrywające /devices/virtual/input/input24
[22939.406724] input: 00:01:13:1B:55:89 as /devices/virtual/input/input24
Iphone’a mogłem ustawić jako urządzenie wejściowe, zaś dyktafonu nie mogę ani jako wyjściowe, ani jako wejściowe. Da się to jakoś ogarnąć?


(arekk-99) #2

eee, OK. Udev otagował mi go jako klawiaturę…
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) config/udev: Adding input device 00:01:13:1B:55:89 (/dev/input/event18)
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: () 00:01:13:1B:55:89: Applying InputClass "evdev keyboard catchall"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (
) 00:01:13:1B:55:89: Applying InputClass "libinput keyboard catchall"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: () 00:01:13:1B:55:89: Applying InputClass "system-keyboard"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) Using input driver ‘libinput’ for '00:01:13:1B:55:89’
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) systemd-logind: got fd for /dev/input/event18 13:82 fd 93 paused 0
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (
) 00:01:13:1B:55:89: always reports core events
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: () Option “Device” "/dev/input/event18"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (
) Option “_source” "server/udev"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) event18 - (II) 00:01:13:1B:55:89: (II) is tagged by udev as: Keyboard
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) event18 - (II) 00:01:13:1B:55:89: (II) device is a keyboard
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) event18 - (II) 00:01:13:1B:55:89: (II) device removed
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: () Option “config_info” "udev:/sys/devices/virtual/input/input26/event18"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) XINPUT: Adding extended input device “00:01:13:1B:55:89” (type: KEYBOARD, id 17)
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (
) Option “xkb_layout” "pl"
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) event18 - (II) 00:01:13:1B:55:89: (II) is tagged by udev as: Keyboard
kwi 29 22:14:52 zywek /usr/lib/gdm/gdm-x-session[1252]: (II) event18 - (II) 00:01:13:1B:55:89: (II) device is a keyboard
kwi 29 22:14:54 zywek bluetoothd[18479]: /org/bluez/hci0/dev_00_01_13_1B_55_89/fd2: fd(33) ready
Da się stworzyć na to jakąś regułkę?


#3

Masz zainstalowane pulseaudio-bluetooth? (Jeśli dobrze widzę w innym wątku, to z korzystasz z PA)


(arekk-99) #4

Tak, mam. Telefon tak jak mówiłem działa, a dyktafon widzi jako kklawiaturę.


#5

Ok, sorry przeoczyłem. Uporządkujmy coś, bo nie bardzo rozumiem tytuł, jaki nadałeś w kontekście pierwszego wpisu.

  1. Ty chcesz wykorzystać Olympusa jako tzw. zewnętrzną kartę dźwiękową (jej podłączenie ma wyłączać wbudowaną i przejmować tor audio), czy też chcesz, by działać on mógł jako “mikrofon”, z którego nagranie jest zapisywane bezpośrednio na komputerze (czyli z pominięciem pamięci wewnętrznej Olympusa)? Czy też może chcesz, by to co jest na nim nagrane mogło być - za pomocą bluetooth - bezpośrednio odtwarzane przez komputer?
  2. Rozumiem też, że:
  • urządzenie połączone przez USB pokazuje się jako urządzenie masowe i w zasadzie tyle,
  • sparowanie go przez bluetooth powoduje, że komputer wykrywa je jako klawiaturę (to wiem, bo już 2x powiedziałeś).
  1. Czy mógłbyś:
  • podać wynik z lsusb po wpięciu Olympusa (w zasadzie to chodzi wyłącznie o coś takiego jak idVendor i idProduct urządzenia - może ktoś się tym już bawił),
  • podać wyniki z journalctl w przypadku podpięcia pod usb oraz sparowania (najlepiej to zrobić w ten sposób, by uruchomić journalctl bodaj z opcją “-f” - powoduje ona, że na urządzeniu wyjściowym - standardowo ekran - pojawiają się komunikaty dziennika od chwili wydania tego polecenia; najlepiej byłoby to przekierować do jakiegoś pliku txt).
    Zobaczymy co w trawie piszczy, choć niczego nie obowiązuję. Z dość wyrywkowej lektury instrukcji tego Olympusa wynika mi raczej, że bluetooth służy w nim w zasadzie do podłączenia np. słuchawek, zaś po usb ma się dostęp do jego pamięci wewnętrznej i tyle. Niezależnie czy to Windows, czy MacOS, bo o tych systemach jedynie wspominają.

(arekk-99) #6

Najpierw to chciałem podłączyć go jako kartę dźwiękową pod usb, niezależnie czy to mikrofon czy wyjście, ale nei działa, bo znika mi cały dźwięk z pulse.
tryb mieszany i wynik podpięcia pod usb: Bus 001 Device 019: ID 07b4:027d Olympus Optical Co., Ltd
journalctl nic nie wyrzuca na bierząco


#7

Napisałem Ci wyżej:
journalctl -f
przekierowanie do pliku uzyskasz:
journalctl -f > plik.txt


(arekk-99) #8

Zrobiłem tak. Wyświetlał tylko informacje o systemie plików na dyktafonie. We wcześniejszym logu sprzed kilku dni jest jeszcze informacja
kwi 29 22:32:41 zywek kernel: usb 1-1.2: new high-speed USB device number 12 using ehci-pci
kwi 29 22:32:47 zywek kernel: usb 1-1.2: 1:1: cannot get freq at ep 0x83
następnie
kwi 29 22:33:02 zywek kernel: usb 1-1.2: 2:1: cannot set freq 44100 to ep 0x4
potem
kwi 29 22:33:58 zywek kernel: usb 1-1.2: 2:0: cannot get min/max values for control 2 (id 2)
I znowu
kwi 29 22:34:49 zywek kernel: usb 1-1.2: 5:0: cannot get min/max values for control 2 (id 5)
a potem coś takiego
kwi 29 22:35:25 zywek kernel: usbhid 1-1.2:1.3: can’t add hid device: -110
kwi 29 22:35:25 zywek kernel: usbhid: probe of 1-1.2:1.3 failed with error -110
kwi 29 22:35:25 zywek kernel: scsi host5: usb-storage 1-1.2:1.4
kwi 29 22:35:25 zywek mtp-probe[21965]: checking bus 1, device 12: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2"
kwi 29 22:35:25 zywek mtp-probe[21965]: checking bus 1, device 12: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2"
kwi 29 22:35:25 zywek mtp-probe[21965]: bus: 1, device: 12 was not an MTP device
kwi 29 22:36:17 zywek kernel: usb 1-1.2: 5:0: cannot get min/max values for control 2 (id 5)
kwi 29 22:36:17 zywek systemd-udevd[21870]: Process ‘/usr/bin/alsactl restore 2’ failed with exit code 99.
kwi 29 22:36:22 zywek kernel: usb 1-1.2: reset high-speed USB device number 12 using ehci-pci
kwi 29 22:36:28 zywek kernel: usb 1-1.2: 1:1: cannot get freq at ep 0x83
kwi 29 22:36:35 zywek dbus[509]: [system] Activating via systemd: service name=‘org.freedesktop.hostname1’ unit='dbus-org.freedesktop.hostname1.service’
kwi 29 22:36:35 zywek systemd[1]: Starting Hostname Service…
kwi 29 22:36:35 zywek dbus[509]: [system] Successfully activated service 'org.freedesktop.hostname1’
kwi 29 22:36:35 zywek systemd[1]: Started Hostname Service.
nie wiem po co tutaj hostname…
i wreszcie
kwi 29 22:36:35 zywek org.gnome.Shell.desktop[1299]: ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
i znowu to samo
kwi 29 22:37:40 zywek kernel: usb 1-1.2: 2:0: cannot get min/max values for control 2 (id 2)
kwi 29 22:38:31 zywek kernel: usb 1-1.2: 5:0: cannot get min/max values for control 2 (id 5)
kwi 29 22:38:37 zywek org.gnome.Shell.desktop[1299]: ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
kwi 29 22:39:22 zywek kernel: usb 1-1.2: 5:0: cannot get min/max values for control 2 (id 5)
kwi 29 22:39:31 zywek systemd-udevd[205]: seq 2885 ‘/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2/1-1.2:1.0/sound/card2/controlC2’ is taking a long
I to tyle z tych znaczących, bo potem udev rejestruje urządzenie jako klawiaturę, po jakichś dziesięciu minutach albo i mniej znika dźwięk. Logi zaś twierdzą tak:
kwi 29 22:41:31 zywek systemd-udevd[205]: worker [21870] failed while handling '/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2/1-1.2:1.0/sound/card2/controlC2’
kwi 29 22:41:36 zywek pulseaudio[18526]: W: [alsa-source-ALC3234 Analog] ratelimit.c: 1103 events suppressed
kwi 29 22:41:36 zywek pulseaudio[18526]: W: [alsa-source-ALC3234 Analog] asyncq.c: q overrun, queuing locally
kwi 29 22:41:36 zywek pulseaudio[18526]: W: [alsa-source-ALC3234 Analog] asyncq.c: q overrun, queuing locally
kwi 29 22:41:36 zywek pulseaudio[18526]: W: [alsa-source-ALC3234 Analog] asyncq.c: q overrun, queuing locally
kwi 29 22:41:36 zywek pulseaudio[18526]: W: [alsa-source-ALC3234 Analog] asyncq.c: q overrun, queuing locally
itd


#9

Po dość pobieżnym szukaniu, wychodzi mi na to, że masz… zbyt nowe urządzenie (zerknij na usb.ids: http://www.linux-usb.org/usb.ids), na które trzeba byłoby napisać jakieś regułki dla udev. Tu - Ci nie pomogę. Nie jestem informatykiem i tego typu rzeczy mogę próbować na swoim sprzęcie, a nie czyimś.

Ogólne info - musiałbyś poszukać czegoś podobnego i wzorując się na nim stworzyć coś, co prawidłowo obsługiwałoby Olympusa. Myślę, że powinieneś przyglądnąć się urządzeniom idVendor=07b4 (to Olympus) i idProduct: 0203, 0206, 0207, 0209, 020b, 020d, 0211, 0244, 024f - wszystkie to Digital Voice Recorder, czyli jakby im nieco blisko do Twojego dyktafonu. Reguły w udev - wyglądają natomiast zwykle tak samo (innymi słowy trzeba sklonować, zmienić idProduct i dopisać do pliku).
Potem zobaczymy co się będzie działo. Problem zdaje się bowiem wynikać stąd, że poczkątkowo urządzenie próbuje być odpowiednio rozpoznane (tzn. co do jego rodzaju), ale z uwagi na to, że jest nieznane, wszystko idzie w kosmos i… staje się klawiaturą :slight_smile:
Dlaczego po ok. 10min zanika dźwięk - nie wiem, może występuje jakaś “konkurencja” między wbudowaną a zewnętrzną kartą muzyczną. Inna sprawa, że po wykryciu powinieneś mieć gdzieś możliwość ustawić sobie co chcesz jako tę kartę, która ma być wykorzystywana.


(arekk-99) #10

Mogę wybrać kartę dźwiękową, tak mi mówią widzący. Mogę nawet wybrać tego Olympusa, ale i tak nadal tegoo dxwieku nie ma.
Do którego pliku by to trzeba dopisać? I czy te ID urządzeń co podałeś to te regułki mam je lokalnie gdzieś na dysku, czy muszę gdzieś w internetach szukać?
No i jeszcze takie sprostowanie. Dyktafon staje się klawiaturą pod bluetooth. Pod usb właśnie dzieje się coś takiego, że po prostu znika dźwięk.


#11

Pliki są na dysku lokalnie zapisane i leżą w /usr/lib/udev/rules.d/ (to akurat w Archu, ale podobnie jest w niemal wszystkich dystrybucjach; wyjątek to Debian i pochodne bodajże, ale i tak tam znajdziesz “rules.d”) - tam leżą reguły dostarczane przez różne programy. Dla reguł tworzonych przez administratora jest katalog /etc/udev/rules.d/
Sporo dowiesz się z: https://wiki.archlinux.org/index.php/Udev. Niemniej jednak, dla osoby, która to pierwszy raz pisze (też byłem kiedyś w takiej sytuacji, gdy mi się modem GSM w żaden sposób nie chciał w systemie “załapać”) to niemniej jednak czarna magia. Najsensowniej jest zatem poszukać w necie, czy ktoś już czegoś takiego nie zrobił. Próbowałem przez chwilę nt. Twojego Olympusa, ale nie bardzo próbuje się dać znaleźć, a ja nie miałem tyle czasu, by przeglądać każdą informację, zwłaszcza, że mnóstwo dotyczyło jakichś bzdur (może Tobie uda się zadać sensowniejsze pytanie). Jeśli nie, to chyba należałoby się zmierzyć z /usr/lib/udev/rules.d/40-usb-media-players.rules skoro coś wspominałeś o jakimś porównaniu iPhone, czy iPod.
Przy okazji - jest taka strona: http://kmuto.jp/debian/hcl/wiki/ - wprawdzie sprawdza to kompatybilność sprzętu z Debianem (w dodatku już mocno starym), jednakże też daje choćby cień możliwości poszukiwania rozwiązania.
Proszę potraktuj to jedynie jako cień szansy naprowadzenia Cię na jakieś rozwiązanie, albowiem sam owego nie znam. Po prostu opisuję jak sam tego bym szukał i jak zwykle szukałem (teraz nie mam urządzeń powodujących problemy).
I jeszcze jeden TIP na koniec - spróbuj jakiejś bardzo świeżej (może być alpha/beta/coś) dystrybucji, która jest bardzo user-friendly i w trybie livecd spróbój podłączyć Optimusa - może gdzieś na coś nas to naprowadzi. Świeżej itp. myślę o jakiejś np. Fedorze (ale ta jest chyba dostępna jako iso wyłącznie w wersji 25), albo jakieś OpenSUSE (najlepiej Tumbleweed) lub coś “z tej beczki”. Ubuntu 17.04 (jeśli nic się u nich nie zmieniło od czasów, gdy używałem) będzie miało aktualność mniej więcej z końca 2016, a chodzi o to, by było to diabelsko świeże. Teoretycznie takie powinno być Manjaro 17, bo tu paczki mniej więcej sprzed 2-4 tygodni (bodaj), ale głowy nie daję.


(arekk-99) #12

Arch z repozytorium testing też jest raczej świeży. No nic. Poszukam


#13

Bardzo. Niekiedy nawet nazbyt, choć akurat w tym przypadku nie ma to wpływu. Masz tu dość nowe usbids (bodaj z marca 2017). Niemniej jednak to też wskazówka - jeśli w Archu (testing) - dalej nie jest Olympus rozpoznawany prawidłowo, a ze strony tej firmy nie istnieje żadne wsparcie dla linuksa (żadne programy itp.), przynajmniej dla tego modelu, to szkoda czasu na szukanie innej dystrybucji.
Skoro masz Archa, to polecam mimo wszystko skorzystanie z oficjalnego BBS - szybciej uzyskasz informację i jakieś rozwiązanie.


(arekk-99) #14

zASTANAWIA MNIE, CZY JAKBYM SOBIE SKOMPILOWAŁ NAJNOWSZE 4.11 TO CZY TO BY COKOLWIEK ZMIENIŁO


#15

Nie. Raczej nie. Na próbę możesz sobie zainstalować np. kernel z Manjaro (chodzi bez problemu).


(arekk-99) #16

Ehh, no faktycznie. W Audio nic nie widzę na temat, żeby dodali obsługę tego… A nie sądzę, by w internetach możan było znaleźć coś na temat tego urządzenia. W końcu raczej nikt, kto używa mówiącego dykfatonu… Używałby Linuxa… Z wyjątkiem mnie :D. Gdybym miał jak udevadmem sprawdzic coś na temat tego urządzenia wpiętego w trybie karty, to może bym coś wymyślił, ale się nie da.


#17

To nie jest nawet problem z obsługą audio w kernelu, a z regułą udeva. Jeśli w Optimusie nie ma jakichś niestworzonych rzeczy, to wszystko co jest potrzebne już jest. Odpowiedni stos w kernelu, odpowiednie oprogramowanie (PA/ALSA). Problem jedynie, że kernel nie wie (bo nie ma reguły) co ma zrobić z tym czymś, co mu podpięli. Jeśli chcesz, to w wolnej chwili wejdź na #archlinux.org.pl lub #dobreprogramy.pl lub #manjaropl (wszystko IRC, można nawet ze strony) - to może jakoś się uda wespół taką regułę pomóc Ci napisać. Zasada - teoretycznie - prosta.


(arekk-99) #18

Dzięki. CHyba skorzystam.


#20

Nie jestem przekonany, czy to na pewno jest to, czego szukasz, ale właśnie wpadł mi w ręce taki wpis: https://morfitronik.pl/przesylanie-dzwieku-plikow-ze-smartfona-bluetooth/ - zerknij, może znajdziesz tam rozwiązanie także Twojego problemu.