Raspberry Pi

  • bin jetzt von meiner android ouya-konsole (die ausschließlich für xbmc/kodi verwendet wurde) auf den raspberry pi 2 umgestiegen... verwende ihn als mediacenter mit openelec.


    unfassbar was das ding mittlerweile drauf hat. endlich absolut flüssige menüführung, minimaler stromverbrauch und eine unverschämt kurze bootzeit von ~12sek. bin begeistert, auch die steuerung per hdmi-cec standard funktioniert out of the box.


    auch 2,5" festplatten lassen sich ohne aktiven usb hub anschließen (einfach im /flash/config file "max_usb_current=1" dazuschreiben, schon kriegen die usb ports bis zu 1,2A statt 0,6A)

  • So, mal wieder den Raspi-Thread rauskramen.


    Hab mir bei @m@zon ein paar IR-Module gekauft, um mein Kodi auch per Apple Remote bedienen zu können.
    Eins hätte mir zwar gereicht, aber einzeln gabs die nicht :-)


    Nach einem längeren Kampf mit LIRC, lircd.conf, hardware.conf, Lircmap.xml und remote.xml hab ichs schlußendlich hinbekommen - Kodi läßt sich per Apple Remote super steuern!


    Was jetzt noch fein wäre, wenn ich auch Emulationstation per Remote steuern könnte. Aber da gibts keine LIRC-Schnittstelle, oder ich find nur im Google nix :-(


    EDIT: Mal ne kleine Anleitung, wie das ganze funktioniert. Gibts im Internet zwar haufenweise, aber bei jeder fehlt irgendein entscheidender Punkt! Ich hoffe, ich hab hier aber alles zusammengetragen:

    • IR-Receiver an den Raspi anschließen. Geht ganz einfach über die GPIO-Ports. Hier ein leicht verständliches Bild zum Pinout.
    • Das LIRC-Paket installieren: sudo apt-get install lirc
    • in der /boot/config.txt folgende Zeile hinzufügen: dtoverlay=lirc-rpi
    • in /etc/lirc/hardware.conf einige Zeilen anpassen.


      Code
      1. DRIVER="default"
      2. MODULE="lirc_rpi"
      3. DEVICE="/dev/lirc0"
    • die Datei /etc/lirc/lircd.conf nach dieser Anleitung mittels irrecord erstellen und an die persönliche Remote anpassen. Dazu zuerst den laufenden lirc-daemon beenden: sudo killall lircd.
      irrecord folgendermassen starten: sudo irrecord --device=/dev/lirc0 /etc/lirc/lircd.conf (also das -f aus der Anleitung weglassen!)
    • Jetzt sollten wir den lirc-daemon neu starten: sudo service lirc start und mittels irw müssten wir die Remote testen können (es sollten die verschiedenen Tastendrücke in der Shell erscheinen). Das steht auch in der Anleitung die ich unter Punkt 5. verlinkt hab.
    • Als nächstes die Datei ~/.kodi/userdata/Lircmap.xml erstellen, oder hier runterladen und anpassen.
    • Als letztes noch die Datei ~/.kodi/userdata/keymaps/remote.xml erstellen, oder hier runterladen und anpassen.

    Ich stell hier auch meine lircd.conf, Lircmap.xml rein (meine remote.xml ist identisch mit dem Download von Punkt 8.), die zwar minimalistisch sind, aber mit jeder Apple Remote tadellos funktionieren sollten. Wie die drei Dateien logisch zusammenspielen, wird hier ganz gut erklärt.


    /etc/lirc/lircd.conf


    ~/.kodi/userdata/Lircmap.xml

    Code
    1. <lircmap>
    2. <remote device="AppleRemote">
    3. <up>KEY_UP</up>
    4. <down>KEY_DOWN</down>
    5. <left>KEY_LEFT</left>
    6. <right>KEY_RIGHT</right>
    7. <back>KEY_MENU</back>
    8. <select>KEY_PLAY</select>
    9. </remote>
    10. </lircmap>
  • So ein shit ..


    Ich hab nen Raspberry Pi 2 mit RetroPie. Das hat bisher einwandfrei mit meinem alten USB-Dualshock-Adapter funktioniert, den ich seit gut 10 Jahren rumliegen hab. Jetzt gehts aber (plötzlich?) nimmer.
    Wenn ich den Adapter anstecke geht er einfach nicht. dmesg gibt mir eine interessante Zeile mit der Info zu usbhid mit dem Inhalt "can't add hid device: -32" aus.


    Jetzt der Clou an der Sache: Nehme ich die selbe SD-Card, und stecke sie in einen Raspberry Pi 1, dann wird mein Adapter ohne Probleme sofort erkannt! Keine Fehlermeldungen mehr!


    Desshalb auch das "plötzlich" mit Fragezeichen oben .. vielleicht gings auf dem Raspi2 bisher nie? Das weiß ich leider nicht mehr! Dagegen spricht allerdings, dass ichs absolut sicher schon mindestens 1mal auch auf dem Gerät hinbekommen hab!!


    Kann mir das wer erklären? Software ist absolut ident, und eigentlich müssen ja auch die USB-Anschlüsse hardwareseitig standardisiert sein, oder?

  • Na ja .. aufn Versuch kommts an. Vielleicht gehts ja damit.
    Wobei ich es bezweifle. Hier gehts ja nicht um die Emulator-Software, sondern schon um den USB-Treiber oder - noch schlimmer - um die USB-Ports! Wie gesagt - bei IDENTER Software (weil selbe SD-Card) gehts am alten Pi1 einwandfrei, und am Pi2 gibts nen Error...

  • Okay .. Recalbox-Test erfolglos abgeschlossen.
    Das OS basiert zwar auf RiscOS und nicht auf Raspbian, aber trotzdem geht mein USB-Adapter nicht. Ich habs zwar nicht getestet, aber ich vermute, wenn ich die SD-Card in den Pi1 reinstecke, geht dort alles wieder einwandfrei :-)


    PS3-Pad hab ich zwar, allerdings nur genau eines. Und das will ich nicht dauernd neu pairen. Das soll mit meiner PS3 verbunden bleiben.
    Testen werd ich das mit Bluetooth aber dennoch, einfach um es mal auszuprobieren.


    Echt blöd .. jetzt kann ich mir überlegen, ob ich als Retromschine nen RPi1 benutze, der langsam ist, oder den schnelleren RPi2, für den ich neue Controller brauche! :-(

  • Die san halt teuer, wenn ich 3 supergute PS2 Dualshocks zuhause liegen hab! Billige Wireless-Controller können mit denen nicht mithalten.


    Mir is aber grad was eingefallen: Das einzige mal, dass ich den Adapter am Pi2 zum laufen gebracht hab, war über einen USB-Hub! Ich werd das also nochmal verfolgen .. vielleicht bekomm ichs auf diesem Weg doch noch hin :-)


    YEAH! SOLVED!
    Mit nem USB-Hub scheint alles wieder zu funktionieren! Ich hab zwar NULL Ahnung warum das so ist, aber es ist mir auch wurscht :-) Hauptsache, es geht wieder!

  • Hab i eh auch schon probiert :-) zuwenig Strom wars nicht. Lag definitiv irgendwie an den USB-Ports vom Raspberry Pi 2 ..
    Wenn ich einen Hub dazwischenstecke scheint irgendeine Latenz sich zu ändern, und alles funktioniert einwandfrei! Nur bei direktem Anschluß halt nicht. Aber da ich dass jetzt weiß, paßts eh :-)

  • YEAH!


    Gestern einen Weg gefunden, meine alten PSX Savegames von Memory Card auf den PC zu übertragen, und so zu konvertieren, dass sie vom PSX-Emulator aufm RetroPie erkannt werden!
    Jetzt kann ich meine orginal Savegames aus dem letzten Jahrtausend (*rofl*) bequem am RetroPie weiterzocken! Hab immer noch ein NG+ bei Vagrant Story und bei Silent Hill offen *GGGG*

  • Steh vor einem Problem, und die Lösung will mir nicht einfallen.


    Ich hab meine Recalbox so konfiguriert, dass alle roms, config-files, etc. auf einem USB-Stick liegen.
    Das funktioniert soweit ganz gut.
    Jetzt möcht ich aber noch ein einen Schritt weiter gehen, und die selben Daten auch noch auf dem NAS ablegen, und dann soll der Raspberry beim Boot feststellen ob der USB-Stick eingesteckt ist, und wenn nicht, als Fallback das NAS-Share benutzen.


    Dazu hab ich folgendes Script geschrieben in /etc/init.d/S30automount abgelegt:
    (die jeweiligen start, stop und restart-Zeilen lass ich mal weg)

    Code
    1. if [ -b /dev/sda1 ] ; then
    2. mount -t vfat /dev/sda1 /recalbox/share
    3. echo "USB device mounted"
    4. else
    5. mount -t cifs //1.10.100.3/files/Retropie /recalbox/share -o user=[benutzername],password=[passswort]
    6. echo "NAS drive mounted"
    7. fi

    das funktioniert super, solange der USB-Stick steckt. Dann wird er erkannt, gemounted, und Recalbox bzw. Emulationstation startet normal.


    Zieh ich den Stick aber ab, bleibt Recalbox irgendwo beim boot hängen. Ich kann mir das nur so erklären, dass er den Teil [ -b /dev/sda1 ] nicht fertig abarbeitet. Vielleicht hängt er, wenn es das Blockdevice nicht gibt? Komisch ist allerdings, dass ich das script von der command line ohne Fehlermeldung starten kann. Da wird dann das NAS ordnungsgemäss gemounted. Hilft mir nur nix, weil ich ja will, dass es automatisch beim Bootvorgang passiert!


    Jemand ne Idee?


    Ach fuck, grade draufgekommen .. /etc/init.d/S40network startet den Netzwerktreiber. Leider läuft mein Script vorher (S30automount), und somit KANN es das NAS zu diesem Zeitpunkt gar nicht mounten :-((
    Ok .. dann tüftel ich mal weiter .. vielleicht kann ich mein NAS ja nach dem Netzwerkstart mounten, und noch BEVOR emulationstation läuft .. tricky :-/


    Problem gelöst :-D
    Mein Script heißt jetzt S45automount (und startet damit NACH dem S40.. bzw. S42.. Netzwerkscripten)
    S31emulationstation hab ich einfach auf S46emulationstation umbenannt.
    Damit startet Emulationstation nach meinem Mountscript, was zwar den allgemeinen Bootvorgang von Recalbox subjektiv länger erscheinen läßt (weils länger dauert, bis man in Emulationstation drin ist), dafür funktioniert jetzt alles, wie ichs will :-) *riesenfreu*

  • Also, ich versteh das Recallbox Zeug nicht. Bzw versteh ich irgendwie die gesamte Architektur des RetroPie nicht. Ich glaube, nur folgendes zu wissen:


    Der Retropie besteht aus Emulationstation und RetroArch.


    Die Emulationstation ist dabei


    (i) jedenfalls das Front-End für alles und
    (ii) für einige Emulatoren direkt zuständig, wie vor allem für Mega Drive & SNES.


    Der RetroArch ist für MAME und Neo Geo zuständig. Man muss den RetroArch separat konfigurieren - das geht zwar auch über die Emulationstation, aber nur mittelbar, weil er beim Anwählen des RetroArch Configurators dann ins DOS-mäßige Linux switcht.


    Meine Controls gehen weder am MAME, noch am Neo Geo. Irgendwie haut das einfach nicht hin und ich kapier nicht, wieso - eventuell mag er keine PS3 Wireless Joypads.


    Kann mir das irgendwer erklären?


    Und was ist die Recallbox?

  • Emulationstation ist - wie du sagtest - ein Frontend. Es ist aber KEIN Emulator!
    ALLE Emulatoren bauen im Grunde auf Retroarch auf. Das ist selbst nämlich wieder ein Framework (glaub ich), wo es diverse Emulator-Cores gibt, die dann jeweils die Roms abspielen. Gleichzeitig greifen diese Cores aber alle auf die gesammelten Retroarch-Configs zu (also Gamepad, Shader, Verzeichnisse für Roms, Savegames, etc.)


    Recalbox ist ein eigens angepasstes Retropie-OS, das sehr viel eleganter als die "reine" Retropie-Installation ist.


    Vor allem, weil Recalbox SEHR viel grafisch konfigurierbar macht (du siehst KEIN einziges DOS-Fenster mehr, auch nicht für die Controller-config), und
    extrem elegante Lösungen für das aufspielen von Roms bietet.

    • Nämlich automatisch einen kleinen Webserver, wo man per Browser Dinge hochladen kann, bzw. ein
    • Samba-Share, wo man gemütlich wie auf ein Netzwerklaufwerk Roms, etc. hochladen kann.


    Das ist IMHO derzeit die DEFINITIVE Lösung für den Retropie!


    Die Nachteile:

    • Man kann fast nix nachinstallieren, weil apt-get fehlt
    • Kodi ist noch auf Stand 14.2
    • es fehlen derzeit die LIRC-Treiber (also leider keine out-of-the-box Unterstützung für IR-Remotes).
    • Gamepads für den N64-Emulator müssen doch noch händisch in ne config-Datei eingetragen werden. Soll sich aber mit Recalbox 4.0 ändern!