Re: xc3028 tuner development status?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I thank you very much for your quick reply Michel, Markus and Mauro!!

Here are some updates:

@Markus
Thank you for your reply!
I tried installing your v4l branch following the steps you provided me in http://mcentral.de/wiki/index.php/Em2880#Installation and all went fine, except that the card has not been recognised.

I tried with both firmware v3 and v4 in /lib/firmware.
Adding em28xx and em2880-dvb in /etc/modules provided this output in dmesg

[   16.200000] em28xx v4l2 driver version 0.0.1 loaded
[   16.200000] usbcore: registered new interface driver em28xx
[   16.324000] Em28xx: Initialized (Em2880 DVB Extension) extension

but no dvb or video device in /dev was created and the lsmod command showed em2880_dvb and xc3028_tuner used by 0 devices!

@Mauro
Thank you for your exhausting reply!
It should work fine. You will need to add an entry at cx23885-cards.c
and xc3028-cards.c for your device.

In the case of xc3028, you may try to use HVR900 entry, by adding a line
with your USB ID. Something like:

USB_DEVICE(0x2040, 0x6513), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },

(the 0x6513 above should be replaced by your device ID - you can check it with lsusb)
  
I placed the firmware you attached in /lib/firmware, then
I found no xc3028-cards.c in today's mercurial source tree, I think it has been replaced with em28xx-cards.c into Markus v4l_experimental/xc3028 directory.

There I found the string you mentioned, however please notice the device I use is an Express Card which is recognised by the system as a PCI card, not USB! Here attached you'll find the lspci -vvvnn output.

Do I still have to edit the file replacing the usb device address? If so which address should I use? lspci shows me two strings:
Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02)
Subsystem: Hauppauge computer works Inc. Unknown device [0070:7717]

In v4l/cx23885-cards.c I found no reference to HVR900 card, however I did find reference to HVR1800lp card and changed subdevice address to 0x7717 as I guess subdevice referes to the subsystem.
With those changes, probably, your devices should work fine for analog.
The in-kernel em28xx driver doesn't support DVB yet. 

For cx23885, you need to do more changes.

You would need something like:

struct cx23885_subid cx23885_subids[] = {
	...
                .subvendor = 0x0070,
                .subdevice = 0x7600,
                .card      = CX23885_BOARD_HAUPPAUGE_HVR1800lp,
        },{

You should change 0x7600 for the value showed at lspci.
  
I did so and the module auto loads at startup but it asks for card model since it says it is not recognised.
removing the module and loading it again with card=1 argument shows the following dmesg output (a /dev/dvb folder is created and kaffeine recognises the dvb device, however it stucks at scanning for available channels and device's led stays off):

[  789.484000] cx23885 driver version 0.0.1 loaded
[  789.484000] ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 17 (level, low) -> IRQ 17
[  789.484000] CORE cx23885[0]: subsystem: 0070:7717, board: Hauppauge WinTV-HVR1800lp [card=1,insmod option]
[  789.584000] cx23885[0]: i2c bus 0 registered
[  789.584000] cx23885[0]: i2c bus 1 registered
[  789.584000] cx23885[0]: i2c bus 2 registered
[  789.612000] tveeprom 0-0050: Hauppauge model 77001, rev D4C0, serial# 2335707
[  789.612000] tveeprom 0-0050: MAC address is 00-0D-FE-23-A3-DB
[  789.612000] tveeprom 0-0050: tuner model is Xceive XC3028 (idx 120, type 71)
[  789.612000] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[  789.612000] tveeprom 0-0050: audio processor is CX23885 (idx 39)
[  789.612000] tveeprom 0-0050: decoder processor is CX23885 (idx 33)
[  789.612000] tveeprom 0-0050: has no radio, has no IR receiver, has no IR transmitter
[  789.612000] cx23885[0]: hauppauge eeprom: model=77001
[  789.612000] cx23885[0]: cx23885 based dvb card
[  789.624000] cx23885[0]: frontend initialization failed
[  789.624000] cx23885_dvb_register() dvb_register failed err = -1
[  789.624000] cx23885_dev_setup() Failed to register dvb adapters on VID_C
[  789.624000] cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 17, latency: 0, mmio: 0xf4000000
[  789.624000] PCI: Setting latency timer of device 0000:04:00.0 to 64

also loading the cx23885 module with argument i2c_scan=1 shows this output

[ 1407.920000] cx23885 driver version 0.0.1 loaded
[ 1407.920000] ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 17 (level, low) -> IRQ 17
...
[ 1408.020000] cx23885[0]: i2c bus 0 registered
[ 1408.020000] cx23885[0]: i2c scan: found device @ 0x32  [cx24227]
[ 1408.020000] cx23885[0]: i2c scan: found device @ 0x34  [???]
[ 1408.028000] cx23885[0]: i2c scan: found device @ 0xa0  [eeprom]
[ 1408.036000] cx23885[0]: i2c bus 1 registered
[ 1408.056000] cx23885[0]: i2c bus 2 registered
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x66  [???]
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x88  [cx25837]
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x98  [???]
[ 1408.088000] cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 17, latency: 0, mmio: 0xf4000000
[ 1408.088000] PCI: Setting latency timer of device 0000:04:00.0 to 64

what follows sounds completely cryptic to me, I'm sorry I have no skills in programming. If, however, I could provide you with some help with my device please ask.

Cheers
Also, you need to provide a callback function to allow resetting xc3028.
I'm not sure what would be the reset implementation for cx23885 (this
varies from device to device).

Also, SET_TUNER_CONFIG should be called to set firmware name. The code
will be similar to xc3028 driver. Xceive has several DVB firmwares.
Depending on the implementation of your hardware, you need to add some
special parameters to SET_TUNER_CONFIG, to proper select the right
firmware.

Hopefully, one of the cx23885 will soon try to implement the missing
parts on the next days.

  
One month ago I was told in this mailing list that you were still
working on the firmware part but apart from that the work had already
been done. Any news?
    

I'm still working on the firmware side. Probably, I'll need to change
the firmware file format a little bit before the final revision. The
enclosed firmware should work properly for your device.

  
I own an HP/Hauppauge WinTv885 mod 77001 with cx23885 and xc3028 chipsets.

I'm looking forward to this chipset being supported and wish you all a
good work (on it)!
    
Thanks!

Cheers,
Mauro
  

04:00.0 Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02)
        Subsystem: Hauppauge computer works Inc. Unknown device [0070:7717]
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UlDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at f4000000 (64-bit, non-prefetchable) [size=2M]
        Capabilities: [40] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
                Device: Latency L0s <64ns, L1 <1us
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0
                Link: Latency L0s <2us, L1 <4us
                Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [80] 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-
        Capabilities: [90] Vital Product Data
        Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
                Address: 0000000000000000  Data: 0000

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux