On 9/12/07, Valerio Bontempi <[EMAIL PROTECTED]> wrote:
> 2007/9/12, Markus Rechberger <[EMAIL PROTECTED]>:
> >
> > Hi,
> >
> > On 9/12/07, Aidan Thornton <[EMAIL PROTECTED]> wrote:
> > > On 9/12/07, Valerio Bontempi <[EMAIL PROTECTED]> wrote:
> > > > I can't load the driver with 2.6.18 because I removed openSuse
> 10.2some
> > > > months ago: I should compile and install this version on Ubuntu in
> > order
> > > to
> > > > try that if needed.
> > > > Following I report the /var/log/messages on 2.6.20 using reg_debug=1:
> > > >
> > > > Sep 12 11:05:49 gandalf kernel: [ 1635.788000] em28xx v4l2 driver
> > version
> > > > 0.0.1 loaded
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: device is
> > attached
> > > > to a USB 2.0 bus
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: you're using
> > the
> > > > experimental/unstable tree from mcentral.de
> > > >
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: there's also a
> > > > stable tree available but which is limited to
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: linux <=
> > 2.6.19.2
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: it's fine to
> > use
> > > > this driver but keep in mind that it will move
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: to
> > > > http://mcentral.de/hg/~mrec/v4l-dvb-kernel
> > > >  as soon as it's
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx: proved to be
> > > stable
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > > settings: 8
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 0, max size= 0
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 1, max size= 0
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 2, max size= 1448
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 3, max size= 2048
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 4, max size= 2304
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 5, max size= 2580
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 6, max size= 2892
> > > >  Sep 12 11:05:49 gandalf kernel: [ 1635.904000] em28xx #0: Alternate
> > > setting
> > > > 7, max size= 3072
> > > ...snip...
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.952000] EEPROM ID= 0x9567eb1a
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.952000] Vendor/Product ID=
> > > 0ccd:0043
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.952000] No audio on board.
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.952000] 500mA max power
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.952000] Table at 0x06,
> > > > strings=0x249e, 0x346a, 0x0000
> > > ...snip...
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.956000] tuner 2-0061: chip
> > found @
> > > > 0xc2 (em28xx #0)
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.960000] attach inform
> > (default):
> > > > detected I2C address c2
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.960000]
> > > > /usr/local/src/v4l-dvb-kernel
> > > > /v4l/tuner-core.c: setting tuner callback
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.960000]
> > > > /usr/local/src/v4l-dvb-kernel/v4l/tuner-core.c: setting
> > > > tuner callback
> > >
> > > I don't see any sign of the xc3028 driver doing anything here, which
> > > probably isn't a good sign. It doesn't even seem to be getting to the
> > > stage of trying to load the firmware.
> > >
> >
> > yes you're right, could you guys check if tuner-xc3028 is loaded?
> > lsmod | grep xc3028
> >
> > Markus
> >
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.972000] em28xx #0: Found
> > Terratec
> > > > Cinergy T XS
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1635.976000] usbcore: registered
> > new
> > > > interface driver em28xx
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.000000] em2880-dvb.c: DVB Init
> > >
> > > There ought to be a GPIO write here, but there isn't. It's probably
> > > related to the problem with the tuner code, since the GPIO write for
> > > your device is triggered by that.
> > >
> > > After looking at the code, it looks like, since your card is DVB-T
> > > only, the driver doesn't bother setting up the tuner driver for analog
> > > use. Unfortunately, the em2880-dvb driver uses an analog API
> > > (VIDIOC_INT_S_TUNER_MODE) to get the xc3028 tuner driver to switch
> > > modes (and call back into the em28xx driver to do the GPIO twiddling
> > > that enables the DVB-T demodulator), this is a problem. As a result,
> > > the GPIO twiddling doesn't get done, communication with the DVB-T
> > > demodulator fails and the driver bails out.
> > >
> > > Edit em28xx_set_tuner in linux/drivers/media/video/em28xx/em28xx-i2c.c
> > > to remove the "&& dev->dev_modes != EM28XX_DVB" and recompile - things
> > > should work better. (The reason v4l-dvb-experimental-userptr works is
> > > that it's based on an older version of the code before this was
> > > added.)
> > >
> > >
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000] em28xx #0: [ OK] 40 03
> > 00
> > > 00
> > > > 1e 00 01 00 >>> 7f
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000] em28xx #0: [ OK] c0 00
> > 00
> > > 00
> > > > 05 00 01 00 <<< 10
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000]
> > > > FIXME:em28xx_i2c_send_bytes(1e): write failed:
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000]
> > > > ===============================
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000] 7f
> > > >  Sep 12 11:05:50 gandalf kernel: [ 1636.104000]
> > > > ================================
> > >
> >
> >
> > --
> > Markus Rechberger
> >
>
> Yes, it is loaded when the driver doesn't work (with the original
> linux/drivers/media/video/em28xx/em28xx-i2c.c)
>
> # lsmod | grep xc3028
> xc3028_tuner            9984  0
> i2c_core               22656  15
> i2c_ec,it87,i2c_isa,eeprom,qt1010,mt2060,mt352,zl10353,xc3028_tuner,tvp5150,tuner,nvidia,em28xx,tveeprom,i2c_nforce2
>
>
> However, changing the driver source as suggested by Aidan makes the driver
> to work well.
> Now, what do you suggest to do?
> Keep the old driver version (userptr) or use the modified one?
>

ok it's a design bug in the driver, I'll try to fix it up asap. Try to
stick with the userptr driver for that device for a while till the
newer driver comes up.

Markus

_______________________________________________
Em28xx mailing list
[email protected]
http://mcentral.de/mailman/listinfo/em28xx

Reply via email to