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
