HVR-1800 cleanups and HVR-1850 DTV support

KernelLabs have been cleaning up some cx23885 related bugs and adding support for DTV on the HVR-1850 Hauppauge board. The code changes are here and were sent today for review and merge into the mainline LinuxTV repositories. Here’s a summary of the merge request:

– cx23885-417: fix broken IOCTL handling
– cx23885: check pointers before dereferencing in dprintk macro
– cx23885: Remove hardcoded gpio bits from the encoder driver
– cx23885: Convert existing HVR1800 GPIO calls into new format
– cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850
– cx23885: Modify hardware revision detection for newer silicon

Documentation/video4linux/CARDLIST.cx23885 | 1
drivers/media/video/cx23885/cx23885-417.c | 61 +++++—-
drivers/media/video/cx23885/cx23885-cards.c | 65 +++++++++-
drivers/media/video/cx23885/cx23885-core.c | 30 ++++
drivers/media/video/cx23885/cx23885-dvb.c | 11 +
drivers/media/video/cx23885/cx23885.h | 11 +
6 files changed, 149 insertions(+), 30 deletions(-)

Some GPIO handling cleanups.
Digital TV support for a new board (HVR-1850)
Fix some silicon revision detection issues.
Fix for a null pointer dereference when using the cx23885-417 in debug mode.
IOCTL related fixes for the cx23885-417 (HVR1800).

35 thoughts on “HVR-1800 cleanups and HVR-1850 DTV support

  1. I realize that analog support, at this time, is passe. However, I am definitely interested. I bought the HVR-2250 with the presumption that analog support would someday be there. If it were, this would be the perfect card for the ideal MythTV machine and I would undoubtedly buy a bunch more. For the next two to three years, analog support for my cable connection is still very important.

  2. Hi Steve,

    I am also interested in the Analog support for the HVR1850. I am also willing to contribute some monetary compensation for analog support. I would also prefer support for the HVR-2250, but I am willing to settle for the HVR1850. I would imagine it is easier to get the 1850 working first.


  3. Hi Steve,

    I hope you can you clear up something that has been confusing me.

    When the term ‘analogue’ is used I am confused if this means support for the s-video/cvbs/audio etc inputs or analogue (presumbaly clear) cable?

    I’d be very interested in seeing functional s-video/component/composite video on the HVR cards. Can you shed some light on which HVR devices have analogue video/audio support under v4l?



  4. I would like to see 1850 analog support. A lot of vendors are listing them as “1800” so if you try to buy them for the analog support, you end up with the 1850.

  5. Hi, I don’t know if this is the right place to go with problems but I thought I would give it a try. I have a problem with my HVR 1800 analog side where if I try to play back video from the MPEG2 encoder part of it the audio is really deep and the video is in slow motion. This happens no matter how I try to access the card. As well the frame grabber portion of the card (/dev/video0) has vertical lines in it and is mostly composed of green and purple. I also started up th MythTv frontend in verbose mode and it constantly stated that the video was about 3 to 4 frames ahead of the video and tried to compensate for it but never accomplished it. Any help at all regarding this issue would be wonderful since I have been working for a while trying to get this card working.

    Sincerely: Neil

  6. @Neil, I checked the HVR1800 a few weeks ago from the command line and everything was fine using regular NTSC cable TV. If you setup TVTime and tune the card to a cable channel, then at the same time cat /dev/video1 >file.mpg, doesn’t the captured file play back correctly in mplayer?

  7. Okay, so I tried running all that from a new install and I get nothing but what appears to be static. Going to try building the V4L drivers from mercurial and see if that fixes it. I have tried many times to get the drivers installed and it worked sometimes but not others. I have also been updating the firmware modules. Lately it has been telling me there is a fatal error when I try to modprobe the cx23885 driver. If you could give me some details on how your system is setup so I can try to recreate the circumstances and make sure the problem is not the card itself.

  8. Update: My most recent try has worked. I tried the command line tools again and the audio and video are in sync and and at the right pitch (not in slowmo). Going to try installing Myth and see if it is able to play the video back correctly.

  9. About the bug that prevents MythTV from using the analog side of the HVR 1800, do you expect a fix to be out soon for it. Just out of curiosity do you know what is wrong with the driver that it gets corrupted every time MythTV tries to access it.

  10. @Neil, it’s on the TODO list and needs some attention. The most recent patches are in the ~stoth-cx23885-api tree. I don’t think I’ve seen ‘corrupt’ as such. What does corrupt mean in your case?

  11. Well the problem used to propagate to all the other applications that watched the encoder. Although now I seem to be at the point where everybody else is at, being that MythTV can’t even play back any video from the card.

  12. As well I tried to compile the ~stoth version of the cx23885-api tree and the compile fails around the flexcop driver, the exact line is “flexcop-fe-tuner.c” line 607 some sort of incompatible argument error (make exited with an error 2) so I used the ~mkrufky version which at first glance appears to be the same except for the failed compilation. Please correct me if I’m wrong. Although there is some progress over the v4l-dvb tree because now Myth recognizes the different analog inputs through the mpeg encoder :), it used to just be “unset”.

  13. Sadly no luck with that revision, the Myth frontend just loads and then exits out of watching live tv. Thanks again for answering my questions and taking time out of your day to help me out with this problem :).

  14. Well, I am very lost as to the problem now because when ever I click watch tv it goes to a black screen and then returns me to the main menu and a new recording pops up in the web interface saying that it recorded a show even though I hadn’t even told it too, and the recording doesn’t even exist on the server. So I will have to do some more investigating on the MythTV side of things because if you can get the card to work partially then it must be something in MythTV, as well I even got the cx23885-api tree to compile correctly. Just to make sure I should set the card up as an IVTV MPEG2 card not a V4L card correct? How do you have your MythTV backend setup?

  15. @Neil, nothing special in the setup when I did this, simply add the /dev/video1 interface and you’re done. I started the Myth Frontend, video took longer than expected to appear but eventually appeared. Changing channels was the issue for me.

  16. Well, I get live tv like it was before, in slow-motion and with deep sound. And when I try to change the channel it just goes to a black screen. It doesn’t change the channel correctly at startup either all I get is a black screen the only way to change the channel is through tvtime which only works if you don’t try to change the channel in Myth. So, I seem to be at the end of what I can do to try to get this card working for the moment. I hope you can fix this driver and thank you for helping me with this card.

  17. I would like to backup up Nathan’s comments. I recently ordered an 1800 for its analog support (still useful here in Canada until 2011), but received the 1850 in its place. Being able to watch NTSC channels on the 1850 would be good.

    I assume that the hardware is different between the 1800 and 1850, right? It looks from the kernel source code that the 1800 uses the tda18271 for analog and the mt2131 for digital tuning, but the 1850 uses the tda18271 for digital tuning. Strange.

Leave a Reply