Re: [PATCH RESEND] Revert "media: dvbsky: use just one mutex for serializing device R/W ops"

2018-10-05 Thread Oliver Freyermuth
Dear Mauro,

thanks! Just to clarify, the issue I described in 
https://bugzilla.kernel.org/show_bug.cgi?id=199323
was on an Intel x86_64 system, with an onboard USB Controller handled by the 
standard xhci driver,
so this does not affect RPi alone. 

Cheers and thanks,
Oliver

Am 05.10.18 um 16:26 schrieb Mauro Carvalho Chehab:
> As pointed at:
>   https://bugzilla.kernel.org/show_bug.cgi?id=199323
> 
> This patch causes a bad effect on RPi. I suspect that the root
> cause is at the USB RPi driver, with uses high priority
> interrupts instead of normal ones. Anyway, as this patch
> is mostly a cleanup, better to revert it.
> 
> This reverts commit 7d95fb746c4eece67308f1642a666ea1ebdbd2cc.
> 
> Cc: sta...@vger.kernel.org # For Kernel 4.18
> Signed-off-by: Mauro Carvalho Chehab 
> ---
> 
> Re-sending it with the right message ID
> 
>  drivers/media/usb/dvb-usb-v2/dvbsky.c | 16 ++--
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/usb/dvb-usb-v2/dvbsky.c 
> b/drivers/media/usb/dvb-usb-v2/dvbsky.c
> index 1aa88d94e57f..e28bd8836751 100644
> --- a/drivers/media/usb/dvb-usb-v2/dvbsky.c
> +++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c
> @@ -31,6 +31,7 @@ MODULE_PARM_DESC(disable_rc, "Disable inbuilt IR 
> receiver.");
>  DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
>  
>  struct dvbsky_state {
> + struct mutex stream_mutex;
>   u8 ibuf[DVBSKY_BUF_LEN];
>   u8 obuf[DVBSKY_BUF_LEN];
>   u8 last_lock;
> @@ -67,17 +68,18 @@ static int dvbsky_usb_generic_rw(struct dvb_usb_device *d,
>  
>  static int dvbsky_stream_ctrl(struct dvb_usb_device *d, u8 onoff)
>  {
> + struct dvbsky_state *state = d_to_priv(d);
>   int ret;
> - static u8 obuf_pre[3] = { 0x37, 0, 0 };
> - static u8 obuf_post[3] = { 0x36, 3, 0 };
> + u8 obuf_pre[3] = { 0x37, 0, 0 };
> + u8 obuf_post[3] = { 0x36, 3, 0 };
>  
> - mutex_lock(>usb_mutex);
> - ret = dvb_usbv2_generic_rw_locked(d, obuf_pre, 3, NULL, 0);
> + mutex_lock(>stream_mutex);
> + ret = dvbsky_usb_generic_rw(d, obuf_pre, 3, NULL, 0);
>   if (!ret && onoff) {
>   msleep(20);
> - ret = dvb_usbv2_generic_rw_locked(d, obuf_post, 3, NULL, 0);
> + ret = dvbsky_usb_generic_rw(d, obuf_post, 3, NULL, 0);
>   }
> - mutex_unlock(>usb_mutex);
> + mutex_unlock(>stream_mutex);
>   return ret;
>  }
>  
> @@ -606,6 +608,8 @@ static int dvbsky_init(struct dvb_usb_device *d)
>   if (ret)
>   return ret;
>   */
> + mutex_init(>stream_mutex);
> +
>   state->last_lock = 0;
>  
>   return 0;
> 


[Regression] DVBSky S960CI hard broken in 4.18

2018-09-30 Thread Oliver Freyermuth
Hi all,

sorry to bump this, but I wonder whether I could help by submitting a [PATCH] 
reverting the buggy change from 7d95fb7 ? 
As discussed in https://bugzilla.kernel.org/show_bug.cgi?id=199323 , the 
widespread card is unusable since 7d95fb7 . 

Please include me in any replies, I am not subscribed to the list. 

Cheers,
Oliver

Am 24.09.18 um 22:26 schrieb Oliver Freyermuth:
> Dear DVB experts,
> 
> commit:
> 7d95fb7 - media: dvbsky: use just one mutex for serializing device R/W ops
> hard breaks DVBSky cards. 
> Also the previous locking commits have caused several runtime issues. 
> 
> Since the bug tracker is not regularly checked, I'd love to make everybody 
> aware of the corresponding issue
> with much more detail: 
> https://bugzilla.kernel.org/show_bug.cgi?id=199323
> which has gotten large attention from several users. 
> 
> From my side, I can confirm that reverting 7d95fb7 makes the card work again 
> for me. on 4.18. 
> With 7d95fb7 applied, the card tunes fine, but does not deliver any data. 
> 
> Please include me in any replies, I am not subscribed to the list. 
> 
> Cheers and all the best,
>   Oliver
> 


DVBSky S960CI hard broken in 4.18

2018-09-24 Thread Oliver Freyermuth
Dear DVB experts,

commit:
7d95fb7 - media: dvbsky: use just one mutex for serializing device R/W ops
hard breaks DVBSky cards. 
Also the previous locking commits have caused several runtime issues. 

Since the bug tracker is not regularly checked, I'd love to make everybody 
aware of the corresponding issue
with much more detail: 
https://bugzilla.kernel.org/show_bug.cgi?id=199323
which has gotten large attention from several users. 

>From my side, I can confirm that reverting 7d95fb7 makes the card work again 
>for me. on 4.18. 
With 7d95fb7 applied, the card tunes fine, but does not deliver any data. 

Please include me in any replies, I am not subscribed to the list. 

Cheers and all the best,
Oliver


m88ds3103 (in a DVBSky S960CI ) loses lock, does not re-gain by itself - unless FE_CAN_RECOVER is removed

2015-01-12 Thread Oliver Freyermuth
Dear DVB-experts, 

since recently I own a DVBSky S960CI incorporating a m88ds3103. I am on 3.18.2 
with two patches from 3.19 in (the S960 CI support + the dvb-usb-dvbsky: fix 
i2c adapter for sp2 device commit), using firmware 3.B for the m88ds3103. 

My card is connected to a Quad LNB, to which also two set-top-box receivers and 
a TV with internal receiver are wired. No extra multiswitch. 

The card locks fine and has good reception (szap-s2 output): 
status 1f | signal c4e9 | snr 009a | ber  | unc fffe | FE_HAS_LOCK
but whenever one of the three other devices connected to the same Quad LNB is 
turned on / off, the LOCK is lost and not regained unless I explicitly retune, 
e.g. by restarting szap-s2. 

Following an intuitive feeling, I removed FE_CAN_RECOVER from the static 
struct dvb_frontend_ops m88ds3103_ops.info.caps, thus activating the 
swzigzag-recover method in dvb-frontend.c which seems to be disabled by the 
CAN_RECOVER capability of a device. 

After rebuilding my kernel, the card now reacquires the lock by itself 
following the swzigzag procedure. Below the mail, you can find some debug 
output I captured with my kernel after removing FE_CAN_RECOVER. 

Is FE_CAN_RECOVER really true for this device? Is something broken in my setup 
(the LNB is only a few days old)? Is there a better solution, maybe it would be 
a good idea to have a generic fallback to swzigzag in any case even for 
(supposedly) FE_CAN_RECOVER-capable frontends if they do not recover on their 
own? 

I would be grateful for any advice on finally getting into a stable situation - 
I already own one Terratec S7 (for which the driver, or firmware, can not tune 
to S2 channels, but works fine with the Windows-driver) and an aparently broken 
TT3650CI which creates broken packages out of nowhere every few seconds (both 
Windows and Linux) and I am slowly running out of functional DVB-USB (with CI) 
hardware. 

Cheers and thanks for any help, 
Oliver

--


$ ./szap-s2 -h -V -c ~/.mpv/channelsS2VDR.conf -r Das Erste HD;ARD -S1
reading channels from file '/home/olifre/.mpv/channelsS2VDR.conf'
zapping to 209 'Das Erste HD;ARD':
delivery DVB-S2, modulation 8PSK
sat 0, frequency 11493 MHz H, symbolrate 2200, coderate 2/3, rolloff 0.35 
stream_id -1
vpid 0x13ed, apid 0x13ee, sid 0x283d
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
Filtering for PID= 0x13ed
Filtering for PID= 0x13ee
status 00 | signal  | snr 005a | ber  | unc fffe | 
status 1f | signal c4e9 | snr 009c | ber  | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 009c | ber  | unc fffe | FE_HAS_LOCK
...
putting one of the other receivers in standby
...
status 1f | signal c4e9 | snr 009a | ber  | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 009a | ber  | unc fffe | FE_HAS_LOCK
status 00 | signal c4e9 | snr 0075 | ber  | unc fffe | 
status 00 | signal c4e9 | snr 0068 | ber 7e5f | unc fffe | 
status 00 | signal c4e9 | snr 0068 | ber 7e5f | unc fffe | 
status 00 | signal c4e9 | snr 0068 | ber 7e5f | unc fffe | 
status 1f | signal c4e9 | snr 008b | ber 7e5f | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0096 | ber 7e5f | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0099 | ber 7e5f | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 009a | ber 0001 | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 009b | ber 0001 | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0099 | ber 0001 | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0099 | ber 0001 | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 009a | ber  | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0097 | ber  | unc fffe | FE_HAS_LOCK
status 1f | signal c4e9 | snr 0093 | ber  | unc fffe | FE_HAS_LOCK


In kernel log with dyndebug on, from when lock was lost: 
...
Jan 12 19:55:19 alien17 kernel: [  510.022420] i2c i2c-9: 
m88ds3103_read_status: lock=8f status=1f
Jan 12 19:55:19 alien17 kernel: [  510.022424] usb 1-1: 
dvb_frontend_swzigzag_update_delay:
Jan 12 19:55:19 alien17 kernel: [  510.545510] dvb_dmx_swfilter_packet: 46431 
callbacks suppressed
Jan 12 19:55:19 alien17 kernel: [  510.545513] TEI detected. PID=0x13f7 
data1=0x93
Jan 12 19:55:19 alien17 kernel: [  510.545514] TEI detected. PID=0x12fb 
data1=0x92
Jan 12 19:55:19 alien17 kernel: [  510.545515] TEI detected. PID=0x1c39 
data1=0x9c
Jan 12 19:55:19 alien17 kernel: [  510.545516] TEI detected. PID=0xf6f 
data1=0xcf
Jan 12 19:55:19 alien17 kernel: [  510.545517] TEI detected. PID=0x14 data1=0xc0
Jan 12 19:55:19 alien17 kernel: [  510.545518] TEI detected. PID=0x1a09 
data1=0xba
Jan 12 19:55:19 alien17 kernel: [  510.545519] TEI detected. PID=0xc82 
data1=0xec
Jan 12 19:55:19 alien17 kernel: [  510.545520] TEI detected. PID=0x1b5 
data1=0xa1
Jan 12 19:55:19 

Re: [PATCH] Add support for PCTV452E.

2011-07-30 Thread Oliver Freyermuth
Am 23.07.2011 13:24, schrieb Steffen Barszus:
  On Tue, 24 May 2011 21:51:22 +0200
  Hans Petter Selasky hsela...@c2i.net wrote:
 
  NOTES:
 
  Sources were taken from the following repositorium as of today:
  http://mercurial.intuxication.org/hg/s2-liplianin/
 
  And depend on the zig-zag fix posted today.
 
  Did a first test on the patch.
  [   96.780040] usb 1-8: new high speed USB device using ehci_hcd and
address 5
  [   97.376058] dvb_usb_pctv452e: Unknown symbol
ttpci_eeprom_decode_mac (err 0)
 
Same here.

  Looks like this patch didn't make it into patchwork - Mauro can you
  check that ?
 
 
  I think the patch for ttpci-eeprom.c is missing this:
 
  --- linux/drivers/media/dvb/ttpci/ttpci-eeprom.c.orig   2011-07-23
11:00:49.0 +
  +++ linux/drivers/media/dvb/ttpci/ttpci-eeprom.c2011-07-23
11:04:00.0 +
  @@ -165,6 +165,7 @@ int ttpci_eeprom_parse_mac(struct i2c_ad
   }
 
   EXPORT_SYMBOL(ttpci_eeprom_parse_mac);
  +EXPORT_SYMBOL(ttpci_eeprom_decode_mac);
 
   MODULE_LICENSE(GPL);
   MODULE_AUTHOR(Ralph Metzler, Marcus Metzler, others);
This patch indeed fixed it for me.
Module now loads, detects the card and appears to be successful.

However, when I try to tune, syslog shows:
Jul 29 02:46:00 sandy kernel: [  122.986314] pctv452e_power_ctrl: 1
Jul 29 02:46:01 sandy kernel: [  124.041037] pctv452e: I2C error -121;
AA 31  CC 00 01 - 55 31  CC 00 00.
Jul 29 02:46:01 sandy kernel: [  124.056408] pctv452e: I2C error -121;
AA 48  CC 00 01 - 55 48  CC 00 00.
Jul 29 02:46:01 sandy kernel: [  124.100998] pctv452e: I2C error -121;
AA 63  CC 00 01 - 55 63  CC 00 00.
[...cut...]
Jul 29 02:46:30 sandy kernel: [  153.265552] pctv452e: I2C error -121;
AA 95  CC 00 01 - 55 95  CC 00 00.
Jul 29 02:46:31 sandy kernel: [  153.812108] pctv452e_power_ctrl: 0

Tuning is not possible here (Kernel 3.0 in use).
Anybody with the same issue?

Reference for the 'normal' users who just want to use their card:
I have now downgraded to 2.6.38 again on my Sandy Bridge board
(sacrificing working reboot...) for s2liplianin does not like
bkl-removal in 2.6.39 and definitely no 3.0-tree.

s2liplianin on 2.6.38 works perfectly with this card. It also has much
better support for my other az6027 than the in-tree-modules (still, no
signal for any DVB-S2 with the az6027).

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


az6027: Terratec S7 has no signal on S2-transponders

2011-05-14 Thread Oliver Freyermuth
Hi all,

I use a Terratec S7 MKII with dvb_usb_az6027. DVB-S channels are working
fine, but when trying to lock on DVB-S2 channels, the signal level drops
to zero.

Google and Windows told me this problem is not limited to me, and trying
out s2-liplianin, in-kernel drivers of 2.6.38 and media-build.git did
not help.

As I have this hardware and C-knowledge here, I offer any help that
might be needed in tracking down the problem. If there is something like
an USB-trace/-sniffing to do (device works fine in Windows-VM), a RTFM
with an URL would be fine.

Furthermore, scanning Astra S19E2 takes ~90min with w_scan, as compared
to 3-5min on Windows, so there appears to be also some problem
tuning-related for DVB-S.

-
If this is the wrong place to ask, please ignore the message and direct
me somewhere else.
-

All help is very much appreciated!

Thx

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