Moje HTPC i nie tylko

Takie tam…

Instalacja tunera DVB-T IT9135 w Ubuntu 12.04

6 Komentarzy

 

Postanowiłem zaktualizować Ubuntu w moim HTPC i przy okazji użyć lepszych sterowników do tunera DVB-T WandTV opartego na chipsecie IT9135.

Zasadniczo tuner jest obsługiwany przez jądro 3.2 z Ubuntu 12.04, ale po włożeniu tunera do portu USB, linux go nie widzi…

Okazuje się, że trzeba dorzucić co nieco z linuxtv:

  • instalacja git-a i innych potrzebnych zależności:
 sudo apt-get install git libproc-processtable-perl patchutils
  • ściągnięcie źródeł
mkdir v4l
cd v4l/
git clone git://linuxtv.org/media_build.git
  • budowanie
cd media_build/
./build
  • Po naprawdę dłuuugich minutach, instalacja
sudo make install
  • testowy reboot
 sudo reboot now
  • w dmesg widać że tuner został rozpoznany, ale nie znaleziono firmware
dmesg | grep IT
  • pobranie i instalacja firmware
cd Pobrane/
wget http://www.ite.com.tw/uploads/firmware/v3.6.0.0/dvb-usb-it9135.zip
unzip dvb-usb-it9135.zip
dd if=dvb-usb-it9135.fw ibs=1 skip=64 count=8128 of=dvb-usb-it9135-01.fw
dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
sudo cp dvb-usb-it9135-0* /lib/firmware/
  • reboot
sudo reboot now
  • i dmesg powinien pokazać że wszystko w porządku (wybrane linijki z mojego logu – mam 2 tunery) – o dziwo teraz nawet świeci niebieski LED w tunerze…
[    9.745181] it913x: Chip Version=01 Chip Type=9135
[    9.745664] it913x: Firmware Version 204869120
[    9.747160] it913x: Remote propriety (raw) mode
[    9.747660] it913x: Dual mode=0 Tuner Type=0
[    9.747670] dvb-usb: found a 'ITE 9135(9005) Generic' in warm state.
[    9.748074] dvb-usb: will use the device's hardware PID filter (table count: 31).
[    9.749453] DVB: registering new adapter (ITE 9135(9005) Generic)
[    9.937031] it913x-fe: Tuner LNA type :38
[   10.519304] DVB: registering adapter 0 frontend 0 (ITE 9135(9005) Generic_1)...
[   10.592225] Registered IR keymap rc-it913x-v2
[   10.592561] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:04.1/usb1/1-3/rc/rc0/input5
[   10.592755] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:04.1/usb1/1-3/rc/rc0
[   10.592767] dvb-usb: schedule remote query interval to 250 msecs.
[   10.592780] dvb-usb: ITE 9135(9005) Generic successfully initialized and connected.
[   10.592787] it913x: DEV registering device driver
[   10.594086] it913x: Chip Version=01 Chip Type=9135
[   10.594566] it913x: Firmware Version 204869120
[   10.596636] it913x: Remote propriety (raw) mode
[   10.597318] it913x: Dual mode=0 Tuner Type=0
[   10.597330] dvb-usb: found a 'ITE 9135(9005) Generic' in warm state.
[   10.597517] dvb-usb: will use the device's hardware PID filter (table count: 31).
[   10.598333] DVB: registering new adapter (ITE 9135(9005) Generic)
[   10.602083] it913x-fe: ADF table value       :00
[   10.607697] it913x-fe: Crystal Frequency :12000000 Adc Frequency :20250000 ADC X2: 01
[   10.658053] it913x-fe: Tuner LNA type :38
[   10.724801] DVB: registering adapter 1 frontend 0 (ITE 9135(9005) Generic_1)...
[   10.725067] Registered IR keymap rc-it913x-v2
[   10.725485] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:06.1/usb2/2-2/rc/rc1/input6
[   10.725687] rc1: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:06.1/usb2/2-2/rc/rc1
[   10.725699] dvb-usb: schedule remote query interval to 250 msecs.
[   10.725712] dvb-usb: ITE 9135(9005) Generic successfully initialized and connected.
[   10.725720] it913x: DEV registering device driver
[   10.725799] usbcore: registered new interface driver it913x

Written by Admin

3 czerwca 2012 @ 22:13

Napisane w Uncategorized

Komentarzy 6

Subscribe to comments with RSS.

  1. na 2 komputerach z ubuntu 12.04 nie przechodzi mi build dla v4l wiesz moze jak to obejsc
    tu tez napisalem http://ubuntu.pl/forum/viewtopic.php?f=136&t=161973

    grek

    6 października 2012 at 19:51

    • i jeszcze jedno dlaczego v4l z zrodel a nie z repo ? potrzebne ? bo tak mi podpowiedzieli na #ubuntu.pl

      grek

      6 października 2012 at 20:59

      • No właśnie też się dziwiłem że niby w kernelu są już drivery, ale dopiero po skompilowaniu v4l tunery zadziałały.

        Admin

        6 października 2012 at 22:12

    • Mam wrażenie że kod v4l w niektórych wersjach jest kłopotliwy w kompilacji.
      Może spróbuj wersji którą ja użyłem, tzn:

      commit 914dbece1cec1e258e6577fb4dc40af1aeac8bbf
      Author: Hans Verkuil
      Date: Wed Jul 11 11:48:26 2012 +0200

      poprzez

      git checkout 914dbece1cec1e258e6577fb4dc40af1aeac8bbf

      Wygląda na to że musiałem skorygować plik backports/api_version.patch na taki:

      diff –git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
      — a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
      +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
      @@ -94,1 +94,1 @@ static struct v4l2_capability pvr_capabi
      – .version = LINUX_VERSION_CODE,
      + .version = V4L2_VERSION,
      diff –git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
      — a/drivers/media/video/sn9c102/sn9c102_core.c
      +++ b/drivers/media/video/sn9c102/sn9c102_core.c
      @@ -2161,1 +2161,1 @@ sn9c102_vidioc_querycap(struct sn9c102_d
      – .version = LINUX_VERSION_CODE,
      + .version = V4L2_VERSION,
      diff –git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
      — a/drivers/media/video/uvc/uvc_driver.c
      +++ b/drivers/media/video/uvc/uvc_driver.c
      @@ -1861,1 +1861,1 @@ static int uvc_probe(struct usb_interfac
      – dev->mdev.driver_version = LINUX_VERSION_CODE;
      + dev->mdev.driver_version = V4L2_VERSION;
      diff –git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c
      — a/drivers/media/video/uvc/uvc_v4l2.c
      +++ b/drivers/media/video/uvc/uvc_v4l2.c
      @@ -574,1 +574,1 @@ static long uvc_v4l2_do_ioctl(struct fil
      – cap->version = LINUX_VERSION_CODE;
      + cap->version = V4L2_VERSION;

      Na 3.2.0-29-generic-pae się kompiluje.

      Admin

      6 października 2012 at 22:11

      • tzn jak ?
        git checkout 914dbece1cec1e258e6577fb4dc40af1aeac8bbf
        fatal: Not a git repository (or any of the parent directories): .git

        grek

        11 października 2012 at 16:12

  2. Nie wiem czy ktoś tu jeszcze zagląda, ale może uzyskam pomoc. Do dziś wszystko działało świetnie, ale nagle nie ładuje się firmware. dmeseg zwraca:
    dawid@dawid-Lenovo-3000-N500:~$ dmesg | grep IT
    [ 0.000000] Fast TSC calibration using PIT
    [ 0.473259] intel_idle: MWAIT substates: 0x1110
    [ 206.407500] dvb-usb: found a ‚ITE 9135 Generic’ in cold state, will try to load a firmware
    [ 3086.630305] dvb-usb: found a ‚ITE 9135 Generic’ in cold state, will try to load a firmware
    dawid@dawid-Lenovo-3000-N500:~$

    Jak mogę wymusić ładowanie firmware? W bibliotekach wszystko jest ok.

    vasyld

    21 stycznia 2013 at 08:43


Dodaj odpowiedź do vasyld Anuluj pisanie odpowiedzi