From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 Description of problem: The module tda1004x (DVB-T demodulator chip) is missing from the FC2 Test 1 kernel. This module is required to get DVB-T running with the Hauppauge WinTV Nova-T card. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. search for tda1004x kernel module 2. 3. Additional info:
The module does not appear in "make menuconfig" when using the FC2 Test1 supplied .config file due to "CONFIG_STANDALONE=y"
"CONFIG_STANDALONE=y" means we don't want build-time firmware. Which is correct, we can't generally download all firmware for some driver and just distribute it; quite often that's not even allowed.
Arjan, the existense of the firmware file is not a build time requirement. In fact you can also supply a different firmware filename at module load time.
then the Kconfig for the file is borken.....
Just sent a mail to the DVB mailing list about this problem.
The DVD guys seem to have fixed this in their CVS after my problem report, but now I have another problem. In the meantime I rebuild the FC2 Test1 kernel to include the tda1004x module (using the supplied .config). While trying to load the tda1004x module I'm getting this error message: FATAL: Error inserting tda1004x (/lib/modules/2.6.1-1.65bb/kernel/drivers/media/dvb/frontends/tda1004x.ko): Unknown symbol in module, or unknown parameter (see dmesg) In /var/log/messages I get: tda1004x: Unknown symbol sys_close Any ideas how to fix this one?
they have very evil code there; it's not allowed to read files from kernel space like that, they should use request_firmware interface
Now it finally works for me. Watching DVB-T television the whole evening :-) All I had to do was to re-add EXPORT_SYMBOL(sys_close) to fs/open.c which was removed by your linux-2.6.0-compile.patch.
I also got this working by changing all calls to sys_close() into calls to close() in drivers/media/dvb/frontends/tda1004x.c. Is there a reason for Fedora not exporting sys_close() from fs/open.c?
any user of it is broken. It cannot be used correctly. tda1004x.c is rather broken. Really. Even when not using request_firmware() and co, opening a file needs to be done differently.
Being resolved upstream, will be picked up over time once firmware handling is in the base kernel [and possibly when someone reminds us to turn it on 8)].
Is there much value of deprecating/removing stuff from the FC kernel that's not (yet) done upstream ? I thought the new point of FC kernels was to stick as close to upstream as possible ?
# ChangeSet # 2004/12/13 08:34:11-08:00 hunold # [PATCH] dvb: frontend update # # - tda1004x: fixed firmware upload problems <snip> # Signed-off-by: Michael Hunold <hunold> # Signed-off-by: Andrew Morton <akpm> # Signed-off-by: Linus Torvalds <torvalds> Looks like a fix for this is finally on the way.....
Also see bug 151555