From: Antti Palosaari <crope@iki.fi>
To: Oliver Schinagl <oliver+list@schinagl.nl>
Cc: linux-media <linux-media@vger.kernel.org>
Subject: Re: [PATCH] Support for Asus MyCinema U3100Mini Plus
Date: Mon, 10 Sep 2012 01:29:45 +0300 [thread overview]
Message-ID: <504D1859.5050201@iki.fi> (raw)
In-Reply-To: <504D17AA.8020807@schinagl.nl>
On 09/10/2012 01:26 AM, Oliver Schinagl wrote:
> On 09/09/12 23:51, Antti Palosaari wrote:
>> On 09/09/2012 11:49 PM, Oliver Schinagl wrote:
>>> Hi All/Antti,
>>>
>>> I used Antti's previous patch to try to get some support in for the Asus
>>> MyCinema U3100Mini Plus as it uses a supported driver (af9035) and now
>>> supported tuner (FCI FC2580).
>>>
>>> It compiles fine and almost works :(
>>>
>>> Here's what I get, which I have no idea what causes it.
>>>
>>> dmesg output:
>>> [ 380.677434] usb 1-3: New USB device found, idVendor=0b05,
>>> idProduct=1779
>>> [ 380.677445] usb 1-3: New USB device strings: Mfr=1, Product=2,
>>> SerialNumber=3
>>> [ 380.677452] usb 1-3: Product: AF9035A USB Device
>>> [ 380.677458] usb 1-3: Manufacturer: Afa Technologies Inc.
>>> [ 380.677463] usb 1-3: SerialNumber: AF01020abcdef12301
>>> [ 380.683361] input: Afa Technologies Inc. AF9035A USB Device as
>>> /devices/pci0000:00/0000:00:12.2/usb1/1-3/1-3:1.1/input/input15
>>> [ 380.683505] hid-generic 0003:0B05:1779.0004: input: USB HID v1.01
>>> Keyboard [Afa Technologies Inc. AF9035A USB Device] on
>>> usb-0000:00:12.2-3/input1
>>> [ 380.703807] usbcore: registered new interface driver dvb_usb_af9035
>>> [ 380.704553] usb 1-3: dvb_usbv2: found a 'Asus U3100Mini Plus' in cold
>>> state
>>> [ 380.705075] usb 1-3: dvb_usbv2: downloading firmware from file
>>> 'dvb-usb-af9035-02.fw'
>>> [ 381.014996] dvb_usb_af9035: firmware version=11.5.9.0
>>> [ 381.015018] usb 1-3: dvb_usbv2: found a 'Asus U3100Mini Plus' in warm
>>> state
>>> [ 381.017172] usb 1-3: dvb_usbv2: will pass the complete MPEG2
>>> transport stream to the software demuxer
>>> [ 381.017242] DVB: registering new adapter (Asus U3100Mini Plus)
>>> [ 381.037184] af9033: firmware version: LINK=11.5.9.0 OFDM=5.17.9.1
>>> [ 381.037200] usb 1-3: DVB: registering adapter 0 frontend 0 (Afatech
>>> AF9033 (DVB-T))...
>>> [ 381.044197] i2c i2c-1: fc2580: i2c rd failed=-5 reg=01 len=1
>>> [ 381.044357] usb 1-3: dvb_usbv2: 'Asus U3100Mini Plus' error while
>>> loading driver (-19)
>>
>> I2C communication to tuner chip does not work at all. It tries to read
>> chip id register but fails. If you enable debugs you will see which
>> error status af9035 reports.
> CONFIG_DVB_USB_DEBUG was enabled, but nothing extra :(
>
>>
>> There is likely 3 possibilities:
>> 1) wrong I2C address
> Well as linked before, I used it from the 'official' driver, where it says:
> #define FC2580_ADDRESS 0xAC
>
> grepping the entire source of theirs, I then found this in FC2580.c
> TunerDescription tuner_FC2580 = {
> FC2580_open, /** Function to open tuner. */
> FC2580_close, /** Function to close tuner. */
> FC2580_set, /** Function set frequency. */
> FC2580_scripts, /** Scripts. */
> FC2580_scriptSets, /** Length of scripts. */
> FC2580_ADDRESS, /** The I2C address of tuner. */
> 1, /** Valid length of tuner register. */
> 0, /** IF frequency of tuner. */
> True, /** Spectrum inversion. */
> 0x32, /** tuner id */
> };
>
> The only other thing that I recognize is the scripts, which is some init
> code (which I asked about below, which should also be right, unless I
> made a typo) and the tuner id, which is the first thing in the script
> and in my patch defined as AF9033_TUNER_FC2580. No idea of its
> significance :)
>
>> 2) wrong GPIOs
>> * tuner is not powered on or it is on standby
> How/where would I check that?
>
>> 3) wrong firmware
>> * it very unlikely that even wrong firmware fails basic I2C...
> I know there's a few versions right? the 01 02 etc? But that is mostly
> in relation with the af9035 mostly right?
>
>>
>>> using the following modules.
>>> fc2580 4189 -1
>>> af9033 10266 0
>>> dvb_usb_af9035 8924 0
>>> dvb_usbv2 11388 1 dvb_usb_af9035
>>> dvb_core 71756 1 dvb_usbv2
>>> rc_core 10583 2 dvb_usbv2,dvb_usb_af9035
>>>
>>> I'm supprised though that dvb-pll isn't there. Wasn't that a
>>> requirement? [1]
>>
>> No. dvb-pll is used for old simple 4-byte PLLs. FCI FC2580 is modern
>> silicon tuner. There is PLL used inside FC2580 for frequency synthesizer
>> but no dvb-pll needed as all calculations are done inside that driver.
>> Silicon tuners are so much more complicated to program than old 4-byte
>> PLLs, thus own driver is needed for each silicon tuner chip.
> Ah, well then the wiki needs a small update ;)
>>
>>> For the tuner 'script' firmware/init bit, I used the 'official' driver
>>> [2].
>>>
>>> Also the i2c-addr and clock comes from these files.
>>
>> Aaah, now I see. At least I2C address is wrong. You use 0xac but should
>> be 0x56. There is wrong "8-bit" address used. 0xac >> 1 == 0x56.
> That I don't understand (as I wrote above) 0xac 'should' be the correct,
> but appearantly it needs to be shifted. Why?
Because it is wrong in vendor driver you look. I2C addresses are 7 bit
long and LSB bit used for direction (read or write). Try to search some
I2C tutorials. This kind of wrong I2C addresses are called usually 8-bit
I2C address.
>
>>
>>
>> 16384000 (16.384MHz) is FC2580 internal clock what I understand. It
>> should be OK. I suspect that everyone uses it for DVB-T to save
>> components / make design simple.
> I would assume so, since also that is in the original sources; fc2580.c
> lists it as:
> #define FREQ_XTAL 16384 //16.384MHz
>
>>
>>> One minor questions I have regarding the recently submitted RTL and
>>> AF9033 drivers, is one uses AF9033_TUNER_* whereas the other uses
>>> TUNER_RTL2832_*. Any reason for this? It just confused me is all.
>>
>> It is just naming issue driver, driver author decision. Usually names
>> start with driver name letters (in that case RTL28XXU_). It is not big
>> issue for variable names unless it is too "general" to conflict some
>> library. For function names driver names prefix (rtl28xxu_) should be
>> used as it eases debugging (example ooops is dumped showing function
>> names).
>
> Ok I will test the shifted i2c address and try that.
>>
>>
>> Antti
>>
>>>
>>> Oliver
>>>
>>> [1] http://linuxtv.org/wiki/index.php/DVB_via_USB#Introduction
>>> [2] http://git.schinagl.nl/AF903x_SRC.git/tree/api/FCI_FC2580_Script.h
> <snipped patch>
--
http://palosaari.fi/
next prev parent reply other threads:[~2012-09-09 22:30 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-09 20:47 [PATCH] Support for Asus MyCinema U3100Mini Plus oliver
2012-09-09 20:49 ` Oliver Schinagl
2012-09-09 21:51 ` Antti Palosaari
2012-09-09 22:26 ` Oliver Schinagl
2012-09-09 22:29 ` Antti Palosaari [this message]
2012-09-10 9:58 ` Oliver Schinagl
2012-09-10 11:46 ` Antti Palosaari
2012-09-10 14:29 ` Oliver Schinagl
2012-09-10 17:28 ` Oliver Schinagl
2012-09-16 14:07 ` Oliver Schinagl
2012-09-16 16:43 ` Antti Palosaari
2012-09-16 15:03 ` Oliver Schinagl
2012-09-16 17:25 ` Antti Palosaari
2012-09-16 22:10 ` Oliver Schinagl
2012-09-16 23:36 ` Antti Palosaari
2012-09-17 8:25 ` Oliver Schinagl
2012-09-17 13:02 ` Oliver Schinagl
2012-09-17 13:16 ` Antti Palosaari
2012-09-17 13:26 ` Oliver Schinagl
2012-09-17 13:52 ` Antti Palosaari
2012-09-17 15:20 ` Oliver Schinagl
2012-09-17 20:43 ` Oliver Schinagl
2012-09-17 21:07 ` Antti Palosaari
2012-09-17 21:57 ` Oliver Schinagl
2012-09-18 17:18 ` Oliver Schinagl
2012-09-18 22:51 ` Antti Palosaari
2012-09-19 10:41 ` Oliver Schinagl
2012-09-19 10:53 ` Antti Palosaari
2012-09-17 20:43 ` Oliver Schinagl
2012-09-18 22:59 ` Antti Palosaari
-- strict thread matches above, loose matches on Subject: below --
2012-09-19 18:44 oliver
2012-09-19 20:52 ` Devin Heitmueller
2012-09-19 22:47 ` Oliver Schinagl
2012-09-20 18:54 ` Oliver Schinagl
2012-09-20 19:21 ` Devin Heitmueller
2012-09-19 21:36 ` Antti Palosaari
2012-09-20 18:54 ` Oliver Schinagl
2012-09-20 18:57 oliver
2012-09-20 19:15 ` Antti Palosaari
2012-09-20 19:28 ` Oliver Schinagl
2012-09-20 19:37 ` Antti Palosaari
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=504D1859.5050201@iki.fi \
--to=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
--cc=oliver+list@schinagl.nl \
/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.