a. You should probably fix the duplicate symbols problem, so you know
which i2c routines are in use.
Done.

This card never made it into the code base (not that it couldn't).

Hans has a test repository still set up here:

http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-ivtv <http://www.linuxtv.org/hg/%7Ehverkuil/v4l-dvb-ivtv>

I've downloaded, build and installed the branch at http://linuxtv.org/hg/~hverkuil/v4l-dvb-ivtv/rev/a0b04dbb0c0c

Below is the output from modprobe ivtv and dmesg. It does not appear to work as /dev/video* doesn't exist. Also modprobe -r ivtv just hangs. Also, I managed to locate a file called giga.diff (output for the file below) on my backup discs that appears to be a patch to an older version of ivtv. I can't remember if this actually was the patch I used to get it working or not. However, I do remember I was never able to get the turner working but the composite and svideo inputs did function.

I can do the legwork to add this card to the ivtv driver and a separate
entry in tuner-simple for the analog tuner (for which I do not have any
specs), if you can test the patches and tell us if it works.
Thanks! Just let me know what I need to do.

Eric Wescott

------------------------ dmesg ------------------------
Linux video capture interface: v2.00 ivtv: Start initialization, version 1.4.1 ivtv0: Initializing card 0 ivtv0: Autodetected Sony Gigapocket (Kikyo) card (cx23416 based) ivtv 0000:02:05.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 ivtv0: Unreasonably low latency timer, setting to 64 (was 32) saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0) tuner 1-0000: chip found @ 0x0 (ivtv i2c driver #0) BUG: unable to handle kernel NULL pointer dereference at 00000004 IP: [<f8978cb0>] i2c_new_probed_device+0x20/0x1a0 [i2c_core] *pde = 00000000 Oops: 0000 [#1] SMP last sysfs file: /sys/module/tuner/initstate Modules linked in: tuner saa7115 ivtv(+) i2c_algo_bit cx2341x v4l2_common videodev v4l1_compat tveeprom snd_seq_dummy snd_seq_oss snd_seq_mi di_event snd_seq snd_pcm_oss snd_mixer_oss ipv6 pcmcia pcmcia_core ppdev lp parport_pc parport fuse usbhid hid snd_cs4232 snd_mpu401 snd_wav efront ath5k snd_wss_lib snd_intel8x0 mac80211 snd_ac97_codec snd_opl3_lib led_class ohci1394 snd_hwdep cfg80211 snd_mpu401_uart ieee1394 ac 97_bus fan sg snd_pcm 8139too snd_rawmidi thermal mii snd_timer intel_agp snd_seq_device ns558 processor rtc_cmos evdev rtc_core i2c_i801 sh pchp snd snd_page_alloc serio_raw uhci_hcd agpgart gameport thermal_sys ehci_hcd soundcore rtc_lib i2c_core button hwmon ext4 mbcache jbd2 c rc16 [last unloaded: pcmcia_core]

Pid: 3051, comm: modprobe Not tainted (2.6.29.6-smp #1) EIP: 0060:[<f8978cb0>] EFLAGS: 00010206 CPU: 0 EIP is at i2c_new_probed_device+0x20/0x1a0 [i2c_core] EAX: 0fff800f EBX: 00000000 ECX: 00000004 EDX: f93f0b3c ESI: 00000004 EDI: 00000004 EBP: f294bcc4 ESP: f2923c88 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process modprobe (pid: 3051, ti=f2922000 task=f6a4c680 task.ti=f2922000) Stack: 656e7574 f6440072 f294bcc4 00000000 f2923d08 f644e220 f897980d 00000001
00000000 00000282 f8978c11 f294bd0c 00000000 f644e200 f9396598 c0517480
c04af7a0 00000000 00000004 f2923d08 f2940074 f93c7461 f94389ba 00000000
Call Trace: [<f8978c11>] i2c_new_device+0x21/0xa0 [i2c_core] [<f9396598>] v4l2_device_register_subdev+0x78/0xb0 [videodev] [<f93c7461>] v4l2_i2c_new_subdev_board+0x41/0x140 [v4l2_common] [<f93c75d3>] v4l2_i2c_new_subdev_cfg+0x73/0x90 [v4l2_common] [<f9425b07>] ivtv_i2c_register+0xb7/0x1b0 [ivtv] [<f9433c5c>] ivtv_probe+0x88c/0x19de [ivtv] [<c0227a6a>] idr_get_empty_slot+0xea/0x270 [<c0227c70>] ida_get_new_above+0x80/0x1c0 [<c01a0aee>] find_inode+0x3e/0x70 [<c01d6d80>] sysfs_ilookup_test+0x0/0x10 [<c01d7051>] sysfs_find_dirent+0x21/0x30 [<c01a09ed>] iput+0x1d/0x50 [<c01d755a>] sysfs_addrm_finish+0x3a/0x1f0 [<c01d7262>] sysfs_add_one+0x12/0x50 [<c01d807f>] sysfs_do_create_link+0x9f/0x130 [<c01a09ed>] iput+0x1d/0x50 [<c0240b2b>] local_pci_probe+0xb/0x10
[<c0241889>] pci_device_probe+0x69/0x90
[<c02a4f83>] driver_probe_device+0x83/0x1b0
[<c0240bf6>] pci_match_device+0x16/0xb0
[<c02a5139>] __driver_attach+0x89/0x90
[<c02417c0>] pci_device_remove+0x0/0x40
[<c02a48e4>] bus_for_each_dev+0x44/0x70
[<c02417c0>] pci_device_remove+0x0/0x40
[<c02a4e16>] driver_attach+0x16/0x20
[<c02a50b0>] __driver_attach+0x0/0x90
[<c02a429f>] bus_add_driver+0x1bf/0x240
[<c02417c0>] pci_device_remove+0x0/0x40
[<c02a52fc>] driver_register+0x5c/0x130
[<f9445000>] module_start+0x0/0x9c [ivtv]
[<c0241aed>] __pci_register_driver+0x3d/0x80
[<f9445000>] module_start+0x0/0x9c [ivtv]
[<f9445040>] module_start+0x40/0x9c [ivtv]
[<c010111a>] do_one_initcall+0x2a/0x160
[<c015bcf7>] tracepoint_module_notify+0x27/0x30
[<c01416e6>] notifier_call_chain+0x36/0x70
[<c0141ad3>] __blocking_notifier_call_chain+0x53/0x70
[<c014f25b>] sys_init_module+0x8b/0x1c0
[<c018f2d1>] sys_read+0x41/0x80
[<c01033ae>] syscall_call+0x7/0xb
[<c0400000>] quirk_nvidia_ck804_msi_ht_cap+0x2/0x75
Code: 00 00 00 00 8d bc 27 00 00 00 00 55 89 c5 57 89 cf 56 53 83 ec 44 89 54 24 10 8b 50 0c ff 52 08 a9 00 00 02 00 0f 84 57 01 00 00 <0f>
b7 1f 66 83 fb fe 0f 84 13 01 00 00 8d 85 b4 00 00 00 8d 55
EIP: [<f8978cb0>] i2c_new_probed_device+0x20/0x1a0 [i2c_core] SS:ESP 0068:f2923c88
---[ end trace caefa9cc4f192785 ]---


---------- OUTPUT FROM "modprobe ivtv" -------------------------
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ... darkstar kernel: last sysfs file: /sys/module/tuner/initstate Segmentation fault r...@darkstar:~# Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ... darkstar kernel: Process modprobe (pid: 3063, ti=f28ac000 task=f6823a80 task.ti=f28ac000)
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: Stack:
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: 00000000 00000282 f284f5c0 f28cbd0c 00000000 f28ae200 f937f598 c0517480

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: c04af7a0 00000000 00000004 f28add08 f28c0074 f93b0461 f94219ba 00000000

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: Call Trace:
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<f937f598>] v4l2_device_register_subdev+0x78/0xb0 [videodev]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<f93b0461>] v4l2_i2c_new_subdev_board+0x41/0x140 [v4l2_common]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<f93b05d3>] v4l2_i2c_new_subdev_cfg+0x73/0x90 [v4l2_common]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<f940eb07>] ivtv_i2c_register+0xb7/0x1b0 [ivtv]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<f941cc5c>] ivtv_probe+0x88c/0x19de [ivtv]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c0227a6a>] idr_get_empty_slot+0xea/0x270

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c0227c70>] ida_get_new_above+0x80/0x1c0
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01a0aee>] find_inode+0x3e/0x70
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01d6d80>] sysfs_ilookup_test+0x0/0x10
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01d7051>] sysfs_find_dirent+0x21/0x30
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01a09ed>] iput+0x1d/0x50
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c01d755a>] sysfs_addrm_finish+0x3a/0x1f0

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01d7262>] sysfs_add_one+0x12/0x50
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c01d807f>] sysfs_do_create_link+0x9f/0x130

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c01a09ed>] iput+0x1d/0x50
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c0240b2b>] local_pci_probe+0xb/0x10
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c0241889>] pci_device_probe+0x69/0x90
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c02a4f83>] driver_probe_device+0x83/0x1b0

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c0240bf6>] pci_match_device+0x16/0xb0
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a5139>] __driver_attach+0x89/0x90
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02417c0>] pci_device_remove+0x0/0x40
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a48e4>] bus_for_each_dev+0x44/0x70
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02417c0>] pci_device_remove+0x0/0x40
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a4e16>] driver_attach+0x16/0x20
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a50b0>] __driver_attach+0x0/0x90
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a429f>] bus_add_driver+0x1bf/0x240
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02417c0>] pci_device_remove+0x0/0x40
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<c02a52fc>] driver_register+0x5c/0x130
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<f942e000>] module_start+0x0/0x9c [ivtv]
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c0241aed>] __pci_register_driver+0x3d/0x80

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: [<f942e000>] module_start+0x0/0x9c [ivtv]
Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<f942e040>] module_start+0x40/0x9c [ivtv]

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c010111a>] do_one_initcall+0x2a/0x160

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c015bcf7>] tracepoint_module_notify+0x27/0x30

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c01416e6>] notifier_call_chain+0x36/0x70

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c0141ad3>] __blocking_notifier_call_chain+0x53/0x70

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c014f25b>] sys_init_module+0x8b/0x1c0

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c018f2d1>] sys_read+0x41/0x80

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c01033ae>] syscall_call+0x7/0xb

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel:  [<c0400000>] quirk_nvidia_ck804_msi_ht_cap+0x2/0x75

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: Code: 00 00 00 00 8d bc 27 00 00 00 00 55 89 c5 57 89 cf 56 53 83 ec 44 89 54 24 10 8b 50 0c ff 52 08 a9 00 00 02 00 0f 84 57 01 00 00 <0f> b7 1f 66 83 fb fe 0f 84 13 01 00 00 8d 85 b4 00 00 00 8d 55

Message from sysl...@darkstar at Wed Jan 13 19:12:05 2010 ...
darkstar kernel: EIP: [<f89a6cb0>] i2c_new_probed_device+0x20/0x1a0 [i2c_core] SS:ESP 0068:f28adc88


------------------------- giga.diff ----------------------------------
Index: ivtv-driver.h =================================================================== --- ivtv-driver.h (revision 3364) +++ ivtv-driver.h (working copy) @@ -128,14 +128,15 @@ #define IVTV_CARD_GOTVIEW_PCI_DVD2 15 /* GotView PCI DVD2 */ #define IVTV_CARD_YUAN_MPC622 16 /* Yuan MPC622 miniPCI */ #define IVTV_CARD_DCTMTVP1 17 /* DIGITAL COWBOY DCT-MTVP1 */ +#define IVTV_CARD_GIGA_POCKET 18 /* Sony Giga Pocket PVR */ /* Variants of existing cards but with the same PCI IDs. The driver detects these based on other device information. These cards must always come last. New cards must be inserted above, and the indices of the cards below must be adjusted accordingly. */ -#define IVTV_CARD_PVR_350_V1 18 /* encoder, decoder, tv-out, V1 (uses saa7114) */ -#define IVTV_CARD_CX23416GYC_NOGR 19 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */ -#define IVTV_CARD_CX23416GYC_NOGRYCS 20 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */ +#define IVTV_CARD_PVR_350_V1 19 /* encoder, decoder, tv-out, V1 (uses saa7114) */ +#define IVTV_CARD_CX23416GYC_NOGR 20 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */ +#define IVTV_CARD_CX23416GYC_NOGRYCS 21 /* Kuroutoshikou CX23416GYC-STVLP (Yuan MPG600GR OEM) */ #define IVTV_AUDIO_32000 0x2 /* 32 kHz audio */ #define IVTV_AUDIO_44100 0x0 /* 44.1 kHz audio */ @@ -171,6 +172,7 @@ #define IVTV_PCI_ID_IODATA 0x10fc #define IVTV_PCI_ID_MELCO 0x1154 #define IVTV_PCI_ID_GOTVIEW 0xffac +#define IVTV_PCI_ID_SONY 0x104d #define IVTV_MBOX_MAX_BOXES 20 #define IVTV_MBOX_API_BOXES 6 Index: ivtv-cards.c =================================================================== --- ivtv-cards.c (revision 3348) +++ ivtv-cards.c (working copy) @@ -868,6 +868,36 @@ /* ------------------------------------------------------------------------- */ +/* Sony Giga Pocket PVR */ + +static const struct ivtv_card_pci_info ivtv_pci_giga_pocket[] = { + { PCI_DEVICE_ID_IVTV16, IVTV_PCI_ID_SONY, 0x813d }, + { 0, 0, 0 } +}; + +static const struct ivtv_card ivtv_card_giga_pocket = { + .type = IVTV_CARD_GIGA_POCKET,
+       .name = "Sony Giga Pocket PVR",
+       .v4l2_capabilities = IVTV_CAP_ENCODER,
+       .hw_video = IVTV_HW_SAA7115,
+       .hw_all = IVTV_HW_SAA7115 | IVTV_HW_TUNER,
+       .video_inputs = {
+               { IVTV_CARD_INPUT_VID_TUNER,  0, IVTV_SAA71XX_SVIDEO0    },
+               { IVTV_CARD_INPUT_SVIDEO1,    1, IVTV_SAA71XX_SVIDEO2    },
+               { IVTV_CARD_INPUT_COMPOSITE1, 1, IVTV_SAA71XX_SVIDEO2 },
+       },
+       .audio_inputs = {
+               { IVTV_CARD_INPUT_AUD_TUNER,  IVTV_GPIO_TUNER   },
+               { IVTV_CARD_INPUT_LINE_IN1,   IVTV_GPIO_LINE_IN },
+       },
+       .tuners = {
+               { .std = V4L2_STD_525_60, .tuner = TUNER_PHILIPS_NTSC },
+       },
+       .pci_list = ivtv_pci_giga_pocket,
+};
+
+/* ------------------------------------------------------------------------- */
+
static const struct ivtv_card *ivtv_card_list[] = {
       &ivtv_card_pvr250,
       &ivtv_card_pvr350,
@@ -887,6 +917,7 @@
       &ivtv_card_gotview_pci_dvd2,
       &ivtv_card_yuan_mpc622,
       &ivtv_card_dctmvtvp1,
+       &ivtv_card_giga_pocket,

       /* Variations of standard cards but with the same PCI IDs.
          These cards must come last in this list. */





_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to