wiki:usbip
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| wiki:usbip [2023/08/21 16:18] – admin | wiki:usbip [2024/04/30 14:24] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | === Installation === | + | ==== Installation |
| - | ==sur le raspberry pi == | + | ===sur le raspberry pi == |
| - | Installation du programme | + | ==Installation du programme== |
| < | < | ||
| sudo apt install usbip | sudo apt install usbip | ||
| </ | </ | ||
| - | Execution du programme | + | ==Execution du programme== |
| < | < | ||
| Ligne 16: | Ligne 16: | ||
| - | =Configuration du programme= | + | ==Configuration du programme== |
| on liste les ports usb que l'on peut diffuser via ip | on liste les ports usb que l'on peut diffuser via ip | ||
| Ligne 22: | Ligne 22: | ||
| On propose le transfert d'un périphérique usb dont le busid est 1-1.3 | On propose le transfert d'un périphérique usb dont le busid est 1-1.3 | ||
| - | < | + | < |
| - | ==sur le client == | + | ===sur le client |
| + | ==Installation du programme== | ||
| On installe aussi usbip | On installe aussi usbip | ||
| + | < | ||
| + | sudo apt install usbip | ||
| + | </ | ||
| + | ou | ||
| + | < | ||
| + | sudo apt install linux-tools-virtual hwdata | ||
| + | </ | ||
| + | et si besoin (si l' | ||
| + | < | ||
| + | sudo update-alternatives --install / | ||
| + | </ | ||
| + | ==Execution du programme== | ||
| + | |||
| < | < | ||
| sudo modprobe usbip-core | sudo modprobe usbip-core | ||
| Ligne 39: | Ligne 52: | ||
| < | < | ||
| sudo usbip | sudo usbip | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====Automatisation de usbip pour le raspberry pi en cas de redémarrage==== | ||
| + | On va éditer le fichier / | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | On y ajoute | ||
| + | < | ||
| + | usbip-core | ||
| + | usbip-host | ||
| + | </ | ||
| + | |||
| + | On va exécuter le démon automatique en passant par le script rc.local. | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | On y ajoute avant a ligne **exit 0** | ||
| + | (on remplace 1-1.3 par le bon libusb | ||
| + | < | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Comme le script monte le périphérique au démarrage il faut aussi le démonter lorsqu' | ||
| + | On va créer un service d' | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | y mettre en adaptant le busid 1-1.3 | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=USBIP unbind | ||
| + | [Service] | ||
| + | Type=oneshot | ||
| + | RemainAfterExit=true | ||
| + | ExecStart=/ | ||
| + | ExecStop=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | On installe et démarre le service et on vérifie son lancement | ||
| + | |||
| + | < | ||
| + | sudo systemctl enable / | ||
| + | sudo systemctl start usbipunbind.service | ||
| + | sudo systemctl status usbipunbind.service | ||
| + | </ | ||
| + | |||
| + | ====Automatisation de usbip côté client==== | ||
| + | On va éditer le fichier / | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | On y ajoute | ||
| + | < | ||
| + | usbip-core | ||
| + | vhci-hcd | ||
| + | </ | ||
| + | Ensuite on va créer un script qui vérifie si le serveur est dispo et qui va gérer les commandes detach ou attach (on adapte les adresses 192.168.1.2 à celle du rpi et le 1-1.3 au busid du périphérique que l'on peut attacher | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | ENDLESS=true | ||
| + | LANG=C | ||
| + | SERVER=' | ||
| + | BUSID=' | ||
| + | |||
| + | trap_exit() { | ||
| + | ENDLESS=false | ||
| + | for PORT in $(/ | ||
| + | / | ||
| + | done | ||
| + | exit 0 | ||
| + | } | ||
| + | |||
| + | trap trap_exit SIGINT | ||
| + | trap trap_exit SIGTERM | ||
| + | trap trap_exit SIGKILL | ||
| + | |||
| + | while $ENDLESS; do | ||
| + | if ! / | ||
| + | / | ||
| + | fi | ||
| + | sleep 30 | ||
| + | done | ||
| + | |||
| + | trap_exit | ||
| + | </ | ||
| + | On rend le script executable | ||
| + | < | ||
| + | sudo chmod +x / | ||
| + | </ | ||
| + | |||
| + | On créé le service pour l' | ||
| + | < | ||
| + | On y met | ||
| + | < | ||
| + | [Unit] | ||
| + | Description=USBIP Monte | ||
| + | After=default.target | ||
| + | |||
| + | [Service] | ||
| + | ExecStart=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=default.target | ||
| + | </ | ||
| + | On installe et démarre le service et on vérifie son lancement | ||
| + | |||
| + | < | ||
| + | sudo systemctl enable / | ||
| + | sudo systemctl start usbip.service | ||
| + | sudo systemctl status usbip.service | ||
| </ | </ | ||
wiki/usbip.1692627500.txt.gz · Dernière modification : 2024/04/30 14:24 (modification externe)
