LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Reply
 
Search this Thread
Old 12-01-2005, 04:09 AM   #1
noware
Member
 
Registered: Oct 2005
Location: Hungary
Distribution: FC6 , freeBSD
Posts: 87

Rep: Reputation: 15
I'd like to use my Pinnacle pctv stereo/Philips SAA7134 tuner card...


Hi All!

I'm quite a noobee here... I bought a Pinnacle PCTV stereo TV tuner card, it uses the Philips SAA7134 chip, which is said to be supported by kernels higher then 2.4.x. Because of this fact I build the latest stable kernel (2.6.14.3), and I found my chip when I made the XConfig thing, but unfortunetly I cannot make my tuner card work.

I wonder if there is some way to check that I have made everything correctly when I built my kernel and thus my kernel uses that module.

The other thing is : If my os uses the right module (at least it should do so , I think), why can't I use my tuner card with any app ? I tried xawTV , KDETV , and a lot of MPlayer frontends , but none of them worked.

Please someone help me! I don't wanna by a nother tuner card just because of I'm unable to set it up. I f somebody has a working Pinnacle PCTV stereo with P SAA7134 chip, please let me know.

Any suggestions can be helpful!

THX.
 
Old 12-01-2005, 10:00 PM   #2
Electro
Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
It will not detect the tuner so you need to specify a tuner model while loading saa7134 module. To do this in /etc/modules.conf or /etc/modprobe.conf add "options saa7134 tuner=X". Place a number where X is. It is a trial and error. I used tuner number 17 but it is for my LifeView Flyvideo 3000. Also it does not hurt to include card=X on the same line. MPlayer should of worked if you specify either S-Video or Composite.

Quote:
supported by kernels higher then 2.4.x
Well the saa7134 works with 2.4.x kernels, but only with work arounds. Kernel version 2.6.x supports it well with out any work arounds.
 
Old 12-06-2005, 03:56 PM   #3
noware
Member
 
Registered: Oct 2005
Location: Hungary
Distribution: FC6 , freeBSD
Posts: 87

Original Poster
Rep: Reputation: 15
You mean if I use kernel 2.6.x it should detect my card with no hacking?
 
Old 12-30-2005, 05:28 AM   #4
Goofy180173
Member
 
Registered: Nov 2005
Location: Austria
Distribution: Open Suse 10.3
Posts: 32

Rep: Reputation: 15
I have the same problem but i found a patch.
My problem is, what should i do with it. Im a newbee, but maybe you can help me to run this patch and solve all our problems.
Here is the patch, i hope it works.

- Supports the Pinnacle PCTV 110i board, video inputs, and remote.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>

-----------------

Index: hg/Documentation/video4linux/CARDLIST.saa7134
===================================================================
--- hg.orig/Documentation/video4linux/CARDLIST.saa7134
+++ hg/Documentation/video4linux/CARDLIST.saa7134
@@ -75,3 +75,4 @@
74 -> LifeView FlyTV Platinum Mini2 [14c0:1212]
75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
76 -> SKNet MonsterTV Mobile [1131:4ee9]
+ 77 -> Pinnacle PCTV 110i (saa7133) [11bd:002e]
Index: hg/drivers/media/video/ir-kbd-i2c.c
===================================================================
--- hg.orig/drivers/media/video/ir-kbd-i2c.c
+++ hg/drivers/media/video/ir-kbd-i2c.c
@@ -122,6 +122,64 @@ static IR_KEYTAB_TYPE ir_codes_purpletv[

};

+static IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
+ [ 0x59 ] = KEY_MUTE,
+ [ 0x4a ] = KEY_POWER,
+
+ [ 0x18 ] = KEY_TEXT,
+ [ 0x26 ] = KEY_TV,
+ [ 0x3d ] = KEY_PRINT,
+
+ [ 0x48 ] = KEY_RED,
+ [ 0x04 ] = KEY_GREEN,
+ [ 0x11 ] = KEY_YELLOW,
+ [ 0x00 ] = KEY_BLUE,
+
+ [ 0x2d ] = KEY_VOLUMEUP,
+ [ 0x1e ] = KEY_VOLUMEDOWN,
+
+ [ 0x49 ] = KEY_MENU,
+
+ [ 0x16 ] = KEY_CHANNELUP,
+ [ 0x17 ] = KEY_CHANNELDOWN,
+
+ [ 0x20 ] = KEY_UP,
+ [ 0x21 ] = KEY_DOWN,
+ [ 0x22 ] = KEY_LEFT,
+ [ 0x23 ] = KEY_RIGHT,
+ [ 0x0d ] = KEY_SELECT,
+
+
+
+ [ 0x08 ] = KEY_BACK,
+ [ 0x07 ] = KEY_REFRESH,
+
+ [ 0x2f ] = KEY_ZOOM,
+ [ 0x29 ] = KEY_RECORD,
+
+ [ 0x4b ] = KEY_PAUSE,
+ [ 0x4d ] = KEY_REWIND,
+ [ 0x2e ] = KEY_PLAY,
+ [ 0x4e ] = KEY_FORWARD,
+ [ 0x53 ] = KEY_PREVIOUS,
+ [ 0x4c ] = KEY_STOP,
+ [ 0x54 ] = KEY_NEXT,
+
+ [ 0x69 ] = KEY_KP0,
+ [ 0x6a ] = KEY_KP1,
+ [ 0x6b ] = KEY_KP2,
+ [ 0x6c ] = KEY_KP3,
+ [ 0x6d ] = KEY_KP4,
+ [ 0x6e ] = KEY_KP5,
+ [ 0x6f ] = KEY_KP6,
+ [ 0x70 ] = KEY_KP7,
+ [ 0x71 ] = KEY_KP8,
+ [ 0x72 ] = KEY_KP9,
+
+ [ 0x74 ] = KEY_CHANNEL,
+ [ 0x0a ] = KEY_BACKSPACE,
+};
+
/* ----------------------------------------------------------------------- */
/* insmod parameters */

@@ -245,6 +303,58 @@ static int get_key_purpletv(struct IR_i2
*ir_raw = b;
return 1;
}
+
+/* The new pinnacle PCTV remote (with the colored buttons)
+ *
+ * Ricardo Cerqueira <v4l@cerqueira.org>
+ */
+
+static int get_key_pinnacle(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
+{
+ unsigned char b[4];
+ unsigned int start = 0,parity = 0,code = 0;
+
+ /* poll IR chip */
+ if (4 != i2c_master_recv(&ir->c,b,4)) {
+ dprintk(1,"read error\n");
+ return -EIO;
+ }
+
+ for (start = 0; start<4; start++) {
+ if (b[start] == 0x80) {
+ code=b[(start+3)%4];
+ parity=b[(start+2)%4];
+ }
+ }
+
+ /* Empty Request */
+ if (parity==0)
+ return 0;
+
+ /* Repeating... */
+ if (ir->old == parity)
+ return 0;
+
+
+ ir->old = parity;
+
+ /* Reduce code value to fit inside IR_KEYTAB_SIZE
+ *
+ * this is the only value that results in 42 unique
+ * codes < 128
+ */
+
+ code %= 0x88;
+
+ *ir_raw = code;
+ *ir_key = code;
+
+ dprintk(1,"Pinnacle PCTV key %02x\n", code);
+
+ return 1;
+}
+
+
/* ----------------------------------------------------------------------- */

static void ir_key_poll(struct IR_i2c *ir)
@@ -350,6 +460,12 @@ static int ir_attach(struct i2c_adapter
ir_type = IR_TYPE_OTHER;
ir_codes = ir_codes_empty;
break;
+ case 0x47:
+ name = "Pinnacle PCTV";
+ ir->get_key = get_key_pinnacle;
+ ir_type = IR_TYPE_OTHER;
+ ir_codes = ir_codes_pinnacle;
+ break;
case 0x7a:
name = "Purple TV";
ir->get_key = get_key_purpletv;
@@ -426,7 +542,7 @@ static int ir_probe(struct i2c_adapter *
*/

static const int probe_bttv[] = { 0x1a, 0x18, 0x4b, 0x64, 0x30, -1};
- static const int probe_saa7134[] = { 0x7a, -1 };
+ static const int probe_saa7134[] = { 0x7a, 0x47, -1 };
static const int probe_em2820[] = { 0x30, 0x47, -1 };
const int *probe = NULL;
struct i2c_client c;
Index: hg/drivers/media/video/saa7134/saa7134-cards.c
===================================================================
--- hg.orig/drivers/media/video/saa7134/saa7134-cards.c
+++ hg/drivers/media/video/saa7134/saa7134-cards.c
@@ -2391,6 +2391,33 @@ struct saa7134_board saa7134_boards[] =
.amux = LINE1,
}},
},
+ [SAA7134_BOARD_PINNACLE_PCTV_110i] = {
+ .name = "Pinnacle PCTV 110i (saa7133)",
+ .audio_clock = 0x00187de7,
+ .tuner_type = TUNER_PHILIPS_TDA8290,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .gpiomask = 0x080200000,
+ .inputs = {{
+ .name = name_tv,
+ .vmux = 4,
+ .amux = TV,
+ .tv = 1,
+ },{
+ .name = name_comp1,
+ .vmux = 1,
+ .amux = LINE2,
+ },{
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE2,
+ }},
+ .radio = {
+ .name = name_radio,
+ .amux = LINE1,
+ },
+ },
};

const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -2809,6 +2836,12 @@ struct pci_device_id saa7134_pci_tbl[] =
.subdevice = 0x4ee9,
.driver_data = SAA7134_BOARD_MONSTERTV_MOBILE,
},{
+ .vendor = PCI_VENDOR_ID_PHILIPS,
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
+ .subvendor = 0x11bd,
+ .subdevice = 0x002e,
+ .driver_data = SAA7134_BOARD_PINNACLE_PCTV_110i,
+ },{
/* --- boards without eeprom + subsystem ID --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
Index: hg/drivers/media/video/saa7134/saa7134.h
===================================================================
--- hg.orig/drivers/media/video/saa7134/saa7134.h
+++ hg/drivers/media/video/saa7134/saa7134.h
@@ -203,6 +203,7 @@ struct saa7134_format {
#define SAA7134_BOARD_FLYTVPLATINUM_MINI2 74
#define SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180 75
#define SAA7134_BOARD_MONSTERTV_MOBILE 76
+#define SAA7134_BOARD_PINNACLE_PCTV_110i 77

#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
Index: hg/drivers/media/video/tda8290.c
===================================================================
--- hg.orig/drivers/media/video/tda8290.c
+++ hg/drivers/media/video/tda8290.c
@@ -487,7 +487,7 @@ static void tda8290_init_tuner(struct i2
unsigned char tda8275a_init[] = { 0x00, 0x00, 0x00, 0x00, 0xdC, 0x05, 0x8b,
0x0c, 0x04, 0x20, 0xFF, 0x00, 0x00, 0x4b };
struct i2c_msg msg = {.addr = t->tda827x_addr, .flags=0,
- .buf=tda8275_init, .len = 14};
+ .buf=tda8275_init, .len = 14};
if (t->tda827x_ver != 0)
msg.buf = tda8275a_init;
 
Old 12-31-2005, 03:47 PM   #5
Electro
Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
A kernel patch will only work on only one kernel version. If you do not know the kernel version the patch is for, forget applying the patch.

Pinnacle PCTV is card number 26 but the TV tuner is unknown. By just doing, modprobe saa7134 card=26 should make the card work. If mplayer or tvtime is used, specify either S-Video or Composite (RCA). For the TV tuner, you have to do trial and error to find out what tuner number works. After you are done you should add the following lines to either /etc/modules.conf or /etc/modprobe.conf.

alias char-major-81-0 saa7134
options saa7134 card=26 tuner=X
 
Old 01-01-2006, 02:46 PM   #6
Jykke
Member
 
Registered: Sep 2005
Posts: 166

Rep: Reputation: 16
Err...I am having a sort of similar problem with my DVB-T card it is a card with analog and digital tuner (Kworld DVB-T 220). It is recognised as Philips something and dmesg answers something intelligent. Yet tvtime says no signal? I found some sort of script with which I can try all tuners but I don't know when I find a right one or at all? Is the "no signal" indication of wrong tuner or do I need to tune the channels for each and every tuner trial? Should take eternity to go through this one - any easier way?
 
Old 01-19-2006, 04:57 PM   #7
magicsam
LQ Newbie
 
Registered: Dec 2005
Location: Netherlands, The
Distribution: SUSE 10 -> Gentoo
Posts: 14

Rep: Reputation: 0
I had a lot of problems configuring my Pinnacle PCTV 50i card in Suse 10.
It was detected in YaST2 but I couldn't find any channels.

Got it working after installing: v4l-kernel-20051118 updated drivers
modprobe saa7134 card=77

The remote control should be supported, but I can't get it to work arggg

cat /proc/bus/input/devices gives this info:
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="Pinnacle PCTV"
P: Phys=i2c-2/2-0047/ir0
H: Handlers=kbd event2
B: EV=100003
B: KEY=108fc010 2100802 0 0 0 0 48000 2180 c0000801 9e1680 7bb80 0 4000

Where should I start looking...?
 
Old 01-20-2006, 12:48 PM   #8
Electro
Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
You will also need to include tuner in the options line for saa7134 that is stated in either /etc/modules.conf or /etc/modprobe.conf. You have to go through each tuner to find out which one works the best for television. For remote control, you will need lirc.

I recommend you do not use those drivers. The latest software is in 2.6.x kernels.
 
Old 09-26-2006, 09:51 AM   #9
anoopkjm
LQ Newbie
 
Registered: Aug 2006
Posts: 21

Rep: Reputation: 0
Quote:
Originally Posted by noware
Hi All!

I'm quite a noobee here... I bought a Pinnacle PCTV stereo TV tuner card, it uses the Philips SAA7134 chip, which is said to be supported by kernels higher then 2.4.x. Because of this fact I build the latest stable kernel (2.6.14.3), and I found my chip when I made the XConfig thing, but unfortunetly I cannot make my tuner card work.

I wonder if there is some way to check that I have made everything correctly when I built my kernel and thus my kernel uses that module.

The other thing is : If my os uses the right module (at least it should do so , I think), why can't I use my tuner card with any app ? I tried xawTV , KDETV , and a lot of MPlayer frontends , but none of them worked.

Please someone help me! I don't wanna by a nother tuner card just because of I'm unable to set it up. I f somebody has a working Pinnacle PCTV stereo with P SAA7134 chip, please let me know.

Any suggestions can be helpful!

THX.
I am also facing the same problem. I note that the above mentioned problem was posted a few months before. So I believe that you have been get positive results for your problem. So please send me ideas for the above problem.
 
  


Reply

Tags
pctv, pinnacle, saa7134, tuner


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pinnacle PCTV Stereo (FC3) nistelrooy Linux - Hardware 4 04-27-2005 09:16 AM
KDETV & my pinnacle pctv stereo yakity Linux - Hardware 2 03-27-2005 05:43 PM
Problems with Pinnacle PCTV Stereo (saa7134) exKoopa Linux - Hardware 13 01-09-2005 03:12 AM
Pinnacle PCTV Stereo with Suse 9.0 yogybear Linux - Hardware 1 03-16-2004 05:39 AM
How to config the philips saa7134 based tv tuner card kinhungw Linux - Hardware 0 12-21-2002 08:04 AM


All times are GMT -5. The time now is 02:41 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration