[pvrusb2] HVR-1950 initialization of TDA829x not working in latest V4L pvrusb2 driver?

Boyd G. Gafford Ph.D. drboyd at westportresearch.com
Fri Feb 4 15:27:17 CST 2011


Hello everyone!  I'm an embedded software engineer taking my first major 
steps into the wonderful world of Linux kernel modules.

I was working on updating my V4L kernel modules (which includes 
pvrusb2.ko) for Ubuntu 10.04 LTS (2.6.32-25-generic), as I need some of 
the V4L updates that supports some newer hardware (like the HD-PVR 
'1F').  However, I noticed that when I updated the kernel modules using 
the following:

git clone git://linuxtv.org/media_build.git
cd media_build
./build.sh
sudo make install

the HVR-1950 analog NTSC inputs just quit working.  I can still program 
up channel 3 (61250000hz) or channel 4 (67250000hz) via the 
/sys/class/pvrusb2 interface as I always have, but just nothing 
happens.  After some investigation, I noticed the following from 
/var/log/messages:

[   18.491807] DVB: registering new adapter (pvrusb2-dvb)
[   18.550153] cx25840 2-0044: firmware: requesting v4l-cx25840.fw
[   21.051670] cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[   21.267521] usb 1-6: firmware: requesting v4l-cx2341x-enc.fw
[   21.761521] DVB: registering adapter 0 frontend 0 (Samsung S5H1411 
QAM/8VSB Frontend)...
[   21.762395] tda8290_probe: tda8290 couldn't read register 0x1f
[   21.762639] tda8295_probe: tda8290 couldn't read register 0x2f
[   21.806358] tda18271 2-0060: creating new instance
[   21.807624] Unknown device (0) detected @ 2-0060, device not supported.
[   21.807637] tda18271 2-0060: destroying instance

Just to verify, I reinstalled Ubuntu 10.04 LTS (2.6.32-25-generic) and 
looked at /var/log/messages, and sure enough the old pvrusb2 driver used 
to work fine:

[   18.134610] DVB: registering new adapter (pvrusb2-dvb)
[   18.198824] cx25840 2-0044: firmware: requesting v4l-cx25840.fw
[   20.705457] cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[   20.820575] tda829x 2-0042: setting tuner address to 60
[   20.991140] tda18271 2-0060: creating new instance
[   21.032694] TDA18271HD/C2 detected @ 2-0060
[   22.137274] tda18271: performing RF tracking filter calibration
[   36.328616] tda18271: RF tracking filter calibration complete
[   36.377986] tda829x 2-0042: type set to tda8295+18271
[   38.553776] usb 1-6: firmware: requesting v4l-cx2341x-enc.fw
[   40.370053] DVB: registering adapter 0 frontend 0 (Samsung S5H1411 
QAM/8VSB Frontend)...
[   40.372057] tda829x 2-0042: type set to tda8295
[   40.408786] tda18271 2-0060: attaching existing instance
[  158.053773] padlock: VIA PadLock not detected.
[  332.206403] cx25840 2-0044: firmware: requesting v4l-cx25840.fw
[  334.709057] cx25840 2-0044: loaded v4l-cx25840.fw firmware (16382 bytes)

So I guess my question is, does anyone know what might have changed 
about the initialization of the TDA829x and TDA18271 that broke the 
pvrusb2 driver in this fashion?  I'm hoping it was already fixed and the 
V4L version of the pvrusb2 driver has just not been updated yet on 
linuxtv.org.  For that matter I'm not yet sure if its some other code 
that is called on by the pvrusb2 module.  If that's the case, please 
excuse my ignorance, as I've not dived into the source code very deeply 
(yet).

If the answer is no, this is a new bug, I guess I'll dive in and see if 
I can figure out what changed between the pvrusb2 code in Ubuntu 10.04 
LTS and the latest off linuxtv.org, and post back a new message (in a 
few days) with what I did to fix it.

Thanks!

/Boyd/

/__________________________________
Boyd G. Gafford Ph.D.
Manager of Software Development
Westport Research Associates Inc.
7001 Blue Ridge Blvd
Raytown, MO 64133
(816) 358-8990
drboyd at westportresearch.com
/


More information about the pvrusb2 mailing list