Re: dibusb-common.c FE_HAS_LOCK problem

2009-11-23 Thread Mario Bachmann
Am Mon, 23 Nov 2009 10:01:36 +0100 (CET)
schrieb Patrick Boettcher :

> Hi Mario,
> 
> On Sat, 21 Nov 2009, grafgrim...@gmx.de wrote:
> 
> > Am Thu, 19 Nov 2009 16:37:18 +0100 (CET)
> > schrieb Patrick Boettcher :
> >
> >> On Sat, 7 Nov 2009, Mario Bachmann wrote:
> >>
> >>> Hi there,
> >>>
> >>> I tried linux-2.6.31.5 and tuning still does not work:
> >>> tuning to 73800 Hz
> >>> video pid 0x0131, audio pid 0x0132
> >>> status 00 | signal  | snr  | ber 001f | unc  |
> >>> status 00 | signal  | snr  | ber 001f | unc  |
> >>> status 00 | signal  | snr  | ber 001f | unc  |
> >>> status 04 | signal  | snr  | ber 001f | unc  |
> >>>
> >>> With some changes for the following file it works again:
> >>> /usr/src/linux/drivers/media/dvb/dvb-usb/dibusb-common.c
> >>>
> >>> diff -Naur dibusb-common.c-ORIGINAL dibusb-common.c
> >>>
> >>> --- dibusb-common.c-ORIGINAL  2009-11-07 10:30:43.705344308 +0100
> >>> +++ dibusb-common.c   2009-11-07 10:33:49.969345253 +0100
> >>> @@ -133,17 +133,14 @@
> >>>
> >>>   for (i = 0; i < num; i++) {
> >>>   /* write/read request */
> >>> - if (i+1 < num && (msg[i].flags & I2C_M_RD) == 0
> >>> -   && (msg[i+1].flags & I2C_M_RD)) {
> >>> + if (i+1 < num && (msg[i+1].flags & I2C_M_RD)) {
> >>>   if (dibusb_i2c_msg(d, msg[i].addr, 
> >>> msg[i].buf,msg[i].len,
> >>>   msg[i+1].buf,msg[i+1].len) < 0)
> >>>   break;
> >>>   i++;
> >>> - } else if ((msg[i].flags & I2C_M_RD) == 0) {
> >>> + } else
> >>>   if (dibusb_i2c_msg(d, msg[i].addr, 
> >>> msg[i].buf,msg[i].len,NULL,0) < 0)
> >>>   break;
> >>> - } else
> >>> - break;
> >>>   }
> >>
> >> Doing it is reverting a fix which avoids that uncontrolled i2c-access from
> >> userspace is destroying the USB-eeprom.
> >>
> >> I understand that this is breaking the tuning for your board. I'm just not
> >> understanding why.
> >>
> >> If you have some time to debug this issue, could you please try the
> >> following:
> >>
> >> One of the devices for your board is trying to do an I2c access which is
> >> falling into the last 'else'-branch - can you add a printk to find out
> >> which one it is? The access must be wrongly constructed and must be fixed
> >> in that driver.
> >>
> >> thanks,
> >>
> >> PS: if you don't have time to do it, please tell so.
> >>
> >> --
> >>
> >> Patrick
> >> http://www.kernellabs.com/
> >
> > I do not understand exactly. printk what? Could you please give me a
> > complete piece of code with the printk command? Would be great!
> >
> > My printk-tries ends up in an "Oops".
> 
> There is a
>   } else
>   break;
> 
> sequence in dibusb_i2c_xfer
> 
> instead of break, please add something like
> 
> printk(KERN_ERR "- hello stupid I2C access \n");
> 
> recompile and load the new module, then check whether the line is 
> appearing in /var/log/messages or /var/log/syslog when you tune the board.
> 
> If this is the case, try to identify which device is issuing the access by 
> printing the i2c-address of struct i2c_msg.
> 
> HTH,
> --
> 
> Patrick
> http://www.kernellabs.com/

Hello Patrick, 

I tried it with Kernel 2.6.31.6 (same as before). 

I made the printk-change, recompiled and reloaded the modules and pluged in my 
Twinhan Magic Box...
It definately jumps in the last else-branch and shows "hello stupid I2C 
access", but no KERN_ERR ?!

dmesg
usb 4-2: new full speed USB device using ohci_hcd and address 4
usb 4-2: configuration #1 chosen from 1 choice
dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T 
device' in cold state, will try to load a firmware
usb 4-2: firmware: requesting dvb-usb-dibusb-5.0.0.11.fw
dvb-usb: downloading firmware from file 'dvb-usb-dibusb-5.0.0.11.fw'
usbcore: registered new interface driver dvb_usb_dibusb_mb
usb 4-

dibusb-common.c FE_HAS_LOCK problem

2009-11-07 Thread Mario Bachmann
Hi there, 

I tried linux-2.6.31.5 and tuning still does not work: 
tuning to 73800 Hz
video pid 0x0131, audio pid 0x0132
status 00 | signal  | snr  | ber 001f | unc  | 
status 00 | signal  | snr  | ber 001f | unc  | 
status 00 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 

With some changes for the following file it works again:
/usr/src/linux/drivers/media/dvb/dvb-usb/dibusb-common.c

diff -Naur dibusb-common.c-ORIGINAL dibusb-common.c

--- dibusb-common.c-ORIGINAL2009-11-07 10:30:43.705344308 +0100
+++ dibusb-common.c 2009-11-07 10:33:49.969345253 +0100
@@ -133,17 +133,14 @@
 
for (i = 0; i < num; i++) {
/* write/read request */
-   if (i+1 < num && (msg[i].flags & I2C_M_RD) == 0
- && (msg[i+1].flags & I2C_M_RD)) {
+   if (i+1 < num && (msg[i+1].flags & I2C_M_RD)) {
if (dibusb_i2c_msg(d, msg[i].addr, 
msg[i].buf,msg[i].len,
msg[i+1].buf,msg[i+1].len) < 0)
break;
i++;
-   } else if ((msg[i].flags & I2C_M_RD) == 0) {
+   } else
if (dibusb_i2c_msg(d, msg[i].addr, 
msg[i].buf,msg[i].len,NULL,0) < 0)
break;
-   } else
-   break;
}
 
mutex_unlock(&d->i2c_mutex);


With this patch, tuning works again:
tuning to 73800 Hz
video pid 0x0131, audio pid 0x0132
status 00 | signal  | snr  | ber 001f | unc  | 
status 1f | signal  | snr 008d | ber 001f | unc  | FE_HAS_LOCK
status 1f | signal  | snr 00a1 | ber 05a4 | unc 0043 | FE_HAS_LOCK
status 1f | signal  | snr 00a3 | ber 05a4 | unc 0043 | FE_HAS_LOCK
status 1f | signal  | snr 009d | ber  | unc  | FE_HAS_LOCK


This is my DVB-T-Box (dmesg):
usb 4-2: new full speed USB device using ohci_hcd and address 6
usb 4-2: configuration #1 chosen from 1 choice
dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1
DVB-T device' in warm state. dvb-usb: will use the device's hardware
PID filter (table count: 16). DVB: registering new adapter (TwinhanDTV
USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device) DVB:
registering adapter 0 frontend 0 (DiBcom 3000M-B DVB-T)... dibusb: This
device has the Thomson Cable onboard. Which is default. input:
IR-receiver inside an USB DVB receiver
as /devices/pci:00/:00:04.0/usb4/4-2/input/input6 dvb-usb:
schedule remote query interval to 150 msecs. dvb-usb: TwinhanDTV
USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device successfully
initialized and connected.

Mario
--
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


Re: 2.6.32 regression: can't tune DVB with firedtv

2009-10-17 Thread Mario Bachmann
Am Sat, 17 Oct 2009 21:01:50 +0200
schrieb Stefan Richter :

> Hi list,
> 
> I just switched from kernel 2.6.31 to 2.6.32-rc5.  Using kaffeine, I
> can't tune FireDTV-C and FireDTV-T boxes via the firedtv driver
> anymore. Electronic program guide data is still displayed though.
> 
> Under 2.6.31, I used firedtv at the same patchlevel as present in
> 2.6.32-rc5, hence I guess that it is a DVB core problem rather than a
> driver problem.
> 
> Any suggestions where to look for the cause?
> 
> (I am not subscribed to the list.)

Hi there, 

perhaps it is related:
with kernel 2.6.30.8 my "TwinhanDTV USB-Ter USB1.1 / Magic Box I"
worked. 

Now with kernel 2.6.32-rc3 (and 2.6.31.1) the modules seems to be
loaded fine, but tzap/kaffeine/mplayer can not tune to a channel. 

i think the cause must be here:
/usr/src/linux-2.6.32-rc3/drivers/media/dvb/dvb-usb/dibusb-common.c
line 136 to line 146

i changed this hole section to the version of 2.6.30.8 and it works
again.

Mario
--
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


Re: dib3000mb dvb-t with kernel 2.6.32-rc3 do not work

2009-10-14 Thread Mario Bachmann
Hi Patrick, 

I tried linux-2.6.31.4 and tuning still does not work. 

$ tzap $sender -r
status 00 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal 00b2 | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 

Did you read my other email?
The problem must in this file :

/usr/src/linux/drivers/media/dvb/dvb-usb/dibusb-common.c 
line 136 to line 146

i am not familar with the v4l-dvb-hg-repository. I do not know, which
patch exactly causes the problem. 

Greetings
Mario

Am Mon, 5 Oct 2009 15:50:13 +0200 (CEST)
schrieb Patrick Boettcher :

> Hi Mario,
> 
> On Mon, 5 Oct 2009, Mario Bachmann wrote:
> > with kernel 2.6.30.8 my "TwinhanDTV USB-Ter USB1.1 / Magic Box I"
> > worked.
> >
> > Now with kernel 2.6.32-rc3 (and 2.6.31.1) the modules seems to be
> > loaded fine, but tzap/kaffeine/mplayer can not tune to a channel:
> >
> > dmesg says:
> > dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA
> > USB1.1 DVB-T device' in warm state. dvb-usb: will use the device's
> > hardware PID filter (table count: 16). DVB: registering new adapter
> > (TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T
> > device) DVB: registering adapter 0 frontend 0 (DiBcom 3000M-B
> > DVB-T)... dibusb: This device has the Thomson Cable onboard. Which
> > is default. input: IR-receiver inside an USB DVB receiver
> > as /devices/pci:00/:00:04.0/usb4/4-2/input/input5 dvb-usb:
> > schedule remote query interval to 150 msecs. dvb-usb: TwinhanDTV
> > USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
> > successfully initialized and connected. usbcore: registered new
> > interface driver dvb_usb_dibusb_mb
> >
> > [..]
> > and so on. The signal-values are zero or near zero, but when i boot
> > the old kernel 2.6.30.8, t can tune without problems.
> 
> In a personal email to me you are saying that the differences between 
> dibusb-common.c in 2.6.30.8 and 2.6.32-rc3 are the main cause for the 
> problem.
> 
> Is it possible for you find out which exact change is causing the
> trouble?
> 
> With the v4l-dvb-hg-repository it is possible to get each intemediate 
> version of this file. Afaics, there is only 3 modifications for the 
> timeframe we are talking about.
> 
> best regards,
> 
> --
> 
> Patrick Boettcher - Kernel Labs
> http://www.kernellabs.com/

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


Re: dib3000mb dvb-t with kernel 2.6.32-rc3 do not work

2009-10-05 Thread Mario Bachmann
Am Mon, 5 Oct 2009 15:50:13 +0200 (CEST)
schrieb Patrick Boettcher :

> Hi Mario,
> 
> On Mon, 5 Oct 2009, Mario Bachmann wrote:
> > with kernel 2.6.30.8 my "TwinhanDTV USB-Ter USB1.1 / Magic Box I"
> > worked.
> >
> > Now with kernel 2.6.32-rc3 (and 2.6.31.1) the modules seems to be
> > loaded fine, but tzap/kaffeine/mplayer can not tune to a channel:
> >
> > dmesg says:
> > dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA
> > USB1.1 DVB-T device' in warm state. dvb-usb: will use the device's
> > hardware PID filter (table count: 16). DVB: registering new adapter
> > (TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T
> > device) DVB: registering adapter 0 frontend 0 (DiBcom 3000M-B
> > DVB-T)... dibusb: This device has the Thomson Cable onboard. Which
> > is default. input: IR-receiver inside an USB DVB receiver
> > as /devices/pci:00/:00:04.0/usb4/4-2/input/input5 dvb-usb:
> > schedule remote query interval to 150 msecs. dvb-usb: TwinhanDTV
> > USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
> > successfully initialized and connected. usbcore: registered new
> > interface driver dvb_usb_dibusb_mb
> >
> > [..]
> > and so on. The signal-values are zero or near zero, but when i boot
> > the old kernel 2.6.30.8, t can tune without problems.
> 
> In a personal email to me you are saying that the differences between 
> dibusb-common.c in 2.6.30.8 and 2.6.32-rc3 are the main cause for the 
> problem.
> 
> Is it possible for you find out which exact change is causing the
> trouble?
> 
> With the v4l-dvb-hg-repository it is possible to get each intemediate 
> version of this file. Afaics, there is only 3 modifications for the 
> timeframe we are talking about.
> 
> best regards,
> 
> --
> 
> Patrick Boettcher - Kernel Labs
> http://www.kernellabs.com/

i think the cause must be here:
/usr/src/linux-2.6.32-rc3/drivers/media/dvb/dvb-usb/dibusb-common.c
line 136 to line 146

i changed this hole section to the version of 2.6.30.8:

if (i+1 < num && (msg[i+1].flags & I2C_M_RD)) {
if (dibusb_i2c_msg(d, msg[i].addr,
msg[i].buf,msg[i].len,
msg[i+1].buf,msg[i+1].len)
< 0)
break;
i++;
} else
if (dibusb_i2c_msg(d, msg[i].addr,
msg[i].buf,msg[i].len,NULL,0) < 0)
break;

and it works again. my posted part is inside the 
"for (i = 0; i < num; i++) { ... }" -Section !

Mario
--
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


dib3000mb dvb-t with kernel 2.6.32-rc3 do not work

2009-10-05 Thread Mario Bachmann
Hi there, 

with kernel 2.6.30.8 my "TwinhanDTV USB-Ter USB1.1 / Magic Box I"
worked. 

Now with kernel 2.6.32-rc3 (and 2.6.31.1) the modules seems to be
loaded fine, but tzap/kaffeine/mplayer can not tune to a channel:

dmesg says:
dvb-usb: found a 'TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T 
device' in warm state.
dvb-usb: will use the device's hardware PID filter (table count: 16).
DVB: registering new adapter (TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA 
USB1.1 DVB-T device)
DVB: registering adapter 0 frontend 0 (DiBcom 3000M-B DVB-T)...
dibusb: This device has the Thomson Cable onboard. Which is default.
input: IR-receiver inside an USB DVB receiver as 
/devices/pci:00/:00:04.0/usb4/4-2/input/input5
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device 
successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_dibusb_mb

grep DVB .config says (no chaanges between 2.6.30.8 and 2.6.32-rc3):
CONFIG_DVB_CORE=m
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_CAPTURE_DRIVERS=y
CONFIG_DVB_USB=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_PLL=m

lsmod |grep dvb
dvb_usb_dibusb_mb  16715  0 
dvb_usb_dibusb_common 3559  1 dvb_usb_dibusb_mb
dvb_pll 8604  1 dvb_usb_dibusb_mb
dib3000mb  10969  1 dvb_usb_dibusb_mb
dvb_usb13737  2 dvb_usb_dibusb_mb,dvb_usb_dibusb_common
dvb_core   85727  1 dvb_usb

tzap arte -r
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
reading channels from file '/home/grafrotz/.tzap/channels.conf'
tuning to 60200 Hz
video pid 0x00c9, audio pid 0x00ca
status 00 | signal  | snr  | ber 001f | unc  | 
status 00 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal 00b2 | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 
status 04 | signal  | snr  | ber 001f | unc  | 

and so on. The signal-values are zero or near zero, but when i boot the old 
kernel 2.6.30.8, t can tune without problems. 

kaffeine DVB says:
Using DVB device 0:0 "DiBcom 3000M-B DVB-T"
tuning DVB-T to 60200 Hz
inv:2 bw:0 fecH:2 fecL:9 mod:1 tm:1 gi:3 hier:0


Not able to lock to the signal on the given frequency
Frontend closed
Tuning delay: 2611 ms

mplayer dvb://arte   says:
MPlayer SVN-r29699-4.4.1 (C) 2000-2009 MPlayer Team

Spiele dvb://arte.
dvb_tune Freq: 60200
Not able to lock to the signal on the given frequency, timeout: 30
dvb_tune, TUNING FAILED
ERROR, COULDN'T SET CHANNEL  13: Konnte 'dvb://arte' nicht öffnen.


Beenden... (Dateiende erreicht)


Greetings
Mario
--
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