<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ccccff" text="#000000">
I thank you very much for your quick reply Michel, Markus and Mauro!!<br>
<br>
Here are some updates:<br>
<br>
@Markus<br>
Thank you for your reply!<br>
I tried installing your v4l branch following the steps you provided me
in <a class="moz-txt-link-freetext"
 href="http://mcentral.de/wiki/index.php/Em2880#Installation">http://mcentral.de/wiki/index.php/Em2880#Installation</a>
and all went
fine, except that the card has not been recognised.<br>
<br>
I tried with both firmware v3 and v4 in /lib/firmware. <br>
Adding em28xx and em2880-dvb in /etc/modules provided this output in
dmesg<br>
<br>
[   16.200000] em28xx v4l2 driver version 0.0.1 loaded<br>
[   16.200000] usbcore: registered new interface driver em28xx<br>
[   16.324000] Em28xx: Initialized (Em2880 DVB Extension) extension<br>
<br>
but no dvb or video device in /dev was created and the lsmod command
showed em2880_dvb and xc3028_tuner used by 0 devices! <br>
<br>
@Mauro<br>
Thank you for your exhausting reply! <br>
<blockquote cite="mid:1194956045.8662.156.camel@gaivota" type="cite">
  <pre wrap="">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)
  </pre>
</blockquote>
I placed the firmware you attached in /lib/firmware, then
<blockquote cite="mid:1194956045.8662.156.camel@gaivota" type="cite"></blockquote>
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. <br>
<br>
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. <br>
<br>
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: <br>
Multimedia video controller [0400]: Conexant Unknown device [14f1:8852]
(rev 02)<br>
Subsystem: Hauppauge computer works Inc. Unknown device [0070:7717]<br>
<br>
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.<br>
<blockquote cite="mid:1194956045.8662.156.camel@gaivota" type="cite">
  <pre wrap="">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.
  </pre>
</blockquote>
I did so and the module auto loads at startup but it asks for card
model since it says it is not recognised. <br>
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):<br>
<br>
[  789.484000] cx23885 driver version 0.0.1 loaded<br>
[  789.484000] ACPI: PCI Interrupt 0000:04:00.0[A] -&gt; GSI 17 (level,
low) -&gt; IRQ 17<br>
[  789.484000] CORE cx23885[0]: subsystem: 0070:7717, board: Hauppauge
WinTV-HVR1800lp [card=1,insmod option]<br>
[  789.584000] cx23885[0]: i2c bus 0 registered<br>
[  789.584000] cx23885[0]: i2c bus 1 registered<br>
[  789.584000] cx23885[0]: i2c bus 2 registered<br>
[  789.612000] tveeprom 0-0050: Hauppauge model 77001, rev D4C0,
serial# 2335707<br>
[  789.612000] tveeprom 0-0050: MAC address is 00-0D-FE-23-A3-DB<br>
[  789.612000] tveeprom 0-0050: tuner model is Xceive XC3028 (idx 120,
type 71)<br>
[  789.612000] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital
(eeprom 0x88)<br>
[  789.612000] tveeprom 0-0050: audio processor is CX23885 (idx 39)<br>
[  789.612000] tveeprom 0-0050: decoder processor is CX23885 (idx 33)<br>
[  789.612000] tveeprom 0-0050: has no radio, has no IR receiver, has
no IR transmitter<br>
[  789.612000] cx23885[0]: hauppauge eeprom: model=77001<br>
[  789.612000] cx23885[0]: cx23885 based dvb card<br>
[  789.624000] cx23885[0]: frontend initialization failed<br>
[  789.624000] cx23885_dvb_register() dvb_register failed err = -1<br>
[  789.624000] cx23885_dev_setup() Failed to register dvb adapters on
VID_C<br>
[  789.624000] cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 17,
latency: 0, mmio: 0xf4000000<br>
[  789.624000] PCI: Setting latency timer of device 0000:04:00.0 to 64<br>
<br>
also loading the cx23885 module with argument i2c_scan=1 shows this
output<br>
<br>
[ 1407.920000] cx23885 driver version 0.0.1 loaded<br>
[ 1407.920000] ACPI: PCI Interrupt 0000:04:00.0[A] -&gt; GSI 17 (level,
low) -&gt; IRQ 17<br>
...<br>
[ 1408.020000] cx23885[0]: i2c bus 0 registered<br>
[ 1408.020000] cx23885[0]: i2c scan: found device @ 0x32  [cx24227]<br>
[ 1408.020000] cx23885[0]: i2c scan: found device @ 0x34  [???]<br>
[ 1408.028000] cx23885[0]: i2c scan: found device @ 0xa0  [eeprom]<br>
[ 1408.036000] cx23885[0]: i2c bus 1 registered<br>
[ 1408.056000] cx23885[0]: i2c bus 2 registered<br>
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x66  [???]<br>
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x88  [cx25837]<br>
[ 1408.056000] cx23885[0]: i2c scan: found device @ 0x98  [???]<br>
[ 1408.088000] cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 17,
latency: 0, mmio: 0xf4000000<br>
[ 1408.088000] PCI: Setting latency timer of device 0000:04:00.0 to 64<br>
<br>
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.<br>
<br>
Cheers<br>
<blockquote cite="mid:1194956045.8662.156.camel@gaivota" type="cite">
  <pre wrap="">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.

  </pre>
</blockquote>
<blockquote cite="mid:1194956045.8662.156.camel@gaivota" type="cite">
  <blockquote type="cite">
    <pre wrap="">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?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
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.

  </pre>
  <blockquote type="cite">
    <pre wrap="">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)!
    </pre>
  </blockquote>
  <pre wrap=""><!---->Thanks!

Cheers,
Mauro
  </pre>
</blockquote>
<br>
</body>
</html>