Hi there, I noticed these problems on the lenny version but the current
unstable version seems to have the same problem, too.
There are various complications with using firmware with initrd.img.
First, the /lib/udev/firmware.agent file should probably be included in
the default initrd.img; it should also probably include "/" as a
firmware location (in addition to /lib/firmware and other places).
This would allow people to merely tack cpio.gz files to the end of the
initrd.img (or list multiple files on the kernel command line) to supply
firmware files that might be necessary for boot. Currently when it
fails because this agent file is not there, the situation is very
cryptic to figure out.
Finally, that firmware.agent file really should log what it's doing -
especially in the case of errors. The kernel code which services the
request_firmware() functions log virtually nothing, which means that all
you get will be a pause of a minute, then a general error. Booting with
'debug' and 'break' helps debug the situation, but printing out the
firmware file that was requested and the paths it tried to load from but
failed would make resolving the problem much easier.