# [alsa] Son à 0 à chaque reboot (résolu)

## sebaf

Bonjour à tous,

J'utilise alsa pour ma carte son AC'97 et cela marche bien à part le fait qu'à chaque reboot, je dois lancer alsamixer pour remonter le son et "unmuter".

Voilà, cela fait un petit temps que ca dure et à la fin ca devient un peu lourd.

Je ne sais pas si vous avez besoin d'autres infos pour m'aider... J'ai un noyau 2.6.

Merci d'avance !Last edited by sebaf on Tue Sep 07, 2004 4:07 pm; edited 1 time in total

----------

## kernelsensei

```
rc-update add alsasound default
```

tu peux aussi le mettre dans le runlevel boot, c'est comme tu voultes !

----------

## zdra

mais allé heu pour une fois que j'avais la réponse rien qu'en lisant le titre t'aurais peu faire un ptit usleep(100) quand meme   :Evil or Very Mad: 

----------

## kernelsensei

 *zdra wrote:*   

> mais allé heu pour une fois que j'avais la réponse rien qu'en lisant le titre t'aurais peu faire un ptit usleep(100) quand meme  

 

excuse, mais mes parents ont oublié 

```
#include <unistd.h>
```

 a la compilation !  :Very Happy: 

----------

## sebaf

Merci mais ca j'avais déja essayé  :Wink: ... en vain   :Confused: 

D'autres idées ?

----------

## kernelsensei

 *sebaf wrote:*   

> Merci mais ca j'avais déja essayé ... en vain  
> 
> D'autres idées ?

 

ben normalement, une fois alsasound lancé, tu modifies tout via alsamixer et tu quit avec esc !

verifie que t'as bien 

```
/etc/asound.state
```

, qui est utilisé par alsasound (ce fichier contient l'etat des mixers)

verifie que t'as bien /usr/sbin/alsactl et /usr/bin/aconnect

si tu ne les as pas, 

```
emerge alsa-utils
```

[EDIT]juste pour voir, 

```
qpkg -I -fp alsa-
```

 donne quoi ?

Note: qpkg fait partie du gentoolkit ![/EDIT]

----------

## zdra

 *kernel_sensei wrote:*   

>  *zdra wrote:*   mais allé heu pour une fois que j'avais la réponse rien qu'en lisant le titre t'aurais peu faire un ptit usleep(100) quand meme   
> 
> excuse, mais mes parents ont oublié 
> 
> ```
> ...

 

ahah j'aime bien le sale humour d'informaticien.... ce qui est drole c'est que c tres technique comme humour souvent et qu'on est les seul à comprendre  :Laughing: 

sinon pour etre on-topic, euh... ben alors je sais pas, moi ça avait suffi. le service alsasound ne te fait pas d'erreurs au démarrage et au shutdown ?? ah, et tu utilises alsa pour le son qd meme ? pas OSS ? t'as un  noyau 2.6 avec alsa ? rien de spécial à signaler qui pourait donner des indices ?

----------

## sebaf

J'ai bien le fichier /etc/asound.state. Le voici ...

```
state.I82801DBICH4 {

   control.1 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Playback Switch'

      value true

   }

   control.2 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 63'

      iface MIXER

      name 'Master Playback Volume'

      value.0 63

      value.1 63

   }

   control.3 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Headphone Playback Switch'

      value false

   }

   control.4 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Headphone Playback Volume'

      value.0 0

      value.1 0

   }

   control.5 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Mono Playback Switch'

      value false

   }

   control.6 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Mono Playback Volume'

      value 0

   }

   control.7 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'PC Speaker Playback Switch'

      value false

   }

   control.8 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name 'PC Speaker Playback Volume'

      value 0

   }

   control.9 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Phone Playback Switch'

      value false

   }

   control.10 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Phone Playback Volume'

      value 0

   }

   control.11 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Playback Switch'

      value false

   }

   control.12 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Mic Playback Volume'

      value 0

   }

   control.13 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Boost (+20dB)'

      value false

   }

   control.14 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Line Playback Switch'

      value false

   }

   control.15 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Line Playback Volume'

      value.0 0

      value.1 0

   }

   control.16 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'CD Playback Switch'

      value false

   }

   control.17 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'CD Playback Volume'

      value.0 0

      value.1 0

   }

   control.18 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Video Playback Switch'

      value false

   }

   control.19 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Video Playback Volume'

      value.0 0

      value.1 0

   }

   control.20 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Aux Playback Switch'

      value false

   }

   control.21 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Aux Playback Volume'

      value.0 0

      value.1 0

   }

   control.22 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'PCM Playback Switch'

      value true

   }

   control.23 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'PCM Playback Volume'

      value.0 31

      value.1 31

   }

   control.24 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic

      comment.item.1 CD

      comment.item.2 Video

      comment.item.3 Aux

      comment.item.4 Line

      comment.item.5 Mix

      comment.item.6 'Mix Mono'

      comment.item.7 Phone

      iface MIXER

      name 'Capture Source'

      value.0 Mic

      value.1 Mic

   }

   control.25 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Capture Switch'

      value true

   }

   control.26 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name 'Capture Volume'

      value.0 0

      value.1 0

   }

   control.27 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name '3D Control - Switch'

      value false

   }

   control.28 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mix

      comment.item.1 Mic

      iface MIXER

      name 'Mono Output Select'

      value Mix

   }

   control.29 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic1

      comment.item.1 Mic2

      iface MIXER

      name 'Mic Select'

      value Mic1

   }

   control.30 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name '3D Control - Center'

      value 0

   }

   control.31 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name '3D Control - Depth'

      value 0

   }

   control.32 {

      comment.access read

      comment.type IEC958

      iface MIXER

      name 'IEC958 Playback Con Mask'

      value '0fff000f000000....... etc

}

   control.33 {

      comment.access read

      comment.type IEC958

      iface MIXER

      name 'IEC958 Playback Pro Mask'

      value cf00000000000... etc

}

   control.34 {

      comment.access 'read write'

      comment.type IEC958

      iface MIXER

      name 'IEC958 Playback Default'

      value '0082000200000000... etc

}

   control.35 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'IEC958 Playback Switch'

      value false

   }

   control.36 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'External Amplifier'

      value true

   }

}

```

Non pas d'erreur au boot ni au shutdown, j'utilise bien alsa pour le son et avec le noyau 2.6... Que dire d'autre ? Je ne vois absolument pas ce que ca peut être !   :Sad: 

Merci...Last edited by sebaf on Tue Sep 07, 2004 9:01 pm; edited 2 times in total

----------

## scout

 *zdra wrote:*   

> euh... ben alors je sais pas, moi ça avait suffi.

 

Je me permet de rappeller que le niveau des mixers n'est restauré que si il a été sauvegardé.

En gros il faut:

/etc/init.d/alsasound start (si ce n'est pas déja fait)

alsamixer

et lors du /etc/init.d/alsasound stop les niveaux seront enregistrés et au prochain reboot c'est bon.

En gros j'ai l'impression que t'as fait rc-update add alsasound default, t'as rebooté et pouf le son était muté, puisque il n'y a jamais eu de /etc/init.d/alsasound stop pour enregistrer les niveaux

----------

## kernelsensei

 *scout wrote:*   

>  *zdra wrote:*   euh... ben alors je sais pas, moi ça avait suffi. 
> 
> Je me permet de rappeller que le niveau des mixers n'est restauré que si il a été sauvegardé.
> 
> En gros il faut:
> ...

 

ouais c'est mon avis aussi !

@sebaf: BOuhouhouhou  :Crying or Very sad:  t'as cassé le thead t'as vu comment c'est large ...  (a cause de "0fff000f00000000000000000000000000000000000000000000000000.......")

mais bon, on va survivre !  :Very Happy: 

----------

## sebaf

Voici ce que je fais :

je remonte les niveaux de sons de alsamixer

je reboot et je lis lors du shutdown qu'il sauve les niveaux de sons de Mixer

il redémarre et je vois Restoring Mixer Levels ou qqch comme ca.

Problème : il a p-e rétabli les niveaux de sons mais un alsamixer me montre qu'ils sont encore mutés !!  :Sad: 

Des idées ?

@kernel_sensei : voilà j'ai raccourci les lignes   :Wink: 

----------

## kaovei

```

alsactl store 0

```

Apres avoir fixe le son via alsamixer

```

man alsactl
```

... pour plus de details

----------

## bassman_fr

essaye ca :

```
amixer set Master 100 unmute

amixer set PCM 100 unmute
```

----------

## sebaf

```
amixer set Master 100 unmute

amixer set PCM 100 unmute
```

Cela fonctionne, en effet... Pour bien faire il faudrait que ces lignes s'exécutent à chaque boot...

C'est sans doute une question facile mais comment faire ?  :Embarassed: 

Merci

----------

## kernelsensei

ca me parrait louche ton probleme avec alsasound !

tu peux m'expliquer en detail comment tu mets alsasound en place et tout le bordel (toute la demarche qui "ne fonctionne pas" ) histoire de verifier  :Very Happy: 

Merci.

----------

## Diagorn

Petite question idiote, tu as bien mis le support alsa directement dans le noyau ? ou a tu emergé alsa ? ou les 2 ?

----------

## sebaf

Le seul truc qui ne marche pas en fait c'est la sauvegarde et/ou le rétablissement du niveau du son que je fais pour le moment manuellement avec alsamixer. Le faire manuellement à chaque reboot ca devient lourd, d'où ce topic...

Si je me souviens bien, je pense avoir émergé alsa. Pour le noyau j'ai fait un "genkernel" un peu barbare je l'avoue...   :Embarassed: 

----------

## kernelsensei

avec un kernel 2.6 on emerge pas alsa-driver !!

----------

## Diagorn

moi j'utilise genkernel

essaye un truc car j'ai eu le meme problème que toi.

desinstalle alsa

Recompile ton noyau en faisant un 

```
genkernel --menuconfig all
```

et active le support d'alsaLast edited by Diagorn on Tue Sep 07, 2004 4:37 pm; edited 1 time in total

----------

## sebaf

Ok, j'essayerai.

En attendant, j'utilise une solution pas très propre mais efficace :

j'ai ajouté à mon ~/.bashrc les lignes suivantes

```
amixer set Master 100 unmute &> /dev/null

amixer set PCM 100 unmute &> /dev/null
```

En tout cas, merci à tous !

----------

## sireyessire

 *sebaf wrote:*   

> Ok, j'essayerai.
> 
> En attendant, j'utilise une solution pas très propre mais efficace :
> 
> j'ai ajouté à mon ~/.bashrc les lignes suivantes
> ...

 

le plus propre c'est de faire marcher alsasound

sinon tu peux le faire " à la main" en faisant:

```
echo "alsactl store">>/etc/conf.d/local.stop

echo "alsactl restore">>/etc/conf.d/local.start
```

mais c'est moins propre (cela l'est quand même plus que tes lignes dans le .bashrc   :Razz: 

----------

## sebaf

Je sais que c'est limite barbare ce que je faisais dans mon .bashrc mais c'etait mieux que rien   :Wink: 

Merci en tout cas pour la solution plus propre.

Petite question subsidiaire qui n'a rien à voir avec alsa mais que je me pose... 

Si je veux lancer mon serveur X au boot, c'est dans /etc/conf.d/local.start aussi que je dois mettre startx ?

Merci !

----------

## bassman_fr

euh si tu veux lancer ton serveur X au boot il faut faire :

```
rc-update add xdm default
```

et configurer le login manager de ton choix dans /etc/rc.conf

pour moi :

```
DISPLAYMANAGER="gdm"
```

(en supposant que tu ais installé gdm avant bien entendu)

----------

## sireyessire

 *sebaf wrote:*   

> 
> 
> Petite question subsidiaire qui n'a rien à voir avec alsa mais que je me pose... 
> 
> Si je veux lancer mon serveur X au boot, c'est dans /etc/conf.d/local.start aussi que je dois mettre startx ?
> ...

 

surtout pas ça lancerait un serveur X en root!

non il faut faire ça avec un xdm comme expliqué plus haut

mais tu as le choix entre kdm, gdm et bien d'autres

----------

## sebaf

Ok, parfait. Au risque de me répeter : Merci   :Very Happy: 

----------

## ghoti

 *sireyessire wrote:*   

> le plus propre c'est de faire marcher alsasound

 

Mais alsasound fonctionne très bien !  :Smile: 

Je viens de me casser le neurone sur le même problème en configurant le PC de ma femme.

Après des heures de camboui, déboulonnage d'alsasound, tripotage d'alsamixer et mise à plat de tout le système son, je me suis rendu compte que le problème venait finalement de KDE !!!

Si on boote en xdm, ça passe totalement inaperçu  :Sad: 

C'est en le désactivant temporairement que je suis tombé sur le pot aux roses.

En fait, le cher mastodonte a son propre petit mixer (kmix) qui, par défaut (du moins dans le 3.3.0), restaure lui aussi tous les niveaux au démarrage.

Et comme, par défaut, ses niveaux sont à zéro, ben il remet la carte à zéro, sans tenir compte de /etc/asound.state.

Evidemment, au shutdown, si on ne s'est aperçu de rien, alsasound enregistre les valeurs actuelles qui sont ... à zéro et ça n'arrange pas les choses.

Bref, la soluce, c'est soit de désactiver Artsd dans la config KDE, soit désactiver le restore des niveaux dans kmix, soit de mettre les niveaux de kmix à des valeurs convenables...

----------

## sebaf

En effet, je viens d'essayer de remonter le son de kmix et d'enlever mes bricolages. Je reboot et... miracle !

C'etait donc cela chez moi aussi...   :Confused: 

----------

## sireyessire

 *ghoti wrote:*   

>  *sireyessire wrote:*   le plus propre c'est de faire marcher alsasound 
> 
> Mais alsasound fonctionne très bien ! 
> 
> 

 

Mais j'en suis convaincu, je l'utilise depuis que j'ai décidé d'avoir du son sous linux ce qui a du se produire 2 semaines après la première install gentoo (1.4rc2)    :Wink:  , c'est pas moi qui disait que ça fonctionnait pas.  :Very Happy: 

----------

## ghoti

 *sireyessire wrote:*   

> c'est pas moi qui disait que ça fonctionnait pas. 

 

Si j'ai "quoté" ta remarque c'est parce que je m'étais focalisé sur alsasound en pensant que le problème ne pouvait venir que de là.

Ta remarque résumait donc ma propre conviction : il valait mieux faire marcher alsasound correctement plutôt que de recourir à des subterfuges plus ou moins "propres" !  :Wink: 

... jusqu'à ce que je découvre qu'alsasound n'est finalement pas le problème ...

A toutes fins utiles, je viens aussi de découvrir que alsasound vient d'être modifié :

 *changelog alsa-utils wrote:*   

> # ChangeLog for media-sound/alsa-utils
> 
> # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
> 
> # $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/ChangeLog,v 1.67 2004/08/30 07:30:22 eradicator Exp $
> ...

 

La nouvelle variable SAVE_ON_STOP est située dans /etc/conf.d/alsasound et permet d'empêcher l'écrasement de /etc/asound.state suite aux agissements des petits comiques comme kmix !  :Wink: 

C'est vrai qu'une fois configurés par alsamixer, les niveaux n'ont en principe pas besoin d'être sauvegardés encore une fois au shutdown !

Pour en bénéficier, il faut réemerger alsa-utils (le n° de version de l'ebuild n'a pas été modifié !)

----------

## Talosectos

Pour démarrer X au démarrage, si tu veux un gestionnaire de session avec tu n'as qu faire faire un 

```
vim /etc/rc.conf
```

 et modifier 

```
DISPLAYMANAGER=gdm ou kdm ou entrance
```

 puis un petit 

```
rc-update add xdm ou default
```

.

----------

## kernelsensei

 *Talosectos wrote:*   

> Si tu ne veux pas de gestionnaire de sessions et directement lancer ton bureau, vérfie que dans /etc/rc.conf tu as bien la variable XSESSION correspondant à ton bureau et puis un petit
> 
> ```
> echo "startx" > /etc/conf.d/local.start
> ```
> ...

 

Euh ca lance pas la session X de root ca par hasard ?

----------

## Talosectos

 *kernel_sensei wrote:*   

> 
> 
> Euh ca lance pas la session X de root ca par hasard ?

 

Autant pour moi

c rectifié (je sais pas où j'avais la tête)

----------

## kernelsensei

 *Talosectos wrote:*   

>  *kernel_sensei wrote:*   
> 
> Euh ca lance pas la session X de root ca par hasard ? 
> 
> Autant pour moi
> ...

 

Au temps pour moi !!!

http://www.academie-francaise.fr/langue/questions.html#au_temps

----------

## ghoti

 *kernel_sensei wrote:*   

>  *Talosectos wrote:*   Autant pour moi 
> 
> Au temps pour moi !!!
> 
> http://www.academie-francaise.fr/langue/questions.html#au_temps

 

WARNING : TROLL DETECTED !!!!

beep beep beep beep beep

 *lakademyefrensseize wrote:*   

>  la graphie Autant pour moi est courante aujourdhui, mais rien ne la justifie

 

http://www.langue-fr.net/index/A/au_temps-autant.htm (exemple au hasard, cfr google  :Wink:  )

----------

