I think I've made some progress, thanks to Paul and Clyde's advice, but I think I'm still missing some steps. This is all new to me, so apologies in advance.
On 1 Dec, Paul W wrote: > On Sun, 2003-11-30 at 23:14, [EMAIL PROTECTED] wrote: > > I've bought a Nebula DigiTV card, which several suppliers said works with Linux. > > > > I've just downloaded, configured, installed and am running kernel 2.4.23, > > with Video4Linux and input events enabled. ... linuxtv-dvb-1.0.1 release ... > > Howdy Luke, > I have the Nebula DigiTV PCI card working on a 2.4.23 kernel, based on > the CVS tree (checkout on 2003-11-29): > (ref, http://www.linuxtv.org/developer/dvb.xml which suggests: > > Nebula DVB-T PCI card > > This driver was written by Florian Schirmer and is part of the > dvb-kernel CVS tree.) Ah, thanks. (Also thanks to Cyde Stubbs, who also pointed out that the card is not supported by the 1.0.1 release.) > Ref. http://linuxtv.org/cgi-bin/cvsweb.cgi/ Okay. I did a cvs checkout of both DVB and dvb-kernel (in fact all the modules: margi2, kfir, dvb-hw, and dietlibc - though I haven't used any of them, and don't know what they're for). I also got the latest snapshot of video4linux, which was something else I hadn't realised I needed, and compiled that. That needed a couple of fixes, but I've sent off my guess about what they should be to Gerd Knor (http://bytesex.org/) This now seems to have built and installed okay. > I checked out the 'dvb-kernel' module as shown, entered the 'build-2.4' > directory and followed the instructions in the README to build then used > 'insmod-bt8xx.sh' to load the modules (shown in lsmod) One thing that worries me slightly is that while insmod.sh does a modprobe on "videodev" and then "input", insmod-bt8xx.sh just insmods videodev.o directly (so, no dependency checking like modprobe), and doesn't attempt to do anything at all with "input". I also tweaked insmod-bt8xx.sh as per its internal comments, to suit the Nebula. Hmm. Running that I got these errors: insmod: videodev.o: No such file or directory insmod: bttv.o: No such file or directory I tried running the insmod.sh, wondering whether you're supposed to run both, and got more errors: Inserting DVB modules into kernel insmod: videodev.o: No such file or directory insmod: bttv.o: No such file or directory insmod: a module named dvb-core already exists insmod: a module named v4l1-compat already exists insmod: a module named v4l2-common already exists insmod: a module named video-buf already exists insmod: a module named nxt6000 already exists bt878.o: unresolved symbol bttv_read_gpio bt878.o: unresolved symbol bttv_gpio_enable bt878.o: unresolved symbol bttv_write_gpio dvb-bt8xx.o: unresolved symbol bt878_stop dvb-bt8xx.o: unresolved symbol i2c_transfer dvb-bt8xx.o: unresolved symbol bttv_get_pcidev dvb-bt8xx.o: unresolved symbol bt878_start dvb-bt8xx.o: unresolved symbol bt878_num dvb-bt8xx.o: unresolved symbol bttv_get_cardinfo dvb-bt8xx.o: unresolved symbol bttv_get_i2c_adap dvb-bt8xx.o: unresolved symbol bt878 I had done a fresh build in the cvs DVB directory, and a make install in the cvs DVB/driver directory, which looked good: ------------ Tue Dec 2 13:35:43 EST 2003 -- make install -------- /lib/modules/2.4.23/build/scripts/pathdown.sh: TOPDIR: parameter null or not set install -v -m 0755 -d /lib/modules/2.4.23/misc install -m 0644 dvb-core.o /lib/modules/2.4.23/misc install -m 0644 av7110/dvb-ttpci.o /lib/modules/2.4.23/misc find frontends/ -name "*.o" -exec install -v -m 0644 {} /lib/modules/2.4.23/misc \; `frontends/alps_bsrv2.o' -> `/lib/modules/2.4.23/misc/alps_bsrv2.o' `frontends/alps_tdmb7.o' -> `/lib/modules/2.4.23/misc/alps_tdmb7.o' `frontends/alps_tdlb7.o' -> `/lib/modules/2.4.23/misc/alps_tdlb7.o' `frontends/grundig_29504-401.o' -> `/lib/modules/2.4.23/misc/grundig_29504-401.o' `frontends/grundig_29504-491.o' -> `/lib/modules/2.4.23/misc/grundig_29504-491.o' `frontends/stv0299.o' -> `/lib/modules/2.4.23/misc/stv0299.o' `frontends/ves1820.o' -> `/lib/modules/2.4.23/misc/ves1820.o' `frontends/tda1004x.o' -> `/lib/modules/2.4.23/misc/tda1004x.o' `frontends/mt312.o' -> `/lib/modules/2.4.23/misc/mt312.o' depmod -a ------------ Tue Dec 2 13:35:49 EST 2003 -- done -- made install ------------ Ditto for video4linux: ------------ Tue Dec 2 14:17:44 EST 2003 -- make install -------- strip --strip-debug video-buf.o v4l1-compat.o v4l2-common.o btcx-risc.o ir-common.o bttv.o btcx-risc.o cx88xx.o cx8800.o saa7134.o saa6752hs.o ir-common.o tuner.o tda9887.o msp3400.o tvaudio.o su -c "mkdir -p /lib/modules/2.4.23/v4l2; cp -v video-buf.o v4l1-compat.o v4l2-common.o btcx-risc.o ir-common.o bttv.o btcx-risc.o cx88xx.o cx8800.o saa7134.o saa6752hs.o ir-common.o tuner.o tda9887.o msp3400.o tvaudio.o /lib/modules/2.4.23/v4l2; depmod -a" `video-buf.o' -> `/lib/modules/2.4.23/v4l2/video-buf.o' `v4l1-compat.o' -> `/lib/modules/2.4.23/v4l2/v4l1-compat.o' `v4l2-common.o' -> `/lib/modules/2.4.23/v4l2/v4l2-common.o' `btcx-risc.o' -> `/lib/modules/2.4.23/v4l2/btcx-risc.o' `ir-common.o' -> `/lib/modules/2.4.23/v4l2/ir-common.o' `bttv.o' -> `/lib/modules/2.4.23/v4l2/bttv.o' `btcx-risc.o' -> `/lib/modules/2.4.23/v4l2/btcx-risc.o' `cx88xx.o' -> `/lib/modules/2.4.23/v4l2/cx88xx.o' `cx8800.o' -> `/lib/modules/2.4.23/v4l2/cx8800.o' `saa7134.o' -> `/lib/modules/2.4.23/v4l2/saa7134.o' `saa6752hs.o' -> `/lib/modules/2.4.23/v4l2/saa6752hs.o' `ir-common.o' -> `/lib/modules/2.4.23/v4l2/ir-common.o' `tuner.o' -> `/lib/modules/2.4.23/v4l2/tuner.o' `tda9887.o' -> `/lib/modules/2.4.23/v4l2/tda9887.o' `msp3400.o' -> `/lib/modules/2.4.23/v4l2/msp3400.o' `tvaudio.o' -> `/lib/modules/2.4.23/v4l2/tvaudio.o' ------------ Tue Dec 2 14:17:48 EST 2003 -- done -- made install ------------ Thoug I notice there's no videodev in either of those - in fact there's no videdev.o anywhere in any of the build areas. Does insmod, BTW, know to look in the v4l2 directory? There *is* a bttv.o in there (though no videodev.o). And I just realised I hadn't done a "make install" in the dvb-kernel/build-2.4 directory. I now see some overlap between the modules in /lib/modules/2.4.23/misc and in /lib/modules/2.4.23/v4l2/: [EMAIL PROTECTED] build-2.4]# ls /lib/modules/2.4.23/v4l2/ btcx-risc.o cx88xx.o saa6752hs.o tuner.o v4l2-common.o bttv.o ir-common.o saa7134.o tvaudio.o video-buf.o cx8800.o msp3400.o tda9887.o v4l1-compat.o [EMAIL PROTECTED] build-2.4]# ls /lib/modules/2.4.23/misc alps_bsrv2.o dvb-ttpci-budget-patch.o skystar2.o alps_tdlb7.o dvb-ttpci-budget.o sp887x.o alps_tdmb7.o dvb-ttpci.o stv0299.o at76c651.o dvb-ttusb-budget.o tda1004x.o bt878.o dvb-ttusb-dec.o ttpci-eeprom.o cx24110.o dvb_dummy_fe.o v4l1-compat.o dec2000_frontend.o grundig_29504-401.o v4l2-common.o dst.o grundig_29504-491.o ves1820.o dvb-bt8xx.o mt312.o ves1x93.o dvb-core.o nxt6000.o video-buf.o dvb-ttpci-budget-av.o saa7146.o dvb-ttpci-budget-ci.o saa7146_vv.o So, now the differences in loaded modules before vs after are: [EMAIL PROTECTED] dvtv]# diff pre-insmod post-insmods 1a2,20 > dvb-ttusb-budget 24212 0 (unused) > ttpci-eeprom 2792 0 > saa7146_vv 40496 0 > saa7146 14296 0 [saa7146_vv] > grundig_29504-491 5472 0 (unused) > grundig_29504-401 6144 0 (unused) > tda1004x 12356 0 (unused) > ves1820 6660 0 (unused) > stv0299 10208 0 (unused) > alps_tdmb7 5536 0 (unused) > alps_tdlb7 7844 0 (unused) > ves1x93 6820 0 (unused) > input 5184 0 > videodev 7872 0 [saa7146_vv] > nxt6000 8896 0 (unused) > video-buf 16384 0 [saa7146_vv] > v4l2-common 3872 0 [saa7146_vv] > v4l1-compat 13472 0 [saa7146_vv] > dvb-core 52516 0 [dvb-ttusb-budget grundig_29504-491 > grundig_29504-401 tda1004x ves1820 stv0299 alps_tdmb7 alps_tdlb7 ves1x93 nxt6000] 24c43 < usbcore 70144 1 [usb-uhci] --- > usbcore 70144 1 [dvb-ttusb-budget usb-uhci] I'm glad to see that videodev is there, but I don't know where it came from! > from lsmod: > ========== > dvb-bt8xx 4220 0 (unused) > nxt6000 7408 1 > v4l1-compat 12424 0 (unused) > dvb-core 42368 0 [dvb-bt8xx nxt6000] > bt878 5424 0 [dvb-bt8xx] > bttv 109484 0 [dvb-bt8xx bt878] > video-buf 11908 0 [bttv] > v4l2-common 3328 0 [bttv] > videodev 6752 2 [bttv] > i2c-algo-bit 7272 1 [bttv] > btcx-risc 2328 0 [bttv] > i2c-proc 7152 0 > i2c-core 13508 0 [dvb-bt8xx bttv i2c-algo-bit i2c-proc] I notice that I don't have i2c-proc pr i2c-core. Is that a problem? > from dmesg: > ========== > i2c-core.o: i2c core module > i2c-proc.o version 2.6.1 (20010825) > i2c-algo-bit.o: i2c bit algorithm module > Linux video capture interface: v1.00 > bttv: driver version 0.9.12 loaded > bttv: snapshot date 2003-11-26 > bttv: using 8 buffers with 2080k (520 pages) each for capture > bttv: Bt8xx card found (0). > bttv0: Bt878 (rev 17) at 00:0b.0, irq: 11, latency: 32, mmio: 0xeb000000 > bttv0: detected: Nebula Electronics DigiTV [card=104], PCI subsystem ID > is 0071:0101 > bttv0: using: Nebula Electronics DigiTV [card=104,autodetected] > bttv0: gpio: en=00000000, out=00000000 in=00ff00cb [init] > i2c-core.o: adapter bt878 #0 [sw] registered as adapter 0. > bttv0: using tuner=-1 > bttv0: registered device video0 > bttv0: registered device vbi0 > bttv0: PLL: 28636363 => 35468950 .. ok > bt878: AUDIO driver version 0.0.0 loaded > bt878: Bt878 AUDIO function found (0). > bt878(0): Bt878 (rev 17) at 00:0b.1, irq: 11, latency: 32, memory: > 0xeb001000 > ... > DVB: registering new adapter (Neb). > DVB: registering frontend 0:0 (NxtWave NXT6000)... My dmesg just shows this happened, and no more - no i2c stuff, either: Linux video capture interface: v1.00 saa7146: register extension 'dvb'. saa7146: register extension 'budget dvb'. saa7146: register extension 'budget_ci dvb'. saa7146: register extension 'budget dvb /w video in'. usb.c: registered new driver Technotrend/Hauppauge USB-Nova I also don't have a /dev/dvb - what is supposed to create that, and the devices under it like adapter0 that I've seen mentioned? From Boggle.org: Exactly which modules you'll need will depend on which card you've got. In my case, I have to load the following: videodev dvb-core tda1004x input evdev dvb-ttpci. With these loaded, you should now have a /dev/dvb/adaptor0/ directory -- assuming you're using devfs, which you should be if you're running Gentoo. I'm running RH 7.2, and not devfs, so I expect there's a manual device creation step for /dev/dvb, but I can't remember how that stuff works. I took a guess and ran MAKEDEV v4l, which created lots of devices: vtx, vtx0-31, winradio0-3, sequencer, vbi0-31, video/, video0-63, dsp, dsp1,dsp56k, midi0-3, midi00-03, mixer, mixer1, dcx4-7, radio0-63 But no /dev/dvb. > >From some earlier stuffing about: > ================================= > unix$ ./tzap "TEN Digital" > using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' > tuning to 219500000 Hz > status 09 | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 | > status 1f | signal 0000 | snr 0000 | ber 00000000 | unc 00000000 | > FE_HAS_LOCK > > Note that the signal level and snr shouldn't be 0, but xine works > showing all channels! [EMAIL PROTECTED] szap]# ./tzap "TEN Digital" using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' ERROR: could not open file '/root/.tzap/channels.conf' (No such file or directory) No such file or directory [EMAIL PROTECTED] szap]# ls /dev/dvb ls: /dev/dvb: No such file or directory > I hope this helps, > > Paul. It did, it definitely did. I feel I'm getting closer, though I've obviously still got several things wrong. Is there supposed to be an /etc/dvb directory too, BTW? Boggle.org makes a mention of that, too, in relation to copying a .dll: If you're using a Technotrend card, don't forget to copy the microcode DLL from "ttlcdacc.dll" on your driver CD (or the downloadable version at the Technotrend site) to /etc/dvb/tda1004x.mc. Apologies for the length of this message. But I'm just trying to provide enough information to be useful. luke -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
