# alsa und udev geht nicht wirklich gut

## JoHo42

Hi Leute,

nach einem Update von ALSA habe ich unter kde keinen Sound mehr.

Wenn ich /etc/init.d/alsasound start mache wird also geladen bricht aber

ab, da im /dev Verzeichnis Dateien fehlen.

Wenn ich dann udevstart eingebe und dann /etc/init.d/alsasound restart mache,

dann läuft ALSA ohne Probleme.

Wie muß ich damit umgehen?

Gruss Jörg

----------

## archvile

Hast du die Treiber aus dem Kernel oder aus dem alsa Treiberpaket?

Habe die Treiber beim ersten versuch aus den Alsa-Packet genommen (alsa-driver) mit dem Erfolg das er nicht alle Module hatte bzw. nicht alle Symbole auflösen konnte.

----------

## musv

 *JoHo42 wrote:*   

> 
> 
> nach einem Update von ALSA habe ich unter kde keinen Sound mehr.
> 
> 

 

Dürfte an dieser Stelle nichts mit KDE zu tun haben, da:

 *JoHo42 wrote:*   

> 
> 
> Wenn ich /etc/init.d/alsasound start mache wird also geladen bricht aber
> 
> ab, da im /dev Verzeichnis Dateien fehlen. Wenn ich dann udevstart eingebe und dann /etc/init.d/alsasound restart mache, dann läuft ALSA ohne Probleme.
> ...

 

1. Poste zuerst mal bitte die Fehlermeldungen. 

2. Beförder mal das alsasound-Script vom Boot-Runlevel ins Default (Sollte aber eigentlich keine Auswirkungen auf das Verhalten haben).

3. Die Module, die eventuell nicht gefunden werden können (siehe 1.), kannst du mal versuchen, in /etc/modules.autoload.d/kernel-2.6 unterzubringen, vielleicht hilft das ja.

Module im Kernel oder als Extra-Paket: Ich benutz seit ca. 2 Jahren schon nur noch die externen Treiber. Ich hatte damals gewechselt, nachdem die Kerneltreiber eine Zeit lang bei mir nicht (richtig) funktionierten. Mit den externen Treibern hatte ich bisher eigentlich noch keine größeren Probleme. Die Module werden vollständig beim Start geladen. Der Unterschied zwischen den Paket- und den Modultreibern besteht darin, daß die Treiber aus dem Alsa-driver-Paket eventuell bissel aktueller sind.

----------

## oscarwild

nur ein Schuss ins Blaue - falls Du arts benutzt, lass den mal neu bauen, evtl. benutzt der alsa-Schnittstellen, die nach dem Update nicht mehr konsistent sind.

----------

## Battlestar Gentoo

Hast du die Treiber aus dem Kernel oder aus dem alsa Treiberpaket?

Ich schätze, dass es nicht in den Kernel einkompiliert wurde, da sonst kein init-Script vorhanden wäre. (Ich habe es einkompiliert und kein ALSA-Initscript)

Habe die Treiber beim ersten versuch aus den Alsa-Packet genommen [...]

Es heißt Paket, oder betonst du etwa das "a"?

----------

## JoHo42

Hi Leute,

ich habe ein allgemeines Problem mit UDEV.

Die Probleme tretten mit der gesamten Hardware auf:

lirc

drucker

soundkarte

usbstick

modem

Es fehlen halt die Devices in /dev/

Ich lade halt fast alles als Modul in meinem System.

Ich arbeite hier fast ausschließlich mit Modulen.

So lade ich z.B. das usb_storage über die

/etc/autoload.module/kernel2.6

Die Module werden auch ohne Probleme geladen genauso

wie die Module von der Soundkarte usw...

Die Programme versuchen halt wie früher auf z.B.

/dev/lirc0 /dev/sda usw... zu zu greifen,

allerdings sind dieses Dateien nicht da.

Wenn ich einen USB Stick einstecke sagt dmesg, das

dieser erkannt ist und alles OK aber /dev/sda fehlt.

etc-update ist ausgeführt worden.

Damit ich mit dem Modem ins Netz komme habe ich via

mknod /dev/ppp c 108 dieses von Hand angelegt und dann

ging es aber das ist kein zustand.

Wie bekomme ich das wieder hin? (für alle Geräte)

Gruss Jörg

----------

## Finswimmer

emerge udev -pv bitte

Tobi

----------

## JoHo42

Hi Tobi,

das ist meine derzeitige udev Version:

[ebuild   R   ] sys-fs/udev-087-r1  USE="(-selinux)" 0 kB

Vorher hatte ich:

udev-079

Meine Einstellungen in der udev.conf:

# /etc/udev/udev.conf:  main config file for udev

# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/files/udev.conf.post_081,v 1.1 2$

#

# This file can be used to override some of udev's default values.

# See the udev man page for more details about these values.

# udev_root - where in the filesystem to place the device nodes

udev_root="/dev/"

# udev_rules - The name and location of the udev rules file

udev_rules="/etc/udev/rules.d/50-udev.rules"

# The initial syslog(3) priority: "err", "info", "debug" or its

# numerical equivalent. For runtime debugging, the daemons internal

# state can be changed with: "udevcontrol log_priority=<value>".

udev_log="err"

Gruss Jörg

----------

## Finswimmer

udev_rules="/etc/udev/rules.d/"

Das ist bei mir drin.

```
[15:53:23]|[tobi@tobi-rechner]|/tmp$ls /etc/udev/rules.d/

total 32

drwxr-xr-x 2 root   248 2006-08-31 14:48 .

drwxr-xr-x 4 root   160 2006-04-04 06:56 ..

-rw-r--r-- 1 root   385 2006-09-07 11:26 05-udev-early.rules

-rw-r--r-- 1 root    37 2006-10-06 09:38 10-lirc.rules

-rw-r--r-- 1 root    55 2006-10-01 17:23 30-svgalib.rules

-rw-r--r-- 1 root    38 2005-11-21 08:51 40-fuse.rules

-rw-r--r-- 1 root 11678 2006-09-07 11:26 50-udev.rules

-rw-r--r-- 1 root   186 2006-09-07 11:28 90-hal.rules

```

Habe auch nix geändert an den Regeln.

Schau mal, ob du den Ordner hast.

Mein Tipp: Du hast beim etc-update aus Versehen die alte udev.conf behalten, und das ist Schuld an dem ganzen Desaster.

Tobi

----------

## JoHo42

Hi Tobi,

ich habe die udev Dateien noch mal aus dem Source geholt und das ins /etc Verzeichnis

reinkopiert.

Wegen der Sicherheit halt.

Das ist bei mir drin:

-rw-r--r-- 1 root root   385 Oct 23 12:44 05-udev-early.rules

-rw-r--r-- 1 root root    37 Oct 24 03:56 10-lirc.rules

-rw-r--r-- 1 root root    55 Oct 23 14:16 30-svgalib.rules

-rw-r--r-- 1 root root 11686 Oct 23 12:44 50-udev.rules

Ich habe wohl versuchshalber in der /etc/udev/udev.conf

Diese Zeile versuchsweise geändert:

udev_rules="/etc/udev/rules.d/50-udev.rules" 

Jörg

----------

## Knieper

 *Gentoo Reptile wrote:*   

> 
> 
> Ich schätze, dass es nicht in den Kernel einkompiliert wurde, da sonst kein init-Script vorhanden wäre.

 

alsasound kommt mit den alsa-utils...

----------

## JoHo42

Hi Leute,

habe das udev nochmal neu geemerge und vorher die Dateien in

/etc/udev gelöscht.

So alles wie gehabt.

Immer noch den gleichen ärger.

Aber ich glaube das liegt daran, dass irgendwo (weiß nicht wo)

vielleicht udevstart ausgeführt werden muß.

Den lirc alsa usw... haben alle das Problem, das die Dateien

in /dev/ Fehlen.

Mache ich nachdem restart des Rechner:

udevstart und dann

/etc/init.d/lircd restart

/etc/init.d/alsasound restart

Dann sind die Dateien in /dev/ da.

Deshalb hier mal meine rc-update show:

               acpid |      default

           alsasound | boot

            bootmisc | boot

             checkfs | boot

           checkroot | boot

               clock | boot

         consolefont | boot

               cupsd |      default

              hdparm | boot

            hostname | boot

             keymaps | boot

               lircd |      default

          lm_sensors |      default

               local |      default nonetwork

          localmount | boot

             modules | boot

              net.lo | boot

            netmount |      default

             numlock |      default

           rmnologin | boot

              serial | boot

              smartd |      default

           syslog-ng |      default

             urandom | boot

          vixie-cron |      default

                 xdm |      default

Gruss Jörg

----------

## Knieper

 *JoHo42 wrote:*   

> 
> 
> Aber ich glaube das liegt daran, dass irgendwo (weiß nicht wo)
> 
> vielleicht udevstart ausgeführt werden muß.
> ...

 

Du kannst ja mal nachsehen, wie udev bei Dir startet. /sbin/rc ruft /lib/rcscripts/addons/udev-start.sh auf. In meiner minit-Konfiguration erzeuge ich einige Verzeichnisse vorher:

```

/bin/ln -snf /proc/self/fd /dev/fd

/bin/ln -snf fd/0 /dev/stdin

/bin/ln -snf fd/1 /dev/stdout

/bin/ln -snf fd/2 /dev/stderr

/bin/ln -snf /proc/kcore /dev/core

/bin/ln -snf /proc/asound/oss/sndstat /dev/sndstat

/sbin/udevstart &

```

Leider ist die ganze HAL, DBUS, UDEV, PROTON, SOLID, ...-Sammlung ein unkoordinierter Haufen Mist.

----------

## JoHo42

Irgendwie hilft mir das nicht wirklich weiter,

da ich nicht verstehe was du da machst.

Diese Meldung erhalte ich bei meiner Soundkarte:

/usr/sbin/alsactl: load_state:1250: Cannot find soundcard '0'...

 * Errors while restoring defaults, ignoring    

Jetzt habe ich mir das Gentoo UDEV Handbuch angeschaut,

aber das ist nicht wirklich eine Hilfe

http://www.gentoo.org/doc/en/udev-guide.xml

Das ist jetzt alles großer mist, da ich ganz dringend auch meinen

Drucker brauche aber /dev/lp fehlt ebenfalls obwohl die Module geladen worden sind.

Gruss Jörg

----------

## Knieper

Ok, dann ganz von vorne. Ich nehme an, Du hast udev_rules wieder zurueckgesetzt:

```

udev_rules="/etc/udev/rules.d/"

```

Aendere udev_log auf debug:

```

udev_log="debug"

```

Starte den Rechner neu, poste das Log hier (muesste das Ende von /var/log/messages sein) und schau mal nach, ob udev laeuft (ps -e | grep udevd).

----------

## JoHo42

Hi Leute,

die Lösung meiner Probleme ist ein

MAKEDEV generic ausgeführt im /dev/ Verzeichnis.

Aber das muß ich dann erstmal nach jedem Reboot ausführen,

damit der Rechner läuft und eventuel alsasound neustarten.

Genauso wie Xorg damit der den Lirc erkennt.

gruss Jörg

----------

## Marlo

 *JoHo42 wrote:*   

> Hi Leute,
> 
> ... das muß ich dann erstmal nach jedem Reboot ausführen,
> 
> 

 

Dann scheint deine /etc/modules.conf nicht mehr mit deinem System übereinzustimmen.

```
 update-modules -f

reboot

```

sollte helfen. 

In Sachen udev stehen sowiso einige ernsthafte Änderungen an,

sys-apps/coldplug ist zu deinstallieren und die Module in /etc/modules.autoload.d/kernel-2.6 werden in reverse order geladen,

 weshalb ich gleich auf 103 gegangen bin und in der kernel-2.6 gar nichts mehr drinn habe.

Grüße

Ma

----------

## JoHo42

Hi Leute,

ich habe das modules-update -f ausgeführt,

bringt aber leider keine Änderung.

Das einzige was bleibt ist MAKEDEV generic.

Udevd wird gestartet steht im Speicher.

Ich bin jetzt ziemlich ratlos und weiß erlich nicht mehr

wie ich das noch angehen kann.

Gruss Jörg

----------

## Marlo

 *JoHo42 wrote:*   

> 
> 
> Ich bin jetzt ziemlich ratlos und weiß erlich nicht mehr
> 
> wie ich das noch angehen kann.
> ...

 

Hi,

Dann hast du dich im Nirvana verhäddert.

Also alles von Vorne:

```
 

su -

Password:

cd /usr/src

ls -la

```

und nachschauen ob der Link auf den richtigen Kernel zeigt. Zum Bleistift:

```
 

/usr/src # ls -la

total 132

drwxr-xr-x  4 root root  4096 14. Sep 06:59 .

drwxr-xr-x 16 root root  4096 14. Okt 15:57 ..

-rw-r--r--  1 root root     0 14. Feb 2006  .keep

lrwxrwxrwx  1 root root    22 14. Sep 06:59 linux -> linux-2.6.17-gentoo-r8

drwxr-xr-x 20 root root  4096 13. Sep 19:56 linux-2.6.17-gentoo-r7

drwxr-xr-x 20 root root  4096 22. Okt 18:13 linux-2.6.17-gentoo-r8

```

Wenn nicht, bitte korrigieren. Danach deine Unterverzeichnisse in /lib/modules/* bitte löschen. Alle!

jetzt gehste rein in:

```

cd /usr/src/linux

```

und kontrollierst deine Kernelparameter. Alle Alsa-Parameter auf -->  <M>.

sodann wird /boot geöffnet und schreibbar gemacht und ein beherztes:

```

make all

make modules

make modules_install

make install

```

ausgeführt. Alle Einträge in /etc/modules.autoload.d/kernel-2.6 erhalten ein neues erstes Zeichen: ein  --> #

Wenn es nun bei einem reboot Alsa-Fehler gibt, bitte posten.

Ma

----------

## JoHo42

Hi Ma,

ich habe das nach deiner Anleitung ausgeführt.

Zusätzlich noch ein make clean im /usr/src/linux

eingeführt.

Aber der Effekt ist der selbe.

* Loading ALSA modules ...

*   Loading: snd-card-0 ... [ ok ]

*   Loading: snd-seq-oss ...  [ ok ]

*   Loading: snd-pcm-oss ...  [ ok ]

*   Loading: snd-emu10k1-synth ...  [ ok ]

*   Loading: snd-seq-midi ...  [ ok ]

 * Restoring Mixer Levels ...

/usr/sbin/alsactl: load_state:1250: Cannot find soundcard '0'...

 * Errors while restoring defaults, ignoring     

Momentan mache ich nach dem Reboot immer noch:

udevstart

cd /dev

MAKEDEV generic

/etc/init.d/alsasound restart

/etc/init.d/lircd restart

/etc/init.d/xdm restart

mknod /dev/ppp c 108 0

Danach funktioniert alles wie es sollte.

Ist halt nur ein riesen aufwand.

Das ganze würde auch ohne MAKEDEV generic funktionieren,

aber das brauche ich um /dev/lp zu bekommen.

Damit der Drucker läuft.

gruss Jörg

----------

## Marlo

 *JoHo42 wrote:*   

> Cannot find soundcard '0'...
> 
>  Jörg

 

Hallo Jörg,

diesen Fehler hattest du weiter Oben schon mal gepostet, da ist er mir nicht in's Auge gefallen.

Du hast also mehrere SoundKarten! Und möchtest diese über alsaconf konfigurieren. Das geht nicht.

Dafür musst du selbst rein in die /etc/modules.d/alsa und diese anpassen.

Also lass uns erst mal klären, ob es mehrere sind und gib den jeweiligen Cipsatz an.

Ma

----------

## JoHo42

Hi,

das ist nur eine Soundkarte und es ist eine Soundblaster Live.

Das Problem ist nicht nur der ALSA Driver sondern auch der Lirc

das Modem der Drucker.

Alle dieser Geräte fehlt under dem /dev/ Verzeichnis das entsprechende

Device.

So viel zum Thema.

Gruss Jörg

----------

## Marlo

Schau noch mal da  --> http://www.gentoo.org/doc/de/udev-guide.xml

ob hier alles stimmt.

----------

## JoHo42

Hi,

die Udev-Anleitung bin ich schon mehrmals durchgegangen.

Alles drin coldplug hotplug usw...

Was steht den bei Dir in der udev.conf?

# /etc/udev/udev.conf:  main config file for udev

# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/files/udev.conf.post_081,v 1.1 2$

#

# This file can be used to override some of udev's default values.

# See the udev man page for more details about these values.

# udev_root - where in the filesystem to place the device nodes

udev_root="/dev/"

# udev_rules - The name and location of the udev rules file

udev_rules="/etc/udev/rules.d/"

# The initial syslog(3) priority: "err", "info", "debug" or its

# numerical equivalent. For runtime debugging, the daemons internal

# state can be changed with: "udevcontrol log_priority=<value>".

udev_log="err"

Bei mir steht das drin.

Ich weiß nicht ob ich in der Zeile udev_rules="/etc/udev/ruled.d/"

was verändern muss?

Es hat sich leider immer noch nichts getan auf meinem Rechner.

Führe immer noch udevstart und MAKEDEV generic aus,

damit die Geräte Dateien alle da sind.

Gruss Jörg

----------

## JoHo42

Hi Leute,

Problem beiseitigt.

In der /etc/conf.d/rc muß bei mir RC_DEVICE_TARBALL="yes" stehen,

da sonst die Devices alle weggeworfen werden.

Jetzt bleiben diese und der Rechner läuft wieder einwandfrei!!!

Gruss Jörg

----------

