[linux-dvb] HD3000 (cx88) and GA-965P-DS3 Problem.

Joshua Prismon joshua.prismon at gmail.com
Mon Oct 16 20:08:27 CEST 2006


I am still getting the hang of this code, so it's very very possible
that I am missing something basic here.

I don't think the problem is in the request_aquire function. In fact
that doesn't even appear to be every called. The DVB driver registered
correctly with the cx88-mpeg driver ( cx8802_register_driver). That
driver registers with the pci_driver.

That PCI probe doesn't appear to be actually called. When
cx8802_register_driver starts looping through devices (after the dvb
driver is registered), it doesn't find any devices at all.  The
devlist should be (if I read the code correctly) populated by the
cx8802_probe function.

As a quick test, I added the following lines to the
pci_register_driver to see what the system actually sees in the PCI
tables:

/*
                .vendor       = 0x14f1,
                .device       = 0x8802,
*/

dev = pci_find_device(0x14f1, 0x8802, dev);

        if (dev==NULL) printk(KERN_ERR "%s() did not find any devices
during the probe()\n",__FUNCTION__);
        else printk(KERN_ERR "%s() found device",__FUNCTION__);

and sure enough it doesn't find anything.

Here is the lspci -v and lspci -nv

05:00.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video
and Audio Decoder (rev 05)
        Subsystem: pcHDTV pcHDTV HD3000 HDTV
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (5000ns min, 13750ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 21
        Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

05:00.4 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and
Audio Decoder [IR Port] (rev 05)
        Subsystem: pcHDTV Unknown device 3000
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (1500ns min, 63750ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

05:00.0 0400: 14f1:8800 (rev 05)
        Subsystem: 7063:3000
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (5000ns min, 13750ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 21
        Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

05:00.4 0480: 14f1:8804 (rev 05)
        Subsystem: 7063:3000
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (1500ns min, 63750ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [4c] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


I am a kernel novice, so I might have missed something very basic here.

On 10/15/06, Steven Toth <stoth at hauppauge.com> wrote:
>
> > No cx88-dvb is loaded. When I try to load it:
> >
> > mediacore:~> sudo /sbin/modprobe cx88-dvb
> > FATAL: Error inserting cx88_dvb
> > (/lib/modules/2.6.19-rc1-mm1conroe/kernel/drivers/media/video/cx88/cx88-dvb.ko):
> > No such device
> >
> > I have tried using the head version of DVB, and updating the kernel to
> > the newest -mm patch, with no luck at all. Any ideas on how to debug
> > this or fix this problem?
> >
>
> We added patches a few weeks ago to avoid issues like this. Take a look
> at the cx88_mpeg_request_acquire function. It calls drv->probe (which
> translates into cx88_dvb_advise_acquire). For some reason the probe
> fails and the request_acquire function ejects the driver.
>
> I'd do more testing today but time is short, I won't get to this until
> late this evening or tomorrow. Feel free to take a loot and/or post any
> patches to the list.
>
> Steve
>



More information about the linux-dvb mailing list