hdajackretask è uno strumento per riassegnare la funzione dei tuoi jack per diversi input, output o disabilitati - ad esempio, trasformare il tuo jack Mic in una cuffia aggiuntiva, o perché non renderli entrambi in uscita e collegarli al ricevitore surround?
Installa alsa-tools-gui
sudo apt-get update
sudo apt-get install alsa-tools-gui
Esegui hdajackretask
quindi Per ignorare uno dei tuoi jack:
- Seleziona un codec
- Fare clic sulla casella di controllo "Sostituisci" per quel pin e selezionare la nuova funzione desiderata
- Fai clic su "Applica ora"
Nota: se il jack per cuffie ha un interruttore hardware incorporato che reindirizza l'audio, allora sei SOL (mi dispiace per fortuna). Tuttavia, se il sistema operativo rileva quando una linea è collegata al jack delle cuffie, è molto probabile che l'audio non venga commutato meccanicamente.
Ho scoperto che l'override sia delle cuffie che degli altoparlanti funziona allo stesso tempo.
Screenshot di hdajackretask per passare dalle cuffie agli altoparlanti:
Dopo aver fatto clic su "Applica ora" viene creato uno script di shell per apportare le modifiche e richiede l'esecuzione della password del superutente. Lo script viene anche salvato in /tmp
cui può essere copiato e successivamente eseguito con sudo dalla riga di comando.
Esecuzione dalla riga di comando
Come accennato in precedenza, hdajackretask
crea uno script, script.sh
in modo /tmp
simile alle /tmp/hda-jack-retask-QW1EEZ/
funzioni jack che desideri:
#!/bin/sh
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/hda-jack-retask-WFEIEZ/errors.log
Copia questo script da qualche altra parte sul tuo sistema (diverso da / tmp)
cd /tmp/hda-jack-retask-QW1EEZ
cp script.sh ~username/speaker.sh
Quindi modifica speaker.sh
cd ~username
nano speaker.sh
Aggiungi la riga killall pulseaudio &
nella parte superiore del file. Ciò è necessario perché la funzione jack non può essere modificata mentre pulseaudio
è in esecuzione. Per impostazione predefinita pulseaudio
verrà rigenerata. Cambia anche il percorso del errors.log
file /tmp
o dove preferisci:
#!/bin/sh
killall pulseaudio &
echo "0x12 0x90a60140" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x14 0x90170150" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x17 0x40000000" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x18 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x19 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1a 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1b 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1d 0x40700001" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x1e 0x411111f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo "0x21 0x40f000f0" | tee /sys/class/sound/hwC0D0/user_pin_configs 2>>/tmp/errors.log
echo 1 | tee /sys/class/sound/hwC0D0/reconfig 2>>/tmp/errors.log
Per eseguire lo script:
sudo ./speaker.sh
Dalla documentazione alsa-tools-1.1.5 / hdajackretask / README :
Documentazione per hdajackretask
La maggior parte delle schede audio Intel HDA sono in qualche modo recuperabili, ovvero possono essere utilizzate per più di una cosa. Questo strumento è una GUI che semplifica il recupero dei jack: ad esempio, trasformare il jack del microfono in una cuffia aggiuntiva, o perché non renderli entrambi in uscita e collegarli al ricevitore surround?
Avvio veloce
Avviare l'applicazione "hdajackretask" dalla riga di comando. Seleziona un codec nella barra in alto; alcune persone ne hanno solo uno - se ne hai più di uno, uno è quello "principale", e il resto sono probabilmente codec HDMI.
Tutti i jack (e altri ingressi / uscite) sono mostrati in "Configurazione dei pin". Per sovrascrivere uno dei tuoi jack, fai clic sulla casella di controllo "Sostituisci" per quel pin e seleziona la funzione desiderata. Nota: se si seleziona un override "Line out (retro)", si dovrebbe anche avere un override "Line out (fronte)". Un override "Line out (Center / LFE)" funzionerà solo con i due override precedenti e così via.
Puoi provare la tua nuova configurazione facendo clic su "Applica ora". Per rendere la tua nuova configurazione predefinita all'avvio, fai clic su "Installa sostituzione di avvio". Fare uno di questi richiede i privilegi di root, quindi probabilmente ti verrà chiesta la password.
Quickend
Hai sbagliato? Fai clic sul pulsante "Rimuovi boot override" e, una volta completato il processo, spegni il computer, attendi qualche istante e riaccendilo. Ora dovresti tornare da dove hai iniziato.
Ha funzionato?
Se lo ha fatto, sii felice, condividi la tua gioia, fai qualcosa di bello!
In caso contrario, ecco alcune cose da provare:
Andare su alsamixer e vedere se ci sono nuovi controlli del volume, e vedere se non sono silenziati e impostati su un valore ragionevole.
A volte il driver non spegne i pin non collegati (se non sono collegati, perché preoccuparsi?). Potresti riuscire a risolvere questo problema spegnendo completamente il computer per un po '.
Vedi l'opzione "model = auto" di seguito
Se ciò non aiuta, è molto probabile che si verifichi un driver o una limitazione hardware. Potresti imbatterti in bug nel driver (forse nessuno ha mai testato quattro cuffie prima!). Se lo fai, sentiti libero di segnalarli sulla mailing list di alsa-devel: tuttavia, a causa della mancanza di manodopera, è probabile che questo verrà trattato con una priorità molto bassa (avere un suono pronto all'uso per una configurazione standard, è più importante che supportare strane configurazioni). Tuttavia, se sei un hacker del kernel e ti viene in mente una patch che risolve il tuo problema senza rovinare qualcos'altro, le probabilità sono piuttosto alte che verranno unite.
Se sospetti che il problema sia con questa applicazione GUI piuttosto che con il driver del kernel, sentiti libero di scrivermi una e-mail (e se vuoi, includi una patch!). In tal caso, scrivi a diwic@ubuntu.com.
Opzioni
Mostra pin non collegati Il BIOS è responsabile della configurazione dei pin sul codec che sono effettivamente connessi a qualcosa e quali non lo sono. A volte il BIOS è difettoso e non mostra tutti i tuoi jack. Se hai un jack il tuo BIOS dice di no, puoi provare ad abilitare i pin casuali e vedere se funziona.
Imposta modello = auto Alcuni codec, specialmente quelli più vecchi e sui kernel 3.8 e precedenti, sono hardcoded per usare un modello specifico, e quindi non si preoccuperanno dei tuoi override. In molti casi e con un kernel ragionevolmente nuovo, il parser automatico ora funziona bene anche con questi codec. È possibile forzare l'utilizzo del parser automatico selezionando questa casella. In alcuni casi, tuttavia, il modello esplicito è lì per un motivo, in tal caso, sei bloccato.
Sostituzione avanzata Questo è solo per gli esperti. Ti consente di selezionare ogni campo di configurazione singolarmente, anziché solo alcuni valori predefiniti che hanno senso. Nota che la maggior parte delle combinazioni qui non sono valide in un modo o nell'altro, quindi probabilmente non dovresti scherzare con questo a meno che tu non abbia letto e compreso la sezione "Configurazione predefinita" della specifica Audio HD. (Che, al momento della stesura di questo documento, è disponibile qui:
http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification. pdf )
Suggerimenti del parser Ciò consente di inviare "driver" speciali al driver che causano un comportamento diverso dell'analisi. Lasciateli sull'impostazione "predefinita" a meno che non abbiate letto la documentazione del driver. (Che, al momento della stesura di questo articolo, è disponibile qui: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - vedere la sezione "Stringhe di suggerimenti").