Bug 8954 - Pinnacle PCTV USB2 does not work anymore
Summary: Pinnacle PCTV USB2 does not work anymore
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: dvb-usb (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Mauro Carvalho Chehab
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-28 14:15 UTC by Roland Schäuble
Modified: 2007-11-11 08:23 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.22.1 (vanilla)
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
Revert one changeset that might have broken for your device (491 bytes, patch)
2007-11-08 07:42 UTC, Mauro Carvalho Chehab
Details | Diff

Description Roland Schäuble 2007-08-28 14:15:30 UTC
Most recent kernel where this bug did not occur: 2.6.21 (vanilla)
Distribution: Gentoo
Hardware Environment: IBM Thinkpad R50
Software Environment: Gentoo Linux x86

Linux euler 2.6.22-gentoo-r5 #1 Sat Aug 25 10:22:56 CEST 2007 i686 Intel(R) Pentium(R) M processor 1500MHz GenuineIntel GNU/Linux
 
Gnu C                  4.1.2
Gnu make               3.81
binutils               2.17
util-linux             2.12r
mount                  2.12r
module-init-tools      3.2.2
e2fsprogs              1.39
Linux C Library        > libc.2.5
Dynamic linker (ldd)   2.5
Procps                 3.2.7
Net-tools              1.60
Kbd                    1.12
Sh-utils               6.9
udev                   114
wireless-tools         29
Modules Loaded         ipv6 snd_pcm_oss snd_mixer_oss snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq lirc_sir lirc_dev lp snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep irtty_sir sir_dev irda crc_ccitt radeonfb fb_ddc i2c_algo_bit i2c_core ipw2100 ieee80211 ieee80211_crypt firmware_class snd_intel8x0 snd_intel8x0m snd_ac97_codec ac97_bus snd_pcm snd_timer snd snd_page_alloc yenta_socket rsrc_nonstatic pcmcia_core parport_pc parport intel_agp agpgart rtc pcspkr e1000 scsi_wait_scan ohci1394 ieee1394 sl811_hcd usbhid ohci_hcd uhci_hcd usb_storage ehci_hcd usbcore

Problem Description: 
If I plug in the PCTV USB2 device, the image of the first channel is visible, but no sound. If I try to switch the channel, the image gets scrambled. In kernel 2.6.21, the same configuration worked perfectly well. The bug arises the first time in kernel 2.6.22.1 whereas kernel 2.6.21 works perfectly for me. So I n Summary, I have the following situation:

linux-2.6.21 (vanilla):   works
linux-2.6.21-gentoo-r4:   works
linux-2.6.22.1 (vanilla): bug
linux-2.6.22-gentoo-r2:   bug
linux-2.6.22-gentoo-r4:   bug
linux-2.6.22-gentoo-r5:   bug

The PCTV USB2 device uses the em28xx module, but the problem may also be the tuner.

I initialize the modules as follows:
alias char-major-81 videodev
alias char-major-81-0 tveeprom
alias char-major-81-1 em28xx
options em28xx card=3 tuner=56
options tuner qss=0 port2=0 pal=b secam=b

Steps to reproduce:
I use the following script to watch tv:
#!/bin/sh -x
gnome-screensaver-command --exit
sox -t ossdsp -r 48000 -q -b -c 2 /dev/dsp2 -t ossdsp /dev/dsp &
pid_sox=$!
mplayer tv://
kill $pid_sox
Comment 1 Andre Karow 2007-09-27 01:13:53 UTC
I have exactly the same problem, using Gentoo and mplayer.
Hardware: Hauppage WinTV USB2 (Analouge PAL) also using kernel em28xx module
Kernel-driver till 2.6.21 works out of the box, afterwards I have only a black screen. I also tried nonexperimental and experimental drivers from v4l mercurial HG tree, still no success.
Comment 2 Natalie Protasevich 2007-11-08 06:03:18 UTC
cc-ing to Mauro to help with this fresh regression...
Comment 3 Mauro Carvalho Chehab 2007-11-08 06:43:27 UTC
Please try with the latest em28xx driver at:
http://linuxtv.org/hg/v4l-dvb

Please, attach the dmesg log of the board. I need the log also without the "card=3", since I've added some options that will allow auto-detecting the device types.
Comment 4 Mauro Carvalho Chehab 2007-11-08 07:42:15 UTC
Created attachment 13463 [details]
Revert one changeset that might have broken for your device

I can't see much differences between kernel 2.6.20 and the current em28xx/saa7115 module.

This one can make some difference. Please apply this patch and post some results.

If this works, I need to know what video standard are you using.

This patch reverts a changeset that were supposed to fix for SECAM

changeset:   5408:fccc36494411
Fix SECAM handling on saa7115
Comment 5 Roland Schäuble 2007-11-08 09:29:05 UTC
Here is the required dmesg output when I plug in the device:
This has been recorded with the existing driver from the gentoo kernel 2.6.22-gentoo-r5:
:
eth1: no IPv6 routers present
usb 1-4: new high speed USB device using ehci_hcd and address 3
usb 1-4: configuration #1 chosen from 1 choice
Linux video capture interface: v2.00
em28xx v4l2 driver version 0.0.1 loaded
em28xx new video device (2304:0208): interface 0, class 255
em28xx #0: Alternate settings: 8
em28xx #0: Alternate setting 0, max size= 0
em28xx #0: Alternate setting 1, max size= 1024
em28xx #0: Alternate setting 2, max size= 1448
em28xx #0: Alternate setting 3, max size= 2048
em28xx #0: Alternate setting 4, max size= 2304
em28xx #0: Alternate setting 5, max size= 2580
em28xx #0: Alternate setting 6, max size= 2892
em28xx #0: Alternate setting 7, max size= 3072
saa7115 0-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
tuner 0-0043: chip found @ 0x86 (em28xx #0)
tuner 0-0043: type set to 56 (Philips PAL/SECAM multi (FQ1216AME MK4))
tuner 0-0043: type set to 56 (Philips PAL/SECAM multi (FQ1216AME MK4))
tuner 0-0063: chip found @ 0xc6 (em28xx #0)
tuner 0-0063: type set to 56 (Philips PAL/SECAM multi (FQ1216AME MK4))
tuner 0-0063: type set to 56 (Philips PAL/SECAM multi (FQ1216AME MK4))
em28xx #0: i2c eeprom 00: 1a eb 67 95 04 23 08 02 10 00 1e 03 98 2a 6a 2e
em28xx #0: i2c eeprom 10: 00 00 06 57 6e 00 00 00 8e 00 00 00 07 00 00 00
em28xx #0: i2c eeprom 20: 16 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 00 00 00 00 00 00
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 2e 03 50 00 69 00
em28xx #0: i2c eeprom 70: 6e 00 6e 00 61 00 63 00 6c 00 65 00 20 00 53 00
em28xx #0: i2c eeprom 80: 79 00 73 00 74 00 65 00 6d 00 73 00 20 00 47 00
em28xx #0: i2c eeprom 90: 6d 00 62 00 48 00 00 00 2a 03 50 00 43 00 54 00
em28xx #0: i2c eeprom a0: 56 00 20 00 55 00 53 00 42 00 32 00 20 00 50 00
em28xx #0: i2c eeprom b0: 41 00 4c 00 2f 00 53 00 45 00 43 00 41 00 4d 00
em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 0c 22 17 56 02 fe 1f 8d
EEPROM ID= 0x9567eb1a
Vendor/Product ID= 2304:0208
AC97 audio (5 sample rates)
500mA max power
Table at 0x06, strings=0x2a98, 0x2e6a, 0x0000
registered VBI
em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
em28xx #0: Found Pinnacle PCTV USB 2
usbcore: registered new interface driver em28xx
Comment 6 Roland Schäuble 2007-11-08 10:58:49 UTC
I applied the provided patch to my gentoo-sources without success
(the problem was still there).

BTW. I'm using the PAL standard (Switzerland).

Unfortunately, I was not able to compile your latest sources in my gentoo environment but I will download the latest vanilla kernel and
make some additional tests then. (to be continued...)
Comment 7 Roland Schäuble 2007-11-08 13:00:59 UTC
I was not able to compile the sources from v4l-dvb-816f256c2973.tar.gz
whether in a gentoo environment nor in the vanilla sources linux-2.6.23.1.
The file compat.h was missing.

For your information: The bug also appears in the vanilla kernel 2.6.23.1.
Comment 8 Roland Schäuble 2007-11-11 01:02:29 UTC
I managed, to compile an install the sources from v4l-dvb-816f256c2973.tar.gz now.
With the following paramters set in modprobe.conf everything works fine with the new drivers:

alias char-major-81 videodev
alias char-major-81-0 tveeprom
alias char-major-81-1 em28xx
options em28xx card=3 tuner=38
options tuner pal=b secam=b

As you see, I changed the tunertype from 56 to 38 compared to the initial settings. If I set the tunertype to 56 or letting the driver find the correct tuner, some channels have no sound, but only ugly noise.

For me, the bug is fixed now and I hope, the sources will find their way to the official kernel soon. Thank you very much.
Comment 9 Mauro Carvalho Chehab 2007-11-11 06:57:14 UTC
Hmm...

there where a change on kernel 2.6.22, for tuner=3 (TUNER_PHILIPS_SECAM). Are you sure you weren't using this tuner model?

Since your card type is 3, maybe you've miss-typed "tuner=3" instead of "card=3".

Looking at the source code, both tuner=56 (TUNER_PHILIPS_FQ1216AME_MK4) and tuner=38 (TUNER_PHILIPS_FM1216ME_MK3) are programmed with the same parameters.
I suspect that the default tuner should also work properly.

Anyway, since it is more related to board parameter configuration, I'll close this bug. 

It would be nice if you can add some info about this at V4L Wiki 
(at http://linuxtv.org/). This way, other users with similar tuner issues may benefit from your discoveries.

Thanks for helping us to confirm that Pinnacle PCTV USB 2 board is working properly.
Comment 10 Roland Schäuble 2007-11-11 08:23:51 UTC
I double-checked my configuration with the following results:

kernel linux-2.6.22-gentoo-r9 unpached (both configurations of modprobe.conf):
=> bug

Using the latest drivers by compiling and installing
v4l-dvb-816f256c2973.tar.gz.
modprobe.conf:
  alias char-major-81 videodev
  alias char-major-81-0 tveeprom
  alias char-major-81-1 em28xx
  options em28xx card=3 tuner=56
  options tuner pal=b secam=b
=> Some channels work, others have sound problems

changing modprobe.conf as follows:
  alias char-major-81 videodev
  alias char-major-81-0 tveeprom
  alias char-major-81-1 em28xx
  options em28xx card=3 tuner=38
  options tuner pal=b secam=b
=> Everything works fine.

Note You need to log in before you can comment on or make changes to this bug.