asoundrc: täni muokataan jokaisen uudelleenkäynnistyksen yhteydessä

Minulla on vadelma pi 3, jossa on usb-dac-liitin mikrofonin kytkemiseen, ja minulla on myös USB-kaiutin. p> Asensin pi-, mopidy- ja muuhun litle-projektiini.

Muutin ~/.asoundsrc -tunnusta

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

Kaikki toimii ja uudelleenkäynnistyksen yhteydessä uusi kokoonpano lisätään .asoundrc -tiedostoni loppuun

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 } 

Tällä muunnoksella litle-projektini ei toimi, minun on poistettava

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

Tiedätkö miksi, tämä kokoonpano lisätään joka toinen vuosi käynnistä uudelleen?

Ehkä tämä, voisitko auttaa sinua auttamaan minua 🙂

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

Kiitos

Kommentit

  • Vain testausta varten haluaisin sinun kokeilevan tätä. Poistamme sisäisen äänen käytöstä. Voit tehdä tämän kirjoittamalla tämän päätelaitteeseesi: sudo nano / boot / config.txt Sivu tiedoston alareunaan ja etsi kaksi riviä, jotka lukevat: # Ota ääni käyttöön (lataa snd_bcm2835) dtparam = audio = päällä Aseta (punnan merkki #) rivin eteen, joka lukee: dtparam = audio = päällä Näyttää tältä: # dtparam = audio = päällä Paina CTRL + x ja paina sitten Enter tallentaa tiedostosi. Lisäksi sinun on käynnistettävä uudelleen. Haluamme tietää, onko USB-äänen ja laivalla ristiriita. Onnea!
  • Hei Kiitos vastauksestasi ja avustasi. muokkauksesi ei ratkaise ongelmaa, mutta nyt kun käynnistän uudelleen pcm.!default ja ctl.!default Älä ’ ole korttia 2, mutta kortti 0.

Vastaa

Kumoa mitä pyysin sinua tekemään. Tämän jälkeen käynnistä se uudelleen. Kun RPi on varmuuskopioitu, anna tiedostojen luoda:

sudo nano /etc/asound.conf 

Aseta tämä tiedostoon kyseiseen tiedostoon:

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

Kun olet valmis, tallenna tiedosto ja käynnistä se uudelleen.

Kommentit

  • Kiitos Jason, mutta ei. kukaan ei muuta minulla on jo pcm.!default ja ctl.!default Yritän poistaa /home/pi/.asoundrc mutta pcm et ctl palaa ilman määrityksiäni /etc/asound.conf

Vastaa

tapa, jolla ratkaisin tämän ongelman, oli ajaa sudo raspi-config ja siirtyä sitten Lisäasetukset ja sitten Ääni. Tämä asetus oli Automaattinen. Kun vaihdoin tämän vaihtoehdon ”Pakota 3,5 mm: n kuulokeliitäntä”, se lopetti .asoundrc-tiedoston korvaamisen uudelleenkäynnistyksen yhteydessä.

Kommentit

  • Yritin tätä, jokin silti korvaa .asoundrc tiedosto jokainen käynnistys.

Vastaa

Tämä on vanha ongelma, joka säännöllisesti uudelleen, viimeksi päivityksen jälkeen uusimpaan ytimeen ja laiteohjelmistoon, Raspian Stretch , 4.14.30-v7+.

Vaikuttaa siltä, että sillä voi olla jotain tekemistä sen kanssa, miten Raspberry Pi käyttää systemd -palveluja käynnistettäessä ja sammutettaessa ja miten ALSA-deemonit ja palvelut on määritetty alun perin (tai järjestelmän päivityksen jälkeen). Paras arvaukseni on, että jotain asennuksen jälkeiset komentosarjat eivät tunnista, että sinulla on jo /home/pi/.asoundrc -tiedosto, ja yrittää sitten palauttaa sen johonkin oletusarvoon. On epäselvää, mistä tämä oletus tulee. Varmasti ei sitä, mitä on kirjoitettu monien ALSA- tai järjestelmäpalvelu -määritystiedostojen tai niihin liittyvien man-sivujen kommentteihin. Mutta se näyttää olevan peräisin vikasta lxpanels-volyymisovelluksessa. seuraavat näyttävät ratkaisseet ongelman:

  • Poista ensin Volume Applet lxpanel ista ja sitten:
 # Make sure your .asoundrc is correct, then do: alsactl kill save_and_quit sudo shutdown now  

PS. Näyttää myös tärkeältä käyttää sammutusta eikä käynnistää uudelleen !


virheenkorjausyritykset

Jos yllä olevat eivät toimi, lue tämä.

Puolena näyttää siltä, että bugi siitä, miten systemctl käsittelee palveluja. Pi: n FS on erilainen (puuttuvien osien mukaan) kuin muut Debian-pohjaiset järjestelmät, joten palvelupalkkien sijainti ja käsittely ei ole täysin omien man-sivujen mukaista.

Jos haluat nähdä asiaankuuluvat ALSA-palvelut, , tee:

sudo systemctl status alsa-restore alsa-state 

Normaalioloissa sinun pitäisi pystyä sammuttamaan epäillyt staattiset palvelut jollakin seuraavista tavoista:

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

[system,user,runtime, global]: n ajonaikaiset sijainnit ovat kuitenkin:

/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 

ei kunnioiteta kohdassa man systemd.preset kuvatulla tavalla.
Jos haluat nähdä kaikki palvelut ja niiden nykyisen tilan, käytä:

systemctl list-unit-files -t service -all 

Voit myös kääntää riippuvuudet seuraavasti:

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

Joka tapauksessa, kun poistat palvelun käytöstä koodilla mask, sen tulisi korvata tiedosto symlinkillä osoitteeseen /dev/null, vain että tätä ei tapahdu oikeassa paikassa (yllä olevan mukaisesti). Joten meidän on sen sijaan poistettava tiedosto manuaalisesti (varmuuskopioi se ennen) ja luotava sitten linkki.

 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  

Toista nyt yllä olevat kohdat myös kohdille alsa-state.service ja samat tiedostot hakemistossa: /lib/systemd/system/ jos niitä ei vielä ole.

VASTUUVAPAUSLAUSEKE

Yllä oleva ei todennäköisesti ole oikea tapa tehdä tätä, joten pidä tätä erittäin kokeellisena ongelmanratkaisuna, kunnes buginen Beahviour on ratkaistu. Se voi todennäköisesti rikkoa ALSA-toiminnot kokonaan.

Vastaa

Olin ratkaissut samanlaisen tilanteen päivittämällä Vadelma pi -ympäristön. vaiheet ovat,

  • Varmuuskopioi tietosi Raspberry pi -palvelusta
  • tarkista nykyinen versio $ uname -a
  • päivitä paketin tiedot $ sudo apt-get päivitä
  • päivitä asennetut paketit $ sudo apt-get upgrade
  • päivitä uusimpaan jakeluun $ sudo apt-get dist-upgrade
  • päivitä vadelma pi firmware $ sudo rpi-päivitys
  • Käynnistä $ sudo uudelleenkäynnistys uudelleen
  • tarkista uusin versio $ uname -a

Sen jälkeen Raspberry pi -laitteellani ratkaistiin sellainen kuten ”muokattu .asoundrc kirjoitettiin uudelleenkäynnistyksen jälkeen”. NOOBS-versio päivitettiin versioon 2.8.1 24.4.2018. Vain mielestäni, että se oli eräänlainen ALSA-vika, koska yritin epäonnistua ja keräsin tietoja näistä ilmiöistä.

Vastaa

Ok, joten minulla oli samanlainen ongelma, olin yhteydessä Pi-laitteeseeni Bluetooth-kaiuttimella, jos kaiutin ei ollut päällä ennen käynnistystä, se asetti .asoundrc-tiedoston uudelleen. Niin ärsyttävää. Yritin kaikkia edellä mainittuja, ajattelin, mitä jos asetan vain oikeat asetukset, teen sen vain luettavaksi. Kumma kyllä tämä toimi. Ainoa mitä tein, oli: sudo chmod 0444 ./.asoundrc ja siinä kaikki. Kaikki on nyt hyvin.

Kommentit

  • Tämä toimi minulle Raspbian Stretchissä. On outoa, että käyttöoikeuksien asettaminen toimii, koska olisin luullut, että järjestelmä (ts. juuri) muuttaa tiedostoa.
  • Vaikka nyt saan alla olevan virheen kutsuttaessa pyaudiota. toimimaan. ” Lauseke ’ alsa_snd_pcm_hw_params_set_period_size_near (pcm, hwParams, & alsaP & dir) ’ epäonnistui ryhmässä ’ src / hostapi / alsa / pa_linux_alsa.c ’, rivi: 924 ”

vastaus

Jos vaihdat oletusaudiolaitteen valikosta> Asetukset> Äänilaitteen asetukset> Äänikortti valitse Äänikortti> tee oletusasetukseksi ~ / .asoundrc -tiedostosi muuttuu

Kommentit

  • Tämä näyttää olevan minun ongelmani. Korvaa .asoundrc uudelleenkäynnistyksessä Stretchillä. Onko ideoita, joissa voin ’ kumota ’ tämän ruudun valinnan, jotta järjestelmä ei enää korvaa?

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *