HVR1800 – A call for testers

So way back at the end of September, just after the Plumbers Conference 2009 I mentioned on the blog that we were taking another look at the HVR1800 raw audio and VBI support. Well it took a little longer than expected but yesterday we posted a cx23885-audio tree that contains two sets of important changes.

1. It adds support for ALSA audio, applications that understand ALSA can now stream raw analog audio as well as raw analog video. (Remember that TVTime itself does NOT support ALSA directly. See Below). If you’re into recording TV audio then you’ll be happy about this.

2. It adds support for VBI CC closed captioning in the US, so applications like zvbi can decode the closed captions. (NOTE: TVTime is borked and causes massive video loss with drivers that don’t export buffers of 2048 bytes, so expect issues in TVTime). I know quite a few companies who are interested in CC capturing so this will benefit you.

The development work is mostly done but we do have a known issue, fix is pending. If you attempt to stream VBI before starting video then the driver can/will hang. This will be resolved very shortly. Fixed.

How can you help?

A. If you have applications that are ALSA aware (mencoder for example) and would like to experiment with this tree and post comments then we’d love to hear your feedback.

B. If you wish to experiment with TVTime (for video) and ‘arecord’ or ‘sox’ and other ALSA aware tools for testing then I’d love to hear your feedback. (Note: During my testing with sox and arecord the latency through the encoder caused a minor sync issue. I did not experience this with mencoder). (Please google for help if you’re not sure about these tools)

At this time we have not tested MythTV.

Lastly, if you just want to install the cx23885-audio tree and check your HVR1800 is still functional then tell us!

We need to strike while the iron is hot and get this tree fixed, tested and approved so we can get these into the mainline.

Footnote: This will also add audio support for the HVR1500 which I’m personally also planning to test.

Happy Thanksgiving everyone!

31 thoughts on “HVR1800 – A call for testers

  1. make fails with:

    make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/mediacenter/cx23885-audio/v4l modules
    make[2]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic’
    CC [M] /home/mediacenter/cx23885-audio/v4l/cx23885-alsa.o
    /home/mediacenter/cx23885-audio/v4l/cx23885-alsa.c: In function ‘cx23885_audio_register’:
    /home/mediacenter/cx23885-audio/v4l/cx23885-alsa.c:496: error: implicit declaration of function ‘snd_card_new’
    /home/mediacenter/cx23885-audio/v4l/cx23885-alsa.c:497: warning: assignment makes pointer from integer without a cast
    make[3]: *** [/home/mediacenter/cx23885-audio/v4l/cx23885-alsa.o] Error 1
    make[2]: *** [_module_/home/mediacenter/cx23885-audio/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic’
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/home/mediacenter/cx23885-audio/v4l’
    make: *** [all] Error 2

    • Interesting. I’m going to fire up the HVR1800 under myth again today, resurrect my older -api.c tree and see if we can figure out what’s going on. Thanks for the heads up on the TUNER_STANDBY issue though. For the time being I’ll remove that from the tree.

      • Great, hopefully you’ll be able to straighten it out. This is the only tuner card I have access to right now and I am trying to develop an application and for testing it would really help if I had everything working.

        Whenever you update the audio tree or any tree with analog fix I’ll be sure to test them out asap

    • The cx23885/7/8 chips are a family of products that were evolved over time by Conexant. Generally speaking 8 is a superset of 7, which is a superset of 5. More features, power management, IR, a digital comb for example.

  2. I tried building the cx23885-api tree to test with mythtv and got:

    /home/mediacenter/cx23885-api/v4l/flexcop-fe-tuner.c: In function ‘cablestar2_attach ‘:
    /home/mediacenter/cx23885-api/v4l/flexcop-fe-tuner.c:607: error: incompatible type f or argument 3 of ‘__a’
    /home/mediacenter/cx23885-api/v4l/flexcop-fe-tuner.c:607: note: expected ‘struct i2c _adapter *’ but argument is of type ‘struct i2c_adapter’
    make[3]: *** [/home/mediacenter/cx23885-api/v4l/flexcop-fe-tuner.o] Error 1
    make[2]: *** [_module_/home/mediacenter/cx23885-api/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-16-generic’
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/home/mediacenter/cx23885-api/v4l’
    make: *** [all] Error 2

    • Thanks Ryan. The flexcop driver is broken in this tree, unrelated to the changes I’ve made. It will get fixed by default when I update from master. In the mean time I suggest you make menuconfig and disable the flexcop driver for compilation, then you’ll have success.

  3. Hi. Thanks for the functionality! TVTIME gives no audio (tvtime doesn’t), mplayer with /dev/video1 gives both audio and video. Its just that the video using your drivers is fuzzy. I thought it might be the tuner (and I’ve tried fine tuning the frequency, but leaving it at 0 is actually the sharpest), its just that something looks fuzzy. Also mplayer tears the picture a lot more than tvtime. I’m not on cable (just over the air) so a poorer source is worse. Digital works as before. The sound is good! I’m using kernel 2.6.32 (I would use 2.6.33-rc1 except the new nvidia drivers are not behaving….with anything).

  4. OK, I’ve determined that some of the noise is tied to the sound. When watching what should be the strongest signal in my area (still getting noise, and mostly black and white), I find that extra (video) noise coincides with the sound. The sound is very clear (no audio noise), but when people are talking, you can hear and see what they are saying. When there is a lull in the conversation, at least half of the overall video noise goes away. Hopefully that helps.
    Bob

    • Bob, thanks for testing. Do you see this issue when you test against /dev/video1 with the current linuxtv free (linuxtv.org/hg/v4l-dvb) without the recent audio patches? Your bug description doesn’t sound like something I’ve changed. It sounds fairly environmental, or perhaps a long term bug that’s been in the HVR1800 driver for a year or two.

    • I experienced fuzzy analog video with the latest dvb drivers with tvtime. cx23885-dev-8cab484b0f93 and hvr1850-analog-6410fcbc8dd0 show clear video with tvtime. I have not been able to confirm the cx23885-audio- due to “cx23885: disagrees about version of symbol ir_codes_hauppauge_new_table…”

  5. I could not get tvtime or mplayer to use /dev/video1 using the stock drivers. I could only use /dev/video0. Using your drivers, I could not use /dev/video0 (both tvtime and mplayer), I could only use /dev/video1. There is a lot more (video) noise using your drivers (sound or not), and it does not appear to just be poor signal. I will post pictures somewhere if you want to see. I will continue to test and see if I can figure out what is going on.
    Thanks again,
    Bob

    • Bob,

      FYI: tvtime will not be able to interact with the HVR-1800 on /dev/video0, because tvtime has no support for reading MPEG encoded streams. It works with /dev/video1 because that device node provides uncompressed analog video.

      I definitely believe though that tvtime should do a better job of telling you though why it won’t work – something which is on my TODO list.

      Cheers,

      Devin

  6. Hi and thanks for your replies. I went back to the stock builds for a day, then built the new code (make clean;./configure;make -j 16;make install). The build this time is cleaner than last time (better color, and I don’t know why the build didn’t go as well last time). When I run tvtime, the picture is quite stable (but no sound as expected). When I run mplayer with the source as /dev/video1 I get sound, but the picture tears and I get a lot of this error:
    [mpeg2video @ 0x7ff37630fa80]Missing picture start code% 69.3% 86 0
    Also I occasionally get the message that my computer is too slow to play the stream. I put this computer together about 1 year ago, and thought it was fast. Corei7-920’s aren’t the chips they use to be I guess. I should also mention that I’ve tried messing around with -autosync (with mplayer). I really hate the overhead of mythtv (which is why I’m reluctant to install it for testing). Is my problem just mplayer?
    Thanks,
    Bob

  7. Hi I tried that, but it didn’t seem to do much. I modified the source signal (antenna orientation) and got much better results. The only other problem I found was that me-tv would occasionally fail to lock a channel. I run
    modprobe -r cx23885
    modprobe -r tuner
    sleep 2
    modprobe cx23885
    modprobe tuner
    …and it starts working again. Except that sometimes /dev/dvb gets wiped out (and I don’t know why). I can run this:
    mkdir /dev/dvb
    mkdir /dev/dvb/adapter0
    mknod –mode=660 /dev/dvb/adapter0/demux0 c 212 1
    mknod –mode=660 /dev/dvb/adapter0/dvr0 c 212 2
    mknod –mode=660 /dev/dvb/adapter0/frontend0 c 212 0
    mknod –mode=660 /dev/dvb/adapter0/net0 c 212 3
    and then reload the modules, and things work, but I don’t know why /dev/dvb is getting wiped out in the first place. As before, I will let you know. As far as the picture is concerned now, its really quite clear on most channels, although mplayer is still less stable than tvtime (and thats not your fault). They are similar with strong stations, but tvtime retains stability better with weak stations.
    Bob

  8. After downloading the lastest version of cx23885-audio-2c5f3be3e201 and compiling against 2.6.31-17-generic I get the following error why trying to install the cx23885 module:
    dmesg | grep cx
    [ 7.731952] cx23885: disagrees about version of symbol ir_codes_hauppauge_new_table
    [ 7.731955] cx23885: Unknown symbol ir_codes_hauppauge_new_table
    [ 7.733524] cx23885: disagrees about version of symbol ir_input_init
    [ 7.733526] cx23885: Unknown symbol ir_input_init
    [ 7.734369] cx23885: disagrees about version of symbol ir_input_nokey
    [ 7.734371] cx23885: Unknown symbol ir_input_nokey
    [ 7.735757] cx23885: disagrees about version of symbol ir_input_keydown
    [ 7.735759] cx23885: Unknown symbol ir_input_keydown

    Any ideas how to resolve?

  9. My experience, I pulled down your cx23885-api tree and had to remove flexcop and bttv references and still hit this error

    CC [M] /home/mc/cx23885-api/v4l/dvb_demux.o
    /home/mc/cx23885-api/v4l/dvb_demux.c: In function ‘dvbdmx_write’:
    /home/mc/cx23885-api/v4l/dvb_demux.c:1118: error: implicit declaration of function ‘signal_pending’
    make[3]: *** [/home/mc/cx23885-api/v4l/dvb_demux.o] Error 1
    make[2]: *** [_module_/home/mc/cx23885-api/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-24-generic’
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/home/mc/cx23885-api/v4l’
    make: *** [all] Error 2

  10. a patch for current v4l tree (aug 30/2010) from `hg clone http://linuxtv.org/hg/v4l-dvb`

    use on your own risk: http://pastebin.com/T2yR7h0y

    this patch uses steven changes from 9 months ago for this new tree
    i pasted on alsa.c a deprecated function from dma-sg.c

    the idea was for it to compile not to be beautiful

    for those using ubuntu you need to also patch linux/drivers/media/IR/ir-sysfs.c
    see: http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=1561273
    and disabling firedtv:
    CONFIG_DVB_FIREDTV=n

  11. I am testing the driver to capture VBI using zapping. One thing I notice is there is no interrupt from vbi unit (the interrupt status is always 0x01). Is this still a bug? or something wrong with my system. Thanks.

      • I have tried your code many time and still did not get the VBI, the reason is that the interrupt status is always 0x01 or 0x11. What kind of viewer are you using? BTW, my card is 1850. I think it is the same as 1800 except for the PCI form factor. Do you know if this could be a problem. Also, I wonder if the firmware version could be an issue, the firmware from your website seems to be older than the one I got from the included CD. Thanks a lot.

Leave a Reply