public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Geniatech UTV3
@ 2008-09-16 17:09 eli hamels
  2008-09-16 17:33 ` Markus Rechberger
  2008-09-16 17:40 ` Devin Heitmueller
  0 siblings, 2 replies; 4+ messages in thread
From: eli hamels @ 2008-09-16 17:09 UTC (permalink / raw)
  To: video4linux-list

Hi all,

I  have a Geniatech UTV3 usb tv box that didn't worked on linux.

After taking the device apart, I found following components
* FM24C02   -> EEPROM
* EM2860      -> USB Video Capture Device
* SAA7113H  -> Video input processor
* TOA9801    -> Demodulator and FM-PLL detector (for sound)
* HCF4052   -> Analog multiplexer (for switching sound between TV and AV)
* TNF8337-DFD -> TV tuner/reciever

After I insmoded the em28xx,the device was detected as the 
EM2860_BOARD_TYPHOON_DVD_MAKER??
I figured out the "TYPHOON_DVD_MAKER" and my Geniatech UTV3 must have 
the same Vendor/Product ID.

#lsusb
Bus 004 Device 012: ID eb1a:2860 eMPIA Technology, Inc.

I guess somebody has to change the detection system to handle different 
devices with the same Vendor/Product ID.

I had to make some modifications to the em28xx driver in order to get 
the Geniatech device working.
I changed the EM2860_BOARD_TYPHOON_DVD_MAKER struct in em28xx-cards.c to 
the following:

[EM2860_BOARD_TYPHOON_DVD_MAKER] = {
        .name             = "Geniatech UTV3",
        .vchannels      = 2,
        .tuner_type    = TUNER_TNF_5335MF,
        .has_tuner      = 1,
        .norm              = V4L2_STD_PAL_BG,
        .decoder         = EM28XX_SAA7113,
        .dev_modes    = EM28XX_VIDEO,
        .input             = {{
            .type     = EM28XX_VMUX_TELEVISION,
            .vmux    = SAA7115_COMPOSITE2,
            .amux    = 0,
        },{
            .type     = EM28XX_VMUX_COMPOSITE1,
            .vmux    = SAA7115_COMPOSITE0,
            .amux    = 1,
        }},
        .tvnorms    = {{
                .name = "PAL-BG",
                .id = V4L2_STD_PAL_BG,
            },{
                .name = "PAL-DK",
                .id = V4L2_STD_PAL_DK,
            },{
                .name = "PAL-I",
                .id = V4L2_STD_PAL_I,
            },{
                .name = "PAL-M",
                .id = V4L2_STD_PAL_M,
            },{
                .name = "NTSC",
                .id = V4L2_STD_NTSC,
        }},
},

I know this isn't a 'proper' solution, but it's fine for me.

The tuner isn't actually a TVF58t5-MFF, it is an SN761678.
(the SN761678 is located inside the TNF8337-DFD)

After compiling and reloading the em28xx driver, the geniatech device 
was properly detected.
#dmesg
[32985.830259] em28xx v4l2 driver version 0.0.1 loaded
[32985.830728] em28xx new video device (eb1a:2860): interface 0, class 255
[32985.830741] em28xx: device is attached to a USB 2.0 bus
[32985.830744] em28xx: you're using the experimental/unstable tree from 
mcentral.de
[32985.830746] em28xx: there's also a stable tree available but which is 
limited to
[32985.830749] em28xx: linux <=2.6.19.2
[32985.830750] em28xx: it's fine to use this driver but keep in mind 
that it will move
[32985.830752] em28xx: to http://mcentral.de/hg/~mrec/v4l-dvb-kernel as 
soon as it's
[32985.830754] em28xx: proved to be stable
[32985.832682] em28xx #0: Alternate settings: 8
[32985.832694] em28xx #0: Alternate setting 0, max size= 0
[32985.832696] em28xx #0: Alternate setting 1, max size= 0
[32985.832698] em28xx #0: Alternate setting 2, max size= 1448
[32985.832701] em28xx #0: Alternate setting 3, max size= 2048
[32985.832703] em28xx #0: Alternate setting 4, max size= 2304
[32985.832705] em28xx #0: Alternate setting 5, max size= 2580
[32985.832708] em28xx #0: Alternate setting 6, max size= 2892
[32985.832710] em28xx #0: Alternate setting 7, max size= 3072
[32985.936456] tuner 2-0061: I2C RECV = 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 
7c 7c 7c 7c 7c
[32985.936473] Tunder detected
[32985.936476] tuner 2-0061: chip found @ 0xc2 (em28xx #0)
[32985.936537] attach inform (default): detected I2C address c2
[32985.936543] tuner 0x61: Configuration acknowledged
[32985.936550] tuner 2-0061: type set to 69 (Tena TNF 5335 and similar 
models)
[32985.963697] saa7115 2-0025: saa7113 found (1f7113d0e100000) @ 0x4a 
(em28xx #0)
[32985.993604] attach_inform: saa7113 detected.
[32985.996353] attach_inform: eeprom detected.
[32986.023303] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 60 28 c0 00 
3e 01 6a 22 00 00
[32986.023320] em28xx #0: i2c eeprom 10: 00 00 04 57 4e 03 00 00 60 c0 
60 c0 02 02 02 02
[32986.023331] em28xx #0: i2c eeprom 20: 16 00 00 02 f0 10 02 00 4a 00 
00 00 5b 00 00 00
[32986.023341] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 10 01 
02 01 00 00 00 00
[32986.023352] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023362] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023373] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 
22 03 55 00 53 00
[32986.023383] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 
30 00 20 00 44 00
[32986.023394] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 
00 00 00 00 00 00
[32986.023404] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023415] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023425] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023436] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023446] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023456] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023467] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00
[32986.023477] EEPROM ID= 0x9567eb1a
[32986.023479] Vendor/Product ID= eb1a:2860
[32986.023481] No audio on board.
[32986.023482] 500mA max power
[32986.023485] Table at 0x04, strings=0x226a, 0x0000, 0x0000
[32986.040701] em28xx #0: V4L2 device registered as /dev/video0
[32986.040713] em28xx #0: Found Geniatech UTV3
[32986.040748] usbcore: registered new interface driver em28xx

With this new configuration I'm able to watch TV using xawtv.
Only the sound wasn't working.

The sound isn't available through the usb connection(like the driver 
said), but it goes out by a audio jack connector.

After a while a discovered that the em28xx didn't controlled the 
multiplexer (HCF4052).
The multiplexer is used to switch between the sound of the TV and the 
sound of the AV.
In oder to get sound out of the audio connector the following 
configuration has to applied to the multiplexer
         A         B
TV:    1          0
AV:    0          0
Other combinations give no output.

The multiplexer is connected by pin 10(A) and 9(B) to the em2860 by pin 
27(PIO0) and 28(PIO1).
During the use of the em28xx driver the PIO0 and PIO1 are 3.3V, thus 
resulting no sound.
The PIO's of the em2860 are probably configured as input, and are pulled 
up to 3.3V

As a temporarily solution I lifted pin 9(B) from the multiplexer and 
connected it to GND.
This way I can listen and watch to the TV.

I hope that this contribution can help to the further development of the 
em28xx driver.

Greets,
Eli

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-09-17 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16 17:09 Geniatech UTV3 eli hamels
2008-09-16 17:33 ` Markus Rechberger
2008-09-17 15:11   ` eli hamels
2008-09-16 17:40 ` Devin Heitmueller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox