asoundrc-jem minden újraindításkor módosul

Van egy málna pi 3-as usb dac-al a mikrofonom csatlakoztatásához, és van egy usb speackerem is.

Telepítettem a pi, a mopidy és más litle projektekre.

Módosítottam a ~/.asoundsrc fájlt a következőre:

pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } } 

Minden működik, és amikor újraindítom, új konfigurációt adok a .asoundrc fájlom végébe

pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } } pcm.!default { type hw card 2 } ctl.!default { type hw card 2 } 

Ezzel a módosítással a litle projektem nem működik, törölnöm kell

pcm.!default { type hw card 2 } ctl.!default { type hw card 2 } 

Tudod miért, ez a konfiguráció minden alkalommal hozzáadódik újraindítani?

Talán ez, tudna segíteni, hogy segítsen nekem 🙂

cat /proc/asound/modules 0 snd_usb_audio 1 snd_usb_audio 2 snd_bcm2835 

Köszönöm

Hozzászólások

  • Csak tesztelés céljából szeretném, ha kipróbálná. Letiltjuk a fedélzeti hangot. Ehhez írja be ezt a termináljába: sudo nano / boot / config.txt A fájl aljáig lapozzon, és keressen két sort: # Hang engedélyezése (snd_bcm2835 betöltése) dtparam = audio = on Helyezzen egy (font jel #) sort a következő sor elé: dtparam = audio = on Hogy kinézzen: # dtparam = audio = on Nyomja meg a CTRL + x gombot, majd nyomja meg az Enter billentyűt a fájl mentéséhez. Ezenkívül újra kell indítania. Azt akarjuk tudni, hogy van-e konfliktus az USB audióval és a fedélzeten. Sok szerencsét!
  • Szia Köszönöm a választ és a segítséget. módosításod nem oldja meg a problémámat, de most, amikor újraindítom a pcm.!default és a ctl.!default ne ‘ legyen 2., hanem 0. kártya.

Válasz

Visszavonja azt, amit kértem. Ezt követően indítsa újra. Miután az RPI biztonsági mentés készült, hozzon létre egy fájlt:

sudo nano /etc/asound.conf 

Ebben a fájlban helyezze el ezt:

pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } } 

Ha elkészült, mentse a fájlt, majd indítsa újra.

Megjegyzések

  • Köszönöm Jason, de nem. senki sem változtat térjen vissza a konfigurációm nélkül a /etc/asound.conf

Válasz

A probléma megoldásának módja az volt, hogy lefuttattam a sudo raspi-config oldalt, majd lépjünk a Speciális beállítások, majd az Audio lehetőségre. Ezt Auto értékre állítottuk. Amikor ezt az opciót “3,5 mm-es fejhallgató-csatlakozó kényszerítésére” módosítottam, újraindításkor abbahagytam az .asoundrc fájlom átírását.

Megjegyzések

  • Próbáltam, valami mégis felülírja a .asoundrc fájl minden indítást.

Válasz

Ez egy régi probléma, rendszeresen felszínre kerül, legutóbb a legújabb kernelre és firmware-re történő frissítés után a Raspian Stretch , 4.14.30-v7+ számára.

Úgy tűnik, hogy köze lehet ahhoz, hogy a Raspberry Pi miként használja a systemd szolgáltatásokat indításkor és leállításkor és az ALSA démonok és szolgáltatások beállítása (vagy a rendszerfrissítés után). A legjobb tippem az, hogy a valami utólagos telepítési parancsfájljai nem ismerik fel, hogy már van /home/pi/.asoundrc fájlja, majd megpróbálja visszaállítani valamilyen alapértelmezettre. Nem világos, honnan származik ez az alapértelmezett érték. Természetesen nem az, amit a sok ALSA vagy a rendszerszolgáltatás konfigurációs fájljának vagy a kapcsolódó man oldalnak a megjegyzései írnak. De úgy tűnik, hogy az lxpanels kötet kisalkalmazás hibájából származik.

Esetemben a úgy tűnik, hogy a következők megoldották a problémát:

  • Először távolítsa el a Kötet kisalkalmazást az lxpanel ből, majd:
 # Make sure your .asoundrc is correct, then do: alsactl kill save_and_quit sudo shutdown now  

PS. Fontosnak tűnik a shutdown használata is, és nem a reboot !


Hibakeresési kísérletek

Ha a fentiek nem működnek, olvassa el ezt.

Mellékesen úgy tűnik, hogy vannak hiba a systemctl ben a szolgáltatások kezelésében. A pi FS-je (hiányzó részek szerint) különbözik a többi Debian-alapú rendszertől, így ahol a szolgáltatás szkriptek találhatók és kezelhetők, nem teljesen a saját man oldalainak felel meg.

A vonatkozó ALSA kapcsolódó szolgáltatások megtekintése , tegye:

sudo systemctl status alsa-restore alsa-state 

Normál körülmények között képesnek kell lennie a gyanús statikus szolgáltatások leállítására a következők segítségével:

sudo systemctl mask --system alsa-state.service --now sudo systemctl mask --system alsa-restore.service --now 

Azonban az [system,user,runtime, global] futásidejű helyei:

/etc/systemd/system-preset/*.preset /run/systemd/system-preset/*.preset /lib/systemd/system-preset/*.preset /etc/systemd/user-preset/*.preset /run/systemd/user-preset/*.preset /usr/lib/systemd/user-preset/*.preset 

nem tartják be a man systemd.preset részben leírtak szerint.
Az összes szolgáltatás és aktuális állapotának megtekintéséhez használja a következőt:

systemctl list-unit-files -t service -all 

A függőségeket megfordíthatja a következővel is:

systemctl list-dependencies --reverse alsa-restore.service alsa-restore.service ● └─basic.target ● └─multi-user.target ● └─graphical.target 

Mindenesetre, amikor letiltja a szolgáltatást mask -nel, akkor a fájlt egy /dev/null, csak ez nem történik meg a megfelelő helyen (a fentiek szerint). Ehelyett manuálisan kell eltávolítanunk a fájlt (előtte készítsünk róla biztonsági másolatot), majd hozzuk létre a linket.

 cp /etc/systemd/system/alsa-restore.service ~/alsa-restore_service.bak cd /etc/systemd/system/ sudo rm alsa-restore.service sudo ln -s /dev/null alsa-restore.service # It should look something like: ls -al /lib/systemd/system |grep alsa lrwxrwxrwx 1 root root 9 Apr 25 13:23 alsa-restore.service -> /dev/null lrwxrwxrwx 1 root root 9 Apr 25 13:26 alsa-state.service -> /dev/null lrwxrwxrwx 1 root root 9 Jan 23 2017 alsa-utils.service -> /dev/null  

Most ne felejtse el megismételni a fentieket a alsa-state.service és ugyanazok a fájlok a könyvtárban: /lib/systemd/system/ ha még nincsenek ott.

NYILATKOZAT

A fentiek valószínűleg nem a helyes módszerek ezt, ezért kérjük, tekintse ezt egy nagyon kísérleti megoldásnak, amíg a hibás beahviour megoldódik. Nagyon valószínű, hogy teljesen megsérti az ALSA funkcióit.

Válasz

Hasonló problémákat oldottam meg a Raspberry pi környezet frissítésével. a lépések a következők:

  • Készítsen biztonsági másolatot adatairól a Raspberry pi-ről
  • ellenőrizze az aktuális verziót $ uname -a
  • a csomag információinak frissítése $ sudo apt-get frissítés
  • telepített csomagok frissítése $ sudo apt-get upgrade
  • frissítés a legújabb terjesztésre $ sudo apt-get dist-upgrade
  • málna pi firmware frissítése $ sudo rpi-update
  • indítsa újra a $ sudo újraindítást
  • ellenőrizze a legújabb verziót $ uname -a

Ezt követően a Raspberry pi-n az ilyen megoldódott a “módosított .asoundrc-t újraindítás után átírták”. A NOOBS verziója 2.8.1-re frissült 2018-4-24-én. Csak az a véleményem, hogy ez egyfajta ALSA hiba volt, mert megpróbáltam és kudarcot vallottam, és összegyűjtöttem néhány információt erről a jelenségről.

Válasz

Ok, így hasonló problémám volt, bluetooth hangszóróval csatlakoztam a Pi-hez, ha a hangszóró nem volt beindítás előtt, akkor újra beállította az .asoundrc fájlt. Olyan irritáló. Kipróbáltam a fentieket, majd arra gondoltam, hogy mi van, ha csak a megfelelő beállításokat állítom be, majd csak olvashatóvá teszem. Furcsa módon ez működött. Csak a következőket tettem: sudo chmod 0444 ./.asoundrc és ez minden. Most már minden rendben van.

Megjegyzések

  • Ez nekem bevált a Raspbian Stretch-en. Furcsa, hogy az engedélyek beállítása működik, mivel azt gondoltam volna, hogy a rendszer (azaz a root) változtatja meg a fájlt.
  • Bár most a következő hibaüzenetet kapom, amikor felhívom a pyaudio-t. hogy mégis működjön. & dir) ‘ nem sikerült a ‘ src / hostapi / alsa / pa_linux_alsa.c ‘, sor: 924 ”

Válasz

Ha megváltoztatja az alapértelmezett audioeszközt a menü> Beállítások> Audioeszköz beállításai> Hangkártya menüpontban válassza a Hangkártya lehetőséget, és állítsa be alapértelmezettként a ~ / .asoundrc fájlt.

Megjegyzések

  • Úgy tűnik, ez az én problémám. A .asoundrc felülírása a Stretch használatával történő újraindításkor. Van olyan ötlet, ahol ‘ visszavonhatom ‘ ennek a négyzetnek a bejelölését, hogy a rendszer ne írja felül?

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük