[Senang] Akhirnya, Gadmei UTV330+ di Karmic Koala…

Problem..

Huffh.. udah sekitar sebulan jarang nonton TV..
Ini gara – gara setelah upgrade (fresh install) ke Ubuntu 9.10 Karmic Koala, driver Gadmei UTV 330+ yang sebelumnya berjalan mulus di Ubuntu 9.04, malah sama sekali ndak bisa diinstall.. alhasil, harus googling ksana kmari untuk cari cara supaya bisa diinstall..

Ya, inti permasalahan adalah cari cara supaya bisa nonton pake Gadmei UTV 330+ ini di karmic, and..

 

The Facts are..
Sebenernya, TV Tuner ini sudah didetek oleh fresh install karmic (dan saya awalnya sangat senang). Ga percaya??

Coba aja ketik perintah lsusb waktu nyolokin tv tuner ini. Dari hasil lsusb, pasti ada baris yang menginformasikan kalo dia produk dari Empia Technology dll..

Anehnya adalah, meskipun udah didetek otomatis, tapi tuner-nya kagak diregister ke sistem! So, gimana caranya make kalo engga diregister ke sistem???

Sungguh aneh..

Another (NOT IMPORTANT) facts ..
** Saya lagi sakit (pilek, batuk, pusing).. hiks..

** Internet IM3 juga lagi down, kayaknya gara – gara ujan (dan seperti badai) kmaren. No GPRS, no Internet.. sampe sekarang.. T,T


So, the solution is..

Ketika saya (iseng – iseng) ketik dmesg. Hasilnya adalah.. module em28xx diload, dan ngedetek ini tuner, tapi sama sistem kagak diregister sebagai video device.. Grrr… Something’s wrong with this release (and it’s kernel)..!!

Langsung ide saya muncul..!

Yap, hal pertama yang saya pikirkan adalah gimana caranya meregister ini tuner ke sistem?

Lama googling, pada akhirnya nemu artikel tentang cara bikin (semacam register) video device ke sistem.. Tapi.. it doesn’t works at all..

Oke, ide lainnya muncul ketika saya (sekali lagi, iseng – iseng) browsing cara pake Haier CE100 di karmic.. nyasar ke blognya mas Tantos, akhirnya dapat pencerahan gimana caranya ngompile ulang module tertentu.. Okey, got it!!

Intinya, saya balik lagi ke tutorial jaman bahoela.. => ngedit file2 em28xx di kernel sourcenya..

 

Okay, here we Go!!

** Kalo bisa, unplug dulu tvtunernya (kalo lagi dicolokin sekarang)

 

Step #1 : Install senjata – senjata yang kita perluin..

sudo apt-get install linux-source linux-headers-generic build-essential ncurses-dev tvtime sox libsox-fmt-all

 

Step #2 : ekstrak kernel source

cd /usr/src

sudo tar -xjf linux-source-2.6.31.tar.bz2

cd linux-source-2.6.31/

 

Step #3 : Kopi header file yang diperluin untuk ngompile

sudo cp drivers/media/common/tuners/tuner-xc2028.h drivers/media/video/em28xx/

sudo cp drivers/media/common/tuners/tuner-simple.h drivers/media/video/em28xx/

 

Step #4 : edit file em28xx.h

sudo gedit drivers/media/video/em28xx/em28xx.h

 

cari baris seperti ini (kira2 baris ke-110) :

#define EM2820_BOARD_SILVERCREST_WEBCAM           71


lalu enter, bikin baris baru, dan isikan seperti ini :

#define EM2861_BOARD_GADMEI_UTV330		  72

 

save, lalu close file em28xx.h

 

Step #5 : Edit file em28xx-cards.c

sudo gedit drivers/media/video/em28xx/em28xx-cards.c

 

tekan [Ctrl]+[F] (find), lalu isi string seperti ini :

[EM2860_BOARD_GADMEI_UTV330] = {


copy satu blok :

[EM2860_BOARD_GADMEI_UTV330] = {
   .name         = "Gadmei UTV330",
   .valid        = EM28XX_BOARD_NOT_VALIDATED,
   .tuner_type   = TUNER_TNF_5335MF,
   .tda9887_conf = TDA9887_PRESENT,
   .decoder      = EM28XX_SAA711X,
   .input        = { {
      .type     = EM28XX_VMUX_TELEVISION,
      .vmux     = SAA7115_COMPOSITE2,
      .amux     = EM28XX_AMUX_VIDEO,
                  }, {
      .type     = EM28XX_VMUX_COMPOSITE1,
      .vmux     = SAA7115_COMPOSITE0,
      .amux     = EM28XX_AMUX_LINE_IN,
                  }, {
      .type     = EM28XX_VMUX_SVIDEO,
      .vmux     = SAA7115_SVIDEO3,
      .amux     = EM28XX_AMUX_LINE_IN,
                  } },
},

 

ke bagian bawahnya (jadi buat supaya double).. jadinya :

[EM2860_BOARD_GADMEI_UTV330] = {
   .name         = "Gadmei UTV330",
   .valid        = EM28XX_BOARD_NOT_VALIDATED,
   .tuner_type   = TUNER_TNF_5335MF,
   .tda9887_conf = TDA9887_PRESENT,
   .decoder      = EM28XX_SAA711X,
   .input        = { {
      .type     = EM28XX_VMUX_TELEVISION,
      .vmux     = SAA7115_COMPOSITE2,
      .amux     = EM28XX_AMUX_VIDEO,
                  }, {
      .type     = EM28XX_VMUX_COMPOSITE1,
      .vmux     = SAA7115_COMPOSITE0,
      .amux     = EM28XX_AMUX_LINE_IN,
                 }, {
      .type     = EM28XX_VMUX_SVIDEO,
      .vmux     = SAA7115_SVIDEO3,
      .amux     = EM28XX_AMUX_LINE_IN,
                 } },
},
[EM2860_BOARD_GADMEI_UTV330] = {
   .name         = "Gadmei UTV330",
   .valid        = EM28XX_BOARD_NOT_VALIDATED,
   .tuner_type   = TUNER_TNF_5335MF,
   .tda9887_conf = TDA9887_PRESENT,
   .decoder      = EM28XX_SAA711X,
   .input        = { {
      .type     = EM28XX_VMUX_TELEVISION,
      .vmux     = SAA7115_COMPOSITE2,
      .amux     = EM28XX_AMUX_VIDEO,
                }, {
      .type     = EM28XX_VMUX_COMPOSITE1,
      .vmux     = SAA7115_COMPOSITE0,
      .amux     = EM28XX_AMUX_LINE_IN,
                }, {
      .type     = EM28XX_VMUX_SVIDEO,
      .vmux     = SAA7115_SVIDEO3,
      .amux     = EM28XX_AMUX_LINE_IN,
                } },
},

 

lalu edit satu blok baru (hasil copy tadi).. sehingga jadi seperti ini :

[EM2861_BOARD_GADMEI_UTV330] = {
   .name         = "Gadmei UTV330+",
   .valid        = EM28XX_BOARD_NOT_VALIDATED,
   .tuner_type   = TUNER_TNF_5335MF,
   .tda9887_conf = TDA9887_PRESENT,
   .decoder      = EM28XX_SAA711X,
   .input        = { {
      .type     = EM28XX_VMUX_TELEVISION,
      .vmux     = SAA7115_COMPOSITE2,
      .amux     = EM28XX_AMUX_VIDEO,
                  }, {
      .type     = EM28XX_VMUX_COMPOSITE1,
      .vmux     = SAA7115_COMPOSITE0,
      .amux     = EM28XX_AMUX_LINE_IN,
                  }, {
      .type     = EM28XX_VMUX_SVIDEO,
      .vmux     = SAA7115_SVIDEO3,
      .amux     = EM28XX_AMUX_LINE_IN,
                  } },
},

 

Langkah berikutnya adalah membuat tanda pengenal untuk Tuner ini..

Tekan [Ctrl]+[F] lagi, lalu isi :

.driver_info = EM2861_BOARD_KWORLD_PVRTV_300U },


dan buat satu baris baru di bawahnya, tambahkan ini :

{ USB_DEVICE(0xeb1a, 0x50a6),
          .driver_info = EM2861_BOARD_GADMEI_UTV330 },

** info :

menurut saya, 0xeb1a adalah VENDOR_ID untuk Empia

dan 0x50a6 adalah PRODUCT_ID untuk gadmei UTV330+

 

dan terakhir, [Ctrl]+[F] lagi, lalu isikan :

case EM2820_BOARD_GADMEI_UTV310:


dan lagi, buat satu baris baru di bawahnya, isikan :

case EM2861_BOARD_GADMEI_UTV330:

save, lalu close..

 

** Kalo bingung(??), coba pakai file punya saya. Download file2nya di sini..

 

Step #6 : compile ulang modulenya..

sudo cp /boot/config-$(uname -r) /usr/src/linux-source-2.6.31/.config

sudo make menuconfig

sudo make -C /lib/modules/$(uname -r)/build M=/usr/src/linux-source-2.6.31/drivers/media/video/em28xx

 

Step #7 :

Backup file2 lama :

sudo mv /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx.ko.old

sudo mv /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-alsa.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-alsa.ko.old

sudo mv /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-dvb.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-dvb.ko.old

 

Lalu, Copy file2 hasil compile ke directory module kernel saat ini

sudo cp /usr/src/linux-source-2.6.31/drivers/media/video/em28xx/em28xx.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx.ko

sudo cp /usr/src/linux-source-2.6.31/drivers/media/video/em28xx/em28xx-alsa.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-alsa.ko

sudo cp /usr/src/linux-source-2.6.31/drivers/media/video/em28xx/em28xx-dvb.ko /lib/modules/$(uname -r)/kernel/drivers/media/video/em28xx/em28xx-dvb.ko

 

Step #8 : generate module em28xx baru untuk kernel

sudo depmod -a

 

Restart laptop/ PC..

Colokin tv tuner, lalu ketik dmesg di terminal. Apakah hasilnya (kira – kira) seperti ini :

[   67.992035] usb 2-2: new high speed USB device using ehci_hcd and address 3
[   68.128456] usb 2-2: configuration #1 chosen from 1 choice
[   68.247228] em28xx: New device USB 2861 Device @ 480 Mbps (eb1a:50a6, interface 0, class 0)
[   68.249212] em28xx #0: chip ID is em2860
[   68.389211] em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb a6 50 50 00 13 03 6a 22 00 00
[   68.389224] em28xx #0: i2c eeprom 10: 00 00 04 57 4e 03 00 00 00 00 00 00 00 00 00 00
[   68.389234] em28xx #0: i2c eeprom 20: 06 00 01 01 f0 10 01 00 4a 00 00 00 5b 00 00 00
[   68.389244] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 02 01 00 00 00 00
[   68.389253] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389263] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389272] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
[   68.389281] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00
[   68.389291] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
[   68.389300] em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389310] em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389319] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389328] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389337] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389347] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389356] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   68.389367] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x695cfff2
[   68.389369] em28xx #0: EEPROM info:
[   68.389371] em28xx #0:	AC97 audio (5 sample rates)
[   68.389373] em28xx #0:	500mA max power
[   68.389376] em28xx #0:	Table at 0x04, strings=0x226a, 0x0000, 0x0000
[   68.390081] em28xx #0: Identified as Gadmei UTV330+ (card=72)
[   68.390084] em28xx #0:
[   68.390085]
[   68.390088] em28xx #0: The support for this board weren't valid yet.
[   68.390090] em28xx #0: Please send a report of having this working
[   68.390092] em28xx #0: not to V4L mailing list (and/or to other addresses)
[   68.390094]
[   68.758210] saa7115 5-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
[   69.553707] All bytes are equal. It is not a TEA5767
[   69.553806] tuner 5-0060: chip found @ 0xc0 (em28xx #0)
[   69.585208] tuner-simple 5-0060: creating new instance
[   69.585214] tuner-simple 5-0060: type set to 69 (Tena TNF 5335 and similar models)
[   69.609963] em28xx #0: Config register raw data: 0x50
[   69.632960] em28xx #0: AC97 vendor ID = 0xffffffff
[   69.644960] em28xx #0: AC97 features = 0x6a90
[   69.644963] em28xx #0: Empia 202 AC97 audio processor detected
[   70.197388] em28xx #0: v4l2 driver version 0.1.2
[   71.168156] em28xx #0: V4L2 device registered as /dev/video1 and /dev/vbi0
[   71.183842] usbcore: registered new interface driver snd-usb-audio
[   71.187787] usbcore: registered new interface driver em28xx
[   71.187793] em28xx driver loaded

 

Kalo iya, berarti ngopreknya berhasil..!!

** Sementara, suaranya masih belum. Kalo nanti udah bisa, bakal saya post.

So, tetep update tentang artikel ini! Caranya gampang!

Waktu komen, tinggal centang “Notify for new comment” (atau sejenisnya..)

 

** Update!!
Untuk suara, udah bisa keluar.. tinggal bikin script kayak gini :

#!/bin/bash

padsp sox -r 48000 -v 1 -c 2 -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp
tvtime
killall sox

Save dengan nama terserah.. trus ubah permissionnya supaya executable.. Kalo udah, tinggal di run ajah.. ^^
Contoh filenya : download di sini..

 

Referensi :

How To : Internet Connection using CDMA EVDO Modem and Karmic Koala (Ubuntu 9.10) **
** bukan masalah modemnya, tapi cara ngompile ulang module-nya, hehehe.. ^^

Ingatan pribadi (untuk ngedit file em28xx.h, dkk)

Advertisements

49 thoughts on “[Senang] Akhirnya, Gadmei UTV330+ di Karmic Koala…

    • @anzalar

      kalo UTV382F saya kurang tau pake chipset apa >,<
      kayaknya bukan empia deh..

      Tp coba mas colokin ke ubuntu, trus ketik lsusb di terminal.. trus post hasilnya disini ato via email.. 😉

  1. di lucid saya sound tv tuner nya yg nggak keluar, udah tanya2 di forum linux, katanya coba oprek kernel dan compile ulang driver em28xx, bisa tolong nggak caranya mas, terima kasih sebelumnya… salam kenal
    dmesg
    new high speed USB device using ehci_hcd and address 4
    [ 623.269450] usb 2-1: configuration #1 chosen from 1 choice
    [ 623.269733] em28xx: New device @ 480 Mbps (eb1a:2860, interface 0, class 0)
    [ 623.269851] em28xx #1: chip ID is em2860
    [ 623.361229] em28xx #1: board has no eeprom
    [ 623.372741] em28xx #1: Identified as Unknown EM2750/28xx video grabber (card=1)
    [ 623.387101] em28xx #1: found i2c device @ 0x4a [saa7113h]
    [ 623.410576] em28xx #1: found i2c device @ 0xc6 [tuner (analog)]
    [ 623.421321] em28xx #1: Your board has no unique USB ID.
    [ 623.421331] em28xx #1: A hint were successfully done, based on i2c devicelist hash.
    [ 623.421338] em28xx #1: This method is not 100% failproof.
    [ 623.421343] em28xx #1: If the board were missdetected, please email this log to:
    [ 623.421348] em28xx #1: V4L Mailing List
    [ 623.421354] em28xx #1: Board detected as Gadmei TVR200
    [ 623.793008] saa7115 2-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #1
    bisa nggak saya gunakan cara-cara di atas y ??

  2. Pingback: Ribetnya Install TV Tuner Gadmei UTV330+ Di Ubuntu 11.04/11.10 « A Personal, How-to, Tips And Reviews Blog
    • Dulu saya beli di fastncheap.com (tanpa bermaksud promosi yaa).
      Tapi saya lihat2 (dan searching2) kayaknya seri UTV330+ punya saya ini udh discontinued.. saya cari di FJB kaskus juga gak ada.
      Saya belum berani kasi saran beli tvtuner apa, karena saya juga gak punya h/w yang dibuat eksperimen. 😦

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s