On Monday 19 October 2009 15:20:34 Alexander Voropay wrote:
> I've got a Sony TV card extracted from the unknown (Sony?) brandname computer.
> Unfortunately, "ivtv" driver can't recognize it and aviced me to post
> IDs to this list ;)
>
> This card has labels: "Sony", "PCVA-IMB5A", "ENX-26"
Sorry for the late reply, it's been very busy lately.
I went through the archives and apparently Eric Anderson managed to get this
working almost two years ago. For whatever reason I never picked up this
patch (hint: if I seem to ignore an email, then mail again after a week to
remind me!).
I have attached his original patch and reproduced his email below and CC-ed
him as well:
On Wednesday 09 January 2008 07:52:30 Eric Anderson wrote:
>
> I've had this card working for a while now (104d/813d) with myth.
> Attached is a patch against
> video4linux-20071208. A few notes:
>
> 1. The tuner on the card doesn't seem to match any standard
> ones. I modified
> an existing tuner entry. Ideally a new tuner entry should be
> created. (The only
> difference from the one I modified is that the low-to-mid range
> frequency cut-off
> is slightly different, as are the bit config settings.)
>
> 2. It wasn't obvious how to choose a second audio input other
> than using "radio" as an option.
> Basically there's two GPIO audio inputs. Using radio allowed me
> to avoid major restructuring
> to the code. (perhaps other cards don't have this often../)
>
> 3. It's not clear that there's a mute setting that works. Not
> sure why.
>
> 4. I haven't had a chance to test the two Svideo inputs. I set
> them to COMPOSITE1 and
> SVIDEO2, but I'm not sure those are the correct settings. The
> standard composite video
> inputs seem to work.
>
> Hans, can you pick up this patch as-is? Or does it need more cleaning
> up? Or more information?
> I'm also happy to test out a future build if you have a chance to
> merge it in.
>
> Thanks.
>
> -Eric
>
Eric, did you work more on this?
I have prepared a repository which adds this patch (with a few small minor
modifications):
http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-ivtv
Alexander, can you test this? Instructions on building that tree are here:
http://www.ivtvdriver.org/index.php/Download#Bleeding_Edge_driver
(just replace the v4l-dvb repository in that description with mine).
Eric, even if you have no time to look at this, I would like to get a
'Signed-off-by' line from you (see here:
http://www.linuxtv.org/wiki/index.php/Development:_How_to_submit_patches).
That allows me to merge it into the kernel if this patch works.
The other thing we need is which tuner model is used by Eric's and Alexander's
cards. Eric provided a workaround patch that modified one tuner, but it
probably should become a new tuner definition. And then we need to know
which tuner it is. I'm also not sure what tuner Alexander has: it might be
a different one.
I've also CC-ed Andy Walls since I have no idea whether I will have the time
to work more on this. All my weekends for the rest of the year are already
pretty full, so I hope Andy can take over from me. Or at least help with
answering mailinglist posts...
Regards,
Hans
--
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
*** video4linux-20071208.orig/linux/drivers/media/video/tuner-types.c
2007-12-08 02:52:49.000000000 -0800
--- video4linux-20071208/linux/drivers/media/video/tuner-types.c
2007-12-27 01:07:58.000000000 -0800
***************
*** 171,179 ****
/* ------------ TUNER_ALPS_TSBH1_NTSC - TEMIC NTSC ------------ */
static struct tuner_range tuner_alps_tsb_1_ranges[] = {
! { 16 * 137.25 /*MHz*/, 0x8e, 0x01, },
! { 16 * 385.25 /*MHz*/, 0x8e, 0x02, },
! { 16 * 999.99 , 0x8e, 0x08, },
};
static struct tuner_params tuner_alps_tsbh1_ntsc_params[] = {
--- 171,182 ----
/* ------------ TUNER_ALPS_TSBH1_NTSC - TEMIC NTSC ------------ */
static struct tuner_range tuner_alps_tsb_1_ranges[] = {
! // { 16 * 137.25 /*MHz*/, 0x8e, 0x01, },
! // { 16 * 385.25 /*MHz*/, 0x8e, 0x02, },
! // { 16 * 999.99 , 0x8e, 0x08, },
! { 16 * 137.25 /*MHz*/, 0x8e, 0x01, },
! { 16 * 367.25 /*MHz*/, 0x8e, 0x02, }, // KIKYO -ETA
! { 16 * 999.99 , 0x8e, 0x04, }, // KIKYO -ETA
};
static struct tuner_params tuner_alps_tsbh1_ntsc_params[] = {
*** video4linux-20071208.orig/linux/drivers/media/video/ivtv/ivtv-cards.h
2007-12-08 02:52:48.000000000 -0800
--- video4linux-20071208/linux/drivers/media/video/ivtv/ivtv-cards.h
2007-12-27 00:44:01.000000000 -0800
***************
*** 47,53 ****
#define IVTV_CARD_AVERTV_MCE116 20 /* AVerTV MCE 116 Plus */
#define IVTV_CARD_ASUS_FALCON2 21 /* ASUS Falcon2 */
#define IVTV_CARD_AVER_PVR150PLUS 22 /* AVerMedia PVR-150 Plus */
! #define IVTV_CARD_LAST 22
/* Variants of existing cards but with the same PCI IDs. The driver
detects these based on other device information.
--- 47,54 ----
#define IVTV_CARD_AVERTV_MCE116 20 /* AVerTV MCE 116 Plus */
#define IVTV_CARD_ASUS_FALCON2 21 /* ASUS Falcon2 */
#define IVTV_CARD_AVER_PVR150PLUS 22 /* AVerMedia PVR-150 Plus */
! #define IVTV_CARD_KIKYO 23 /* Sony gigapocket */
! #define IVTV_CARD_LAST 23
/* Variants of existing cards but with the same PCI IDs. The driver
detects these based on other device information.
*** video4linux-20071208.orig/linux/drivers/media/video/ivtv/ivtv-cards.c
2007-12-08 02:52:48.000000000 -0800
--- video4linux-20071208/linux/drivers/media/video/ivtv/ivtv-cards.c
2007-12-28 00:02:07.000000000 -0800
***************
*** 1036,1041 ****
--- 1036,1084 ----
.pci_list = ivtv_pci_asus_falcon2,
};
+ /* -------------------------------------------------------------------------
*/
+ /* Sony Kikyo */
+
+ static const struct ivtv_card_pci_info ivtv_pci_kikyo[] = {
+ { PCI_DEVICE_ID_IVTV16, 0x104d, 0x813d },
+ { 0, 0, 0 }
+ };
+
+ static const struct ivtv_card ivtv_card_kikyo = {
+ .type = IVTV_CARD_KIKYO,
+ .name = "Sony Gigapocket (Kikyo)",
+ .v4l2_capabilities = IVTV_CAP_ENCODER,
+ .hw_video = IVTV_HW_SAA7115,
+ .hw_audio = IVTV_HW_GPIO,
+ .hw_audio_ctrl = IVTV_HW_GPIO,
+ .hw_all = IVTV_HW_GPIO | IVTV_HW_SAA7115 | IVTV_HW_TUNER,
+ .video_inputs = {
+ { IVTV_CARD_INPUT_VID_TUNER, 0, IVTV_SAA71XX_COMPOSITE5 }, // Tuner
+ { IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_COMPOSITE4 }, //
Video1=rear
+ { IVTV_CARD_INPUT_COMPOSITE2, 2, IVTV_SAA71XX_COMPOSITE1 }, //
Video2=front
+ { IVTV_CARD_INPUT_SVIDEO1, 1, IVTV_SAA71XX_COMPOSITE1 }, // ?? <need
to test>
+ { IVTV_CARD_INPUT_SVIDEO2, 2, IVTV_SAA71XX_SVIDEO2 }, // ?? <need
to test>
+ },
+ .audio_inputs = {
+ { IVTV_CARD_INPUT_AUD_TUNER, IVTV_GPIO_TUNER },
+ { IVTV_CARD_INPUT_LINE_IN1, IVTV_GPIO_LINE_IN },
+ { IVTV_CARD_INPUT_LINE_IN2, 2 }, // IVTV_GPIO_RADIO?? <--
pretend to have "radio" for 2nd audio GPIO.
+ },
+ // Sony windows software seems to set 0x200 when unmuting. Does it do
anything?. -ETA
+ // Not clear what 0x100 does either.
+ .gpio_init = { .direction = 0x0381, .initial_value = 0x0320 },
+ .gpio_audio_input = { .mask = 0x0060, .tuner = 0x0000, .linein =
0x0060, .radio=0x0020 },
+ .gpio_audio_mute = { .mask = 0x0000, .mute = 0x0000 }, // 0x200?
Disable for now.
+ .gpio_audio_mode = { .mask = 0x0080, .mono = 0x0, .stereo = 0x0, //
SAP
+ .lang1 = 0x0080, .lang2 = 0x0000, .both = 0x0080
},
+ .tuners = {
+ { .std = V4L2_STD_ALL, .tuner = TUNER_ALPS_TSBH1_NTSC }, //
TEMPORARY HACK!! -ETA
+ },
+ .pci_list = ivtv_pci_kikyo,
+ };
+
+
+
static const struct ivtv_card *ivtv_card_list[] = {
&ivtv_card_pvr250,
&ivtv_card_pvr350,
***************
*** 1061,1066 ****
--- 1104,1111 ----
&ivtv_card_asus_falcon2,
&ivtv_card_aver_pvr150,
+ &ivtv_card_kikyo,
+
/* Variations of standard cards but with the same PCI IDs.
These cards must come last in this list. */
&ivtv_card_pvr350_v1,
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel