You are not logged in.
Hi,
Please can you give some direction on how to configure ALSA on this PC to generate audio, under Arch.
A slightly-old ArchBang Live CD generates audio without any configuration and I have compared many arch configuration files/modules against it. This proves that the capability is there and allows comparison of files but I have not been able to find the fix.
# ls -l /dev/snd # ArchBang
drwxr-xr-x 2 root root 80 Mar 3 10:38 by-path
crw-rw---- 1 root audio 116, 6 Mar 3 10:38 controlC0
crw-rw---- 1 root audio 116, 15 Mar 3 10:38 controlC1
crw-rw---- 1 root audio 116, 5 Mar 3 10:38 hwC0D2
crw-rw---- 1 root audio 116, 14 Mar 3 10:38 hwC1D0
crw-rw---- 1 root audio 116, 13 Mar 3 10:38 hwC1D1
crw-rw---- 1 root audio 116, 12 Mar 3 10:38 hwC1D2
crw-rw---- 1 root audio 116, 11 Mar 3 10:38 hwC1D3
crw-rw---- 1 root audio 116, 4 Mar 3 10:38 pcmC0D0c
crw-rw---- 1 root audio 116, 3 Mar 3 10:38 pcmC0D0p
crw-rw---- 1 root audio 116, 2 Mar 3 10:38 pcmC0D2c
crw-rw---- 1 root audio 116, 10 Mar 3 10:38 pcmC1D3p
crw-rw---- 1 root audio 116, 9 Mar 3 10:38 pcmC1D7p
crw-rw---- 1 root audio 116, 8 Mar 3 10:38 pcmC1D8p
crw-rw---- 1 root audio 116, 7 Mar 3 10:38 pcmC1D9p
crw-rw---- 1 root audio 116, 1 Mar 3 10:38 seq
crw-rw---- 1 root audio 116, 33 Mar 3 10:38 timer
# ls -l /dev/snd # Arch
drwxr-xr-x 2 root root 80 Mar 3 15:46 by-path
crw-rw----+ 1 root audio 116, 3 Mar 3 15:46 controlC0
crw-rw----+ 1 root audio 116, 12 Mar 3 15:46 controlC1
crw-rw----+ 1 root audio 116, 2 Mar 3 15:46 hwC0D2
crw-rw----+ 1 root audio 116, 11 Mar 3 15:46 hwC1D0
crw-rw----+ 1 root audio 116, 10 Mar 3 15:46 hwC1D1
crw-rw----+ 1 root audio 116, 9 Mar 3 15:46 hwC1D2
crw-rw----+ 1 root audio 116, 8 Mar 3 15:46 hwC1D3
crw-rw----+ 1 root audio 116, 7 Mar 3 15:46 pcmC1D3p # pcmC0Dxx missing!
crw-rw----+ 1 root audio 116, 6 Mar 3 15:46 pcmC1D7p
crw-rw----+ 1 root audio 116, 5 Mar 3 15:46 pcmC1D8p
crw-rw----+ 1 root audio 116, 4 Mar 3 15:46 pcmC1D9p
crw-rw---- 1 root audio 116, 1 Mar 3 15:45 seq
crw-rw----+ 1 root audio 116, 33 Mar 3 15:45 timer
# aplay -l # ArchBang
**** List of PLAYBACK Hardware Devices ****
card 0: M5461 [HDA ULI M5461], device 0: ALC880 Analog [ALC880 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
# aplay -l # Arch
**** List of PLAYBACK Hardware Devices ****
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] # ALC880 Analog missing!
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
# lspci | grep -i audio # Arch
00:1d.0 Audio device: ULi Electronics Inc. HD Audio Controller
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
# lsmod | grep '^snd' # Arch
snd_hda_codec_hdmi 24753 4
snd_hda_codec_realtek 52789 1
snd_hda_intel 23352 0
snd_hda_codec 86035 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep 4843 1 snd_hda_codec
snd_pcm 63698 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc 6071 2 snd_pcm,snd_hda_intel
snd_timer 14903 1 snd_pcm
snd 45066 7 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec,snd_hda_intel
I am using the VGA port, not HDMI, for video.
I have extra/alsa-lib 1.0.26-1 and extra/alsa-utils 1.0.26-1 installled
I would like to know what is responsible for creating pcmC0Dxx devices and any configuration required for this.
Any assistance is appreciated.
Last edited by zorro (2013-03-09 19:13:31)
Offline
Further searches on the web identified snddevices as the script that generates the sound devices. I found this in ftp://ftp.alsa-project.org/pub/driver/a … 25.tar.bz2
I captured the script and the commands it executed were
mknod /dev/mixer0 c 14 0
mknod /dev/mixer1 c 14 16
mknod /dev/mixer2 c 14 32
mknod /dev/mixer3 c 14 48
mknod /dev/sequencer c 14 1
mknod /dev/midi00 c 14 2
mknod /dev/midi01 c 14 18
mknod /dev/midi02 c 14 34
mknod /dev/midi03 c 14 50
mknod /dev/dsp0 c 14 3
mknod /dev/dsp1 c 14 19
mknod /dev/dsp2 c 14 35
mknod /dev/dsp3 c 14 51
mknod /dev/audio0 c 14 4
mknod /dev/audio1 c 14 20
mknod /dev/audio2 c 14 36
mknod /dev/audio3 c 14 52
mknod /dev/sndstat c 14 6
mknod /dev/music c 14 8
mknod /dev/dmmidi0 c 14 9
mknod /dev/dmmidi1 c 14 25
mknod /dev/dmmidi2 c 14 41
mknod /dev/dmmidi3 c 14 57
mknod /dev/dmfm0 c 14 10
mknod /dev/dmfm1 c 14 26
mknod /dev/dmfm2 c 14 42
mknod /dev/dmfm3 c 14 58
mknod /dev/amixer0 c 14 11
mknod /dev/amixer1 c 14 27
mknod /dev/amixer2 c 14 43
mknod /dev/amixer3 c 14 59
mknod /dev/adsp0 c 14 12
mknod /dev/adsp1 c 14 28
mknod /dev/adsp2 c 14 44
mknod /dev/adsp3 c 14 60
mknod /dev/amidi0 c 14 13
mknod /dev/amidi1 c 14 29
mknod /dev/amidi2 c 14 45
mknod /dev/amidi3 c 14 61
mknod /dev/admmidi0 c 14 14
mknod /dev/admmidi1 c 14 30
mknod /dev/admmidi2 c 14 46
mknod /dev/admmidi3 c 14 62
mknod /dev/snd/controlC0 c 116 0
mknod /dev/snd/controlC1 c 116 32
mknod /dev/snd/controlC2 c 116 64
mknod /dev/snd/controlC3 c 116 96
mknod /dev/snd/seq c 116 1
mknod /dev/snd/timer c 116 33
mknod /dev/snd/hwC0D0 c 116 4
mknod /dev/snd/hwC0D1 c 116 5
mknod /dev/snd/hwC0D2 c 116 6
mknod /dev/snd/hwC0D3 c 116 7
mknod /dev/snd/hwC1D0 c 116 36
mknod /dev/snd/hwC1D1 c 116 37
mknod /dev/snd/hwC1D2 c 116 38
mknod /dev/snd/hwC1D3 c 116 39
mknod /dev/snd/hwC2D0 c 116 68
mknod /dev/snd/hwC2D1 c 116 69
mknod /dev/snd/hwC2D2 c 116 70
mknod /dev/snd/hwC2D3 c 116 71
mknod /dev/snd/hwC3D0 c 116 100
mknod /dev/snd/hwC3D1 c 116 101
mknod /dev/snd/hwC3D2 c 116 102
mknod /dev/snd/hwC3D3 c 116 103
mknod /dev/snd/midiC0D0 c 116 8
mknod /dev/snd/midiC0D1 c 116 9
mknod /dev/snd/midiC0D2 c 116 10
mknod /dev/snd/midiC0D3 c 116 11
mknod /dev/snd/midiC0D4 c 116 12
mknod /dev/snd/midiC0D5 c 116 13
mknod /dev/snd/midiC0D6 c 116 14
mknod /dev/snd/midiC0D7 c 116 15
mknod /dev/snd/midiC1D0 c 116 40
mknod /dev/snd/midiC1D1 c 116 41
mknod /dev/snd/midiC1D2 c 116 42
mknod /dev/snd/midiC1D3 c 116 43
mknod /dev/snd/midiC1D4 c 116 44
mknod /dev/snd/midiC1D5 c 116 45
mknod /dev/snd/midiC1D6 c 116 46
mknod /dev/snd/midiC1D7 c 116 47
mknod /dev/snd/midiC2D0 c 116 72
mknod /dev/snd/midiC2D1 c 116 73
mknod /dev/snd/midiC2D2 c 116 74
mknod /dev/snd/midiC2D3 c 116 75
mknod /dev/snd/midiC2D4 c 116 76
mknod /dev/snd/midiC2D5 c 116 77
mknod /dev/snd/midiC2D6 c 116 78
mknod /dev/snd/midiC2D7 c 116 79
mknod /dev/snd/midiC3D0 c 116 104
mknod /dev/snd/midiC3D1 c 116 105
mknod /dev/snd/midiC3D2 c 116 106
mknod /dev/snd/midiC3D3 c 116 107
mknod /dev/snd/midiC3D4 c 116 108
mknod /dev/snd/midiC3D5 c 116 109
mknod /dev/snd/midiC3D6 c 116 110
mknod /dev/snd/midiC3D7 c 116 111
mknod /dev/snd/pcmC0D0p c 116 16
mknod /dev/snd/pcmC0D1p c 116 17
mknod /dev/snd/pcmC0D2p c 116 18
mknod /dev/snd/pcmC0D3p c 116 19
mknod /dev/snd/pcmC0D4p c 116 20
mknod /dev/snd/pcmC0D5p c 116 21
mknod /dev/snd/pcmC0D6p c 116 22
mknod /dev/snd/pcmC0D7p c 116 23
mknod /dev/snd/pcmC1D0p c 116 48
mknod /dev/snd/pcmC1D1p c 116 49
mknod /dev/snd/pcmC1D2p c 116 50
mknod /dev/snd/pcmC1D3p c 116 51
mknod /dev/snd/pcmC1D4p c 116 52
mknod /dev/snd/pcmC1D5p c 116 53
mknod /dev/snd/pcmC1D6p c 116 54
mknod /dev/snd/pcmC1D7p c 116 55
mknod /dev/snd/pcmC2D0p c 116 80
mknod /dev/snd/pcmC2D1p c 116 81
mknod /dev/snd/pcmC2D2p c 116 82
mknod /dev/snd/pcmC2D3p c 116 83
mknod /dev/snd/pcmC2D4p c 116 84
mknod /dev/snd/pcmC2D5p c 116 85
mknod /dev/snd/pcmC2D6p c 116 86
mknod /dev/snd/pcmC2D7p c 116 87
mknod /dev/snd/pcmC3D0p c 116 112
mknod /dev/snd/pcmC3D1p c 116 113
mknod /dev/snd/pcmC3D2p c 116 114
mknod /dev/snd/pcmC3D3p c 116 115
mknod /dev/snd/pcmC3D4p c 116 116
mknod /dev/snd/pcmC3D5p c 116 117
mknod /dev/snd/pcmC3D6p c 116 118
mknod /dev/snd/pcmC3D7p c 116 119
mknod /dev/snd/pcmC0D0c c 116 24
mknod /dev/snd/pcmC0D1c c 116 25
mknod /dev/snd/pcmC0D2c c 116 26
mknod /dev/snd/pcmC0D3c c 116 27
mknod /dev/snd/pcmC0D4c c 116 28
mknod /dev/snd/pcmC0D5c c 116 29
mknod /dev/snd/pcmC0D6c c 116 30
mknod /dev/snd/pcmC0D7c c 116 31
mknod /dev/snd/pcmC1D0c c 116 56
mknod /dev/snd/pcmC1D1c c 116 57
mknod /dev/snd/pcmC1D2c c 116 58
mknod /dev/snd/pcmC1D3c c 116 59
mknod /dev/snd/pcmC1D4c c 116 60
mknod /dev/snd/pcmC1D5c c 116 61
mknod /dev/snd/pcmC1D6c c 116 62
mknod /dev/snd/pcmC1D7c c 116 63
mknod /dev/snd/pcmC2D0c c 116 88
mknod /dev/snd/pcmC2D1c c 116 89
mknod /dev/snd/pcmC2D2c c 116 90
mknod /dev/snd/pcmC2D3c c 116 91
mknod /dev/snd/pcmC2D4c c 116 92
mknod /dev/snd/pcmC2D5c c 116 93
mknod /dev/snd/pcmC2D6c c 116 94
mknod /dev/snd/pcmC2D7c c 116 95
mknod /dev/snd/pcmC3D0c c 116 120
mknod /dev/snd/pcmC3D1c c 116 121
mknod /dev/snd/pcmC3D2c c 116 122
mknod /dev/snd/pcmC3D3c c 116 123
mknod /dev/snd/pcmC3D4c c 116 124
mknod /dev/snd/pcmC3D5c c 116 125
mknod /dev/snd/pcmC3D6c c 116 126
mknod /dev/snd/pcmC3D7c c 116 127
mknod /dev/aloadC0 c 116 0
mknod /dev/aloadC1 c 116 32
mknod /dev/aloadC2 c 116 64
mknod /dev/aloadC3 c 116 96
mknod /dev/aloadSEQ c 116 1
I was looking to manually create the devices but noticed the MAJOR & MINOR /* mknod [OPTION]... NAME TYPE [MAJOR MINOR] */ didn't align with the captures in the initial post, which themselves didn't align with each other.
/dev in the arch parition is empty when booting from a live distro, showing that all the devices are created at boot. udev?
Offline
This post looks like it might now be more applicable to the "Kernel & Hardware" forum but I haven't found a way to move it.
Older versions of udev 151 & 173 both create pcmC0D0c etc, but versions 187, 196 & 197 don't.
I though it would be a useful exercise to compare the udev source code to see if I could find the reason but it is difficult with udev now being incorporated into systemd. I downloaded the source of a few versions from upstream but would have liked to have used the arch source. Is this is available on the mirrors?
Offline
This post looks like it might now be more applicable to the "Kernel & Hardware" forum but I haven't found a way to move it.
You can use the Report link (next to the Quote link) of the first post to send the moderators a request to move your thread.
ᶘ ᵒᴥᵒᶅ
Offline
Solved - Additional searching through the arch forums revealed this problem was being investigated.
https://bbs.archlinux.org/viewtopic.php?id=158677
The suggestions there resulted in sound being generated.
#rmmod snd_hda_intel
#modprobe snd_hda_intel model=3stack
This created the missing sound devices.
aplay, speaker-test and mplayer all worked great.
Now I have the answer, I can find it in the wiki but it would have helped lots if it had mentioned the missing devices. Wiki update?
Thanks.
Offline
This post looks like it might now be more applicable to the "Kernel & Hardware" forum but I haven't found a way to move it.
moved
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Go to https://bugzilla.kernel.org/, register an account and file a bug for tree "mainline", product "drivers" and component "sound(alsa)". Examples.
Tell them what laptop/mobo it is and that it requires 3stack to enable any outputs.
EDIT: check if one isn't already filed
Last edited by mich41 (2013-03-09 12:53:13)
Offline
Solved - Additional searching through the arch forums revealed this problem was being investigated.
https://bbs.archlinux.org/viewtopic.php?id=158677
The suggestions there resulted in sound being generated.
#rmmod snd_hda_intel #modprobe snd_hda_intel model=3stack
This created the missing sound devices.
aplay, speaker-test and mplayer all worked great.
Now I have the answer, I can find it in the wiki but it would have helped lots if it had mentioned the missing devices. Wiki update?
Thanks.
Had this problem with the ole alienware 7700 w/ the clevo d900t mobo
Note, you have to rmmod snd_hda_intel first, then modprobe snd_hda_intel model=3stack
keep in mind anything you have in your /etc/modprobe.d/* regarding the snd_hda_model will conflict with running the above commands
Any society that would give up a little liberty to gain a little security will deserve neither and lose both.
-Benjamin Franklin
The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.
-George Bernard Shaw
Offline