QNAP TS 251+ / LINUX Station / Logitech Gamepad F310

  • Guten Abend,


    nachdem ich jetzt nach 8h vollends gescheitert bin mein Gamepad Logitech F310 an der NAS inbetriebzunehmen wende ich mich jetzt an euch.


    Also folgende Konstallation:
    NAS = QNAP TS251+ mit 8GB Arbeitsspeicher
    Linux Station mit Ubuntu 16.04
    Gamepad Logitech F310


    Ziel ist es das Gamepad per USB an die Nas anzuschließen und für Emulatoren in der Linux Station zu nutzen.
    unter dem Linuxbefehl: "Sudo lsusb" wird mir das Gamepad schonmal mit vollem Namen angezeigt.
    Leider ist dies aber auch zur Zeit das einzige Lebenszeichen vom Gerät unterhalb Linux.


    Wenn ich es richtig verstanden habe brauche ich für das Gerät noch den richtigen Kernel?
    Wäre toll wenn ihr ein paar Tips für mich habt wie ich das Ding zum laufen kriege.


    (auf der HD-Station und am Windows Rechner läuft das Gamepad ohne Probleme!)


    Vielen vielen Dank.

    Einmal editiert, zuletzt von wonshot ()

  • Eine Anmerkung vorweg: benutze nie "einfach so" sudo vor Befehlen, wenn es nicht wirklich nötig ist (z.B. bei apt-get). Für lsusb ist es auf jeden Fall nicht erforderlich.


    Wenn ich es richtig verstanden habe brauche ich für das Gerät noch den richtigen Kernel?

    Nein mit Sicherheit nicht, normalerweise sollten so Sachen wie Gamepads in den Standardkernelmodulen mit drin sein.
    Meine Empfehlung wäre, ein Tool wie jstest-gtk zu installieren und da mal zu schauen ob der Controller auftaucht. Hier gibt es nochmal eine Anleitung extra für deinen Controller, wo genau das gleiche empfohlen wird.

  • Hallo tuxflo,


    jstest-gtk habe ich gestern als erstes versucht. Leider egal was ich mache erscheint kein Gamepad unter Joystick preferences.
    Auf die von dir genannte bin ich gestern auch schon gestoßen. Habe wirklich auch alles step by step durchgeführt.
    Habe es sogar auf mehreren Ubuntu Versionen durchgeführt um eventuelle Versionskonflikte zum umgehen. (14.04 und 16.04)


    Hilft es vielleicht wenn ich das ganze nochmal im Terminal wie in der Beschreibung eingebe und die Meldungen hier her kopiere?
    (Eventuell kann ein Ubuntuexperte den Fehler dort sehen)


    Danke schonmal.


    anbei nochmal zwei Screenshots.
    Habe jetzt nochmal alles gemäß deines Links gemacht.


    Habe Ubuntu 16.04 komplett neu aufgesetzt und folgendes Getan:


    1. Gamepad angesteckt
    2. Ubuntu gestartet
    3. Terminal geöffnet: via Befehl lsusb mir alle USB-Geräte anzeigen lassen (Siehe Bild 2)
    4. anschließend im Terminal über den Befehl: sudo apt-get install jstest-gtk jstest-gtk installiert, darauf dann das Programm Jstest geöffnet und wie man befindet sich in dem Programm nix (Siehe Bild 2)
    5. in der Anleitung steht das soetwas passieren kann und der Controller noch nicht erkannt wurde -> darauf dann folgenden Befehl ausgeführt: sudo modprobe xpad -> an diesem Punkt zeigt das Terminal ein paar Fehlermeldungen die ich leider nicht deuten kann :(


    und nach wie vor erkennt er dann im jstest das Gamepad nicht.
    Vielleicht liegt es ja an einem Versionkonflikt, immerhin ist die Beschreibung mit Ubuntu 13.10 und ich mache alles im 16.04.
    Kann man in der Linux-Station auch ein 13.10er Ubuntu integrieren oder ist man auf die 3x Versionen festgeschrieben?


    Nochmal ein kleines Update, ich habe jetzt Ubuntu 14.04 auf meinem Computer installiert und siehe an auf Anhieb erkennt er meinen Controller.
    Dann liegt das Problem also doch eher an der Linux Station wie am Ubuntu selbst.


    so habe das ganz jetzt nochmal in der Linux Station 14.04 probiert und dort funktioniert es nach wie vor nicht.
    Wenn ich den Quelltext vom Terminal aus der PC und der NAS vergleiche unterscheiden sich nur die letzten 2-3 Zeilen -> Hier steht bei der Linux Station zusätzlich noch:

    Code
    W: Duplicate sources.list entry http://archive.canonical.com/ trusty/partner amd64 Packages (/var/lib/apt/lists/archive.canonical.com_dists_trusty_partner_binary-amd64_Packages)
    W: You may want to run apt-get update to correct these problems

    kann jemand was aus der Information schließen?
    Mich verwundert es generell, Grundsätzlich ist es doch das selbe Betriebssystem? Oder hat Qnap hier irgendeine spezielle Ubuntuversion?
    ich probiere das ganze mal per Ubuntu 14.04 via VM

  • Also zunächst mal:

    W: Duplicate sources.list entry archive.canonical.com/ trusty/partner amd64 Packages (/var/lib/apt/lists/archive.canonical.com_dists_trusty_partner_binary-amd64_Packages)
    W: You may want to run apt-get update to correct these problems

    Das hat mit deinem Controller nichts weiter zu tun, sondern ist nur ein Hinweis, das du "doppele Einträge" in deiner Paketverwaltung hast. Das kannst du zunächst mal ignorieren oder mal schauen, ob es nach einem sudo apt-get update immernoch auftaucht.
    Der Grund warum du sudo modprobe xpad  nicht ausführen kannst liegt daran, wie die Linux Station funktioniert: im Gegensatz zu einer "richtigen" VM läuft die Linux Station mit einer Technik namens LXC (Linux Container). Das bedeutet, dass deine Linux Station den gleichen Kernel vie das Hostsystem deines NAS verwendet, und damit um einiges schneller als eine "echte VM" läuft. Problem ist nur, dass du so nun nicht einfach ein Kernelmodul laden kannst (genau das macht der modprobe Befehl). Wenn, dann müsstest du das Kernelmodul auf dem Hostsystem laden, bevor die Linux Station gestartet wird.
    Hauptproblem scheint jedoch zu sein, dass es im QTS scheinbar kein Modul namens xpad gibt.


    Code
    [~] # modprobe xpad
    modprobe: module xpad not found in modules.dep

    Eine Möglichkeit wäre, das entsprechende Modul zu kompilieren, wie hier beschrieben, allerdings ist das ohne erweiterte Linux Kenntnisse schon ein ganz schöner Akt...


    Bist du dir sicher, dass der Controller in der HD Station funktioniert? Denn das würde bedeuten, dass es das Kernelmodul gibt und das es von der HD Station (und somit auch von der Linux Station) gelader werden kann. Man müsste dann nur den entsprechenden Quelltext der HD Station untersuchen und schauen ob und wenn ja wie es geladen wird.

  • Habe das ganze jetzt auch via VM Ubuntu 14.04 getestet und siehe da funktioniert ebenfalls, leider mit bescheidener Performence durch die VM :-(.


    Habe gestern Abend über die HD-Station TuxKart mit Gamepad spielen können, hierfür musste ich überhaupt nichts parametrieren, USB anstecken und losfahren.
    demnach wie du richtig sagst muss es das Kernelmodul seitens QTS geben.


    Hast du eine Idee wie man hierbei ambesten vor geht?
    Wie komme ich zum Quelltext der HD Station?

  • Also dann könntest du zunächst mal versuchen das Modul ausfindig zu machen. Ich habe bei mir keine HD Station installiert, darum kann ich dir nicht direkt sagen wo du die Sachen findest aber die Start Skripte müssten irgendwo unter /share/CACHEDAV1/.qpkg/ubuntu-hd zu finden sein. Um überall nach dem Modul zu suchen, kannst du ja mal ein find / -name "xpad.ko" direkt (per SSH) auf dem NAS Hostsystem ausführen und mal schauen ob er da was findet. Das kann jedoch, je nach Festplattenbelegung, eine ganze Weile dauern...

  • Leider nein, es sei denn man kann irgendwo den Quelltext der verlinkten App einsehen. Gegebenenfalls liefert er das Kernelmodul einfach mit...
    Hast du den oben genannten find Befehl mal durchlaufen lassen? Vielleicht findet er ja das Modul, was durch die Drittanwendung hinzugefügt wurde.

  • kannst du mir noch eine kurze Anleitung wie ich bei der Suche vorgehen muss?
    Wie mache ich eine SSH-Suche ? Wo muss ich hin?


    habe noch auf folgendem Link https://forum.qnap.com/viewtopic.php?f=134&t=121695&start=15 am Ende auf Seite ein Kernel gefunden der von Usern kompiliert wurde.
    Wenn ich das richtig gelesen habe sollte das für meine Anwendungen genau passen (gleiche Nas,etc.).


    habe mir den Kernel mal runtergeladen und habe nun eine Xpad.Ko Datei.
    Kannst du mir noch kurz sagen wie ich diese in meine Linux Station installiere?
    Wenn ich es richtig verstanden habe irgendwie mit dem Befehl "Modprobe"


    Danke


    Hast du den oben genannten find Befehl mal durchlaufen lassen?

    habe jetzt mal die Suche im Programm WinSCP gestartet und leider hat er im gesamten Ordner: /share/CACHEDAV1 nichts zu Xpad gefunden :(

  • Hallo!
    Entschuldige bitte die verspätete Antwort, der Alltag hat mich derzeit fest im Griff. Also ich habe es gerade mal bei mir getestet (natürlich ohne Controller) und da scheint alles soweit zu klappen.
    Du musst die oben genannte zip Datei auf deinem NAS entpacken, und dann in das entsprechende Verzeichnis navigieren: z.B. wenn du es in den Download Ordner entpackt hast, gibst du cd /share/Download ein.
    Dann führst du insmod xpad.ko aus und das Modul sollte geladen werden. Damit das auch so ist kannst du lsmod | grep xpad ausführen und da müsste dann sowas in der Art auftauchen:


    Code
    [/share/Download] # lsmod | grep xpad
    xpad                   17590  0 
    [/share/Download] # insmod xpad.ko

    Dann ist es wichtig, dass du die Linux Station neustartest. Entweder über die Weboberfläche des QTS oder einfach per Reboot direkt aus der Linux Station. Dann sollte jstest den Controller erkennen...

  • Also die Fehler kommen, weil du die Befehle in der Linux Station ausführst und nicht direkt auf dem NAS. Melde dich per SSH (WinSCP) auf dem NAS an und versuche das Ganze nochmal. Danach wie schon beschrieben die Linux Station neustarten.


    lsmod = ismod

    Was soll das denn bedeuten?
    Meine oben genannten Befehle sind schon richtig. Der erste ist insmod was für "insert module" steht und der zweite ist lsmod was für "list modules" steht. Bitte nicht noch mehr Verwirrung reinbringen als es augenscheinlich

    Oh man diese Ubuntu und ich werden nie Freunde

    eh schon der Fall ist...