On Sat, 2008-10-25 at 20:24 -0400, Oystein Thorsen wrote:
> I tried the mmio-fix version and it works like a charm... almost :-). 
> The card now detects properly on boot. But the problem of getting no 
> data is still there...
> 
> I have not updated the driver in a few weeks and I could always try the 
> latest version, but I'm not sure if the mmio fix is merged with the 
> official version yet. Are there any other things I could try to get this 
> working? I'm out of ideas (which is why I gave up on it for a few weeks 
> :-) ).

Use the latest v4l-dvb tree:

http://linuxtv.org/hg/v4l-dvb/


Don't bother with 'mmio_ndelay' (leave it at its default of '0'), and
leave the 'retry_mmio" parameter set to its default of '1'.

The cx18 driver version should be v1.0.1, which has indicates
'retry_mmio' is in effect by default.


Regards,
Andy

> Thanks for the help so far,
> 
> - Oystein
> 
> Andy Walls wrote:
> > On Tue, 2008-09-23 at 17:08 -0400, Oystein Thorsen wrote:
> >   
> >> It has taken me some time to respond to this because I have three 
> >> different (wrong) outcomes when loading the driver and I can't figure 
> >> out what the cause is, but I'll give you my guesses. I'll start with the 
> >> one most similar to your suggestion; debug output when module loads, but 
> >> no output.
> >>
> >> /proc/interrupts:
> >>            CPU0       CPU1      
> >>   0:        194          0   IO-APIC-edge      timer
> >>  21:     480319          0   IO-APIC-fasteoi   cx18-0
> >>     
> >
> > Hmm.  The card is generating interrupts.  That's good, but that means
> > you should be getting video data too, hmmm.
> >
> >   
> >> dmesg:
> >> cx18:  Start initialization, version 1.0.0
> >> cx18-0: Initializing card #0
> >> cx18-0: Autodetected Hauppauge card
> >> cx18-0 info: base addr: 0xe8000000
> >> cx18-0 info: Enabling pci device
> >> cx18-0 info: cx23418 (rev 0) at 02:01.0, irq: 21, latency: 64, memory: 
> >> 0xe8000000
> >> cx18-0 info: attempting ioremap at 0xe8000000 len 0x04000000
> >> cx18-0: cx23418 revision 01010000 (B)
> >> cx18-0 info: GPIO initial dir: 0000cffe/0000ffff out: 00003001/00000000
> >> cx18-0 info: activating i2c...
> >> cx18-0 i2c: i2c init
> >> cx18-0 info: Active card count: 1.
> >> tveeprom 1-0050: Hauppauge model 74541, rev C6B6, serial# 3484150
> >> tveeprom 1-0050: MAC address is 00-0D-FE-35-29-F6
> >> tveeprom 1-0050: tuner model is Philips FM1236 MK5 (idx 116, type 43)
> >> tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
> >> tveeprom 1-0050: audio processor is CX23418 (idx 38)
> >> tveeprom 1-0050: decoder processor is CX23418 (idx 31)
> >> tveeprom 1-0050: has radio
> >> cx18-0: Autodetected Hauppauge HVR-1600
> >> cx18-0 info: NTSC tuner detected
> >> cx18-0: VBI is not yet supported
> >> cx18-0 info: Loaded module tuner
> >> cx18-0 info: Loaded module cs5345
> >> cx18-0 i2c: i2c client register
> >> tuner 5-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
> >> tda9887 5-0043: creating new instance
> >> tda9887 5-0043: tda988[5/6/7] found
> >> tuner 5-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
> >> cx18-0 i2c: i2c client register
> >> cs5345 1-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> >> tuner-simple 5-0061: creating new instance
> >> tuner-simple 5-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or 
> >> FM1236/F))
> >> cx18-0 info: Allocate encoder MPEG stream: 63 x 8192 buffers (504kB total)
> >> cx18-0 info: Allocate TS stream: 63 x 8192 buffers (504kB total)
> >> cx18-0 info: Allocate encoder YUV stream: 8 x 131072 buffers (1024kB total)
> >> cx18-0 info: Allocate encoder PCM audio stream: 63 x 6144 buffers (378kB 
> >> total)
> >> cx18-0: Disabled encoder IDX device
> >> cx18-0: Registered device video0 for encoder MPEG (63 x 8192 bytes)
> >> DVB: registering new adapter (cx18)
> >> MXL5005S: Attached at address 0x63
> >> DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)...
> >> cx18-0: DVB Frontend registered
> >> cx18-0: Registered device video32 for encoder YUV (8 x 131072 bytes)
> >> cx18-0: Registered device video24 for encoder PCM audio (63 x 6144 bytes)
> >> cx18-0: Registered device radio0 for encoder radio
> >> cx18-0: Initialized card #0: Hauppauge HVR-1600
> >> cx18:  End initialization
> >> firmware: requesting v4l-cx23418-apu.fw
> >> cx18-0 info: load segment a00000-a07fff
> >> cx18-0 info: load segment ae0000-ae00ff
> >> cx18-0 info: load segment b00000-b1a65f
> >> cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
> >> firmware: requesting v4l-cx23418-cpu.fw
> >> cx18-0: loaded v4l-cx23418-cpu.fw firmware (158332 bytes)
> >> cx18-0 info: 1 MiniMe Encoder Firmware 0.0.74.0 (Release 2007/03/12)
> >> cx18-0: FW version: 0.0.74.0 (Release 2007/03/12)
> >> firmware: requesting v4l-cx23418-apu.fw
> >> cx18-0 info: load segment a00000-a07fff
> >> cx18-0 info: load segment ae0000-ae00ff
> >> cx18-0 info: load segment b00000-b1a65f
> >> firmware: requesting v4l-cx23418-cpu.fw
> >> cx18-0 info: 1 MiniMe Encoder Firmware 0.0.74.0 (Release 2007/03/12)
> >>     
> >
> > All that looks good.  It looks like you're using a recent change from my
> > ~awalls/v4l-dvb repository.  Can you please use instead the latest from:
> >
> > http://linuxtv.org/hg/~awalls/cx18-mmio-fixes
> >
> > as this should get rid of the need for using mmio_ndelay and you also
> > then shouldn't have problems when unloading and reloading the module.
> >
> >
> >
> >   
> >> cx18-0 info: Changing input from 1 to 0
> >> cx18-0 info: Mute
> >> cx18-0 info: cmd 4008646f triggered fw load
> >> firmware: requesting v4l-cx23418-dig.fw
> >> cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
> >> cx18-0 info: decoder set video input 7, audio input 8
> >> cx18-0 i2c: call_i2c_client addr=4c
> >> cx18-0 info: decoder set video input 7, audio input 8
> >> cx18-0 api: CX18_APU_RESETAI
> >> cx18-0 api: mailbox error 200800ff for command CX18_APU_RESETAI
> >>     
> >
> > I've seen errors like this when mmio_ndelay wasn't quite fixing things.
> > PLease try the repo I suggested above.
> >
> >   
> >> Also, when trying to capture video I get hundreds of these (in dmesg):
> >> cx18-0 info: ff DMA busy when it shouldn't
> >>
> >> After loading, unloading, uninstalling and installing a few times I got 
> >> an error message (in dmesg) about increasing vmalloc (I haven't been 
> >> able to reproduce this). But I thought I would try to increase the 
> >> vmalloc space.
> >>     
> >
> > There's a memory leak when the driver fails to initialize a card.  I
> > know where it is.  I need to fix it.  But you need not wait for that fix
> > (it doesn't leak memory, if the card initializes properly every
> > time).   
> >
> >   
> >> Vmalloc space before:
> >> VmallocTotal:   110584 kB
> >> VmallocUsed:     96088 kB
> >> VmallocChunk:     9048 kB
> >>
> >> Vmalloc with 'vmalloc=256M':
> >> VmallocTotal:   241656 kB
> >> VmallocUsed:     37540 kB
> >> VmallocChunk:   199156 kB
> >>
> >> Now I'm unable to recognize the card (I stopped at mmio_ndelay=606). 
> >>     
> >
> > That happens when the "mmio_ndelay" hack isn't effective (I found this
> > out on Saturday).  The only way to recover is a hardware reset (e.g.
> > shutdown and reboot).
> >
> >   
> >> Usually the module would crash (making it impossible to unload the 
> >> module) after loading/unloading the module once or twice (in addition
> >> to 
> >> the load on boot).
> >>     
> >
> > The 'mmio_ndelay' hack obviously isn't working.  Please try the 
> >
> > http://linuxtv.org/hg/~awalls/cx18-mmio-fixes
> >
> > repo and let me know if it works for you.
> >
> > 'mmio_ndelay' was a rather passive method (give some idle time on the
> > bus) to attempt to get more reliable communication with the CX23418.
> >
> > the 'retry_mmio' parameter, enabled by default in the above repo
> > agressively checks and retries communications with the CX23418 to ensure
> > reliability.
> >
> >
> > Regards,
> > Andy
> >
> >
> >   
> >> Andy Walls wrote:
> >>     
> >>> On Wed, 2008-09-17 at 22:13 -0400, Oystein Thorsen wrote:
> >>>   
> >>>       
> >>>> Hi,
> >>>> I bought the HVR-1600 card about a week ago, but I've been unable to get 
> >>>> it working on my mythtv server. I've tried it on a different computer 
> >>>> where it worked in Vista. It also worked on Fedora 9 (same as the mythtv 
> >>>> server) with the same drivers as on the mythtv server. I also have a 
> >>>> PVR-150 card in the mythtv server from before. The PVR-150 been working 
> >>>> the whole time while I've been playing around with the HVR-1600.
> >>>>
> >>>> I'm using the latest v4l-dvb drivers (from the official mercurial 
> >>>> repository).
> >>>>
> >>>> Initially I had problems detecting the card, but it looks like the 
> >>>> mmio_ndelay setting (152) corrected that:
> >>>>     
> >>>>         
> >>> All,
> >>>
> >>> I'm trying to figure out a good value for the driver to use as a default
> >>> for this parameter, so I can stop repeating the mmio_ndelay answer on
> >>> the list :) .  I'm sure users expect the driver to "just work" out of
> >>> the box and I'd certainly like to make it that way.
> >>>
> >>> So far various people have reported that 91, 121, and 152 fix their
> >>> respective problems.  So that means I'll need to check in a value of 152
> >>> as a default.  Has anyone else found they need to use a even higher
> >>> value for correct operation?
> >>>
> >>>
> >>>
> >>>   
> >>>       
> >>>> cx18-0: Initializing card #0
> >>>> cx18-0: Autodetected Hauppauge card
> >>>> ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 21 (level, low) -> IRQ 21
> >>>> cx18-0: cx23418 revision 01010000 (B)
> >>>> tveeprom 4-0050: Hauppauge model 74541, rev C6B6, serial# 3484150
> >>>> tveeprom 4-0050: MAC address is 00-0D-FE-35-29-F6
> >>>> tveeprom 4-0050: tuner model is Philips FM1236 MK5 (idx 116, type 43)
> >>>> tveeprom 4-0050: TV standards NTSC(M) (eeprom 0x08)
> >>>> tveeprom 4-0050: audio processor is CX23418 (idx 38)
> >>>> tveeprom 4-0050: decoder processor is CX23418 (idx 31)
> >>>> tveeprom 4-0050: has radio
> >>>> cx18-0: Autodetected Hauppauge HVR-1600
> >>>> cx18-0: VBI is not yet supported
> >>>> tuner 5-0043: chip found @ 0x86 (cx18 i2c driver #0-1)
> >>>> tda9887 5-0043: creating new instance
> >>>> tda9887 5-0043: tda988[5/6/7] found
> >>>> tuner 5-0061: chip found @ 0xc2 (cx18 i2c driver #0-1)
> >>>> cs5345 4-004c: chip found @ 0x98 (cx18 i2c driver #0-0)
> >>>> tuner-simple 5-0061: creating new instance
> >>>> tuner-simple 5-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or 
> >>>> FM1236/F))
> >>>> cx18-0: Disabled encoder IDX device
> >>>> cx18-0: Registered device video0 for encoder MPEG (2 MB)
> >>>> DVB: registering new adapter (cx18)
> >>>> firmware: requesting v4l-cx23418-apu.fw
> >>>> MXL5005S: Attached at address 0x63
> >>>> DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)...
> >>>> cx18-0: DVB Frontend registered
> >>>> cx18-0: Registered device video32 for encoder YUV (2 MB)
> >>>> cx18-0: Registered device video24 for encoder PCM audio (1 MB)
> >>>> cx18-0: Registered device radio0 for encoder radio
> >>>> cx18-0: Initialized card #0: Hauppauge HVR-1600
> >>>> cx18:  End initialization
> >>>> cx18-0: loaded v4l-cx23418-apu.fw firmware V00120000 (141200 bytes)
> >>>> firmware: requesting v4l-cx23418-cpu.fw
> >>>> cx18-0: loaded v4l-cx23418-cpu.fw firmware (158332 bytes)
> >>>> cx18-0: FW version: 0.0.74.0 (Release 2007/03/12)
> >>>> firmware: requesting v4l-cx23418-apu.fw
> >>>> firmware: requesting v4l-cx23418-cpu.fw
> >>>> firmware: requesting v4l-cx23418-dig.fw
> >>>> cx18-0: loaded v4l-cx23418-dig.fw firmware (16382 bytes)
> >>>>
> >>>> When I try to capture some data (cat /dev/video0 > test.mpg) I get 
> >>>> nothing (filesize is 0). The same happens if I try to record something 
> >>>> on mythtv (The PVR-150 still records fine).
> >>>>
> >>>> Let me know if there is any other information that would be useful.
> >>>>     
> >>>>         
> >>> Look in /proc/interrupts and see what devices are sharing IRQ lines with
> >>> ivtv and cx18, and look in dmesg or /var/log/messages for any messages
> >>> about the kernel disabling/ignoring IRQ lines (i.e. "nobody cared").
> >>>
> >>>
> >>> Use the cx18 debug module parameter to turn on Warning, Info,
> >>> Mailbox/API, and IRQ debug messages.  See what gets logged especially
> >>> when you try to do a capture.  If nothing jumps out at you, also turn on
> >>> the high volume debug flag.
> >>>
> >>> Regards,
> >>> Andy
> >>>
> >>>   
> >>>       
> >>>> Thanks,
> >>>>
> >>>> Oystein Thorsen
> >>>>     
> >>>>         
> >>>
> >>> _______________________________________________
> >>> ivtv-users mailing list
> >>> [email protected]
> >>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
> >>>   
> >>>       
> >> Thanks for any feedback so far.
> >>
> >> _______________________________________________
> >> ivtv-users mailing list
> >> [email protected]
> >> http://ivtvdriver.org/mailman/listinfo/ivtv-users
> >>
> >>     
> >
> >
> > _______________________________________________
> > ivtv-users mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
> >   
> 
> 
> _______________________________________________
> ivtv-users mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
> 


_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to