# [RISOLTO]Output Audio dalla scheda sbagliata

## Mimmo

Salve a tutti,

premetto che sono già 2 giorni che sbatto la testa contro questo problema e che ho cercato ovunque (anche qui sul forum) ed ho provato quasi tutto quello che ho trovato e che solitamente scrivere sul forum, per me, è la risorsa da ultima spiaggia prima della disperazione  :Very Happy: 

Ma andiamo al problema: 

Finalmente sono riuscito a completare la mia prima installazione di gentoo (dopo 6 tentativi!!!) e ora mi ritrovo con un sistema "quasi" perfetto, il quasi è dovuto al fatto che non riesco in nessun modo a far funzionare l'audio della scheda integrata della mia MoBo (Asus P5Q3 - HDA-Intel 7.1) 

inoltre il comando:

```
cat /proc/asound/cards
```

mi restituisce come output:

```

0 [default        ]: USB-Audio - C-Media USB Headphone Set  

                      C-Media USB Headphone Set   at usb-0000:00:1d.7-5.2, full speed

 1 [Intel          ]: HDA-Intel - HDA Intel

                      HDA Intel at 0xf5ff8000 irq 22

```

da quello che capisco: il sistema ha selezionato come scheda di default questa USB-Audio (è la mia tastiera multimediale con jack-in e jack-out incorporato) e, in effetti, andando a collegare delle cuffie al jack di questa scheda l'audio si sente, quindi ho pensato che il problema possa dipendere dal fatto che sia selezionata la scheda sbagliata. 

Essendo sotto Gnome (e da vecchio utilizzatore di Ubuntu) ho pensato che bastasse andarla a selezionare dall'utility Volume Control di Ubuntu, ma non è cambiato assolutamente nulla, inoltre se do da terminale il comando

```
alsamixer
```

i volumi risultano tutti attivi e la prima scheda di cui mi mostra la configurazione e questa USB-Vattelaapesca  :Evil or Very Mad: 

A questo punto la domanda nasce spontanea: Cosa posso fare per rendere la HDA-Intel la scheda predefinita? E' veramente questo il problema che mi proibisce di allietare le mie ore di lavoro con della sana musica? Oppure il problema è più radicato? 

Grazie

Informazioni Aggiuntive che potrebbero (forse) essere utili:

```
nano /etc/modprobe.d/alsa.conf

# Alsa kernel modules' configuration file.

# ALSA portion

# OSS/Free portion

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

## alias snd-card-0 snd-interwave

## alias snd-card-1 snd-ens1371

##  OSS/Free portion

## alias sound-slot-0 snd-card-0

## alias sound-slot-1 snd-card-1

##

# OSS/Free portion - card #1

##  OSS/Free portion - card #2

## alias sound-service-1-0 snd-mixer-oss

## alias sound-service-1-3 snd-pcm-oss

## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.23 ---

alias snd-card-0 snd-hda-intel

alias sound-slot-0 snd-hda-intel

# --- END: Generated by ALSACONF, do not edit. ---

```

```
cat .config | grep SND_HDA

CONFIG_SND_HDA_INTEL=y

CONFIG_SND_HDA_HWDEP=y

CONFIG_SND_HDA_RECONFIG=y

# CONFIG_SND_HDA_INPUT_BEEP is not set

# CONFIG_SND_HDA_INPUT_JACK is not set

CONFIG_SND_HDA_PATCH_LOADER=y

CONFIG_SND_HDA_CODEC_REALTEK=y

CONFIG_SND_HDA_CODEC_ANALOG=y

CONFIG_SND_HDA_CODEC_SIGMATEL=y

CONFIG_SND_HDA_CODEC_VIA=y

CONFIG_SND_HDA_CODEC_ATIHDMI=y

CONFIG_SND_HDA_CODEC_NVHDMI=y

CONFIG_SND_HDA_CODEC_INTELHDMI=y

CONFIG_SND_HDA_ELD=y

CONFIG_SND_HDA_CODEC_CIRRUS=y

CONFIG_SND_HDA_CODEC_CONEXANT=y

CONFIG_SND_HDA_CODEC_CA0110=y

CONFIG_SND_HDA_CODEC_CMEDIA=y

CONFIG_SND_HDA_CODEC_SI3054=y

CONFIG_SND_HDA_GENERIC=y

CONFIG_SND_HDA_POWER_SAVE=y

CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0

```

Hardware: MoBo Asus P5Q3 - Intel Core2Quad Q8200 - RAM 4x 2Gb DDR3 1111Mhz - Nvidia GeForce GTS 250 1 Gb

Kernel: 2.6.36-r5 x86

DE: GnomeLast edited by Mimmo on Sun Feb 27, 2011 10:07 am; edited 1 time in total

----------

## fbcyborg

Credo che sia sufficiente smanettare qui:

```

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.23 ---

alias snd-card-0 snd-hda-intel

alias sound-slot-0 snd-hda-intel

# --- END: Generated by ALSACONF, do not edit. ---

```

La scheda 0 è quella USB, la 1 è quella che interessa a te. Intanto prova a sostituire 0 con 1, così:

```

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.23 ---

alias snd-card-1 snd-hda-intel

alias sound-slot-1 snd-hda-intel

# --- END: Generated by ALSACONF, do not edit. ---

```

----------

## Mimmo

Intanto grazie della risposta

Ho apportato le modifiche suggerite ho dato un update-modules e riavviato, ma niente...continua a fungere solo la scheda USB

----------

## fbcyborg

Porca miseria... eppure mi pareva di aver fatto così un tempo, quando avevo due schede.

Ma invece scusa, se provi a togliere la scheda USB, dare un bell'alsaconf, e poi solo dopo che l'audio (auspicabilmente) funziona, reinserisci la scheda USB?

----------

## Mimmo

Grazie!Finalmenter risolto...o quasi! 

In effetti è bastato togliere la scheda audio USB (non l'avevo fatto prima perché è la tastiera   :Very Happy:  ), dare alsaconf e riavviare...il problema è che se voglio usare la HDA-Intel invece della scheda USB (tastiera), devo per forza avviare il pc con la tastiera staccata e ricollegarla solo dopo che Gentoo ha caricato tutti i moduli...mah! Non so se ritenere risolto il problema e accontentarmi di questa situazione o cercare di ottenere la perfezione.   :Very Happy: 

----------

## fbcyborg

L'importante è che ti rimanga come scheda audio principale, quella non USB! Se è così penso tu abbia risolto!

Altrimenti puoi usare il file /etc/conf.d/modules per definire l'ordine in cui caricare i moduli del kernel. In questo caso metteresti prima snd-hda-intel e poi quello della tastiera, in modo che ti venga riconosciuta prima la scheda audio e poi la tastiera.

----------

## Mimmo

 *Quote:*   

> L'importante è che ti rimanga come scheda audio principale, quella non USB!

 

Il problema è proprio questo...se riavvio con la tastiera collegata ritorna la scheda USB come principale...

Questo è il risultato di ls /etc/conf.d/

```

acpid        device-mapper  local.start  pydoc-3.1  udev

alsasound    dmcrypt        local.stop   rc         urandom

bluetooth    env_whitelist  lvm          rsyncd     wireless.example

bootmisc     git-daemon     net          saslauthd  xdm

clock        hald           net.example  sshd

consolefont  hostname       pciparm      svnserve

crypto-loop  keymaps        pydoc-2.6    syslog-ng

```

e non trovo il file da te indicato...

Inoltre in fase di avvio leggo che carica il modulo alsa e in particolare la scheda snd-card-0 mentre in effetti dovrebbe caricare snd-card-1

Da dove posso andare a modificare questo ordine o addirittura eliminare completamente il caricamento di snd-card-0?

----------

## fbcyborg

Strano che tu non abbia quel file, comunque ti posto il mio come esempio:

```
# You can define a list modules for a specific kernel version,

# a released kernel version, a main kernel version or just a list.

#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"

#modules_2_6_23="tun ieee1394"

modules_2_6="nvidia snd-hda-intel atl1e vboxdrv vboxnetflt"

# You can give modules a different name when they load - the new name

# will also be used to pick arguments below.

#modules="dummy:dummy1"

# Give the modules some arguments if needed, per version if necessary.

#module_ieee1394_args="debug"

#module_ieee1394_args_2_6_23_gentoo_r5="ieee1394 ohci1394"

#module_ieee1394_args_2_6_23="tun ieee1394"

#module_ieee1394_args_2_6="tun"

# You should consult your kernel documentation and configuration

# for a list of modules and their options.

```

Come vedi c'è solo una riga decommentata, ma ho voluto appositamente postarti tutto il contenuto del file.

Nel mio caso vedi che viene caricato prima il modulo nvidia e poi quello snd-hda-intel. Nel tuo caso dovresti mettere prima il modulo snd-hda-intel e poi quello della tastiera (assumendo che entrambi siano compilati come modulo).

Non garantisco che questo risolva il problema ma intanto possiamo cominciare a provare così.

----------

## Mimmo

E c'è una novità... XD

ho ricompilato HDA-Intel come modulo e ora all'avvio dell'OS quando carica ALSA mi dice che sta caricando snd-card-1 (che dovrebbe essere la scheda che voglio io) solo che se in seguito avvio la riproduzione audio non funziona né la Intel, né quella USB...ovvero sono rimasto completamente muto...inoltre ho creato il file /etc/conf.d/modules e ho inserito di caricare prima il modulo snd-hda-intel, il problema è che non conoscendo quale sia il modulo della tastiera non lo posso inserire...

EDIT- al solito, l'unico modo di poter avere l'audio dalla HDA-Intel è quello di avviare Gentoo senza la tastiera collegata...è già un minimo risultato, però se possibile vorrei lasciare il topic ancora irrisolto per possibili soluzioni future...

----------

## fbcyborg

Mannaggia ma che razza di tastiera hai!?  :Very Happy:  Care vecchie tastiere PS2 (che io uso ancora!!  :Very Happy:  )

A proposito, non è che per caso hai un convertitore USB->PS2? Magari usi quello e sei a posto!

Comunque in genere si consiglia sempre di compilare come modulo il driver audio! 

Per sapere quale sia il modulo della tastiera inizierei con il vedere il risultato di lsusb per capire, magari con una ricerca su google, quale sia il driver corrispondente a questa tastiera.

Il topic lo lascerei anche io irrisolto, perché questo è un workaround, non una soluzione.

Intanto magari posta un lsusb e individuiamo qual'è la tastiera fra i device connessi. Poi indaghiamo su quale sia il driver.

Ciao!  :Wink: 

----------

## Mimmo

Purtroppo ho una tastiera a cui non piace l'adattatore PS2 (accende tutte le lucine, ma non ne vuole sapere di compiere il suo dovere di tastiera  :Very Happy:  ). Purtroppo la sostituzione della tastiera non l'avevo neanche considerata perché questa che uso ora ha una forma dei tasti che impedisce alle mie dita di accartocciarsi fra di loro mentre programmo, inoltre avevo pensato di disabilitare fisicamente la scheda audio integrata alla tastiera (è una cavolo di tastiera voip purtroppo) aprendola è scollegandola dal controller principale, ma è tutto un unico pezzo e non me la sento di rischiare.  :Very Happy: 

comunque l'output di lsusb è:

```

Bus 002 Device 007: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter

Bus 002 Device 006: ID 1241:1603 Belkin 

Bus 002 Device 005: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub

Bus 002 Device 004: ID 04b4:0060 Cypress Semiconductor Corp. 

Bus 002 Device 003: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 002: ID 045e:0719 Microsoft Corp. 

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

```

C-Media Electronics, Inc. Audio Adapter dovrebbe essere la scheda USB della tastiera e quindi la tastiera stessa

Microsoft Corp. dovrebbe essere l'adattatore wifi del gamepad

Genesys Logic dovrebbero essere gli HUB USB 

Belkin non ho sinceramente la più pallida idea di cosa sia...

Grazie mille dell'aiuto

----------

## fbcyborg

Boh, il Belkin sembrerebbe un modem ADSL!  :Very Happy: 

comunque... 

Il driver in questione è snd-usb-audio, quindi intanto puoi fare come prima prova quella di impostare l'ordine dei moduli così. Altrimenti passi avanti.

Guarda cosa ti ho trovato?

È un howto, che però ha come fine il contrario di quello che serve a te. 

Non è che tu debba seguirlo tutto, anche perché è per Debian, comunque puoi prendere spunto dalle impostazioni.

Leggitelo bene, secondo me il punto chiave è impostare nel file /etc/modprobe.d/alsa.conf:

```
options snd-hda-intel index=0

options snd-usb-audio index=-2
```

Prova!

----------

## Mimmo

alleluia!Gioite o popoli tutti! L'audio funziona!  :Mr. Green: 

Parentesi euforica a parte...

Impostando l'ordine dei moduli non era cambiato niente

Alla fine è veramente bastato inserire in /etc/modprobe.d/alsa.conf

```
options snd-hda-intel index=0

options snd-usb-audio index=-2
```

Grazie mille per l'aiuto...ora il problema è finalmente RISOLTO...

----------

## fbcyborg

Grande!  :Smile: 

È stato un piacere!  :Wink: 

----------

## djinnZ

ovviamente puoi anche pensare di aggiungerli alla linea di comando del kernel e mettere tutto builtin

----------

