ubuntuusers.de

Tutorial: 7,29 EUR ShanWan Fake PS3 DualShock3 Sixaxis Controller per Bluetooth

Status: Ungelöst | Ubuntu-Version: Lubuntu 14.04 (Trusty Tahr)
Antworten |

J4Y

Anmeldungsdatum:
16. Oktober 2009

Beiträge: 30

Ich hatte mir vor längerer Zeit mal einen dieser Fake DualShock3 Controller gekauft und bisher immer nur unter Windows mit USB-Kabel benutzt. Der Weg mit Bluetooth unter Ubuntu war nicht ganz einfach, deswegen poste ich hier mal meine kleine Anleitung. Ich benutze lubuntu-14.04.2-desktop-i386.iso, siehe http://cdimage.ubuntu.com/lubuntu/releases/14.04/release/ Wer also diese ISO runterlädt und das Live-System startet, kann damit rechnen, dass diese Anleitung funktioniert - ausgenommen Bluetooth-Dongle- oder Controller-Inkompatibilität.

Quellen:

Controller:

Als Hersteller ist ShanWan angegeben. Der Controller lässt sich im Moment zum Beispiel für 7,29 EUR versandkostenfrei bei eBay erwerben: http://www.ebay.de/itm/400749104220

Voraussetzungen:

  • Bluetooth

  • Internetverbindung für Softwareinstallationen

  • kompatibler Controller

  • passendes USB-Kabel

  • eventuell Büroklammer

Installationsschritte:

Zunächst den Controller per USB-Kabel verbinden und einen Moment warten. dmesg sollte eine ähnliche Ausgabe zeigen:

[  673.008102] usb 2-2: new full-speed USB device number 4 using ohci-pci
[  673.226707] usb 2-2: New USB device found, idVendor=054c, idProduct=0268
[  673.226717] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  673.226722] usb 2-2: Product: PLAYSTATION(R)3 Controller
[  673.226726] usb 2-2: Manufacturer: ShanWan    
[  673.261873] sony 0003:054C:0268.0003: Fixing up Sony Sixaxis report descriptor
[  673.301856] input: ShanWan     PLAYSTATION(R)3 Controller as /devices/pci0000:00/0000:00:13.0/usb2/2-2/2-2:1.0/0003:054C:0268.0003/input/input11
[  673.307040] sony 0003:054C:0268.0003: input,hiddev0,hidraw0: USB HID v1.10 Joystick [ShanWan     PLAYSTATION(R)3 Controller] on usb-0000:00:13.0-2/input0

ShanWan war hier übrigens für mich das Stichwort, das letztendlich zum Erfolg geführt hat. Wer hier schon eine deutliche Abweichung feststellt und trotzdem Erfolg mit dieser Anleitung hat, kann kurz Bescheid geben, dann nehme ich das hier auf.

Falls die Bluetooth-Dienste von Ubuntu noch nicht aktiviert sind, sollte das jetzt passieren. Ich habe also mein Bluetooth USB-Dongle eingesteckt und folgende Befehle ausgeführt:

sudo service bluetooth restart
hciconfig --all

Mein Dongle wurde erkannt und ist aktiv. Fehlt noch die Software, die teilweise aus den Paketquellen installiert wird:

sudo apt-get update

sudo apt-get install joystick
sudo apt-get install jstest-gtk
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install pyqt4-dev-tools
sudo apt-get install libusb-dev
sudo apt-get install libjack-dev
sudo apt-get install libdbus-1-dev
sudo apt-get install libdbus-glib-1-dev
sudo apt-get install libbluetooth3
sudo apt-get install libbluetooth-dev

Der folgende Abschnitt lässt sich bestimmt auch eleganter zu lösen. Die Quelldateien von https://github.com/yarick123/qtsixa/tree/feature/SHANWAN_FAKE_DS3 müssen geladen werden - zum Beispiel per ZIP-Datei, die nach dem Download entpackt wird. Auf welchem Weg auch immer ihr diese Dateien besorgt habt, für den nächsten Teil müsst ihr ins Verzeichnis mit den Quelldateien wechseln.

ls sollte so aussehen:

COPYING  Makefile  TODO        manual.pdf  sixad
INSTALL  README    manual.odt  qtsixa      utils

Und eine Änderung an der Makefile später kann kompiliert werden:

mv sixad/Makefile sixad/Makefile.old
echo "SHANWAN_FAKE_DS3 = true" > sixad/Makefile
cat sixad/Makefile.old >> sixad/Makefile
make
sudo make install

Die restlichen Schritte orientieren sich stark am oben verlinkten Wikipedia-Artikel. Dem Controller muss die Bluetooth-Adresse des Computers mitgeteilt werden:

sudo sixpair

Anschließend wird das USB-Kabel vom Controller getrennt. Folgende drei Programme müssen gestartet werden:

jstest-gtk &
qtsixa &
sixad --start

jstest-gtk ist eine Übersicht über die Funktionen des Controllers und bietet Kalibrierungsmöglichkeiten. qtsixa startet die Oberfläche QtSixA, über die aktuell vorhandene Verbindungen zu Controllern erkannt werden können. Und sixad belegt die Bluetooth-Verbindung und übernimmt die Suche nach Controllern in der Nähe. Beim ersten Start klappte das allerdings bei mir nicht direkt:

D-Bus setup failed: Name already in use
sixad-bin[15250]: started
sixad-bin[15250]: sixad started, press the PS button now

Der Controller blinkt schnell, die Bluetooth Adresse erscheint kurz im QtSixA und verschwindet nach kurzer Zeit wieder. Das Drücken des PS-Knopfes macht keinen Unterschied.

Also wird sixad mit Strg + C gestoppt und der Controller über den mit einer aufgebogenen Büroklammer an der Rückseite zugänglichen RESET-Knopf zurückgesetzt. Das ist bei mir jedoch wie gesagt nur beim ersten Mal so der Fall - später ist der Büroklammer-RESET zum Verbinden nicht mehr nötig. Die gespeicherte Bluetooth-Adresse wird durch den RESET auch nicht beeinflusst.

sixad starten und am Controller die PS-Taste drücken:

sixad --start

Es erscheint:

sixad-bin[15919]: started
sixad-bin[15919]: sixad started, press the PS button now
sixad-sixaxis[15963]: started
sixad-sixaxis[15963]: Connected 'PLAYSTATION(R)3 Controller (XX:XX:XX:XX:XX:XX)' [Battery FF]

QtSixA zeigt die Bluetooth Adresse wieder und dieses Mal verschwindet sie auch nicht. Der Controller vibriert kurz. Dann kann man im jstest-gtk die Liste aktualisieren, die dann den Controller als neuen Eintrag enthalten sollte. Siehe Screenshot:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Bei mir funktionieren alle 17 Knöpfe, die beiden Analog-Sticks, sowie die Motion-Sensoren für Neigung zu den 4 Seiten.

Würde mich schon freuen, wenn auch nur einer Person mit dieser Anleitung geholfen wird. 😉 Fehlt euch irgendwas im Tutorial? Verbesserungsvorschläge? LG, Jay

Bilder

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

J4Y schrieb:

Fehlt euch irgendwas im Tutorial? Verbesserungsvorschläge?

Du meinst abgesehen davon, dass sowas im Forum irgendwie am falschen Platz ist? Solche Anleitungen gehören wenn überhaupt ins Wiki, da könnten die nämlich auch später mal von anderen weiter gepflegt werden – Forenbeiträge gehen irgendwann einfach unter und werden in der Regel auch nicht aktualisiert. Ich verweise mal hier drauf: http://ikhaya.ubuntuusers.de/2014/11/15/ubuntuusers-experiment-howtos-im-wiki-bereich/

~jug

ChemicalBrother Team-Icon

Ehemaliger

Anmeldungsdatum:
17. Mai 2007

Beiträge: 3136

jug schrieb:

J4Y schrieb:

Fehlt euch irgendwas im Tutorial? Verbesserungsvorschläge?

Du meinst abgesehen davon, dass sowas im Forum irgendwie am falschen Platz ist? Solche Anleitungen gehören wenn überhaupt ins Wiki, da könnten die nämlich auch später mal von anderen weiter gepflegt werden – Forenbeiträge gehen irgendwann einfach unter und werden in der Regel auch nicht aktualisiert. Ich verweise mal hier drauf: http://ikhaya.ubuntuusers.de/2014/11/15/ubuntuusers-experiment-howtos-im-wiki-bereich/

~jug

Hätte man auch netter für einen Neuling formulieren können.

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

ChemicalBrother schrieb:

Hätte man auch netter für einen Neuling formulieren können.

Falls das wirklich zu unfreundlich rüber gekommen sein sollte, dann tut es mir leid, das war nicht meine Absicht.

Viel kann ich dazu nicht sagen, weil mir die Hardware fehlt; ich kann also zum Beispiel nicht nachvollziehen ob das wirklich alles so funktioniert.

Der einzige Verbesserungsvorschlag der mir spontan einfallen würde ist die sudo apt-get install in einem Befehl zusammen zu fassen. Man muss da nicht jedes Paket einzeln installieren. Und davon abgesehen kann ich wie gesagt nur dazu raten, das solche Anleitungen im Wiki besser aufgehoben sind. Aus den genannten Gründen:

  • sie können dort besser gefunden werden und

  • andere Nutzer können daran mitarbeiten.

Wovon dann andere Nutzer hoffentlich mehr haben, als wenn es hier im Forum letztendlich versauert. Was meiner Meinung nach Schade wäre. Deshalb hat das Wiki-Team ja gerade ein Experiment für solche Anleitungen gestartet, es wäre sicher schön, wenn das Experiment ein Erfolg wird, deshalb habe ich auch darauf verlinkt.

So, jetzt habe ich mit sehr vielen Worten nochmal wiederholt, was oben schon stand. 😉

~jug

J4Y

(Themenstarter)

Anmeldungsdatum:
16. Oktober 2009

Beiträge: 30

Danke für die Antworten. ☺ Naja, so viel Inhalt ist in meinem Beitrag ja jetzt auch wieder nicht enthalten... Ich wollte eigentlich nur auf die preiswerte Möglichkeit zur Verwendung eines wireless Controllers hinweisen und kurz meine Anleitung dazu beitragen. Und vielleicht bisschen Rückmeldung, ob jemand das auch testen kann oder Probleme damit hatte.

jug schrieb:

Der einzige Verbesserungsvorschlag der mir spontan einfallen würde ist die sudo apt-get install in einem Befehl zusammen zu fassen. Man muss da nicht jedes Paket einzeln installieren.

Ist es dann nicht so, dass alle Pakete, die auf ein Paket mit Fehler folgen, ignoriert werden? Hatte mich mal bei einem Paket irgendwo in der Mitte vertippt, Paket nicht gefunden, also das eine nochmal installiert und dann ewig nach dem Fehler gesucht. Dabei sind einfach nur alle anderen (richtig geschriebenen) Pakete gar nicht installiert worden. Seither mach ich lieber alle Pakete einzeln. Ist das schlechter Stil?

jug schrieb:

Wovon dann andere Nutzer hoffentlich mehr haben, als wenn es hier im Forum letztendlich versauert.

Also mit Google-Suche "ubuntu shanwan" findet man den Beitrag schon... ganz versauern muss er also nicht. 😛 Aber:

jug schrieb:

Deshalb hat das Wiki-Team ja gerade ein Experiment für solche Anleitungen gestartet, es wäre sicher schön, wenn das Experiment ein Erfolg wird, deshalb habe ich auch darauf verlinkt.

Denkst du, dass sich das für einen so kleinen Beitrag lohnt? Ich leg gerne ein HowTo an, wenn das hier so gewünscht ist.

LG, Jay

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

J4Y schrieb:

Ist es dann nicht so, dass alle Pakete, die auf ein Paket mit Fehler folgen, ignoriert werden?

Nein, nur wenn eine Abhängigkeit besteht.

Hatte mich mal bei einem Paket irgendwo in der Mitte vertippt, Paket nicht gefunden, also das eine nochmal installiert und dann ewig nach dem Fehler gesucht.

Deshalb tippt man ja auch nicht, sondern nutzt die automatische Vervollständigung mittels Tab ⇆ -Taste beziehungsweise nutzt Copy&Paste, wenn sich jemand schon die Mühe gemacht hat eine Anleitung zu schreiben. 😉

J4Y schrieb:

Denkst du, dass sich das für einen so kleinen Beitrag lohnt? Ich leg gerne ein HowTo an, wenn das hier so gewünscht ist.

Ja, sonst hätte ich das nicht vorgeschlagen. Die Howto-Sektion im Wiki ist exakt für solche Beiträge gedacht.

~jug

Antworten |