kernel bug (2.6.20-gentoo-r7 bttv), vagy hardware hiba ?

Kezdőlap Fórumok Kernel kernel bug (2.6.20-gentoo-r7 bttv), vagy hardware hiba ?

5 bejegyzés megtekintése - 21-25 / 25
  • Szerző
    Bejegyzés
  • #2104752
    juuzer
    Felhasználó

      Előhoznám a topikot, a probléma ugyanaz. A scrpit ennyit változott:

      Code:
      #!/bin/sh

      load()
      {
      modprobe bttv card=42 tuner=28 radio=1
      until dmesg | grep „pic16c54 (PV951) found @ 0x96” ; do
          rmmod tvaudio
          modprobe tvaudio
          count=`expr $count + 1`
          echo $count
      done
      }

      unload()
      {
      killall lircd
      for i in ir-kbd-i2c bttv videodev tveeprom btcx_risc compat_ioctl32  video_buf tuner tvaudio v4l2_common v4l1_compat ir_common
      do
          rmmod $i 2>/dev/null
      done
      dmesg -c
      }

      ir()
      {
      modprobe ir-kbd-i2c
      until dmesg | grep „i2c IR (PV951) detected at i2c” ; do
          rmmod ir-kbd-i2c
          modprobe ir-kbd-i2c
          count=`expr $count + 1`
          echo $count
      done
      }

      demon()
      {
      lircd -H dev/input -d /dev/input/event2
      }

      count=0
      $1

      gendelider wrote:
      Hali!
      A régi kernelt és környezetét nem szoktad „megtartani”, hogy arról is tudjál bootolni? Mert akkor könnyen visszamérhető. A kísérletek között mindenképpen kikapcsolnám a gépet, nem csak warm start.

      Megvan a régi kernel és környezete, 2.6.18-gr6 és korábbi kernelekkel működik a dolog cold és warm start esetén is (windows alatt is tökéletesen működik a kártya). Ez felett viszont egyik kernellel sem. Amiket próbáltam: 2.6.20-gentoo-r7 2.6.20-gentoo-r8 2.6.22-gentoo-r5 2.6.22.5 vanilla.

      gendelider wrote:
      Hali!
      Egyébként az olvasott ff vagy ffff … értékek gyanúsak, mert azt jelenti, hogy nem sikerült elérni egy – vagy több – HW regisztert. (A levegőben lógnak, és akkor „fel vannak húzva” 1-re) Volt már ilyen az életemben, akkor HW, illetve a HW programozása volt a hunyó. Lehet az is, hogy az alaplapi chipset (valamelyik bridge) vezérlésében nem stimmel valami.

      Az „öregedő” HW-ben kevésbé hiszek, inkább nem korrekt HW / driver megoldásokban, egy „nagyon a szélére” (a felfutó/lefutó él mellé közvetlenül) programozott bus i/o -ban. A kontakthibák sem jellemzőek már annyira manapság.

      Ha erről van szó én mint egyszerű felhasználó mit tudok vele kezdeni?

      #2104753
      juuzer
      Felhasználó

        Előhoznám a topikot, a probléma ugyanaz. A scrpit ennyit változott:

        Code:
        #!/bin/sh

        load()
        {
        modprobe bttv card=42 tuner=28 radio=1
        until dmesg | grep „pic16c54 (PV951) found @ 0x96” ; do
            rmmod tvaudio
            modprobe tvaudio
            count=`expr $count + 1`
            echo $count
        done
        }

        unload()
        {
        killall lircd
        for i in ir-kbd-i2c bttv videodev tveeprom btcx_risc compat_ioctl32  video_buf tuner tvaudio v4l2_common v4l1_compat ir_common
        do
            rmmod $i 2>/dev/null
        done
        dmesg -c
        }

        ir()
        {
        modprobe ir-kbd-i2c
        until dmesg | grep „i2c IR (PV951) detected at i2c” ; do
            rmmod ir-kbd-i2c
            modprobe ir-kbd-i2c
            count=`expr $count + 1`
            echo $count
        done
        }

        demon()
        {
        lircd -H dev/input -d /dev/input/event2
        }

        count=0
        $1

        gendelider wrote:
        Hali!
        A régi kernelt és környezetét nem szoktad „megtartani”, hogy arról is tudjál bootolni? Mert akkor könnyen visszamérhető. A kísérletek között mindenképpen kikapcsolnám a gépet, nem csak warm start.

        Megvan a régi kernel és környezete, 2.6.18-gr6 és korábbi kernelekkel működik a dolog cold és warm start esetén is (windows alatt is tökéletesen működik a kártya). Ez felett viszont egyik kernellel sem. Amiket próbáltam: 2.6.20-gentoo-r7 2.6.20-gentoo-r8 2.6.22-gentoo-r5 2.6.22.5 vanilla.

        gendelider wrote:
        Hali!
        Egyébként az olvasott ff vagy ffff … értékek gyanúsak, mert azt jelenti, hogy nem sikerült elérni egy – vagy több – HW regisztert. (A levegőben lógnak, és akkor „fel vannak húzva” 1-re) Volt már ilyen az életemben, akkor HW, illetve a HW programozása volt a hunyó. Lehet az is, hogy az alaplapi chipset (valamelyik bridge) vezérlésében nem stimmel valami.

        Az „öregedő” HW-ben kevésbé hiszek, inkább nem korrekt HW / driver megoldásokban, egy „nagyon a szélére” (a felfutó/lefutó él mellé közvetlenül) programozott bus i/o -ban. A kontakthibák sem jellemzőek már annyira manapság.

        Ha erről van szó én mint egyszerű felhasználó mit tudok vele kezdeni?

        #2104754
        juuzer
        Felhasználó

          Megvan a megoldás, a bttv modult meg kell kínálni még egy paraméterrel:

          Code:
          modprobe bttv card=42 tuner=28 radio=1 i2c_udelay=16

          i2c_udelay= Allow reduce I2C speed. Default is 5 usecs (meaning 66,67 Kbps). The default is the maximum supported speed by kernel bitbang algorithm. You may use lower numbers, if I2C messages are lost (16 is known to work on all supported cards).

          Így már tökéletes a kép és a hang is, egyedül a kernelbe épített ir támogatás nem működik. A lirc csomaggal megy az is.

          #2104755
          juuzer
          Felhasználó

            Megvan a megoldás, a bttv modult meg kell kínálni még egy paraméterrel:

            Code:
            modprobe bttv card=42 tuner=28 radio=1 i2c_udelay=16

            i2c_udelay= Allow reduce I2C speed. Default is 5 usecs (meaning 66,67 Kbps). The default is the maximum supported speed by kernel bitbang algorithm. You may use lower numbers, if I2C messages are lost (16 is known to work on all supported cards).

            Így már tökéletes a kép és a hang is, egyedül a kernelbe épített ir támogatás nem működik. A lirc csomaggal megy az is.

            #1886234
            csaba
            Felhasználó

              A következő problémám van:
              Van egy script ami a tv kártyát üzemeli be (ProVideo PV951, bt878 chip):

              Code:
              modprobe bttv card=42 tuner=28 radio=1

              until dmesg | grep „pic16c54 (PV951) found @ 0x96” ; do
                  rmmod tvaudio
                  modprobe tvaudio
              done

              modprobe ir-kbd-i2c

              until dmesg | grep „i2c IR (PV951) detected at i2c” ; do
                  rmmod ir-kbd-i2c
                  modprobe ir-kbd-i2c
              done

              A script első fele a hangért, a második a távirányíóért felel. Eddig rendben működött is a dolog valamelyik nap viszont frissítettem/fordítottam egy új kernelt is.

              2.6.18-gentoo-r6 alatt így néz ki:

              Code:
              Linux video capture interface: v2.00
              bttv: driver version 0.9.16 loaded
              bttv: using 8 buffers with 2080k (520 pages) each for capture
              bttv: Bt8xx card found (0).
              ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
              GSI 20 sharing vector 0xD1 and IRQ 20
              ACPI: PCI Interrupt 0000:05:08.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 20
              bttv0: Bt878 (rev 17) at 0000:05:08.0, irq: 20, latency: 32, mmio: 0xc2100000
              bttv0: using: ProVideo PV951 [card=42,insmod option]
              bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
              bttv0: using tuner=28
              bttv0: i2c: checking for TDA9875 @ 0xb0… not found
              bttv0: i2c: checking for TDA7432 @ 0x8a… not found
              bttv0: i2c: checking for TDA9887 @ 0x86… not found
              tuner 2-0060: All bytes are equal. It is not a TEA5767
              tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
              tuner 2-0060: type set to 28 (LG PAL_BG+FM (TPI8PSB01D))
              bttv0: registered device video0
              bttv0: registered device vbi0
              bttv0: registered device radio0
              bttv0: PLL: 28636363 => 35468950 .. ok
              tvaudio 2-004b: pic16c54 (PV951) found @ 0x96 (bt878 #0 [sw])
              input: i2c IR (PV951) as /class/input/input2
              ir-kbd-i2c: i2c IR (PV951) detected at i2c-2//ir0 [bt878 #0 [sw]]

              2.6.20-gentoo-r7 alatt viszont így:

              Code:
              Linux video capture interface: v2.00
              bttv: driver version 0.9.16 loaded
              bttv: using 8 buffers with 2080k (520 pages) each for capture
              bttv: Bt8xx card found (0).
              ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
              ACPI: PCI Interrupt 0000:05:08.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18
              bttv0: Bt878 (rev 17) at 0000:05:08.0, irq: 18, latency: 32, mmio: 0xc2100000
              bttv0: using: ProVideo PV951 [card=42,insmod option]
              bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
              bttv0: using tuner=28
              bttv0: i2c: checking for TDA9875 @ 0xb0… not found
              bttv0: i2c: checking for TDA7432 @ 0x8a… not found
              bttv0: i2c: checking for TDA9887 @ 0x86… not found
              tuner 2-0060: All bytes are equal. It is not a TEA5767
              tuner 2-0060: chip found @ 0xc0 (bt878 #0 [sw])
              tuner 2-0060: type set to 28 (LG PAL_BG+FM (TPI8PSB01D))
              tuner 2-0060: type set to 28 (LG PAL_BG+FM (TPI8PSB01D))
              bttv0: registered device video0
              bttv0: registered device vbi0
              bttv0: registered device radio0
              bttv0: PLL: 28636363 => 35468950 .. ok
              tvaudio 2-0041: tda8425 found @ 0x82 (bt878 #0 [sw])
              tvaudio 2-0041: tda8425: I/O error (write reg0=0xff)
              tvaudio 2-0041: tda8425: I/O error (write reg1=0xff)
              tvaudio 2-0041: tda8425: I/O error (write reg2=0xf8)
              tvaudio 2-0041: tda8425: I/O error (write reg3=0xf8)
              tvaudio 2-004b: pic16c54 (PV951) found @ 0x96 (bt878 #0 [sw])
              input: i2c IR (Hauppauge) as /class/input/input4
              ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-2/2-001a/ir0 [bt878 #0 [sw]]
              input: i2c IR (Hauppauge) as /class/input/input5
              ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-2/2-001a/ir0 [bt878 #0 [sw]]
              input: i2c IR (Pixelview) as /class/input/input6
              ir-kbd-i2c: i2c IR (Pixelview) detected at i2c-2/2-0064/ir0 [bt878 #0 [sw]]
              input: i2c IR (Pixelview) as /class/input/input7
              ir-kbd-i2c: i2c IR (Pixelview) detected at i2c-2/2-0064/ir0 [bt878 #0 [sw]

              Ez folytatódik amíg le nem állítom a script-et és sajnos nem igazán jut eszembe semmi.

            5 bejegyzés megtekintése - 21-25 / 25
            • Be kell jelentkezni a hozzászóláshoz.