All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] pctv452e and TT-S2-3600 step-by-step howto
@ 2008-06-07 14:27 Dominik Kuhlen
  2008-06-07 17:42 ` Goga777
  2008-06-08 16:14 ` Michael Schöller
  0 siblings, 2 replies; 8+ messages in thread
From: Dominik Kuhlen @ 2008-06-07 14:27 UTC (permalink / raw)
  To: linux-dvb


[-- Attachment #1.1.1: Type: text/plain, Size: 87 bytes --]

Hi,

I have attached a step-by-step howto for these devices


Happy testing,
 Dominik


[-- Attachment #1.1.2: howto_pctv452e.txt --]
[-- Type: text/plain, Size: 4137 bytes --]

# 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.


[-- Attachment #1.1.3: scan_mp_fix.patch --]
[-- Type: text/x-diff, Size: 2617 bytes --]

--- 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 #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-07-03 16:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-07 14:27 [linux-dvb] pctv452e and TT-S2-3600 step-by-step howto Dominik Kuhlen
2008-06-07 17:42 ` Goga777
2008-06-08 16:14 ` Michael Schöller
2008-06-09 20:48   ` Dominik Kuhlen
2008-06-12 21:58     ` Michael Schöller
2008-06-16 12:21       ` Michael Schöller
2008-07-03 16:47       ` [linux-dvb] pctv452e + PS3 + PPC Linux(YDL, Fedora) Michael Schöller
2008-06-19 19:59     ` [linux-dvb] pctv452e and TT-S2-3600 step-by-step howto Michael Schöller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.