Hi guys,
I also have problems with my dvb setup since I changed to 3.6 and I think I have a good idea what's going wrong. When I took a closer look at the configuration I was happy. No more searching for the right frontend module for your dvb driver. It's selected automatically. I was happy until the first boot when nothing worked and dmesg told me stuff like this:
Code: Select all
[ 9.366342] DVB: Unable to find symbol tda10023_attach()
Problem is: When I select the driver module for my dvb card, it also selects the needed frontends, but not the right ones. I googled a little bit, discovered the magic of the Kconfig files in the kernel sources (I found mine in /usr/src/linux/drivers/media/dvb/dvb-usb/ together with the source file of my driver module) and took a look at what it does with my driver module:
Code: Select all
config DVB_USB_TTUSB2
tristate "Pinnacle 400e DVB-S USB2.0 support"
depends on DVB_USB
select DVB_TDA10086 if !DVB_FE_CUSTOMISE
select DVB_LNBP21 if !DVB_FE_CUSTOMISE
select DVB_TDA826X if !DVB_FE_CUSTOMISE
help
Say Y here to support the Pinnacle 400e DVB-S USB2.0 receiver. The
firmware protocol used by this module is similar to the one used by the
old ttusb-driver - that's why the module is called dvb-usb-ttusb2.
The select-parts will also configure the frontends needed by that driver if you select it. As you can see, there is no line for the tda10023 frontend module. Long story short: I added it, tried that, checked dmesg, noticed more missing frontends, and added them, too:
Code: Select all
config DVB_USB_TTUSB2
tristate "Pinnacle 400e DVB-S USB2.0 support"
depends on DVB_USB
select DVB_TDA10023 if !DVB_FE_CUSTOMISE
select DVB_TDA10048 if !DVB_FE_CUSTOMISE
select DVB_TDA10086 if !DVB_FE_CUSTOMISE
select DVB_LNBP21 if !DVB_FE_CUSTOMISE
select DVB_TDA826X if !DVB_FE_CUSTOMISE
help
Say Y here to support the Pinnacle 400e DVB-S USB2.0 receiver. The
firmware protocol used by this module is similar to the one used by the
old ttusb-driver - that's why the module is called dvb-usb-ttusb2.
Funny part is: If I load the dvb_usb_ttusb2-module, it doesn't load tda10086 or lnbp21 or tda826x. I don't need those frontends but Kconfig selects them for me. Also: dmesg is crying about one last frontend it can't load:
Code: Select all
[ 9.546346] DVB: Unable to find symbol tda827x_attach()
And that frontend, ladies and gentlemen, is missing. If you check your /usr/src/linux/drivers/media/dvb/frontends folder, you'll find all the frontends above configured by Kconfig... but not tda827x. So I guess that is what you call a kernel bug, isn't it?
I think, transsib is facing similar frontend selecting problems with his card. I will now check the 3.7 sources as jamatik suggested, hopefully it will contain my missing frontend and a better Kconfig file.
Edit:
Ah, forget to tell you, I also use gentoo-sources.
Edit2:
Same problem in the 3.7 sources. Oh and I also checked 3.4 which are also missing those files. Guys, it is officially now: I have no idea why it worked in the first place. I checked the source of the driver module itself (ttusb2.c):
Code: Select all
#include "dvb-usb.h"
#include "ttusb2.h"
#include "tda826x.h"
#include "tda10086.h"
#include "tda1002x.h"
#include "tda10048.h"
#include "tda827x.h"
#include "lnbp21.h"
/* CA */
#include "dvb_ca_en50221.h"
It seems that tda10021.c and tda10023.c uses the tda1002x.h file so this seems legit. But tda827x.h? Then I did a locate on that file and guess what? It's not in the frontend folder but somewhere else (/drivers/media/common/tuners/ on my other machine which uses the tuxonice-sources, I currently have no access to my htpc because my wife uses it now. But I think it will be in the gentoo-sources somewhere there, too). So it seems that the ttusb2 driver (and maybe some other dvb drivers) are a total mess with their Kconfig setup selecting necessary frontends...