Hi, I have attached a step-by-step howto for these devices Happy testing, Dominik
# 20080607: # tested with 2.6.23-gentoo-r3 kernel # need to have a bash (for here-documents) # 1. Check for old drivers already loaded: lsmod | grep dvb # should output nothing # if it does: do # rmmod <modulename> # =2= dowload, patch, config and build driver mkdir pctv452e cd pctv452e hg clone http://jusst.de/hg/multiproto wget -O pctv452e.patch.bz2 http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080606/cc54743f/attachment-0001.obj bunzip2 pctv452e.patch.bz2 patch -p0 < pctv452e.patch cd multiproto # create minimal config # use 'make menuconfig' to add more stuff if you want cat << EOF > v4l/.config CONFIG_INPUT=y CONFIG_USB=y CONFIG_PARPORT=m CONFIG_FW_LOADER=m CONFIG_NET=y CONFIG_SND_AC97_CODEC=m CONFIG_I2C=m CONFIG_STANDALONE=y CONFIG_SND_MPU401_UART=m CONFIG_SND=m CONFIG_MODULES=y CONFIG_HAS_IOMEM=y CONFIG_PROC_FS=y CONFIG_I2C_ALGOBIT=m CONFIG_INET=y CONFIG_CRC32=m CONFIG_FB=y CONFIG_SYSFS=y CONFIG_PCI=y CONFIG_SND_PCM=m CONFIG_PARPORT_1284=y CONFIG_EXPERIMENTAL=y CONFIG_VIRT_TO_BUS=y CONFIG_DVB_CORE=m CONFIG_DVB_CAPTURE_DRIVERS=y CONFIG_DVB_USB=m CONFIG_DVB_USB_PCTV452E=m CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_LNBP22=m EOF make cd v4l ## verify: # ls *.ko ## should list: ## dvb-core.ko dvb-usb-pctv452e.ko dvb-usb.ko lnbp22.ko stb0899.ko stb6100.ko # need to be root at this point insmod ./dvb-core.ko insmod ./dvb-usb.ko insmod ./lnbp22.ko insmod ./stb0899.ko insmod ./stb6100.ko insmod ./dvb-usb-pctv452e.ko # dmesg should show: dvb-usb: found a 'PCTV HDTV USB' in warm state. pctv452e_power_ctrl: 1 dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. DVB: registering new adapter (PCTV HDTV USB) pctv452e_frontend_attach Enter stb0899_get_dev_id: Device ID=[3], Release=[0] stb0899_get_dev_id: Demodulator Core ID=[DMD1], Version=[1] stb0899_get_dev_id: FEC Core ID=[FEC1], Version=[1] stb0899_attach: Attaching STB0899 lnbp22_set_voltage: 2 (18V=1 13V=0) lnbp22_set_voltage: 0x60) pctv452e_frontend_attach Leave Ok DVB: registering frontend 0 (STB0899 Multistandard)... pctv452e_tuner_attach Enter stb6100_attach: Attaching STB6100 pctv452e_tuner_attach Leave input: IR-receiver inside an USB DVB receiver as /class/input/input5 dvb-usb: schedule remote query interval to 100 msecs. pctv452e_power_ctrl: 0 dvb-usb: PCTV HDTV USB successfully initialized and connected. usbcore: registered new interface driver pctv452e usbcore: registered new interface driver dvb-usb-tt-connect-s2-3600-01.fw # you can drop root privileges at this point. ls -l /dev/dvb/adapter0/ # total 0 # crw-rw---- 1 root video 212, 4 Jun 7 15:37 demux0 # crw-rw---- 1 root video 212, 5 Jun 7 15:37 dvr0 # crw-rw---- 1 root video 212, 3 Jun 7 15:37 frontend0 # crw-rw---- 1 root video 212, 7 Jun 7 15:37 net0 cd .. cd .. # you should be in pctv452e dir created above # # simpledvbtune: wget -O simpledvbtune.c.bz2 http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080419/6a41e0b0/attachment-0002.bin bunzip2 simpledvbtune.c.bz2 gcc -Imultiproto/linux/include simpledvbtune.c -o simpledvbtune # try it: ./simpledvbtune -f 11954 # hit enter to refresh messages ./simpledvbtune -f 11915 -d 2 ############################ # next scan tool: wget http://jusst.de/manu/scan.tar.bz2 tar xjf scan.tar.bz2 cd scan rm *.o *.d # update to most recent API patch -p0 < ../scan_mp_fix.patch # build the stuff make # start scan: ./scan dvb-s/Astra-19.2E # # or do single channel scan with external tuning application (need two terminals for this): ./simpledvbtune -f 11915 -d 2 ./scan -c # output: #using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' #0x0000 0x0081: pmt_pid 0x0062 PREMIERE -- PREMIERE HD (running, scrambled) #0x0000 0x0082: pmt_pid 0x0063 PREMIERE -- DISCOVERY HD (running, scrambled) #0x0000 0x0084: pmt_pid 0x0065 BetaDigital -- ANIXE HD (running) #0x0000 0x0083: pmt_pid 0x0064 BetaDigital -- ASTRA HD+ (running) #dumping lists (4 services) #Done.
--- Makefile 2007-03-30 11:53:05.000000000 +0200 +++ Makefile.my 2008-06-07 15:51:49.000000000 +0200 @@ -14,7 +14,7 @@ removing = atsc_psip_section.c atsc_psip_section.h -CPPFLAGS += -I/usr/include -DDATADIR=\"$(prefix)/share\" +CPPFLAGS += -I../multiproto/linux/include -DDATADIR=\"$(prefix)/share\" .PHONY: all @@ -27,8 +27,6 @@ atsc_psip_section.c atsc_psip_section.h: perl section_generate.pl atsc_psip_section.pl -include ../../Make.rules - install:: @echo installing scan files @mkdir -p $(DESTDIR)$(sharedir)/dvb/atsc --- scan.c 2008-06-07 16:04:49.000000000 +0200 +++ scan.c.my 2008-06-07 16:02:43.000000000 +0200 @@ -1673,38 +1673,22 @@ return -1; } - struct dvbfe_info fe_info1; - - // a temporary hack, need to clean - memset(&fe_info1, 0, sizeof (struct dvbfe_info)); - - if(t->modulation_system == 0) - fe_info1.delivery = DVBFE_DELSYS_DVBS; - else if(t->modulation_system == 1) - fe_info1.delivery = DVBFE_DELSYS_DVBS2; + enum dvbfe_delsys delsys; + if(t->modulation_system == 0) { + delsys = DVBFE_DELSYS_DVBS;info("using DVB-S");} + else if(t->modulation_system == 1) { + delsys = DVBFE_DELSYS_DVBS2;info("using DVB-S2");} + else { + info("unsupported modulation system: %d\n", t->modulation_system); + return -1; + } - int result = ioctl(frontend_fd, DVBFE_GET_INFO, &fe_info1); + int result = ioctl(frontend_fd, DVBFE_SET_DELSYS, &delsys); if (result < 0) { - perror("ioctl DVBFE_GET_INFO failed"); + perror("ioctl DVBFE_SET_DELSYS failed"); t->last_tuning_failed = 1; return -1; } - - switch (fe_info1.delivery) { - case DVBFE_DELSYS_DVBS: - info("----------------------------------> Using '%s' DVB-S\n", fe_info.name); - break; - case DVBFE_DELSYS_DSS: - info("----------------------------------> Using '%s' DSS\n", fe_info.name); - break; - case DVBFE_DELSYS_DVBS2: - info("----------------------------------> Using '%s' DVB-S2\n", fe_info.name); - break; - default: - info("Unsupported Delivery system (%d)!\n", fe_info1.delivery); - t->last_tuning_failed = 1; - return -1; - } if (__tune_to_transponder (frontend_fd, t) == 0) return 0;
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb