pctv452e and TT-S2-3600 step-by-step howto

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux