[PlanetCCRMA] Help! HDSP firmware suddenly fails to load...

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Mon Jan 24 22:37:01 2005


On Mon, 2005-01-24 at 18:47, Michael E. Smith wrote:
> I've just upgraded my two CCRMA boxes to the latest from the CCRMA
> repositories and now my Digiface firmware won't load:
> 
>         hdsploader - firmware loader for RME Hammerfall DSP cards
>         Looking for HDSP + Multiface or Digiface cards :
>         Card 0 : RME Hammerfall DSP at 0x3e800000, irq 11
>         Upload firmware for card hw:0
>         Hwdep ioctl error on card hw:0 : Invalid argument.
>         
> This is the first time since switching to Fedora Core 2 and CCRMA that
> I've had a problem with the HDSP.
> 
> Both machines refuse to load the firmware similarly, but not quite the
> same. To wit, the laptop (cardbus/digiface) consistantly produces the
> above error, while the desktop (pci/digiface) does it once and then
> doesn't see a card at all.
> 
> It does, however, show up (on both machines) on an lspci listing. Also,
> snd-hdsp shows up in lsmod.
> 
> dmesg snippet:
> 
>         ALSA /usr/src/rpm/BUILD/alsa-driver-1.0.8/alsa-kernel/pci/rme9652/hdsp.c:647: 
>         	Hammerfall-DSP: no Digiface or Multiface connected!
>         ALSA /usr/src/rpm/BUILD/alsa-driver-1.0.8/alsa-kernel/pci/rme9652/hdsp.c:5086:
>         	 card initialization pending : waiting for firmware
>         
> It would appear as though the firmware is attempting to be loaded
> automatically at some point during user login (I can see from the lights
> on the digiface), resulting in the error even before I attempt to load
> it using hdsploader. 
> 
> This behavior happens with the following kernels:
> 
> 	2.6.10-0.1.rdt.rhfc2.ccrma
> 	2.6.10-0.2.rdt.rhfc2.ccrma	
> 	2.6.10-2.1.ll.rhfc2.ccrma
> 
> all of which use alsa 1.0.8 while
> 
> 	2.6.7-1.437.1.ll.rhfc2.ccrma
> 
> uses alsa 1.0.5 and does not exhibit the problem.

I think it is alsa 1.0.8. From what I've read it has changed the way in
which it loads (surprise!) firmware. It now uses the hotplug subsystem.
Darn!. I thought it was working fine as some people have reported
success with echoaudio cards (which now have a driver included in 1.0.8
and also require firmware downloads). Apparently not. 

> Is the problem obviously with alsa itself, or with the delivery of the
> firmware? What's a good way to investigate? 

See what related messages you find in /var/log/messages and in the
output of dmesg. Specially anything marked hotplug. 

Depending on what messages you see if might be worth trying to erase the
references to hdsploader in /etc/modprobe.conf (if any) so that it does
not try to use hdsploader but rather hotplug. 

> If anyone else has experienced this and/or can point me in the right
> direction, I'd be grateful to hear from you.
> 
> Finally, thanks, Fernando. You do amazing work. For this one serious
> problem, I've had countless things go seriously RIGHT since I've been
> using CCRMA.

Thanks for the vote of confidence :-( I would probably also post to the
alsa-devel list, they may know more about what is happening. 

For the time being you could go back to alsa 1.0.7 on either
2.6.10-0.1.rdt or 2.6.10-2.1.ll. A bit tricky because of dependencies,
of course. Maybe you still have the 1.0.7-1.cvs alsa packages in your
apt cache, look in /var/cache/apt/archives/. If not, you can redownload
them manually from:
http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetcore/2/i386/

Then remove planetccrma-core (and/or core-edge) with "rpm -e" so that it
does not require the newer packages. 

I don't know what is the minimum downgrade you can do that will restore
firmware load functionality. You could try first with alsa-tools and
alsa-firmware. Erase the 1.0.8 versions and "rpm -Uvh" the 1.0.7-1.cvs
packages. There should not be any dependency problems for those two. If
that does not solve the problem then go for alsa-utils and alsa-lib. For
removing alsa-lib you will have to specify "--nodeps" as there are a ton
of apps that depend on that :-) No worry as you will install 1.0.7,
which will satisfy them. Last one to try would be kernel-module-alsa for
the kernel in which you want to boot. 

Let us know how it goes...
-- Fernando