I added the following line to the dev-kernel/build-2.4/insmod.sh script where appropriate...
insmod ./tda10045h.o tda10045h_firmware=/usr/lib/DVB/driver/frontends/tda10045h.mc
Basically you can write your own module loader script, for your setup you only need to load the DVB core, the budget driver and tda10045h.o...
next bit to worry about is dvbtune... I'm on the Crystal Palace transmitter, so I got my frequencies from
If you use tzap (DVB/apps/szap/tzap.c in the DVB/ tree, just type make in this directory and then create an appropriate channels.conf file for crystal palace - example in this directory - ) you get some more verbose output that's easier to interpret for debugging purposes. Example parameter set below.
When this works fine you can create your own updated channel list using the scan utility in DVB/apps/scan/.
If your local transmitter is not yet in the initial channel list just tune manually using tzap or dvbtune and then type 'scan -c' in a second console as soon you that your tuning application achieved a stable lock. If you get a meaningfull NIT on this channel add it as initial transponder to initial.h, rebuild scan and execute it without the '-c' argument and you get (hopefully) the complete channel list. Please prepare a diff and post your patch on the LinuxDVB mailinglist when scan does not works out of the box.
http://www.itc.org.uk/uk_television_sector/reception_advice/digital_trans_guide/show_transmitter.asp?siteID=66 and used the frequency=1000000*((UHF_Channel*8)+306) to get my frequency in megahertz...
For UK transmissions you have to add an offset of +-166666Hz to most transponders, more detailed information on Dave Chapmans dvbtune pages (http://www.linuxstb.org/dvb-t/index.shtml) and the UK transmitter frequency list (follow the link on Dave's website).
A while ago someone posted this parameter set for scan (see initial.h for more), I have no idea if these parameters are still up-to-date, check the providers website for more information:
/**
* Crystal Palace, (BBC1, ...)
*/
{
.type = FE_OFDM,
.param = {
.frequency = 505833333,
.inversion = INVERSION_AUTO,
{ ofdm:
{
.bandwidth = BANDWIDTH_8_MHZ,
.code_rate_HP = FEC_3_4,
.code_rate_LP = FEC_NONE,
.constellation = QAM_16,
.transmission_mode = TRANSMISSION_MODE_2K,
.guard_interval = GUARD_INTERVAL_1_32,
.hierarchy_information = HIERARCHY_NONE
}
}
}
},build2.4/# dvbtune -f 506000000 -i tuning DVB-T to 506000000 .....wait here forever.....
For DVB-T you usually need to pass some more tuning informations, usually at laest bandwidth, often FEC and QAM mode. Which one you need exactly depends on the actual frontend on your card. Some can determine more parameters on their own, some less. But all tune faster if you provide the complete parameter set, autoprobing always takes some time.
So... I did an strace.. just to see what's going on...
We seem to be getting stuck here....
write(2, "tuning DVB-T to 506000000\n", 26tuning DVB-T to 506000000 ) = 26 ioctl(4, 0x40046f47, 0xbffffae4) = 0 poll([{fd=4, events=POLLIN}], 1, 10000) = 0 ioctl(4, 0x40046f47, 0xbffffae4) = 0 poll([{fd=4, events=POLLIN}], 1, 10000) = 0 ioctl(4, 0x40046f47, 0xbffffae4) = 0 poll([{fd=4, events=POLLIN}], 1, 10000) = 0 ioctl(4, 0x40046f47, 0xbffffae4) = 0
I suppose that's the poll() or select() call waiting for frontend status events, nothing to worry. If you pass a correct parameter set for tuning this poll() call should return as soon you get a frontend lock.
good luck,
Holger
-- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
