Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Hicap100, linux, sprawdzone distro?

03 Sty 2013 17:34 2301 11
  • Poziom 22  
    Witam,

    Takie pytanie, jakie macie sprawdzone distro i aplikację która obsłuży karty Hicap100? Walczę z xubuntu 12.10 ale nadal nie ma /dev/video* ani /dev/dvr/* i za bardzo nie ma kto podpowiedzieć jak to ogarnąć, więc podchodzę do tego od innej strony.
  • Poziom 23  
    A system ją widzi?

    Jaka płyta, procesor?

    Jak lspci wywala, że system ją widzi, to zainstaluj odpowiednie sterowniki, jak w każdym innym systemie tak i w linux'e musisz miec sterowniki do obsługi karty. Pozatym sprawdz na jakim chip'e jest ten hicap i zobacz czy wogóle jest on obsługiwany przez jaki kolwiek sterownik linux'owy. Nie wszystkie karty sa wspierane.

    Dopiero jak będziesz miał zaimplementowany sterownik pojawi Ci się urzadzenie w /dev/video*

    A wtedy to już dowolny soft jaki znajdziesz na wybraną dystrybucje
  • Poziom 22  
    W załączeniu lspci (wykrywa, układy saa7146 ale nie mogę nigdzie znaleźć driverów)i dmesg, problem taki, że na stronie comartu (producenta) nie ma driverów pod linux.
    Płyta bardzo niezgodna z zaleceniami, bo na chipsecie i procesorze AMD, pod windowsem jest wykrywany i instaluje sterowniki.
  • Poziom 22  
    próbuję rzeźbić coś z v4l, zobaczę czy się zbuduje i uruchomi

    Dodano po 1 [godziny] 25 [minuty]:

    Zbudowałem drivery zgodnie z manualem http://www.linwik.com/installing_the_latest_v4l_tv_tuner_drivers_for_ubuntu_12.04
    make install i się nie instaluje (ciągle "unclaimed" na lshw)...

    Dobra, jeszcze raz, inny sprzęt (zmieniłem płytę procesor i grafikę):
    Karta: Hicap 100
    płyta: MSI 7210 na chipsecie Intel 945
    Procesor: Pentium D 2.8Ghz
    karta graficzna: Ati x1550

    Sytuacja nadal ta sama. v4l skompilowane, zainstalowane, moduły widoczne... Nie działa. Pod lshw jest unclaimed.
  • Poziom 23  
    Zainstaluj Debian'a 6.x, ostatnie stabilne wydanie, 6 jest juz na jądrze 2.6.x i ma v4l w kernelu wkompilowane, powinno hulac...
    Do tego zoneminder i masz dobrą zabawke

    btw. ati to nie jest szczęśliwy wybór pod linuxa
  • Poziom 22  
    heh, zainstalowałem Debiana 6.0, niestety panikował przy podnoszeniu karty, zainstalowałem 7.0 (wheezy) to nie uruchamia modułu mxb (saa_7146 ładuje) bo swierdza, że nie widzi wszystkich urządzeń i2c... I nadal unclaimed.

    Code:
    Apr  9 22:14:41 debian kernel: [    4.754132] saa7146: register extension 'Multimedia eXtension Board'
    
    Apr  9 22:14:41 debian kernel: [    4.754215] saa7146: found saa7146 @ mem f8284c00 (revision 1, irq 16) (0x0000,0x0000)
    Apr  9 22:14:41 debian kernel: [    4.804788] saa7146: register extension 'hexium HV-PCI6 Orion'
    Code:
    Apr  9 22:14:41 debian kernel: [    6.601586] tea6420 1-004c: chip found @ 0x98 (mxb0)
    
    Apr  9 22:14:41 debian kernel: [    6.841872] tea6420 1-004d: chip found @ 0x9a (mxb0)
    Apr  9 22:14:41 debian kernel: [    7.086605] tea6415c 1-0043: chip found @ 0x86 (mxb0)
    Apr  9 22:14:41 debian kernel: [    7.089055] tda9840 1-0042: chip found @ 0x84 (mxb0)
    Apr  9 22:14:41 debian kernel: [    7.270569] i2c-core: driver [tuner] using legacy suspend method
    Apr  9 22:14:41 debian kernel: [    7.270574] i2c-core: driver [tuner] using legacy resume method
    Apr  9 22:14:41 debian kernel: [    7.352178] It is not a TEA5767. Received -121 bytes.
    Apr  9 22:14:41 debian kernel: [    7.352187] tuner 1-0060: Tuner -1 found with type(s) Radio TV.
    Apr  9 22:14:41 debian kernel: [    7.352195] mxb: did not find all i2c devices. aborting
    Apr  9 22:14:41 debian kernel: [    7.352488] saa7146: found saa7146 @ mem f8286800 (revision 1, irq 17) (0x0000,0x0000)
    Apr  9 22:14:41 debian kernel: [    9.153914] tea6420 1-004c: chip found @ 0x98 (mxb0)
    Apr  9 22:14:41 debian kernel: [    9.393780] tea6420 1-004d: chip found @ 0x9a (mxb0)
    Apr  9 22:14:41 debian kernel: [    9.633867] tea6415c 1-0043: chip found @ 0x86 (mxb0)
    Apr  9 22:14:41 debian kernel: [    9.635437] tda9840 1-0042: chip found @ 0x84 (mxb0)
    Apr  9 22:14:41 debian kernel: [    9.872179] It is not a TEA5767. Received -121 bytes.
    Apr  9 22:14:41 debian kernel: [    9.872187] tuner 1-0060: Tuner -1 found with type(s) Radio TV.
    Apr  9 22:14:41 debian kernel: [    9.872193] mxb: did not find all i2c devices. aborting
    Apr  9 22:14:41 debian kernel: [    9.872489] saa7146: found saa7146 @ mem f8232c00 (revision 1, irq 16) (0x0000,0x0000)
    Apr  9 22:14:41 debian kernel: [   10.216143] saa7146: found saa7146 @ mem f82cc800 (revision 1, irq 17) (0x0000,0x0000)


    Code:
    Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.35-2 i686 GNU/Linux
  • Poziom 23  
    Tak na dzień dobry to:
    Hicap100, linux, sprawdzone distro?

    Sprawdz czy masz wszystkie modułu do obsługi i2c
    Jak nie to zassaj wszystkie możliwe pakiety pod obsługe i2c

    saa7146 masz wykryte i obsługiwane ale to tylko układ pośredniczący pomiedzy pci a urządzeniami i2c, albo Ci nie obsługuje elementów szyny i2c albo karta jest uszkodzona
  • Poziom 22  
    "TEA5767" Jest to moduł radia, nie może go znaleźć na szynie, bo go po prostu nie ma na HICap100, jak go nie znajduje to się wywala... I w efekcie nie obsługuje reszty "ferajny" na i2c :/
  • Poziom 23  
    No chyba nie do konca w ten sposób, zajrzyj na wrzucony przez Ciebie listing.
    Wykrywa mostek pci - i2c w postaci SAA, póżniej wykrywa urządzenia za nim na magistrali i2c i przy ostatnim układzie się wykrzacza bo wypluwa, że nie jest to urządzenie audio, i nie wie co to jest dlatego robi focha.
    I dla tego napisałem abyś pociągnął jeszcze wszystkie dostępne pakiety do obsługi i2c, żeby mógł wykryć ten brakujący układ.
  • Poziom 22  
    Raczej ja mam racji trochę, bo znalazłem źródło którejś z wersji mxb (nie koniecznie tej którą ja używam)

    Code:
    static int mxb_probe(struct saa7146_dev* dev)
    
    {
       struct mxb* mxb = NULL;
       int result;

       if ((result = request_module("saa7111")) < 0) {
          printk("mxb: saa7111 i2c module not available.\n");
          return -ENODEV;
       }
       if ((result = request_module("tea6420")) < 0) {
          printk("mxb: tea6420 i2c module not available.\n");
          return -ENODEV;
       }
       if ((result = request_module("tea6415c")) < 0) {
          printk("mxb: tea6415c i2c module not available.\n");
          return -ENODEV;
       }
       if ((result = request_module("tda9840")) < 0) {
          printk("mxb: tda9840 i2c module not available.\n");
          return -ENODEV;
       }
       if ((result = request_module("tuner")) < 0) {
          printk("mxb: tuner i2c module not available.\n");
          return -ENODEV;
       }

       mxb = kzalloc(sizeof(struct mxb), GFP_KERNEL);
       if( NULL == mxb ) {
          DEB_D(("not enough kernel memory.\n"));
          return -ENOMEM;
       }

       mxb->i2c_adapter = (struct i2c_adapter) {
          .class = I2C_CLASS_TV_ANALOG,
          .name = "mxb",
       };

       saa7146_i2c_adapter_prepare(dev, &mxb->i2c_adapter, SAA7146_I2C_BUS_BIT_RATE_480);
       if(i2c_add_adapter(&mxb->i2c_adapter) < 0) {
          DEB_S(("cannot register i2c-device. skipping.\n"));
          kfree(mxb);
          return -EFAULT;
       }

       /* loop through all i2c-devices on the bus and look who is there */
       device_for_each_child(&mxb->i2c_adapter.dev, mxb, mxb_check_clients);

       /* check if all devices are present */
       if (!mxb->tea6420_1 || !mxb->tea6420_2 || !mxb->tea6415c ||
           !mxb->tda9840 || !mxb->saa7111a || !mxb->tuner) {
          printk("mxb: did not find all i2c devices. aborting\n");
          i2c_del_adapter(&mxb->i2c_adapter);
          kfree(mxb);
          return -ENODEV;
       }

       /* all devices are present, probe was successful */

       /* we store the pointer in our private data field */
       dev->ext_priv = mxb;

       return 0;
    }



    Czyli przerywa jeżeli nie znajdzie wszystkich urządzeń które myśli, że musi mieć... Szkoda tylko, że nie jest gadatliwe o które mu chodzi.

    Dlatego pytam się o konkretne distro i konkretny kernel na którym to działa. Karta pod windows działa, ale aplikacja jest ułomna.
  • Poziom 22  
    Może jednak ktoś, coś?
    Może ktoś powie jaką ma wersję v4l jezeli mu to działa?