[linux-dvb] New card for http://www.bttv-gallery.de/

Markus Rechberger mrechberger at gmail.com
Fri Oct 5 17:26:07 CEST 2007


On 10/5/07, Aidan Thornton <makosoft at googlemail.com> wrote:
> On 10/5/07, David Campbell <david at pastornet.net.au> wrote:
> > The whole XP driver kit is at http://www.aaa.net.au/campbell/driver.zip
> > but it may support other devices so unsure what bits are actually
> relevant:
> >
> > -rw-rw-r-- 1 dcampbel dcampbel   4697 2005-08-06 15:27 EMAUDIO.INF
> > -rw-rw-r-- 1 dcampbel dcampbel  20736 2005-07-08 17:43 emAudio.sys
> > -rw-rw-r-- 1 dcampbel dcampbel  48335 2005-11-14 20:29 EMBDA.INF
> > -rw-rw-r-- 1 dcampbel dcampbel 209664 2005-11-14 20:30 emBDA.sys
> > -rw-rw-r-- 1 dcampbel dcampbel  17152 2005-11-14 20:29 emOEM.sys
> > ("strings" indicates it to be an MT2060 driver)
> > -rw-rw-r-- 1 dcampbel dcampbel  32768 2005-11-14 20:29 emPRP.ax
>
> Interesting.
>
> > >> The driver finds it but doesn't seem to recognise one of the i2c
> > >> devices:    em28xx #0: found i2c device @ 0x16 [???]
> > >>
> > >
> > > That's the ZL10353. I think it's the analog code that's not detecting
> > > it; it's the digital part of the driver that handles this i2c device,
> > > and it doesn't auto-detect.
> > >
> > Actually this unrecognised device shows itself at different i2c
> > addresses different times you plug it in.  See below for what I've seen.
> >
> > em28xx #0: found i2c device @ 0x26 [???]
> > em28xx #0: found i2c device @ 0xa0 [eeprom]
> > em28xx #0: found i2c device @ 0xc2 [tuner (analog)]
> >
> > em28xx #0: found i2c device @ 0x16 [???]
> > em28xx #0: found i2c device @ 0xa0 [eeprom]
> > em28xx #0: found i2c device @ 0xc2 [tuner (analog)]
> >
> > em28xx #0: found i2c device @ 0x32 [???]
> > em28xx #0: found i2c device @ 0xa0 [eeprom]
> > em28xx #0: found i2c device @ 0xc2 [tuner (analog)]
>
> I'm guessing it's probably bogus, then.
>

it's not really bogus, toggled gpio values are capable of changing
what you can see here.
So either by reloading the driver or replugging the devices you can
change the output.
The dirtiest fallback for devicedetection is to recognize the device
by those i2c addresses. If nothing works out the enduser has to fall
back to the card module parameter - anyway I try to avoid that the
user has to set up any module parameters.. it's just a pain if a user
plugs in his device the first time and has to fiddle around with some
settings for a device. Any better idea on devicedetection with same
usbids is welcome.

> > I find that if I do the following, the device gets registered, and it is
> > saying something about an LG chip but I'm not familiar enough with the
> > depths of the driver to know whether this output below is actually the
> > driver detecting the tuner chipset, or something that the driver has
> > been forced to believe.  Can you comment?
> >
> > modprobe em28xx card=8 i2c_scan=1 device_mode=1
> >
> > Table at 0x04, strings=0x226a, 0x0000, 0x0000
> > tuner 1-0061: chip found @ 0xc2 (em28xx #0)
> > attach inform (default): detected I2C address c2
> > tuner 0x61: Configuration acknowledged
> > tuner 1-0061: type set to 37 (LG PAL (newer TAPC series))
> > em28xx #0: found i2c device @ 0x26 [???]
> > em28xx #0: found i2c device @ 0xa0 [eeprom]
> > em28xx #0: found i2c device @ 0xc2 [tuner (analog)]
> > em28xx #0: V4L2 device registered as /dev/video0
> > em28xx #0: Found Pinnacle PCTV USB 2
>
> You're basically forcing the driver to assume that your tuner is that
> particular one. I'm guessing the LG tuner it's set to is a can tuner,
> which is far too big to be in a USB device. I'd suggest that "Terratec
> Cinergy T XS (MT2060)" or "Pinnacle PCTV DVB-T" would be a better
> choice.
>

Yes, I also think so, although as mentioned the GPIO values might differ.

> > but subsequently loading the em2880-dvb device doesn't work.... I don't
> > know whether I'm doing the right thing here by attempting to load this:
> >
> > em2880-dvb.c: DVB Init
> > em2880-dvb.c: unsupported device
> > em2880-dvb.c: failed initializing zl10353 DVB-T demodulator
> > em2880-dvb.c: retrying with mt352 DVB-T demodulator
> > FIXME:em28xx_i2c_send_bytes(1e): write failed:
> > ===============================
> > 7f
> > ================================
> > mt352_read_register: readreg error (reg=127, ret==-19)
> > em2880-dvb.c: no luck with mt352 demodulator, not attaching em2880-dvb
> > em2880-dvb.c: DVB-T demodulator not reachable, did you try "modprobe
> > em28xx device_mode=1"
> > Em28xx: Initialized (Em2880 DVB Extension) extension
>
> That's because you're telling the driver that your device is one that
> doesn't support DVB-T; I'm not sure why it even tries to load. (The
> fact that it doesn't do the right GPIO-twiddling doesn't help either.)
>
> > > Aidan
> > Markus Rechberger wrote:
> > > This device requires a gpio setup for enabling the zl10353 on the i2c
> bus.
> > >
> > Does your driver already do that for some devices?  How difficult is it
> > going to be to convince it for this one?
>
> It's not that hard (in theory); it just requires booting into Windows
> and running a USB sniffer to find out what the Windows driver sends.
> It's just that it's different for different devices. I'm sure Markus
> will tell you more.
>

There are 2 wiki sites available:
http://mcentral.de/wiki/index.php/USBVideo
http://mcentral.de/wiki/index.php/Usbreplay

those document how to capture and parse the output so that we can see more.

Markus



More information about the linux-dvb mailing list