DXR3 - Microcode wird nicht geladen

  • Hallo,


    nachdem mein Versuch, ein Bild über Directfb und einer g450 auszugeben, scheiterte, kaufte ich mir vor kurzem eine Sigma Designs RealMagic Hollywood+ mit em8300 Chip. Nur leider will es immernoch nicht so richtig funktionieren.


    Also, ich haaabe....


    - c't-VDR5 neu installiert
    - Kernel 2.6.19.1 mit den nötigen Einstellungen kompiliert und installiert
    - die CVS-Treiber für die dxr3 nach der Anleitung im Wiki installiert
    - versucht dxr3config zu verwenden


    Die Devices sind vorhanden, der Microcode liegt unter /usr/lib/em8300/em8300.uc, und mit modprobe adv717x und modprobe em8300 lassen sich auch die Module laden.


    cat /proc/em8300/0 gibt aus:


    ----- Driver Info -----
    em8300 module version 0.16.0.cvs
    Card revision 2
    Chip revision 2
    Video encoder: ADV7170 at address 0x6a on EM8300 I2C bus 1
    Memory mapped at address range 0xc0b80000->0xc0c80000 (FIFOs using MTRR)
    Microcode not loaded
    Analog audio output



    Die Frage ist warum der Microcode nicht geladen wird?!


    Mit em8300setup soll man den code ja manuell laden können, aber das Programm lässt sich, (wie auch im wiki beschrieben) nicht kompilieren.


    dxr3config sagt mir:


    i2c_adapter i2c-1: SMBus Quick command not supported, can't probe for chips


    Error: dxr3config could not determine the dxr3 module parameters


    wobei das mit dem i2c_adapter nur beim erstmaligen Ausführen angezeigt wird, danach kommt nur noch die zweite Fehlermeldung.


    Weiß echt net mehr weiter :rolleyes:

    Siemens D1184, Celeron 800MHz, 256MB RAM, Airstar2, Creative DXR3, Maxtor 80GB, Pioneer 117T DVD-ROM, Atric IR-Einschalter, Mahlzeit ISO 4.0 Beta2

  • Zitat

    Original von P-aul


    Weiß echt net mehr weiter :rolleyes:


    Du hast gleich drei Probleme an den Hacken.


    1. Problem
    dxr3config benötigt zur automatischen Erkennung bei deiner dxr3-Karte das Modul eeprom. Ich vermute, dass sich bei dir dieses Modul nicht laden lässt.
    Außerdem werden die die Module i2c_core und i2c_algobit benötigt. Eventuell lassen sich auch diese Module bei dir nicht laden. Vielleicht sind sie nichteinmal vorhanden :rolleyes:


    2. Problem
    Du hast (eventuell) den Microcode nicht dort liegen wo er hingehört und auf jedenfall hast du ihn nicht in em8300.bin umbenannt !!
    Das ist bei c't ein absoluter Klassiker und das Portal ist voll mit Lösungsbeschreibungen -> :suche


    3. Problem
    Die dxr3-Module der Version 0.16.0 nutzen standardmäßig ALSA. Das dxr3-plugin versteht jedoch nur OSS. -> In der von dxr3config erzeugten Datei /etc/modprobe.d/em8300 muss noch zu den Optionen für das Modul em8300 die Option audio_driver=OSS hinzugefügt werden.
    Dxr3config macht dies leider (noch) nicht automatisch.
    Alternativ kann man die Module auch patchen, so dass OSS Standard ist. -> :suche hier im Portal. Der Patch wurde hier von Dr.Seltsam gepostet.


    Tipps:
    1. Such die Threads !!!
    2. Versuch mal die oben genannten Module manuell mit modprobe zu laden. Falls es dabei Probleme gibt, dann poste die Fehlermeldung.
    3. Steck die dxr3 mal in einen anderen PCI-Slot.
    4. Kompilier den Kernel nochmal neu ;)



    Gruß
    Wicky

  • Zitat

    Original von loswillios
    kernel neu kompilieren musst du sicher nicht. installier dir lieber die 0.16.0 die ist erst frisch rausgekommen. microcode in /lib/firmware/em8300.bin


    ...der Kernel ist selber kompiliert, abwarten ;)


    Gruß
    Wicky

  • @ loswillios: Version 0.16.0.cvs ist installiert, müsste doch ziemlich neu sein?


    @ Wicky:


    Ich habe im Kernel eigentlich alles aktiviert, was nach i2c aussah und ansonsten habe ich mich an die Anleitungen im wiki gehalten, da steht kein Wort davon, dass man die em8300.uc in *.bin umbennen muss, aber jetzt weiß ich's ja.


    i2c_core lässt sich laden, i2c_algobit hab' ich anscheinend nicht, also dann doch kernel neu kompilieren...


    und mit "suchen" habe ich schon etliche zeit verbracht, aber anscheinend nicht richtig. ;)


    Also ich versuch dann nochmal mein glück, danke erstmal!

    Siemens D1184, Celeron 800MHz, 256MB RAM, Airstar2, Creative DXR3, Maxtor 80GB, Pioneer 117T DVD-ROM, Atric IR-Einschalter, Mahlzeit ISO 4.0 Beta2

  • Zitat

    Original von P-aul
    @ loswillios: Version 0.16.0.cvs ist installiert, müsste doch ziemlich neu sein?


    ...jepp, ist neu. Aber eventuell ist 0.16.0 vorteilhaft, wer weiß...



    ...sollte auch kein Vorwurf sein. Die Geschichte mit dem *.bin und *.uc ist wirklich tricky und nicht gerade naheliegend.


    Nochwas:
    Machmal ein
    updatedb
    locate i2c


    Gruß
    Wicky

  • okeeehhh...


    nun ist die version 0.16.0 installiert und geändert hat sich nix -> "Microcode not loaded" :(


    firmware liegt in /lib/firmware/em8300.bin


    i2c_algobit heißt bei mir i2c_algo_bit und wird genau wie i2c_core automatisch geladen.


    Was mich noch ein bisschen verwundert ist, dass in meiner /etc/modules.conf überhaupt nix von em8300 steht?! Auch die Datei em8300 unter /etc/modprobe.d/ existiert nicht?

    Siemens D1184, Celeron 800MHz, 256MB RAM, Airstar2, Creative DXR3, Maxtor 80GB, Pioneer 117T DVD-ROM, Atric IR-Einschalter, Mahlzeit ISO 4.0 Beta2

  • Zitat

    Original von P-aul
    okeeehhh...


    nun ist die version 0.16.0 installiert und geändert hat sich nix -> "Microcode not loaded" :(


    firmware liegt in /lib/firmware/em8300.bin


    ...dann scheinen das dxr3-plugin bzw. die Module den MC doch noch wo anders zu erwarten. Musst mal suchen, welche anderen Verzeichnisse noch in Frage kommen. Ich hatte mal irgendwo einige Verzeichnisse gepostet, die in Frage kommen. Aus dem Kopf weiß ich es leider auch nicht.


    Zitat


    i2c_algobit heißt bei mir i2c_algo_bit und wird genau wie i2c_core automatisch geladen.


    ...jepp, die werden auch immer vom Modul em8300 automatisch geladen.

    Zitat


    Was mich noch ein bisschen verwundert ist, dass in meiner /etc/modules.conf überhaupt nix von em8300 steht?! Auch die Datei em8300 unter /etc/modprobe.d/ existiert nicht?


    In /etc/modules.conf schreibt man auch nichts rein. Besser ist es, eine Datei /etc/modprobe.d/em8300 an zu legen. Das erledigt dx3config für dich wenn du dxr3config so aufrufst:
    dxr3config -a -gm


    Gruß
    Wicky

  • Zitat

    In /etc/modules.conf schreibt man auch nichts rein. Besser ist es, eine Datei /etc/modprobe.d/em8300 an zu legen. Das erledigt dx3config für dich wenn du dxr3config so aufrufst:
    dxr3config -a -gm


    Da kommt jedesmal "Error: dxr3config could not determine the dxr3 module parameters"


    Ich glaube aber mittlerweile fast, dass hardwaremäßig irgendwas nicht in Ordnung ist, denn vorhin habe ich genervt den c't VDR von der Platte geschmissen und LinVDR (Mahlzeit 3.2, dxr3 plugin aktiviert) installiert.


    Beim Start erscheint nun immer "something went wrong. vdr respawning to fast...." Ein Bild gibt die dxr3 auch nicht aus, nur aus den Lautsprechern kommt ein lautes "krächzen"...


    Hab die Karte auch schon in unterschiedlichen Slots probiert, keine Besserung.


    Zumindest der Microcode scheint jetzt geladen zu werden:


    ----- Driver Info -----
    em8300 module version 0.15.3.cvs
    Card revision 2
    Chip revision 2
    Video encoder: ADV7170 at address 0x6a on EM8300 I2C bus 1
    Memory mapped at address range 0xd0c80000->0xd0d80000 (FIFOs using MTRR)
    Microcode version 0x29 loaded
    Display buffer resolution: 720x576
    Dicom set to TV-out
    Using PAL
    Aspect is 4:3
    Analog audio output


    dxr3config -a -gm gibt die gleiche Meldung aus wie beim c't vdr. (..could not determine the dxr3 module parameters)


    Das gehört aber wahrscheinlich eher ins LinVDR Forum. Werde jetzt erstmal die Karte unter Windows testen um auszuschließen, dass die nicht doch ne Macke hat

    Siemens D1184, Celeron 800MHz, 256MB RAM, Airstar2, Creative DXR3, Maxtor 80GB, Pioneer 117T DVD-ROM, Atric IR-Einschalter, Mahlzeit ISO 4.0 Beta2

  • P-aul


    Das eeprom der dxr3 ist sehr wahrscheinlich defekt.


    Warum glaube ich das?
    Bei deiner dxr3 muss dxr3config das eeprom auslesen, um sie eindeutig erkennen zu können. Hierfür wird das modul eeprom verwendet.


    Bei linvdr ist dieses Modul vorhanden, sprich an einem fehlenden eeprom-Modul kann es diesmal nicht liegen.


    Die Karte kann aber auch ohne eeprom funktionieren !!


    -> dxr3config ohne Parameter starten. Dann im ersten Menü den Parameter 2 oder 3 auswählen. -> gutes Testbild erzeugen -> Save & Exit


    Zum "something went wrong":
    Sehr wahrscheinlich ist deine channels.conf defekt !!
    -> Poste mal das log (auf der Konsole logread eingeben)


    Gruß
    Wicky

  • Die Karte ist wohl doch defekt. Hab sie gerade auf nem anderen Rechner unter Windows getestet.... Treiber installieren ist kein Problem, sie wird auch vom System erkannt, nur nen Bild bekomme ich auch hier nicht. Der TV-Out gibt gar nix aus und selbst im VGA-Modus, bei dem die Ausgabe über den Monitor erfolgt, erscheint nur ein grüner Bildschirm. Zum krönenden Abschluss bekam ich noch nen Bluescreen (wusste gar nicht mehr wie der aussieht).


    Das war's dann wohl erstmal mit dem vdr. Schade um die 25 € für die Karte, mal sehen ob ich irgendwo ne "neue" ergattern kann, (aber für weniger geld...)


    Trotzdem Danke an euch!

    Siemens D1184, Celeron 800MHz, 256MB RAM, Airstar2, Creative DXR3, Maxtor 80GB, Pioneer 117T DVD-ROM, Atric IR-Einschalter, Mahlzeit ISO 4.0 Beta2

  • der Pfad für den Microcode ist für den Treiber standardmäßig /lib/firmware.


    Kann sein, dass man es im Makefile des dxr3-Plugin (das lädt den Microcode) auch noch vorgeben kann/muss

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo mal wieder,


    was will mir diese Ausgabe von dxr3config sagen?



    Heißt das, dass ich dxr3config nicht mit meiner Karte nutzen kann? Ist die zu alt oder wie?!?


    Grüße
    vdr-d

  • Zitat

    Original von vdr-d
    Hallo mal wieder,


    was will mir diese Ausgabe von dxr3config sagen?


    ...diese Ausgabe kann unterschiedliche Gründe haben.


    Ich vermute, dass auf deinem System das Modul eeprom nicht verfügbar ist.
    Das Modul wird jedoch von dxr3config zur Hardwareerkennung bei manchen dxr3-Karten benötigt.


    -> Bitte poste daher mal die Ausgabe von


    Code
    modprobe eeprom

    und

    Code
    find / -name eeprom.ko


    Dann sind auch noch andere Informationen wichtig:
    -> Bitte poste welche Distribution du verwendest (mit Versionsnummer)
    -> Kannst du sagen, ob die Karte ok ist?
    -> poste bitte die Ausgabe von dxr3config -a


    Zitat


    Heißt das, dass ich dxr3config nicht mit meiner Karte nutzen kann? Ist die zu alt oder wie?!?


    ...weder das eine, noch das andere !!


    Gruß
    Wicky

  • Hoi!


    Danke für die schnelle Antwort!


    Hier also die Ausgaben:


    "modprobe eeprom" ergibt überhaupt gar keine Ausgabe ...


    find / -name eeprom.ko ergibt

    Zitat

    /lib/modules/2.6.16-ct-1/kernel/drivers/i2c/chips/eeprom.ko


    und dxr3config -a sagt das:


    Ich habe ein frisches c't VDR 5 drauf, also Debian mit 2.6.16er Kernel. Die Karte geht mit ziemlicher Sicherheit, vor 3 Monaten ist sie noch gegangen und ich habe sie seitdem nicht mehr angefasst...
    Ist ne Version 1 Hollywood Karte ...


    Gruß
    vdr-d

  • Hallo vdr-d,


    momentan ist mir noch sehr unklar, warum es bei deinem System hakt.


    Immerhin wissen wir nun, dass das Modul eeprom verfügbar ist.


    Zwei Dinge die du noch testen solltest:


    1. Ich habe ein tool geschrieben, das nur das eeprom ausliest. Da jedoch ein änhlicher Code in dxr3config verwendet wird, könnte es sein, dass dieser Code aus den selben Gründen versagt. Dennnoch solltest du ihn einmal ausprobieren.


    Verwendung:
    - skript herunterladen
    - In einem leeren Verzeichnis entpacken mit: tar -xzf *.tgz
    - Ausführen mit ./dxr3eprom.sh


    2. Lade das Module eeprom. Danach such mal in folgendem Ordner
    /sys/devices/platform/i2c-* (* steht hier für 0,1, ...)
    ob du eine Datei namens eeprom findest. Du musst hierbei den Ordnern in ihren Verzeichnis Tiefen folgen !!
    Mit cat kannst du dir dann den Inhalt der Datei anschauen. Ich fürchte jedoch, dass diese Datei nicht existiert, da dxr3config doch sehr gründlich nach dieser Datei sucht.


    Falls sie nicht exisitiert, so wäre mir dies momentan ein Rätsel...


    Nachtrag:
    Das eeprom liest dxr3config bei deiner Karte nur zur Hardwareerkennung aus. Um auf dieser Karte ein Testbild ausgeben zu können, ist diese Information nicht notwendig.
    D.h. du könntest dxr3config im interaktiven Modus aufrufen (also ohne Angabe von Parametern) und versuchen, ein Testbild auf den TV zu zaubern.
    Falls das nicht möglich ist, so befürchte ich, dass die Karte wie bei P-aul defekt ist.


    Gruß
    Wicky

  • Sodale, kaum lädt man sich die neuesten Treiber runter:
    http://dxr3.sourceforge.net/download.html


    macht vor dem ./configure ein beherztes apt-get install gcc make libtool flex pkg-config (falls man das ganzeZeug noch nicht installiert hat) und installiert dann diese neuen em8300 Treiber ---


    ... geht auch schon das geniale dxr3config von Wicky!!!


    Großartige Arbeit Wicky und danke für deine Hilfe! Ich weiß von was ich rede, ich hatte nämlich einen ganzen Tag lang versucht die richtigen Konfigurationskombinationen zu finden, habe aber entnervt das Handtuch geworfen. Jetzt habe ich 2 Minuten mit dem Tool urmgespitl und schon sieht rot nach rot aus und blau nach.


    Yeeeehaaaa! :alki :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!