Il 13/01/2012 12:21, Mauro Carvalho Chehab ha scritto: > Em 12-01-2012 14:22, Gianluca Gennari escreveu: >> Il 11/01/2012 20:19, Jim Darby ha scritto: >>> On 11/01/12 01:05, Antti Palosaari wrote: >>>> [snip] >>>> Also latest LinuxTV.org devel could be interesting to see. There is >>>> one patch that changes em28xx driver endpoint configuration. But as >>>> that patch is going for 3.3 it should not be cause of issue, but I >>>> wonder if it could fix... Use media_build.git if possible. >>> >>> Well, I built the kernel and installed it. Sadly I get entries of the >>> form: "dvb_frontend_ioctl_legacy: doesn't know how to handle a DVBv3 >>> call to delivery system 0" which isn't what I was looking for. I guess >>> there's a new API? It would appear this is from the set frontend call. >>> >>> This is most annoying as I'd like to try out the newest code. >>> >>> Is there a v3 to v3 transition document anywhere? >>> >>> Best regards, >>> >>> Jim. >>> -- >>> 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 >>> >> >> Hi Jim, >> you spotted a regression in the latest media_build release from >> 11/01/2012. >> I had the same problem here: >> >> "dvb_frontend_ioctl_legacy: doesn't know how to handle a DVBv3 call to >> delivery system 0" >> >> with 3 totally different sticks (em28xx, dvb-usb, as102). >> >> Everything was working fine with media_build drivers from 08/01/2011, so >> the problem originates from a patch committed in the last few days. >> >> In fact, I reverted this patch: >> >> http://patchwork.linuxtv.org/patch/9443/ >> >> and Kaffeine started working again with all my DVB-T sticks. > > Hmm... this patch shouldn't be causing troubles for an application that > only uses DVBv3 call. Is Kaffeine filling the DTV_DELIVERY_SYSTEM with > SYS_UNDEFINED (0)? > > If so, then Kaffeine has a bug, as it is requesting a non-existent > delivery system. > > Could you please turn on the dvb-core debug, and see if it is trying to > do a DVBv5 call with DTV_DELIVERY_SYSTEM? > > Thanks, > Mauro > >> >> Best regards, >> Gianluca > > Hi Mauro, I don't think Kaffeine is (intentionally) messing up with the delivery system. But maybe the issue I've reported is related to this other one. Maybe you remember that I reported a problem on the xc2028 tuner that was reloading all the firmwares each time a new frequency is tuned. As a consequence, the time to switch to a new channel was much higher that usual. I tracked down the problem to the fact that the xc2028 is put in power-off mode and then immediately woken-up each time Kaffeine sets a new frequency. I investigated the issue a bit deeper (enabling debugging also in the dvb-core) and this is what I discovered: [ 1635.878002] dvb_frontend_release [ 1635.878029] xc2028 9-0061: Putting xc2028/3028 into poweroff mode. [ 1635.878041] dvb_frontend_open [ 1635.939253] dvb_frontend_start [ 1635.939326] dvb_frontend_thread [ 1635.939332] DVB: initialising adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)... [ 1635.939504] dvb_frontend_ioctl (76) [ 1635.942896] set_delivery_system() Using delivery system to 3 So the frontend is released and then reinitialized each time a new frequency is tuned. This strange behavior was introduced with the conversion of drivers to the DVBv5 API; before, the frontend was initialized just one time. This happens with all drivers: I reproduced the same issue with a stick using the as102 driver (which is completely different from the em28xx-dvb driver). Here is the relevant part of the log: [ 2339.647230] dvb_frontend_release [ 2339.656954] dvb_frontend_open [ 2339.665675] dvb_frontend_start [ 2339.665872] dvb_frontend_thread [ 2339.665878] DVB: initialising adapter 0 frontend 0 (Sky IT Digital Key (green led))... [ 2339.666049] dvb_frontend_ioctl (76) [ 2339.666053] set_delivery_system() Using delivery system to 3 [ 2339.666057] dtv_property_cache_sync() Preparing OFDM req [ 2339.666060] dvb_frontend_add_event I'm attaching a longer log file with 2 consecutive channel switches for each of the 2 drivers. I have no idea if this is a bug in Kaffeine that is triggered by the new DVBv3 emulation logic, or a bug in the emulation logic itself. Best regards, Gianluca
tune a new channel: [ 1635.878002] dvb_frontend_release [ 1635.878029] xc2028 9-0061: Putting xc2028/3028 into poweroff mode. [ 1635.878041] dvb_frontend_open [ 1635.939253] dvb_frontend_start [ 1635.939326] dvb_frontend_thread [ 1635.939332] DVB: initialising adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)... [ 1635.939504] dvb_frontend_ioctl (76) [ 1635.942896] set_delivery_system() Using delivery system to 3 [ 1635.942901] dtv_property_cache_sync() Preparing OFDM req [ 1635.942905] dvb_frontend_add_event [ 1635.942922] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 [ 1635.951507] xc2028 9-0061: xc2028_set_params called [ 1635.951513] xc2028 9-0061: generic_set_freq called [ 1635.951517] xc2028 9-0061: should set frequency 514000 kHz [ 1635.951521] xc2028 9-0061: check_firmware called [ 1635.951524] xc2028 9-0061: checking firmware, user requested type=F8MHZ MTS D2633 DTV8 (216), id 0000000000000000, int_freq 4760, scode_nr 0 [ 1636.011210] xc2028 9-0061: load_firmware called [ 1636.011215] xc2028 9-0061: seek_firmware called, want type=BASE F8MHZ MTS D2633 DTV8 (217), id 0000000000000000. [ 1636.011225] xc2028 9-0061: Found firmware for type=BASE F8MHZ MTS (7), id 0000000000000000. [ 1636.011232] xc2028 9-0061: Loading firmware for type=BASE F8MHZ MTS (7), id 0000000000000000. [ 1636.043183] dvb_frontend_ioctl (69) [ 1637.142869] xc2028 9-0061: Load init1 firmware, if exists [ 1637.142874] xc2028 9-0061: load_firmware called [ 1637.142878] xc2028 9-0061: seek_firmware called, want type=BASE INIT1 F8MHZ MTS D2633 DTV8 (4217), id 0000000000000000. [ 1637.142888] xc2028 9-0061: Can't find firmware for type=BASE INIT1 F8MHZ MTS (4007), id 0000000000000000. [ 1637.142896] xc2028 9-0061: load_firmware called [ 1637.142900] xc2028 9-0061: seek_firmware called, want type=BASE INIT1 MTS D2633 DTV8 (4215), id 0000000000000000. [ 1637.142908] xc2028 9-0061: Can't find firmware for type=BASE INIT1 MTS (4005), id 0000000000000000. [ 1637.142915] xc2028 9-0061: load_firmware called [ 1637.142918] xc2028 9-0061: seek_firmware called, want type=F8MHZ MTS D2633 DTV8 (216), id 0000000000000000. [ 1637.142926] xc2028 9-0061: Found firmware for type=D2633 DTV8 (210), id 0000000000000000. [ 1637.142932] xc2028 9-0061: Loading firmware for type=D2633 DTV8 (210), id 0000000000000000. [ 1637.158858] xc2028 9-0061: Trying to load scode 0 [ 1637.158862] xc2028 9-0061: load_scode called [ 1637.158866] xc2028 9-0061: Loading SCODE for type=DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0000000000000000. [ 1637.161447] xc2028 9-0061: xc2028_get_reg 0004 called [ 1637.162448] xc2028 9-0061: xc2028_get_reg 0008 called [ 1637.163483] xc2028 9-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 [ 1637.282661] xc2028 9-0061: divisor= 00 00 7f d0 (freq=514.000) [ 1637.286984] dvb_frontend_ioctl (69) [ 1637.387161] dvb_frontend_ioctl (69) [ 1637.486899] dvb_frontend_ioctl (69) [ 1637.587114] dvb_frontend_ioctl (69) [ 1637.686811] dvb_frontend_ioctl (69) [ 1637.786782] dvb_frontend_ioctl (69) [ 1637.886734] dvb_frontend_ioctl (69) [ 1637.986691] dvb_frontend_ioctl (69) [ 1638.086911] dvb_frontend_ioctl (69) [ 1638.186597] dvb_frontend_ioctl (69) [ 1638.285137] dvb_frontend_add_event [ 1638.288343] dtv_property_legacy_params_sync() Preparing OFDM req [ 1638.288348] dvb_frontend_swzigzag_update_delay [ 1639.804660] dvb_frontend_swzigzag_update_delay [ 1641.036254] dvb_frontend_swzigzag_update_delay and then another one: [ 1732.409089] dvb_frontend_release [ 1732.409115] xc2028 9-0061: Putting xc2028/3028 into poweroff mode. [ 1732.409135] dvb_frontend_open [ 1732.468844] dvb_frontend_start [ 1732.468983] dvb_frontend_thread [ 1732.468989] DVB: initialising adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)... [ 1732.469155] dvb_frontend_ioctl (76) [ 1732.472520] set_delivery_system() Using delivery system to 3 [ 1732.472525] dtv_property_cache_sync() Preparing OFDM req [ 1732.472529] dvb_frontend_add_event [ 1732.472546] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 [ 1732.480508] xc2028 9-0061: xc2028_set_params called [ 1732.480515] xc2028 9-0061: generic_set_freq called [ 1732.480521] xc2028 9-0061: should set frequency 626000 kHz [ 1732.480526] xc2028 9-0061: check_firmware called [ 1732.480529] xc2028 9-0061: checking firmware, user requested type=F8MHZ MTS D2633 DTV8 (216), id 0000000000000000, int_freq 4760, scode_nr 0 [ 1732.540685] xc2028 9-0061: load_firmware called [ 1732.540693] xc2028 9-0061: seek_firmware called, want type=BASE F8MHZ MTS D2633 DTV8 (217), id 0000000000000000. [ 1732.540708] xc2028 9-0061: Found firmware for type=BASE F8MHZ MTS (7), id 0000000000000000. [ 1732.540719] xc2028 9-0061: Loading firmware for type=BASE F8MHZ MTS (7), id 0000000000000000. [ 1732.572568] dvb_frontend_ioctl (69) [ 1733.673001] xc2028 9-0061: Load init1 firmware, if exists [ 1733.673006] xc2028 9-0061: load_firmware called [ 1733.673010] xc2028 9-0061: seek_firmware called, want type=BASE INIT1 F8MHZ MTS D2633 DTV8 (4217), id 0000000000000000. [ 1733.673021] xc2028 9-0061: Can't find firmware for type=BASE INIT1 F8MHZ MTS (4007), id 0000000000000000. [ 1733.673029] xc2028 9-0061: load_firmware called [ 1733.673032] xc2028 9-0061: seek_firmware called, want type=BASE INIT1 MTS D2633 DTV8 (4215), id 0000000000000000. [ 1733.673041] xc2028 9-0061: Can't find firmware for type=BASE INIT1 MTS (4005), id 0000000000000000. [ 1733.673048] xc2028 9-0061: load_firmware called [ 1733.673051] xc2028 9-0061: seek_firmware called, want type=F8MHZ MTS D2633 DTV8 (216), id 0000000000000000. [ 1733.673059] xc2028 9-0061: Found firmware for type=D2633 DTV8 (210), id 0000000000000000. [ 1733.673065] xc2028 9-0061: Loading firmware for type=D2633 DTV8 (210), id 0000000000000000. [ 1733.689120] xc2028 9-0061: Trying to load scode 0 [ 1733.689125] xc2028 9-0061: load_scode called [ 1733.689129] xc2028 9-0061: Loading SCODE for type=DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0000000000000000. [ 1733.691748] xc2028 9-0061: xc2028_get_reg 0004 called [ 1733.692866] xc2028 9-0061: xc2028_get_reg 0008 called [ 1733.693863] xc2028 9-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 [ 1733.812264] xc2028 9-0061: divisor= 00 00 9b d0 (freq=626.000) [ 1733.836716] dvb_frontend_ioctl (69) [ 1733.936676] dvb_frontend_ioctl (69) [ 1734.036641] dvb_frontend_ioctl (69) [ 1734.136737] dvb_frontend_ioctl (69) [ 1734.358896] dvb_frontend_ioctl (69) [ 1734.458855] dvb_frontend_ioctl (69) [ 1734.814927] dvb_frontend_add_event [ 1734.818626] dtv_property_legacy_params_sync() Preparing OFDM req [ 1734.818631] dvb_frontend_swzigzag_update_delay [ 1736.334002] dvb_frontend_swzigzag_update_delay [ 1737.565861] dvb_frontend_swzigzag_update_delay AS102 [ 2339.647230] dvb_frontend_release [ 2339.656954] dvb_frontend_open [ 2339.665675] dvb_frontend_start [ 2339.665872] dvb_frontend_thread [ 2339.665878] DVB: initialising adapter 0 frontend 0 (Sky IT Digital Key (green led))... [ 2339.666049] dvb_frontend_ioctl (76) [ 2339.666053] set_delivery_system() Using delivery system to 3 [ 2339.666057] dtv_property_cache_sync() Preparing OFDM req [ 2339.666060] dvb_frontend_add_event [ 2339.666077] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 [ 2339.666085] tuner parameters: freq: 514000000 bw: 0x03 gi: 0xff [ 2339.766090] dvb_frontend_ioctl (69) [ 2339.766732] tuner status: 0x03, strength 98, per: 10000, ber: 65535 [ 2339.866191] dvb_frontend_ioctl (69) [ 2339.867329] tuner status: 0x04, strength 99, per: 10000, ber: 65535 [ 2339.966003] dvb_frontend_ioctl (69) [ 2339.966734] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.066000] dvb_frontend_ioctl (69) [ 2340.071284] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.165908] dvb_frontend_ioctl (69) [ 2340.166787] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.265947] dvb_frontend_ioctl (69) [ 2340.266363] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.365813] dvb_frontend_ioctl (69) [ 2340.371035] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.465773] dvb_frontend_ioctl (69) [ 2340.466662] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.565720] dvb_frontend_ioctl (69) [ 2340.566074] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.664688] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2340.664693] dvb_frontend_add_event [ 2340.664699] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:1 auto_sub_step:0 started_auto_step:0 [ 2340.664704] tuner parameters: freq: 514000000 bw: 0x03 gi: 0xff [ 2340.665682] dvb_frontend_ioctl (69) [ 2340.666826] tuner status: 0x02, strength 99, per: 10000, ber: 37500 [ 2340.765637] dvb_frontend_ioctl (69) [ 2340.766308] tuner status: 0x03, strength 99, per: 10000, ber: 65535 [ 2340.865594] dvb_frontend_ioctl (69) [ 2340.870909] tuner status: 0x03, strength 99, per: 10000, ber: 65535 [ 2340.965547] dvb_frontend_ioctl (69) [ 2340.966315] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2341.065496] dvb_frontend_ioctl (69) [ 2341.065900] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2341.184028] dvb_frontend_ioctl (69) [ 2341.184724] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2341.664281] tuner status: 0x02, strength 99, per: 10000, ber: 65535 [ 2341.664286] dvb_frontend_add_event [ 2341.664291] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:2 auto_sub_step:0 started_auto_step:0 [ 2341.664297] tuner parameters: freq: 514000000 bw: 0x03 gi: 0xff [ 2342.664227] tuner status: 0x04, strength 99, per: 10000, ber: 37500 [ 2342.664232] dvb_frontend_add_event [ 2342.664236] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:3 auto_sub_step:0 started_auto_step:0 [ 2342.664242] tuner parameters: freq: 514000000 bw: 0x03 gi: 0xff [ 2343.663928] tuner status: 0x04, strength 98, per: 10000, ber: 5138 [ 2343.663935] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:4 auto_sub_step:0 started_auto_step:0 [ 2343.663941] tuner parameters: freq: 514000000 bw: 0x03 gi: 0xff another one: [ 2402.863701] dvb_frontend_release [ 2402.867110] dvb_frontend_open [ 2402.870852] dvb_frontend_start [ 2402.871035] dvb_frontend_thread [ 2402.871042] DVB: initialising adapter 0 frontend 0 (Sky IT Digital Key (green led))... [ 2402.871209] dvb_frontend_ioctl (76) [ 2402.871213] set_delivery_system() Using delivery system to 3 [ 2402.871217] dtv_property_cache_sync() Preparing OFDM req [ 2402.871220] dvb_frontend_add_event [ 2402.871236] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 [ 2402.871243] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff [ 2402.971413] dvb_frontend_ioctl (69) [ 2402.976686] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.071396] dvb_frontend_ioctl (69) [ 2403.072257] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.171163] dvb_frontend_ioctl (69) [ 2403.171692] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.271114] dvb_frontend_ioctl (69) [ 2403.272193] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.371069] dvb_frontend_ioctl (69) [ 2403.371656] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.471028] dvb_frontend_ioctl (69) [ 2403.472191] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.570990] dvb_frontend_ioctl (69) [ 2403.571672] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.670999] dvb_frontend_ioctl (69) [ 2403.672131] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.770904] dvb_frontend_ioctl (69) [ 2403.771708] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.870302] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2403.870310] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:1 auto_sub_step:0 started_auto_step:0 [ 2403.870315] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff [ 2403.870945] dvb_frontend_ioctl (69) [ 2403.872276] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2404.077607] dvb_frontend_ioctl (69) [ 2404.082967] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2404.177559] dvb_frontend_ioctl (69) [ 2404.178813] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2404.277511] dvb_frontend_ioctl (69) [ 2404.278629] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2404.377533] dvb_frontend_ioctl (69) [ 2404.378485] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2404.477430] dvb_frontend_ioctl (69) [ 2404.478309] tuner status: 0x02, strength 102, per: 10000, ber: 65535 [ 2404.869773] tuner status: 0x04, strength 102, per: 10000, ber: 65535 [ 2404.869778] dvb_frontend_add_event [ 2404.869784] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:2 auto_sub_step:0 started_auto_step:0 [ 2404.869789] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff [ 2405.869351] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2405.869356] dvb_frontend_add_event [ 2405.869362] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:3 auto_sub_step:0 started_auto_step:0 [ 2405.869367] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff [ 2406.868800] tuner status: 0x02, strength 103, per: 10000, ber: 65535 [ 2406.868807] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:4 auto_sub_step:0 started_auto_step:0 [ 2406.868813] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff [ 2407.868249] tuner status: 0x02, strength 102, per: 10000, ber: 65535 [ 2407.868256] dvb_frontend_swzigzag_autotune: drift:0 inversion:0 auto_step:5 auto_sub_step:0 started_auto_step:0 [ 2407.868262] tuner parameters: freq: 626000000 bw: 0x03 gi: 0xff