Comment 4 for bug 388383

Revision history for this message
Ralf (ralf-kaestner) wrote : Re: AVerMedia A309 firmware not loaded after hibernate / resume cycle

the same problem does exist for other dvb cards like the nova T, reported by two ppl under bug #303667 as example.
The dvb_usb_dib0700 also errors out with (-2) after resume. You can easily fix that by a small quirk under /etc/pm/sleep.d

attached you can find one example I implemented for my dib0700 based card.

Apart from the quirk I did a bunch of debugging but was unable to locate why the firmware load fails after resume.
I suspect I has to do with udev still beeing suspended at that time or similar which prevents the firmware loader to load the firmware. I found that the same issue exists if you try to put the module and its firmware into the initramfs. Even if the FW is in there, it won't load it on boot but timeout instead - but finally when the system is up it does correctly load the fw on rmmod/modprobe.

Additionally there is a second issue with dvb_usb in general and that is that it makes use of request_firmware instead of request_firmware_nowait. This does cause the 60 second hang when the fw load fails after resume.

I'll attach my analysis for the dib0700 as well, I am sure the root cause must be in dvb_usb or even below, so it does not matter that the origin of this ticket was for another card.