I'm using an R3070US laptop by Compaq with a new chipset from ATI. I brought the machine up under gentoo-sources. (2.4.25) The machine runs fine, and Alsa works great, but the ATI chipset was not supported and I was not able to run DMA with this kernel so the hard drive is very slow and watching DVDs is jerky. A DMA patch was available in ~x86 development-sources so I'm trying it. DMA now works great for drives, but Alsa is not working with this sound chip at all. The drivers appear to load, but different than 2.4.25 there are no devices created under /dev/snd or /dev/sound. alsamixer won't run and there are bad messages in dmesg. mark@flash mark $ cat /etc/modules.d/alsa # Alsa 0.9.X kernel modules' configuration file. # $Header: /home/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.1 2003/08/05 21:07:55 johnm Exp $ # ALSA portion alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore alias snd-card-0 snd-atiixp ## ## 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 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss ## 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. options snd cards_limit=1 mark@flash mark $ flash root # lsmod Module Size Used by fglrx 199556 7 snd_atiixp 15012 0 snd_ac97_codec 60292 1 snd_atiixp snd_seq_oss 32256 0 snd_seq_midi_event 6272 1 snd_seq_oss snd_seq 52368 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 6920 2 snd_seq_oss,snd_seq snd_pcm_oss 49060 0 snd_pcm 84772 2 snd_atiixp,snd_pcm_oss snd_page_alloc 9092 2 snd_atiixp,snd_pcm snd_timer 22148 2 snd_seq,snd_pcm snd_mixer_oss 17920 1 snd_pcm_oss snd 47972 10 snd_atiixp,snd_ac97_codec,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss flash root # Reproducible: Always Steps to Reproduce: 1. Build 2.6.5_rc3 2. Configure Alsa and reboot 3. run alsamixer Actual Results: mark@flash mark $ alsamixer alsamixer: function snd_ctl_open failed for default: No such device mark@flash mark $ VFS: Mounted root (ext3 filesystem) readonly. Mounted devfs on /dev Freeing unused kernel memory: 132k freed Adding 1004020k swap on /dev/hda6. Priority:-1 extents:1 EXT3 FS on hda7, internal journal atiixp: codec read timeout atiixp: codec read timeout atiixp: codec read timeout <deleted 100 or so identical messages> atiixp: codec read timeout atiixp: codec read timeout AC'97 2 does not respond - RESET atiixp: codec read timeout atiixp: codec read timeout AC'97 2 access is not valid [0xffffffff], removing mixer. ATI IXP AC97 controller: probe of 0000:00:14.5 failed with error -5 eth0: link up, 100Mbps, half-duplex, lpa 0x40A1 mark@flash mark $ ls /dev/snd controlC0 seq timer mark@flash mark $ ls /dev/sound sequencer sequencer2 mark@flash mark $ Expected Results: Just expect Alsa to work. flash root # emerge info Portage 2.0.50-r1 (default-x86-2004.0, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5-rc3) ================================================================= System uname: 2.6.5-rc3 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz Gentoo Base System version 1.4.3.13p1 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://mirror.gentoo.gr.jp http://www.zentek-international.com/mirrors/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa apm avi berkdb cdr crypt cups dvd dvdr encode foomaticdb gdbm gif gpm gtk gtk2 imlib jack jack-tmpfs java jpeg libg++ libwww mad mikmod mmx motif mozcalendar mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl svga tcpd truetype video_cards_radeon x86 xml2 xmms xv zlib" flash root #
what version of alsa are you using? can you try 1.0.4? Can you try the ones in the kernel?
Thanks for your help. OK, as of this morning I've updated the kernel to the newest development-sources. (2.6.5 instead of 2.6.5-rc3) The problem persists. I'm using the atiixp from the kernel. All other alsa tools are ~x86 emerges: flash root # cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.4rc2 (Tue Mar 30 08:19:30 2004 UTC). Compiled on Apr 5 2004 for kernel 2.6.5. flash root # flash root # emerge -pv alsa-tools alsa-utils alsa-lib alsa-firmware alsa-oss alsa-jack These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] media-sound/alsa-tools-1.0.4 0 kB [ebuild R ] media-sound/alsa-utils-1.0.4 0 kB [ebuild R ] media-libs/alsa-lib-1.0.4 +jack 0 kB [ebuild R ] media-sound/alsa-firmware-1.0.4 0 kB [ebuild R ] media-libs/alsa-oss-1.0.4 0 kB [ebuild R ] media-plugins/alsa-jack-1.0.4 0 kB Total size of downloads: 0 kB flash root # VFS: Mounted root (ext3 filesystem) readonly. Mounted devfs on /dev Freeing unused kernel memory: 132k freed Adding 1004020k swap on /dev/hda6. Priority:-1 extents:1 EXT3 FS on hda7, internal journal atiixp: codec read timeout atiixp: codec read timeout atiixp: codec read timeout <SNIP> atiixp: codec read timeout atiixp: codec read timeout atiixp: codec read timeout AC'97 2 does not respond - RESET atiixp: codec read timeout atiixp: codec read timeout AC'97 2 access is not valid [0xffffffff], removing mixer. ATI IXP AC97 controller: probe of 0000:00:14.5 failed with error -5 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 Attempting to run alsamixer doesn't work. There is no sound card, presumably becuase the atiixp codec timed out: flash root # alsamixer alsamixer: function snd_ctl_open failed for default: No such device flash root # cat /proc/asound/devices 1: : sequencer 33: : timer flash root # cat /proc/asound/cards --- no soundcards --- flash root #
it alsa support compiled into the kernel or as modules? is alsasound in the boot runlevel? can you try emergeing alsa-driver-1.0.4?
I am running Alsa as part of the kernel I emerged, but compiled as modules. I am happy to try emerging the alsa-driver, but please clarify how to do that. (I'm a user type, not a developer.) My *guess* would be that I choose 'Sound' support in make menuconfig, but then deselect everything under Alsa and OSS? If that's correct, then I'd build and install that kernel. After that I would then emerge the 1.0.4 alsa-driver package normally? Does this just place a copy of the code in the kernel tree, requiring me to rebuild the kernel again. or does it build and install the driver into /lib/modules and I just have to restart/reboot to be running it? flash root # rc-update show alsasound | boot bootmisc | boot checkfs | boot checkroot | boot clock | boot consolefont | boot crypto-loop | cupsd | domainname | default famd | gkrellmd | gpm | hdparm | hostname | boot hotplug | keymaps | boot local | default nonetwork localmount | boot modules | boot net.eth0 | default net.lo | boot netmount | default nscd | numlock | portmap | rmnologin | boot rsyncd | serial | boot sshd | default syslog-ng | default urandom | boot vixie-cron | default xdm | xfs | flash root #
OK, same problem using the alsa-driver emerge. 1) A new kernel from a few minutes ago: mark@flash mark $ uname -a Linux flash 2.6.5 #2 Mon Apr 5 10:01:09 PDT 2004 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz GenuineIntel GNU/Linux mark@flash mark $ 2) The snd-atiixp driver was emerged and installed as a module. Alsa is started: mark@flash mark $ lsmod Module Size Used by fglrx 199556 7 snd_atiixp 15268 0 snd_ac97_codec 60932 1 snd_atiixp snd_seq_oss 33920 0 snd_seq_midi_event 6272 1 snd_seq_oss snd_seq 52880 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 7048 2 snd_seq_oss,snd_seq snd_pcm_oss 48676 0 snd_pcm 85156 2 snd_atiixp,snd_pcm_oss snd_page_alloc 9092 2 snd_atiixp,snd_pcm snd_timer 22276 2 snd_seq,snd_pcm snd_mixer_oss 17792 1 snd_pcm_oss snd 49124 10 snd_atiixp,snd_ac97_codec,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss soundcore 7648 1 snd mark@flash mark $ 3) I'm getting sort of weird messages in dmesg, but they amount to the same problem. Possibly the emerge alsa-driver didn't go quite right? ALSA /var/tmp/portage/alsa-driver-1.0.4/work/alsa-driver-1.0.4/alsa-kernel/pci/ac97/ac97_codec.c:1759: AC'97 2 does not respond - RESET ALSA /var/tmp/portage/alsa-driver-1.0.4/work/alsa-driver-1.0.4/alsa-kernel/pci/atiixp.c:455: atiixp: codec read timeout ALSA /var/tmp/portage/alsa-driver-1.0.4/work/alsa-driver-1.0.4/alsa-kernel/pci/atiixp.c:455: atiixp: codec read timeout ALSA /var/tmp/portage/alsa-driver-1.0.4/work/alsa-driver-1.0.4/alsa-kernel/pci/ac97/ac97_codec.c:1767: AC'97 2 access is not valid [0xffffffff], removing mixer. ATI IXP AC97 controller: probe of 0000:00:14.5 failed with error -5 Why is the driver in /var/tmp/portage? Do I have to move it to /lib/modules by hand? The driver time and date in /lib/modules looks pretty good to me. mark@flash mark $ ls -al /lib/modules/2.6.5/kernel/sound/pci/ total 32 drwxr-xr-x 3 root root 4096 Apr 5 10:21 . drwxr-xr-x 4 root root 4096 Apr 5 10:21 .. drwxr-xr-x 2 root root 4096 Apr 5 10:21 ac97 -rw-r--r-- 1 root root 18477 Apr 5 10:21 snd-atiixp.ko mark@flash mark $ 4) Running alsamixer still says there's no sound card: mark@flash mark $ alsamixer alsamixer: function snd_ctl_open failed for default: No such device mark@flash mark $
youu actually don't need to rebuild the kernel after 'emerge alsa-driver'. If you do, then the modules installed by alsa-driver will be removed by the 'make modules_install' in the kernel (atleast that's how it was under 2.4... pretty sure it's the same under 2.6)... the only reason you'd need tyo rebuild the kernel would be if the drivers were compiled in instead of as modules... amerging alsa-driver overwrites the modules in /lib/modules/... installed by the kernel, so after doing that, just '/etc/init.d/alsasound restart' to get the new modules (note this might result in kicker or your gnome panel getting killed and restarted if you're running gnome or kde). This smells like an upstream bug. Can you file a bug on alsa's bug tracker https://bugtrack.alsa-project.org/alsa-bug/ Please provide a link to it here so I can track it and include the fix.
Cool. THanks for the quick focus on this. I'll file an Alsa bug later this evening and copy the pointers back here for you. Cheers, Mark
Mark, did you file a bug upstream on this?
Jeremy, Sorry. I'm a twit. It's entered as of this morning. https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=0000202 There is another bug which is similar, but he gets sound: https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=0000175 Thanks for reminding me! Cheers, Mark
Jeremy, There's been a little bit of response out of one Alsa developer, but things are not progressing. He wanted me to try disabling ACPI. I tried, but it didn't change anything. He's now suggesting that I go ask on lkml. He says that since it works on 2.4 kernels it's not an Alsa problem. I don't have the skill set to understand why he thought ACPI might be involved, or what I'd even want to ask on lkml. Can you help? https://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=0000202 Thanks, Mark
so, you're able to get sound in 2.4.25 but not 2.6? It might very well be a kernel problem, so hopefully one of the kernel devs can help you out. I don't have enough experience with 2.6 yet to be of much use here.
Yes, under 2.4.25 sound seems fine. Under 2.6.5 the codec times out, Alsa thinks there is no sound card and I get no sound at all. There is another Alsa user who is seeing similar problems now. He's posted info on the Alsa bug site. He thinks he actually had it working on 2.6.3, so I may try that. I need a newer kernel or I lose DMA on my hard drive. By 'kernel dev' do you mean someone here at Gentoo? If so, can we reassign this bug to them? If you mean a 'Linux Kernel Developer' then how do I get them to look at this? Can you help me with contacting them? Also, if they want me to do a patch or something like that then I'll need some help with knowing how to do it. Please get back to me and give me some ideas on how to proceed. Thanks!
Hey! Good news! It appears this is fixed with the new 2.6.6 development-sources kernel. I'll mark te bug as fixed if the system will allow me. If not someone else will need to do so. Thanks!
can you tell me if alsa-driver-1.0.4 works under 2.6.6? Otherwise I hope the fix made it back into the alsa tree for t.0.5...
I'm using the alsa-driver in the kernel tree. cat /proc/asound/version says 1.0.4rc2. For all other alsa stuff (utils, tools, firmware, oss, lib & jack) I'm using ~x86 as of today. For completeness, uname -a identifies the kernel as 2.6.6-rc1 (SMP)