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@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html