From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx3.redhat.com (mx3.redhat.com [172.16.48.32]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m8GHAFSa019979 for ; Tue, 16 Sep 2008 13:10:15 -0400 Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.237]) by mx3.redhat.com (8.13.8/8.13.8) with ESMTP id m8GH9spx026912 for ; Tue, 16 Sep 2008 13:09:55 -0400 Received: by qb-out-0506.google.com with SMTP id c8so3677245qbc.7 for ; Tue, 16 Sep 2008 10:09:50 -0700 (PDT) Message-ID: <48CFE85B.8050407@gmail.com> Date: Tue, 16 Sep 2008 19:09:47 +0200 From: eli hamels MIME-Version: 1.0 To: video4linux-list@redhat.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Geniatech UTV3 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: video4linux-list-bounces@redhat.com Errors-To: video4linux-list-bounces@redhat.com List-ID: 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