[pvrusb2] Problems with HVR-1900 (DVB)

Michael Krufky mkrufky at linuxtv.org
Wed Feb 15 17:02:28 CST 2012


The firmware is irrelevant to the problem that you are having.  As for
supporting other versions of the tda10048 firmware, it would be a good
idea to post something about it on the linux-media mailing list (
"linux-media" <linux-media at vger.kernel.org> )

Either way, I'm glad that my patch helped you... Hopefully it will get
merged into the kernel asap (hint hint) since it so obviously fixes a
major bug. :-)

Cheers,

Mike Krufky

On Wed, Feb 15, 2012 at 5:51 PM, Ales Novy <ales.novy at gmail.com> wrote:
> 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