[linux-dvb] xc3028 tuner development status?

aldebaran aldebx at yahoo.fr
Tue Nov 13 17:16:07 CET 2007


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
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20071113/0ea5b2d3/attachment-0001.htm 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: hauppauge lspci
Url: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20071113/0ea5b2d3/attachment-0001.txt 


More information about the linux-dvb mailing list