dvb_usb_af9015: command failed=1 _ kernel >= 4.1.x

Message ID 5552CB67.8070106@gmail.com (mailing list archive)
State RFC, archived
Headers

Commit Message

poma May 13, 2015, 3:56 a.m. UTC
  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(-)



$ 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


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Antti Palosaari May 16, 2015, 11:07 p.m. UTC | #1
On 05/13/2015 06:56 AM, poma wrote:
> 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:
> 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!

try that
http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/commit/?h=af9015_mxl5007t_1

Antti
  
poma May 18, 2015, 7:15 p.m. UTC | #2
On 17.05.2015 01:07, Antti Palosaari wrote:
> 
> 
> On 05/13/2015 06:56 AM, poma wrote:
>> 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:
>> 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!
> 
> try that
> http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/commit/?h=af9015_mxl5007t_1
> 
> Antti
> 

Thanks.
For now, I have noticed, unlike before the EIT program data are updated in full and promptly.

I'll be back in a week.


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
poma May 21, 2015, 9:23 p.m. UTC | #3
On 18.05.2015 21:15, poma wrote:
> On 17.05.2015 01:07, Antti Palosaari wrote:
...
>> try that
>> http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/commit/?h=af9015_mxl5007t_1
>>
>> Antti
>>
> 
> Thanks.
> For now, I have noticed, unlike before the EIT program data are updated in full and promptly.
> 
> I'll be back in a week.
> 
> 

No need to continue to test this patch because this is repeated:

BOOT from S5/Soft Off:

[    1.007886] usb 1-2: Product: DVB-T 2
[    1.032430] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[    1.035255] 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.089852] 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
[   13.353105] usb 1-2: dvb_usb_v2: found a 'Afatech AF9015 reference design' in warm state
[   13.557671] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   13.558315] DVB: registering new adapter (Afatech AF9015 reference design)
[   13.726582] usb 1-2: DVB: registering adapter 0 frontend 0 (Afatech AF9013)...
[   13.814649] mxl5007t 13-00c0: creating new instance
[   13.817588] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[   13.820460] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[   13.824594] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   13.825234] DVB: registering new adapter (Afatech AF9015 reference design)
[   14.040582] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
[   14.040921] mxl5007t 13-00c0: attaching existing instance
[   14.043201] usb 1-2: dvb_usb_af9015: command failed=1
[   14.043429] mxl5007t_read_reg: 505: failed!
[   14.043656] mxl5007t_get_chip_id: error -121 on line 824
[   14.043880] mxl5007t_get_chip_id: unable to identify device @ 13-00c0
[   14.044698] usb 1-2: dvb_usb_af9015: command failed=1
[   14.044911] mxl5007t_soft_reset: 527: failed!
[   14.046841] mxl5007t_attach: error -121 on line 914
[   14.051434] usbcore: registered new interface driver dvb_usb_af9015

$ ls /dev/dvb/
ls: cannot access /dev/dvb/: No such file or directory

# modprobe -rv dvb_usb_af9015 mxl5007t
rmmod dvb_usb_af9015
rmmod dvb_usb_v2
rmmod rc_core
rmmod dvb_core
rmmod mxl5007t

# modprobe -v dvb_usb_af9015
insmod /lib/modules/4.0.4-502.fc21.x86_64/kernel/drivers/media/rc/rc-core.ko.xz 
insmod /lib/modules/4.0.4-502.fc21.x86_64/kernel/drivers/media/dvb-core/dvb-core.ko.xz 
insmod /lib/modules/4.0.4-502.fc21.x86_64/kernel/drivers/media/usb/dvb-usb-v2/dvb_usb_v2.ko.xz 
insmod /lib/modules/4.0.4-502.fc21.x86_64/kernel/drivers/media/usb/dvb-usb-v2/dvb-usb-af9015.ko.xz 

[ 2101.659729] usbcore: deregistering interface driver dvb_usb_af9015
[ 2117.056136] usb 1-2: dvb_usb_v2: found a 'Afatech AF9015 reference design' in warm state
[ 2117.265520] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 2117.265607] DVB: registering new adapter (Afatech AF9015 reference design)
[ 2117.268348] i2c i2c-13: af9013: firmware version 5.1.0.0
[ 2117.274958] usb 1-2: DVB: registering adapter 0 frontend 0 (Afatech AF9013)...
[ 2117.280031] mxl5007t 13-00c0: creating new instance
[ 2117.281700] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[ 2117.284211] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[ 2117.287208] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 2117.287245] DVB: registering new adapter (Afatech AF9015 reference design)
[ 2117.493132] i2c i2c-13: af9013: found a 'Afatech AF9013' in warm state
[ 2117.496887] i2c i2c-13: af9013: firmware version 5.1.0.0
[ 2117.504373] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
[ 2117.504664] mxl5007t 13-00c0: attaching existing instance
[ 2117.506848] usb 1-2: dvb_usb_af9015: command failed=1
[ 2117.506858] mxl5007t_read_reg: 505: failed!
[ 2117.506864] mxl5007t_get_chip_id: error -121 on line 824
[ 2117.506868] mxl5007t_get_chip_id: unable to identify device @ 13-00c0
[ 2117.507344] usb 1-2: dvb_usb_af9015: command failed=1
[ 2117.507350] mxl5007t_soft_reset: 527: failed!
[ 2117.509007] mxl5007t_attach: error -121 on line 914
[ 2117.511150] usbcore: registered new interface driver dvb_usb_af9015

$ ls /dev/dvb/
ls: cannot access /dev/dvb/: No such file or directory

REBOOT:

[    1.049265] usb 1-2: Product: DVB-T 2
[    1.067810] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[    1.068145] 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.118889] 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
[   12.023590] usb 1-2: dvb_usb_v2: found a 'Afatech AF9015 reference design' in warm state
[   12.225419] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   12.225524] DVB: registering new adapter (Afatech AF9015 reference design)
[   12.238958] usb 1-2: DVB: registering adapter 0 frontend 0 (Afatech AF9013)...
[   12.261783] mxl5007t 13-00c0: creating new instance
[   12.265081] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[   12.267236] mxl5007t_get_chip_id: MxL5007T.v4 detected @ 13-00c0
[   12.270335] usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[   12.270376] DVB: registering new adapter (Afatech AF9015 reference design)
[   12.484761] usb 1-2: DVB: registering adapter 1 frontend 0 (Afatech AF9013)...
[   12.485016] mxl5007t 13-00c0: attaching existing instance
[   12.487225] usb 1-2: dvb_usb_af9015: command failed=1
[   12.487251] mxl5007t_read_reg: 505: failed!
[   12.487266] mxl5007t_get_chip_id: error -121 on line 824
[   12.487281] mxl5007t_get_chip_id: unable to identify device @ 13-00c0
[   12.487716] usb 1-2: dvb_usb_af9015: command failed=1
[   12.487753] mxl5007t_soft_reset: 527: failed!
[   12.489363] mxl5007t_attach: error -121 on line 914
[   12.490589] usbcore: registered new interface driver dvb_usb_af9015

$ ls /dev/dvb
ls: cannot access /dev/dvb: No such file or directory

$ uname -r
4.0.4-502.fc21.x86_64

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
poma May 26, 2015, 12:24 p.m. UTC | #4
If it is not taken into account the already known problem of unreliable operation of the first tuner of the two,
the device works reliably within kernel 4.0.4 with mxl5007t.ko reverted to
http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/drivers/media/tuners/mxl5007t.c?id=ccae7af
that is in the same state as is in the longterm kernel - 3.18.14,
which is in correspondence with the aforementioned results.


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
poma July 2, 2015, 11:02 p.m. UTC | #5
On 26.05.2015 14:24, poma wrote:
> 
> If it is not taken into account the already known problem of unreliable operation of the first tuner of the two,
> the device works reliably within kernel 4.0.4 with mxl5007t.ko reverted to
> http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/drivers/media/tuners/mxl5007t.c?id=ccae7af
> that is in the same state as is in the longterm kernel - 3.18.14,
> which is in correspondence with the aforementioned results.
> 
> 

http://git.linuxtv.org/cgit.cgi/media_tree.git/log/drivers/media/tuners/mxl5007t.c


5. 2014-11-11   [media] [PATH,2/2] mxl5007 move loop_thru to attach
   02f9cf9      Jose Alberto Reguero
   
4. 2014-11-11   [media] [PATH,1/2] mxl5007 move reset to attach
   fe4860a      Jose Alberto Reguero

3. 2013-02-08   Revert "[media] [PATH,1/2] mxl5007 move reset to attach"
   db5c05b      Mauro Carvalho Chehab

2. 2013-02-08   [media] [PATH,1/2] mxl5007 move reset to attach
   0a32377      Jose Alberto Reguero

1. 2012-08-14   [media] common: move media/common/tuners to media/tuners
   ccae7af      Mauro Carvalho Chehab


This is the conclusion after extensive testing,
commitas 5. 4. and 2. produce:

mxl5007t_soft_reset: 521: failed!
mxl5007t_attach: error -121 on line 907

causing the device completely unusable - AF9015 DVB-T USB2.0 stick


Do you need a patch to revert to commita 3. or 1. - again for the third time,
or you have a better solution?


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

--- 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);