[pvrusb2] Problems with HVR-1900 (DVB)

Ales Novy ales.novy at gmail.com
Wed Feb 15 16:51:59 CST 2012


Thanks Michael, the patch works!
Interesting is that it works with both dvb-fe-tda10048-1.0.fw I have. Is
the firmware related only to particular device(s)? Would it be useful to
send the extracted (newer) firmware to a repository and change the tda10048
module to work with more firmware versions?

Regards,
ales


On Wed, Feb 15, 2012 at 10:38 PM, Michael Krufky <mkrufky at linuxtv.org>wrote:

> I posted a patch last week that should fix this problem.  Please try this
> patch:
>
>
> http://git.linuxtv.org/mkrufky/hauppauge.git/commitdiff_plain/7202e49582611ccd70e93db8b8f75c0811015444
>
> From: Michael Krufky <mkrufky at linuxtv.org>
> Date: Tue, 7 Feb 2012 16:28:33 +0000 (-0500)
> Subject: pvrusb2: fix 7MHz & 8MHz DVB-T tuner support for HVR1900 rev D1F5
> X-Git-Url: http://git.linuxtv.org
>
> pvrusb2: fix 7MHz & 8MHz DVB-T tuner support for HVR1900 rev D1F5
>
> The D1F5 revision of the WinTV HVR-1900 uses a tda18271c2 tuner
> instead of a tda18271c1 tuner as used in revision D1E9. To
> account for this, we must hardcode the frontend configuration
> to use the same IF frequency configuration for both revisions
> of the device.
>
> 6MHz DVB-T is unaffected by this issue, as the recommended
> IF Frequency configuration for 6MHz DVB-T is the same on both
> c1 and c2 revisions of the tda18271 tuner.
>
> Signed-off-by: Michael Krufky <mkrufky at linuxtv.org>
> Cc: Mike Isely <isely at pobox.com>
> Cc: stable at kernel.org
> ---
>
> diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.c
> b/drivers/media/video/pvrusb2/pvrusb2-devattr.c
> index c6da8f7..d8c8982 100644
> --- a/drivers/media/video/pvrusb2/pvrusb2-devattr.c
> +++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.c
> @@ -320,7 +320,17 @@ static struct tda829x_config tda829x_no_probe = {
>        .probe_tuner = TDA829X_DONT_PROBE,
>  };
>
> +static struct tda18271_std_map hauppauge_tda18271_dvbt_std_map = {
> +        .dvbt_6   = { .if_freq = 3300, .agc_mode = 3, .std = 4,
> +                      .if_lvl = 1, .rfagc_top = 0x37, },
> +        .dvbt_7   = { .if_freq = 3800, .agc_mode = 3, .std = 5,
> +                      .if_lvl = 1, .rfagc_top = 0x37, },
> +        .dvbt_8   = { .if_freq = 4300, .agc_mode = 3, .std = 6,
> +                      .if_lvl = 1, .rfagc_top = 0x37, },
> +};
> +
>  static struct tda18271_config hauppauge_tda18271_dvb_config = {
> +       .std_map = &hauppauge_tda18271_dvbt_std_map,
>        .gate    = TDA18271_GATE_ANALOG,
>        .output_opt = TDA18271_OUTPUT_LT_OFF,
>  };
>
> On Wed, Feb 15, 2012 at 3:48 PM, Ales Novy <ales.novy at gmail.com> wrote:
> > Hi,
> >
> > I have HVR-1900 Model 73219 rev *D2F5* and I am not able to make it work.
> > The analog part of the device work nicely but the DVB part does not. From
> > the log (see bellow) everything looks good but DVB scan can not find any
> > channel. I've tried several things:
> >
> > - Another dvb-fe-tda10048-1.0.fw firmware (than from
> linux-firmware-nonfree
> > Ubuntu package). I manually extracted the firmware from Windows driver
> > (Hcw73bda.sys) and it has different size (25098 bytes) so I had to modify
> > tda10048.ko module to disable firmware size check. Does not help, no
> error
> > in the log but no channel found.
> > - Latest kernel 3.2.6-030206 but it also did not help.
> >
> > Any idea what to try?
> >
> > Thanks,
> > ales
> >
> >
> > Feb 15 20:15:32 velkej kernel: [   86.312037] usb 2-1: new high-speed USB
> > device number 2 using ehci_hcd
> > Feb 15 20:15:32 velkej mtp-probe: checking bus 2, device 2:
> > "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
> > Feb 15 20:15:32 velkej mtp-probe: bus: 2, device: 2 was not an MTP device
> > Feb 15 20:15:32 velkej kernel: [   86.795508] Linux video capture
> > interface: v2.00
> > Feb 15 20:15:32 velkej kernel: [   86.838739] pvrusb2: Hardware
> > description: WinTV HVR-1900 Model 73xxx
> > Feb 15 20:15:32 velkej kernel: [   86.839154] usbcore: registered new
> > interface driver pvrusb2
> > Feb 15 20:15:32 velkej kernel: [   86.839162] pvrusb2: V4L in-tree
> > version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
> > Feb 15 20:15:32 velkej kernel: [   86.839168] pvrusb2: Debug mask is 31
> > (0x1f)
> > Feb 15 20:15:33 velkej kernel: [   87.859917] pvrusb2: Device
> > microcontroller firmware (re)loaded; it should now reset and reconnect.
> > Feb 15 20:15:33 velkej kernel: [   87.891799] usb 2-1: USB disconnect,
> > device number 2
> > Feb 15 20:15:33 velkej kernel: [   87.891992] pvrusb2: Device being
> > rendered inoperable
> > Feb 15 20:15:35 velkej kernel: [   89.644045] usb 2-1: new high-speed USB
> > device number 3 using ehci_hcd
> > Feb 15 20:15:35 velkej kernel: [   89.786897] pvrusb2: Hardware
> > description: WinTV HVR-1900 Model 73xxx
> > Feb 15 20:15:35 velkej mtp-probe: checking bus 2, device 3:
> > "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
> > Feb 15 20:15:35 velkej kernel: [   89.819137] pvrusb2: Binding
> > ir_rx_z8f0811_haup to i2c address 0x71.
> > Feb 15 20:15:35 velkej kernel: [   89.819200] pvrusb2: Binding
> > ir_tx_z8f0811_haup to i2c address 0x70.
> > Feb 15 20:15:35 velkej kernel: [   89.837401] cx25840 14-0044: cx25843-24
> > found @ 0x88 (pvrusb2_a)
> > Feb 15 20:15:35 velkej kernel: [   89.847402] pvrusb2: Attached
> sub-driver
> > cx25840
> > Feb 15 20:15:35 velkej kernel: [   89.874371] i2c-core: driver [tuner]
> > using legacy suspend method
> > Feb 15 20:15:35 velkej kernel: [   89.874380] i2c-core: driver [tuner]
> > using legacy resume method
> > Feb 15 20:15:35 velkej kernel: [   89.902503] tuner 14-0042: Tuner -1
> found
> > with type(s) Radio TV.
> > Feb 15 20:15:35 velkej kernel: [   89.902520] pvrusb2: Attached
> sub-driver
> > tuner
> > Feb 15 20:15:35 velkej mtp-probe: bus: 2, device: 3 was not an MTP device
> > Feb 15 20:15:37 velkej kernel: [   92.060899] cx25840 14-0044: loaded
> > v4l-cx25840.fw firmware (16382 bytes)
> > Feb 15 20:15:38 velkej kernel: [   92.157107] tveeprom 14-00a2: Hauppauge
> > model 73219, rev D2F5, serial# 7858972
> > Feb 15 20:15:38 velkej kernel: [   92.157116] tveeprom 14-00a2: MAC
> address
> > is 00:0d:fe:77:eb:1c
> > Feb 15 20:15:38 velkej kernel: [   92.157123] tveeprom 14-00a2: tuner
> model
> > is NXP 18271C2 (idx 155, type 54)
> > Feb 15 20:15:38 velkej kernel: [   92.157131] tveeprom 14-00a2: TV
> > standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital
> (eeprom
> > 0xf4)
> > Feb 15 20:15:38 velkej kernel: [   92.157138] tveeprom 14-00a2: audio
> > processor is CX25843 (idx 37)
> > Feb 15 20:15:38 velkej kernel: [   92.157144] tveeprom 14-00a2: decoder
> > processor is CX25843 (idx 30)
> > Feb 15 20:15:38 velkej kernel: [   92.157150] tveeprom 14-00a2: has
> radio,
> > has IR receiver, has IR transmitter
> > Feb 15 20:15:38 velkej kernel: [   92.157166] pvrusb2: Supported video
> > standard(s) reported available in hardware:
> > PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K
> > Feb 15 20:15:38 velkej kernel: [   92.157180] pvrusb2: Mapping standards
> > mask=0x3ff00ff
> > (PAL-B/B1/D/D1/G/H/I/K;SECAM-B/D/G/H/K/K1/L/LC;ATSC-8VSB/16VSB)
> > Feb 15 20:15:38 velkej kernel: [   92.157187] pvrusb2: Setting up 20
> unique
> > standard(s)
> > Feb 15 20:15:38 velkej kernel: [   92.157194] pvrusb2: Set up standard
> > idx=0 name=PAL-B/G
> > Feb 15 20:15:38 velkej kernel: [   92.157200] pvrusb2: Set up standard
> > idx=1 name=PAL-D/K
> > Feb 15 20:15:38 velkej kernel: [   92.157206] pvrusb2: Set up standard
> > idx=2 name=SECAM-B/G
> > Feb 15 20:15:38 velkej kernel: [   92.157212] pvrusb2: Set up standard
> > idx=3 name=SECAM-D/K
> > Feb 15 20:15:38 velkej kernel: [   92.157218] pvrusb2: Set up standard
> > idx=4 name=PAL-B
> > Feb 15 20:15:38 velkej kernel: [   92.157223] pvrusb2: Set up standard
> > idx=5 name=PAL-B1
> > Feb 15 20:15:38 velkej kernel: [   92.157229] pvrusb2: Set up standard
> > idx=6 name=PAL-G
> > Feb 15 20:15:38 velkej kernel: [   92.157234] pvrusb2: Set up standard
> > idx=7 name=PAL-H
> > Feb 15 20:15:38 velkej kernel: [   92.157240] pvrusb2: Set up standard
> > idx=8 name=PAL-I
> > Feb 15 20:15:38 velkej kernel: [   92.157245] pvrusb2: Set up standard
> > idx=9 name=PAL-D
> > Feb 15 20:15:38 velkej kernel: [   92.157251] pvrusb2: Set up standard
> > idx=10 name=PAL-D1
> > Feb 15 20:15:38 velkej kernel: [   92.157256] pvrusb2: Set up standard
> > idx=11 name=PAL-K
> > Feb 15 20:15:38 velkej kernel: [   92.157262] pvrusb2: Set up standard
> > idx=12 name=SECAM-B
> > Feb 15 20:15:38 velkej kernel: [   92.157267] pvrusb2: Set up standard
> > idx=13 name=SECAM-D
> > Feb 15 20:15:38 velkej kernel: [   92.157273] pvrusb2: Set up standard
> > idx=14 name=SECAM-G
> > Feb 15 20:15:38 velkej kernel: [   92.157278] pvrusb2: Set up standard
> > idx=15 name=SECAM-H
> > Feb 15 20:15:38 velkej kernel: [   92.157284] pvrusb2: Set up standard
> > idx=16 name=SECAM-K
> > Feb 15 20:15:38 velkej kernel: [   92.157290] pvrusb2: Set up standard
> > idx=17 name=SECAM-K1
> > Feb 15 20:15:38 velkej kernel: [   92.157295] pvrusb2: Set up standard
> > idx=18 name=SECAM-L
> > Feb 15 20:15:38 velkej kernel: [   92.157301] pvrusb2: Set up standard
> > idx=19 name=SECAM-LC
> > Feb 15 20:15:38 velkej kernel: [   92.157306] pvrusb2: Initial video
> > standard auto-selected to PAL-B/G
> > Feb 15 20:15:38 velkej kernel: [   92.157324] pvrusb2: Device
> > initialization completed successfully.
> > Feb 15 20:15:38 velkej kernel: [   92.157521] pvrusb2: registered device
> > video0 [mpeg]
> > Feb 15 20:15:38 velkej kernel: [   92.157532] DVB: registering new
> adapter
> > (pvrusb2-dvb)
> > Feb 15 20:15:40 velkej kernel: [   94.361981] cx25840 14-0044: loaded
> > v4l-cx25840.fw firmware (16382 bytes)
> > Feb 15 20:15:40 velkej kernel: [   94.476667] tda829x 14-0042: setting
> > tuner address to 60
> > Feb 15 20:15:40 velkej kernel: [   94.516665] tda18271 14-0060: creating
> > new instance
> > Feb 15 20:15:40 velkej kernel: [   94.552634] TDA18271HD/C2 detected @
> > 14-0060
> > Feb 15 20:15:41 velkej kernel: [   95.608591] tda18271: performing RF
> > tracking filter calibration
> > Feb 15 20:15:55 velkej kernel: [  109.648577] tda18271: RF tracking
> filter
> > calibration complete
> > Feb 15 20:15:55 velkej kernel: [  109.696558] tda829x 14-0042: type set
> to
> > tda8295+18271
> > Feb 15 20:16:00 velkej kernel: [  114.856558] cx25840 14-0044: 0x0000 is
> > not a valid video input!
> > Feb 15 20:16:00 velkej kernel: [  114.898661] DVB: registering adapter 0
> > frontend 0 (NXP TDA10048HN DVB-T)...
> > Feb 15 20:16:00 velkej kernel: [  114.900285] tda829x 14-0042: type set
> to
> > tda8295
> > Feb 15 20:16:00 velkej kernel: [  114.936686] tda18271 14-0060: attaching
> > existing instance
> > Feb 15 20:18:41 velkej kernel: [  276.007976] tda10048_firmware_upload:
> > waiting for firmware upload (dvb-fe-tda10048-1.0.fw)...
> > Feb 15 20:18:41 velkej kernel: [  276.021079] tda10048_firmware_upload:
> > firmware read 24878 bytes.
> > Feb 15 20:18:41 velkej kernel: [  276.021088] tda10048_firmware_upload:
> > firmware uploading
> > Feb 15 20:18:45 velkej kernel: [  279.212668] tda10048_firmware_upload:
> > firmware uploaded
> > _______________________________________________
> > pvrusb2 mailing list
> > pvrusb2 at isely.net
> > http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
>


More information about the pvrusb2 mailing list