linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: poma <pomidorabelisima@gmail.com>
To: Antti Palosaari <crope@iki.fi>,
	linux-media <linux-media@vger.kernel.org>
Cc: Michael Krufky <mkrufky@linuxtv.org>,
	Manu Abraham <abraham.manu@gmail.com>
Subject: Re: dvb_usb_af9015: command failed=1 _ kernel >=  4.1.x
Date: Wed, 13 May 2015 05:56:23 +0200	[thread overview]
Message-ID: <5552CB67.8070106@gmail.com> (raw)
In-Reply-To: <55520A08.1010605@iki.fi>

On 12.05.2015 16:11, Antti Palosaari wrote:
> On 05/11/2015 09:43 PM, poma wrote:
>> On 05/11/2015 12:25 AM, poma wrote:
>>> On 10.05.2015 12:38, poma wrote:
>>>> On 08.05.2015 12:59, poma wrote:
>>>>> On 08.05.2015 12:20, poma wrote:
>>>>>>
>>>>>> [    0.000000] Linux version 4.0.2-200.fc21.x86_64 ...
>>>>>>
>>>>>> [    0.870875] usb 1-2: new high-speed USB device number 2 using ehci-pci
>>>>>> [    0.990286] usb 1-2: New USB device found, idVendor=15a4, idProduct=9016
>>>>>> [    0.992575] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
>>>>>> [    0.994859] usb 1-2: Product: DVB-T 2
>>>>>>
>>>>>> [    1.001398] usb 1-2: Manufacturer: Afatech
>>>>>> [    1.003555] usb 1-2: SerialNumber: 010101010600001
>>>>>> [    1.009194] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
>>>>>> [    1.011694] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2:1.1/0003:15A4:9016.0001/input/input5
>>>>>> [    1.066814] hid-generic 0003:15A4:9016.0001: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:02.1-2/input1
>>>>>>
>>>>>> [   11.997119] usb 1-2: dvb_usb_v2: found a 'Afatech AF9015 reference design' in warm state
>>>>>> [   12.206778] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
>>>>>> [   12.207412] DVB: registering new adapter (Afatech AF9015 reference design)
>>>>>>
>>>>>> [   12.286137] i2c i2c-13: af9013: firmware version 5.1.0.0
>>>>>> [   12.289121] usb 1-2: DVB: registering adapter 0 frontend 0 (Afatech AF9013)...
>>>>>> [   12.343650] mxl5007t 13-00c0: creating new instance
>>>>>> [   12.346003] mxl5007t_get_chip_id: unknown rev (3f)
>>>>>> [   12.346156] mxl5007t_get_chip_id: MxL5007T detected @ 13-00c0
>>>>>> [   12.350371] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
>>>>>> [   12.350649] DVB: registering new adapter (Afatech AF9015 reference design)
>>>>>> [   12.553632] i2c i2c-13: af9013: found a 'Afatech AF9013' in warm state
>>>>>> [   12.557256] i2c i2c-13: af9013: firmware version 5.1.0.0
>>>>>> [   12.563779] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
>>>>>> [   12.564554] mxl5007t 13-00c0: attaching existing instance
>>>>>> [   12.567004] usb 1-2: dvb_usb_af9015: command failed=1
>>>>>> [   12.567555] mxl5007t_soft_reset: 521: failed!
>>>>>> [   12.569745] mxl5007t_attach: error -121 on line 907
>>>>>> [   12.571231] usbcore: registered new interface driver dvb_usb_af9015
>>>>>>
>>>>>>
>>>>>> $ lsdvb
>>>>>>
>>>>>> 		lsdvb: Simple utility to list PCI/PCIe DVB devices
>>>>>> 		Version: 0.0.4
>>>>>> 		Copyright (C) Manu Abraham
>>>>>> $
>>>>>>
>>>>>
>>>>>
>>>>> Afatech AF9015 reference design:
>>>>>
>>>>> 3.18.12-200.fc21.x86_64        - OK
>>>>>
>>>>> 3.19.7-200.fc21.x86_64         - KO
>>>>> 4.0.2-200.fc21.x86_64          - KO
>>>>> 4.1.0-0.rc2.git3.1.fc23.x86_64 - KO
>>>>>
>>>>>
>>>>> If you have a patch to test, shout loudly.
>>>>>
>>>>>
>>>>
>>>> Looks like the same bug:
>>>> AVerMedia HD Volar (A867) - Afatech AF9033
>>>> http://forum.sifteam.eu/sifbox-by-sif-team/125122-kernel-3-19-a867-xgaz-dove.html
>>>>
>>>> http://git.linuxtv.org/cgit.cgi/media_build.git - no positive effect.
>>>>
>>>>
>>>> Ho ho ho
>>>>
>>>
>>> It seems the 'lsdvb' is what made the device unusable after re/boot.
>>> Of course this applies to kernel >= 3.19.x
>>> The device has to be unplugged and after a minute or two plugged back to be usable again.
>>>
>>>
>>> $ lsdvb
>>>
>>> 		lsdvb: Simple utility to list PCI/PCIe DVB devices
>>> 		Version: 0.0.4
>>> 		Copyright (C) Manu Abraham
>>>
>>> usb (5:0 -868620712:32665) on PCI Domain:-874755276 Bus:32665 Device:2098 Function:0
>>> 	DEVICE:0 ADAPTER:0 FRONTEND:0 (Afatech AF9013)
>>> 		 FE_OFDM Fmin=174MHz Fmax=862MHz
>>> 	DEVICE:0 ADAPTER:1 FRONTEND:0 (Afatech AF9013)
>>> 		 FE_OFDM Fmin=174MHz Fmax=862MHz
>>>
>>> $ dmesg
>>> [   80.332837] usb 2-2: dvb_usb_af9015: command failed=1
>>> [   80.332857] i2c i2c-13: af9013: i2c wr failed=-5 reg=d607 len=1
>>> [   80.337837] usb 2-2: dvb_usb_af9015: command failed=1
>>> [   80.337848] mxl5007t_write_reg: 472: failed!
>>> [   80.337853] mxl5007t_sleep: error -121 on line 709
>>> [   80.338324] usb 2-2: dvb_usb_af9015: command failed=1
>>> [   80.338328] mxl5007t_write_reg: 472: failed!
>>> [   80.338332] mxl5007t_sleep: error -121 on line 711
>>>
>>>
>>>
>>
>>
>> Furthermore, it is sufficient to re/boot to the latest kernels,
>> and the device is K.O. again,
>>
>> e.g.
>> # modinfo -n mxl5007t
>> /lib/modules/4.1.0-0.rc3.git0.1.fc23.x86_64+debug/kernel/drivers/media/tuners/mxl5007t.ko.xz
>>
>> ...
>> [   13.874536] i2c i2c-13: af9013: found a 'Afatech AF9013' in warm state
>> [   13.878031] i2c i2c-13: af9013: firmware version 5.1.0.0
>> [   13.884691] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
>> [   13.884942] mxl5007t 13-00c0: attaching existing instance
>> [   13.887166] usb 1-2: dvb_usb_af9015: command failed=1
>> [   13.887179] mxl5007t_soft_reset: 521: failed!
>> [   13.888780] mxl5007t_attach: error -121 on line 907
>> [   13.897808] usbcore: registered new interface driver dvb_usb_af9015
>> ...
>>
>> # ls -al /dev/dvb
>> ls: cannot access /dev/dvb: No such file or directory
>>
>>
>> Keep in mind, this time it has nothing to do with 'lsdvb',
>>
>> # lsdvb
>> -bash: /bin/lsdvb: Permission denied
> 
> It is that commit which causes the problem:
> commit fe4860af002a4516dd878f7297b61e186c475b35
> [media] [PATH,1/2] mxl5007 move reset to attach
> 
> ... but I am pretty sure actual root of cause something else. Likely 
> your second tuner chip is on reset/powered off and due to that it does 
> not answer. I have almost similar device which works (DigitalNow TinyTwin).
> 
> Maybe I should try to test which are that tuner GPIO reset lines... but 
> I am a bit lazy :/
> 
> regards
> Antti
> 

Is a beer keg enough as bribe? :)
Just do not say that you drink juice.

After the reverting of all changes
http://git.linuxtv.org/cgit.cgi/media_tree.git/log/drivers/media/tuners/mxl5007t.c

device now survives both, 'lsdvb' and rc kernels.

Besides, despite all this, this device is already not working at its full potential.
One of the tuners can withstand a few hours and then hangs.
After that, in the application e.g. vlc is needed to select the second tuner and so continue to use the device.
So this is actually a "single-seater" as Formula 1.
Vroom vroom!


 mxl5007t.c |   28 +++++-----------------------
 1 file changed, 5 insertions(+), 23 deletions(-)

--- a/drivers/media/tuners/mxl5007t.c	2015-05-13 04:50:18.362256795 +0200
+++ b/drivers/media/tuners/mxl5007t.c	2015-05-13 05:05:15.070996638 +0200
@@ -374,6 +374,7 @@
 	mxl5007t_set_if_freq_bits(state, cfg->if_freq_hz, cfg->invert_if);
 	mxl5007t_set_xtal_freq_bits(state, cfg->xtal_freq_hz);
 
+	set_reg_bits(state->tab_init, 0x04, 0x01, cfg->loop_thru_enable);
 	set_reg_bits(state->tab_init, 0x03, 0x08, cfg->clk_out_enable << 3);
 	set_reg_bits(state->tab_init, 0x03, 0x07, cfg->clk_out_amp);
 
@@ -530,6 +531,10 @@
 	struct reg_pair_t *init_regs;
 	int ret;
 
+	ret = mxl5007t_soft_reset(state);
+	if (mxl_fail(ret))
+		goto fail;
+
 	/* calculate initialization reg array */
 	init_regs = mxl5007t_calc_init_regs(state, mode);
 
@@ -896,29 +901,6 @@
 		break;
 	}
 
-	if (fe->ops.i2c_gate_ctrl)
-		fe->ops.i2c_gate_ctrl(fe, 1);
-
-	ret = mxl5007t_soft_reset(state);
-
-	if (fe->ops.i2c_gate_ctrl)
-		fe->ops.i2c_gate_ctrl(fe, 0);
-
-	if (mxl_fail(ret))
-		goto fail;
-
-	if (fe->ops.i2c_gate_ctrl)
-		fe->ops.i2c_gate_ctrl(fe, 1);
-
-	ret = mxl5007t_write_reg(state, 0x04,
-		state->config->loop_thru_enable);
-
-	if (fe->ops.i2c_gate_ctrl)
-		fe->ops.i2c_gate_ctrl(fe, 0);
-
-	if (mxl_fail(ret))
-		goto fail;
-
 	fe->tuner_priv = state;
 
 	mutex_unlock(&mxl5007t_list_mutex);


$ modinfo mxl5007t
filename:       /lib/modules/4.1.0-0.rc3.git1.1.fc23.x86_64/updates/mxl5007t.ko
version:        0.2
license:        GPL
author:         Michael Krufky <mkrufky@linuxtv.org>
description:    MaxLinear MxL5007T Silicon IC tuner driver
srcversion:     72D27DB6EF6CEC612700FB9
depends:        
intree:         Y
vermagic:       4.1.0-0.rc3.git1.1.fc23.x86_64 SMP mod_unload 
parm:           debug:set debug level (int)


$ dmesg
[    1.114202] usb 1-2: new high-speed USB device number 2 using ehci-pci
[    1.235071] usb 1-2: New USB device found, idVendor=15a4, idProduct=9016
[    1.237463] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.239831] usb 1-2: Product: DVB-T 2
[    1.242163] usb 1-2: Manufacturer: Afatech
[    1.244422] usb 1-2: SerialNumber: 010101010600001
[    1.251607] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[    1.254602] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2:1.1/0003:15A4:9016.0001/input/input5
[    1.311052] hid-generic 0003:15A4:9016.0001: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:02.1-2/input1
[   14.326420] usb 1-2: dvb_usb_v2: found a 'Afatech AF9015 reference design' in warm state
[   14.563618] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   14.563854] DVB: registering new adapter (Afatech AF9015 reference design)
[   14.622564] usb 1-2: DVB: registering adapter 0 frontend 0 (Afatech AF9013)...
[   14.659556] mxl5007t: module verification failed: signature and/or required key missing - tainting kernel
[   14.660903] mxl5007t 13-00c0: creating new instance
[   14.663714] mxl5007t_get_chip_id: unknown rev (3f)
[   14.663727] mxl5007t_get_chip_id: MxL5007T detected @ 13-00c0
[   14.664450] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   14.664603] DVB: registering new adapter (Afatech AF9015 reference design)
[   14.882505] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
[   14.883176] mxl5007t 13-00c0: attaching existing instance
[   14.905227] input: Afatech AF9015 reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-2/rc/rc0/input14
[   14.907885] rc0: Afatech AF9015 reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-2/rc/rc0
[   14.907917] usb 1-2: dvb_usb_v2: schedule remote query interval to 500 msecs
[   14.908170] usb 1-2: dvb_usb_v2: 'Afatech AF9015 reference design' successfully initialized and connected
[   14.908490] usbcore: registered new interface driver dvb_usb_af9015


$ lsdvb 

		lsdvb: Simple utility to list PCI/PCIe DVB devices
		Version: 0.0.4
		Copyright (C) Manu Abraham

usb (5:0 -956221864:32726) on PCI Domain:-962356428 Bus:32726 Device:2098 Function:0
	DEVICE:0 ADAPTER:0 FRONTEND:0 (Afatech AF9013) 
		 FE_OFDM Fmin=174MHz Fmax=862MHz
	DEVICE:0 ADAPTER:1 FRONTEND:0 (Afatech AF9013) 
		 FE_OFDM Fmin=174MHz Fmax=862MHz


$ dmesg
[  306.258474] usb 1-2: dvb_usb_af9015: command failed=1
[  306.258500] i2c i2c-13: af9013: i2c wr failed=-5 reg=d607 len=1
[  306.264805] usb 1-2: dvb_usb_af9015: command failed=1
[  306.264819] mxl5007t_write_reg: 473: failed!
[  306.264826] mxl5007t_sleep: error -121 on line 714
[  306.265298] usb 1-2: dvb_usb_af9015: command failed=1
[  306.265306] mxl5007t_write_reg: 473: failed!
[  306.265309] mxl5007t_sleep: error -121 on line 716



  reply	other threads:[~2015-05-13  3:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08 10:20 dvb_usb_af9015: command failed=1 - stable: 4.0.2 poma
2015-05-08 10:59 ` poma
2015-05-10 10:38   ` dvb_usb_af9015: command failed=1 >= 3.19.x poma
2015-05-10 22:25     ` dvb_usb_af9015: command failed=1 _ lsdvb " poma
2015-05-11 18:43       ` dvb_usb_af9015: command failed=1 _ kernel >= 4.1.x poma
2015-05-12 14:11         ` Antti Palosaari
2015-05-13  3:56           ` poma [this message]
2015-05-16 23:07             ` Antti Palosaari
2015-05-18 19:15               ` poma
2015-05-21 21:23                 ` poma
2015-05-26 12:24                   ` poma
2015-07-02 23:02                     ` poma
  -- strict thread matches above, loose matches on Subject: below --
2015-07-06 20:17 Jose Alberto Reguero
2015-07-07  8:48 ` poma
2015-07-13  9:48   ` poma
2015-07-31 15:03     ` poma
     [not found]       ` <CAAZRmGym49dG6Jj-ZeKZmy0rgr4ozph7-ggjLoWtGOvT1m4oBA@mail.gmail.com>
2015-08-10 21:46         ` poma
2015-08-10 22:40           ` Antti Palosaari
2015-08-12 23:52             ` poma

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=5552CB67.8070106@gmail.com \
    --to=pomidorabelisima@gmail.com \
    --cc=abraham.manu@gmail.com \
    --cc=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    --cc=mkrufky@linuxtv.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).