In desperation, I added a printk to capemgr to print out the return value from request_firmware. I get -2 ENOENT, but the file name is in /lib/firmware exactly as printed in the error line. Another thought is that Debian appears to use initrd, whereas I don't think Angstrom does? Could this be the issue? Any ideas would be very welcome.
Thanks for the suggestion Robert. That is good to know, unfortunately it did not fix the problem I now suspect that the firmware load request from capemgr is happening before /lib/firmware is accessible, but this is just a WAG. I need to understand the way capemgr works before I can offer any logical explanation :-[
Thanks Micka. I was considering just removing the request to capemgr via uEnv.txt, and writing a service to populate the slot. Ultimately the loading should be taken care of via the EEPROM signature, but that has not yet been implemented. I was just curious as to what was the difference between Debian and Angstrom which makes capemgr.enable_partno not work reliably on Debian.