All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: Matthias Schwarzott <zzam@gentoo.org>
Cc: linux-media@vger.kernel.org, Ulf <mopp@gmx.net>
Subject: Re: Hauppauge HVR-900 HD and HVR 930C-HD with si2165
Date: Tue, 01 Oct 2013 17:45:50 +0300	[thread overview]
Message-ID: <524AE01E.9040300@iki.fi> (raw)
In-Reply-To: <524A5EDF.8070904@gentoo.org>

On 01.10.2013 08:34, Matthias Schwarzott wrote:
> On 26.09.2013 16:54, Antti Palosaari wrote:
>> On 25.09.2013 07:50, Matthias Schwarzott wrote:
>>> On 17.08.2013 13:30, Ulf wrote:
>>>> Hi,
>>>>
>>>> I know the topic Hauppauge HVR-900 HD and HVR 930C-HD with si2165
>>>> demodulator was already discussed
>>>> http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/40982
>>>>
>>>> and
>>>> http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/46266.
>>>>
>>>>
>>>> Just for me as a confirmation nobody plans to work on a driver for
>>>> si2165.
>>>> Is there any chance how to push the development?
>>>>
>>>> Ulf
>>> Hi!
>>>
>>> I also bought one of these to find out it is not supported.
>>> But my plan is to try to write a driver for this.
>>> I want to get DVB-C working, but I also have DVB-T and analog reception
>>> available.
>>>
>>> My current status is I got it working in windows in qemu and did a usb
>>> snoop.
>>> I also have a second system to test it in windows vista directly on the
>>> hardware.
>>>
>>> Current status is documented here.
>>> http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-930C-HD
>>>
>>> Until now I only have a component list summarized from this list.
>>>
>>>   * Conexant <http://www.linuxtv.org/wiki/index.php/Conexant> CX231xx
>>> <http://www.linuxtv.org/wiki/index.php/Conexant_CX2310x>
>>>   * Silicon Labs
>>>
>>> <http://www.linuxtv.org/wiki/index.php?title=Silicon_Labs&action=edit&redlink=1>
>>>
>>>
>>>     si2165 <http://www.linuxtv.org/wiki/index.php/Silicon_Labs_si2165>
>>>     (Multi-Standard DVB-T and DVB-C Demodulator)
>>>   * NXP TDA18271
>>> <http://www.linuxtv.org/wiki/index.php/NXP/Philips_TDA182xx>
>>>     (silicon tuner IC, most likely i2c-addr: 0x60)
>>>   * eeprom (windows driver reads 1kb, i2c-addr: 0x50)
>>>
>>>
>>> Is this correct?
>>> Did anyone open his device and can show pictures?
>>>
>>> I now need to know which component is at which i2c address.
>>> Windows driver does upload file hcw10mlD.rom of 16kb to device 0x44.
>>
>> I have opened it. There was similar sandwich PCB than used by rev1
>> too. So you cannot see all the chip unless you use metal saw to
>> separate PCBs.
>>
>> PCB side A:
>> TDA18271HDC2
>> 16.000 MHz
>>
>> Si2165-GM
>> 16.000 MHz
>>
>>
>> PCB side B:
>> 24C02H
>>
>> regards
>> Antti
>>
> Hi Antti,
>
> thanks for that information.
> The only real new information for me is the 16.000MHz xtal value.
>
> Sad to know that the other chips are hidden.
> I assigned more i2c addresses to functions, but not yet all (no idea if
> more addresses are real, or bad interpretations of snooped data).
>
> I now try to check what already works:
> - This is video via composite input.
> - Next is to try video via analog input - see I see if the tuner in
> general works in this device.
>
> In parallel I try to capture usb in different setups.
> 1. kvm+tcpdump (using usbmon)
> 2. usbsnoop on windows vista
>
> Only setup 1 does provide a real list of usb packets.

Matthias, you likely try to do things too complex :) I am not going to 
comment analog side as I simply has no experience. Missing piece of code 
from the DTV point of view is only si2165 demod driver.

My technique is to make successful tune one channel and take sniffs. 
 From sniffs I generate C-code register writes (and sometimes reads too) 
using scripts. Reading that "C-code" is much more visual and easier than 
looking correct bytes from the raw sniffs. It is essential to find out 
from the sniffs what are tuner register writes, what are demod register 
writes and what are for USB-bridge itself. There may be some other chips 
which are needed to init in order to operate, like in cases I2C bus is 
connected through analog demodulator to digital demodulator.

Usually it is rather trivial to make skeleton driver from the code 
generated from sniffs which just shows that single channel sniffs were 
taken.

I have been looking simple example for "reverse-engineer demodulator 
driver how-to" blog post, but I haven't found suitable device yet. That 
was one device I looked, but I given-up as simplest sniff after parsing 
was over 1MB. Looks like there is multiple firmwares to download and 
also CX231xx usb protocol generates a lot of I/O => not very good 
example for simple how-to.

Take a look of that post to see some practical example about sniffing 
and code generation.
http://blog.palosaari.fi/2013/07/generating-rtl2832u-driver-code.html

regards
Antti

-- 
http://palosaari.fi/

  reply	other threads:[~2013-10-01 14:45 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-17 11:30 Hauppauge HVR-900 HD and HVR 930C-HD with si2165 Ulf
2013-08-17 11:53 ` Antti Palosaari
2013-08-18 11:54   ` Hans Petter Selasky
2013-08-18 12:15     ` Antti Palosaari
2013-08-18 19:02     ` Steven Toth
2013-08-19 19:47       ` Hans Petter Selasky
2013-08-19 20:09         ` Antti Palosaari
2013-08-19 22:43         ` Konstantin Dimitrov
2013-08-20  6:46           ` Hans Petter Selasky
2013-08-20  8:26           ` nibble.max
2013-08-20  8:43             ` Hans Petter Selasky
     [not found] ` <52426BB0.60809@gentoo.org>
     [not found]   ` <52444AA3.8020205@iki.fi>
2013-10-01  5:34     ` Matthias Schwarzott
2013-10-01 14:45       ` Antti Palosaari [this message]
2013-10-07 19:30         ` Matthias Schwarzott
2013-10-07 20:16           ` Antti Palosaari
2013-10-16  4:50             ` Matthias Schwarzott
2013-10-16 10:21               ` Antti Palosaari
2013-10-07 20:21           ` pierigno
2013-10-15 18:52             ` Matthias Schwarzott
  -- strict thread matches above, loose matches on Subject: below --
2013-08-18 15:00 Ulf
2013-08-18 15:23 ` Hans Petter Selasky
2013-08-18 15:26 ` Antti Palosaari
2013-08-18 18:58 ` Steven Toth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=524AE01E.9040300@iki.fi \
    --to=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    --cc=mopp@gmx.net \
    --cc=zzam@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.