Partager un joystick avec USB/IP
Connecter à distance un joystick au serveur INDI avec USB/IP.
Architecture
flowchart LR
J["Joystick"] --> S["Station cliente
usbip-host"]
S -->|"TCP 3240"| I["Serveur INDI
vhci-hcd"]
I --> E["Pilote INDI Joystick"]
Prérequis
- Ubuntu sur les deux machines ;
- accès administrateur ;
- port TCP
3240autorisé entre les machines ; - joystick branché à la station cliente.
1. Préparer la station cliente
sudo apt install -y linux-tools-generic
sudo modprobe usbip-core
sudo modprobe usbip-host
Ajouter dans /etc/modules-load.d/usbip.conf :
usbip-core
usbip-host
2. Identifier et exporter le joystick
sudo usbip list -l
Noter le BUSID, par exemple 3-6, puis lancer :
sudo usbipd -D
sudo usbip bind --busid=3-6
Contrôler l’export :
usbip list --remote=127.0.0.1
Pour arrêter l’export :
sudo usbip unbind --busid=3-6
3. Automatiser l’export
Créer /etc/systemd/system/usbip-export-joystick.service en adaptant le BUSID :
[Unit]
Description=Export du joystick avec USB/IP
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
ExecStart=/usr/sbin/usbipd -D
ExecStartPost=/usr/sbin/usbip bind --busid=3-6
ExecStop=/usr/sbin/usbip unbind --busid=3-6
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Vérifier les chemins avec command -v usbip usbipd, puis activer le service :
sudo systemctl daemon-reload
sudo systemctl enable --now usbip-export-joystick.service
sudo systemctl status usbip-export-joystick.service
4. Préparer le serveur INDI
sudo apt install -y linux-tools-generic
sudo modprobe vhci-hcd
Ajouter vhci-hcd dans /etc/modules-load.d/usbip.conf.
5. Attacher le joystick
Lister les périphériques exportés par la station :
usbip list --remote=ADRESSE_IP_STATION
Attacher le joystick :
sudo usbip attach --remote=ADRESSE_IP_STATION --busid=3-6
Contrôler :
usbip port
lsusb
Pour le détacher :
sudo usbip detach --port=0
6. Activer le joystick dans INDI
- ajouter
/usr/bin/indi_joystickau profil INDI ; - redémarrer le profil ;
- connecter KStars au serveur ;
- ouvrir l’onglet Joystick dans Ekos ;
- tester un mouvement à faible vitesse.
Checklist
- Joystick visible avec
usbip list -l - Périphérique exporté sur la station
- Port TCP
3240accessible - Joystick attaché sur le serveur
- Joystick visible avec
lsusb - Pilote
indi_joystickchargé - Axes testés à faible vitesse