Bonjour,
Je souhaite pouvoir "partager" un lecteur de DVD branché en USB sur mon NAS avec des machines sur le réseau local au moyen de l'interface USB sur IP, justement appelée "usbip".
Ici un petit apparté: Il existe des programmes commerciaux qui proposent cela, mais il sont pour la plupart plus cher que les solutions hard. Un des moins chers est justement proposé dans le magasin d'application d'Asustor, j'ai voulu essayer pour voir. Mais je n'ai pas été convaincu: Malgré qu'il soit payant, il faut mettre les mains dans le cambouis, et vous savez quoi, ... il utilise usbip.
J'ai d'abord fait l'essai entre mes 2 machines sous Mint: Pas de problème, le lecteur (BW-16D1H-U Pro), branché sur la machine réglée en serveur, apparaît bien comme périphérique usb de la machine tournant en client.
serveur:
bop@bop-PC ~ $ sudo /usr/lib/linux-lts-wily-tools-4.2.0-42/usbipd
usbipd: info: starting usbipd (usbip-utils 2.0)
usbipd: info: listening on 0.0.0.0:3240
usbipd: info: listening on :::3240
bop@bop-PC ~ $ sudo /usr/lib/linux-lts-wily-tools-4.2.0-42/usbip bind -b 3-4.4
usbip: info: bind device on busid 3-4.4: complete
client:
bop@******-PC ~ $ sudo /usr/lib/linux-tools/4.4.0-38-generic/usbip list -r 192.168.0.62
Exportable USB devices
======================
- 192.168.0.62
3-4.4: ASMedia Technology Inc. : ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/
: /sys/devices/pci0000:00/0000:00:1a.7/usb3/3-4/3-4.4
: (Defined at Interface level) (00/00/00)
bop@******-PC ~ $ sudo /usr/lib/linux-tools/4.4.0-38-generic/usbip attach -r 192.168.0.62 -b 3-4.4
bop@******-PC ~ $
Seul souci constaté: Ne fonctionne pas en USB3, mais seulement en USB2
J'ai donc voulu reproduire la même chose avec le NAS
Sur le NAS (serveur):
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbipd
usbipd: info: starting usbipd (usbip-utils 1.1.1)
usbipd: error: bind: 0.0.0.0:3240: 98 (Address already in use)
usbipd: error: bind: :::3240: 98 (Address already in use)
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbip list -l
usbip: error: Protocol spec without prior Class and Subclass spec at line 17467
Local USB devices
=================
- busid 1-10 (174c:55aa)
ASMedia Technology Inc. : ASM1051 SATA 3Gb/s bridge (174c:55aa)
1-10:1.0 -> usb-storage
- busid 1-3 (125f:601a)
A-DATA Technology Co., Ltd. : unknown product (125f:601a)
1-3:1.0 -> usb-storage
- busid 3-1 (8087:8008)
Intel Corp. : unknown product (8087:8008)
3-1:1.0 -> hub
- busid 4-1 (8087:8000)
Intel Corp. : unknown product (8087:8000)
4-1:1.0 -> hub
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbip -d bind -b 1-10
usbip: debug: /asustor/branch2_6_2016_09_12/x64_g3/source/usbip-0.1.7/src/usbip.c:135:[run_command] running command: `bind'
Sur le client:
bop@bop-PC ~ $ /usr/lib/linux-lts-wily-tools-4.2.0-42/usbip -d list -r 192.168.0.70
...
usbip: debug: usbip_list.c:141:[list_exported_devices] connected to 192.168.0.70:3240
usbip: debug: usbip_network.c:175:[usbip_net_recv_op_common] usbip_net_recv failed: -1
usbip: debug: usbip_list.c:67:[get_exported_devices] usbip_net_recv_op_common failed
usbip: error: failed to get device list from 192.168.0.70
Et voilà, connectés mais ils ne doivent pas parler le même langage, donc pas de liste et pas moyen d'attacher un bus Id.
Sur l'ordinateur, j'utilise une version plus récente (linux-lts-wily-tools-4.2.0-42) que celle de mon kernel (3.19.0-32-generic #37~14.04.1-Ubuntu) mais le kernel du NAS semble récent (Linux 4.1.0 #1 SMP Mon Sep 12 02:45:47 CST 2016 x86_64) bien qu'il indique une version plus ancienne de "usbip-utils" (1.1.1 contre 2.0)
Si quelqu'un peut m'éclairer, je suis preneur.
[Edit]
Ce serait apparemment (pour l'instant du moins) trop risqué de modifier le système pour cette utilisation (risque de conflit avec Asustor Portal et d'autres applications).
Du coup, j'ai refilé la tâche à un pi 1 B+ qui s'était fait piquer son ancien job par un de ses descendant (pi3B) et qui errait, désœuvré.
Il fait ça très bien et sans avoir à réveiller le NAS.
Je souhaite pouvoir "partager" un lecteur de DVD branché en USB sur mon NAS avec des machines sur le réseau local au moyen de l'interface USB sur IP, justement appelée "usbip".
Ici un petit apparté: Il existe des programmes commerciaux qui proposent cela, mais il sont pour la plupart plus cher que les solutions hard. Un des moins chers est justement proposé dans le magasin d'application d'Asustor, j'ai voulu essayer pour voir. Mais je n'ai pas été convaincu: Malgré qu'il soit payant, il faut mettre les mains dans le cambouis, et vous savez quoi, ... il utilise usbip.
J'ai d'abord fait l'essai entre mes 2 machines sous Mint: Pas de problème, le lecteur (BW-16D1H-U Pro), branché sur la machine réglée en serveur, apparaît bien comme périphérique usb de la machine tournant en client.
serveur:
bop@bop-PC ~ $ sudo /usr/lib/linux-lts-wily-tools-4.2.0-42/usbipd
usbipd: info: starting usbipd (usbip-utils 2.0)
usbipd: info: listening on 0.0.0.0:3240
usbipd: info: listening on :::3240
bop@bop-PC ~ $ sudo /usr/lib/linux-lts-wily-tools-4.2.0-42/usbip bind -b 3-4.4
usbip: info: bind device on busid 3-4.4: complete
client:
bop@******-PC ~ $ sudo /usr/lib/linux-tools/4.4.0-38-generic/usbip list -r 192.168.0.62
Exportable USB devices
======================
- 192.168.0.62
3-4.4: ASMedia Technology Inc. : ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/
: /sys/devices/pci0000:00/0000:00:1a.7/usb3/3-4/3-4.4
: (Defined at Interface level) (00/00/00)
bop@******-PC ~ $ sudo /usr/lib/linux-tools/4.4.0-38-generic/usbip attach -r 192.168.0.62 -b 3-4.4
bop@******-PC ~ $
Seul souci constaté: Ne fonctionne pas en USB3, mais seulement en USB2
J'ai donc voulu reproduire la même chose avec le NAS
Sur le NAS (serveur):
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbipd
usbipd: info: starting usbipd (usbip-utils 1.1.1)
usbipd: error: bind: 0.0.0.0:3240: 98 (Address already in use)
usbipd: error: bind: :::3240: 98 (Address already in use)
Bon, là en fait il semble que soit lui-même qui était déjà dans les murs:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3240 0.0.0.0:* LISTEN 3222/usbipd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ] DGRAM 4881 3222/usbipd
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3240 0.0.0.0:* LISTEN 3222/usbipd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ] DGRAM 4881 3222/usbipd
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbip list -l
usbip: error: Protocol spec without prior Class and Subclass spec at line 17467
Local USB devices
=================
- busid 1-10 (174c:55aa)
ASMedia Technology Inc. : ASM1051 SATA 3Gb/s bridge (174c:55aa)
1-10:1.0 -> usb-storage
- busid 1-3 (125f:601a)
A-DATA Technology Co., Ltd. : unknown product (125f:601a)
1-3:1.0 -> usb-storage
- busid 3-1 (8087:8008)
Intel Corp. : unknown product (8087:8008)
3-1:1.0 -> hub
- busid 4-1 (8087:8000)
Intel Corp. : unknown product (8087:8000)
4-1:1.0 -> hub
root@****:/volume1/.@root # /volume0/usr/builtin/sbin/usbip -d bind -b 1-10
usbip: debug: /asustor/branch2_6_2016_09_12/x64_g3/source/usbip-0.1.7/src/usbip.c:135:[run_command] running command: `bind'
Sur le client:
bop@bop-PC ~ $ /usr/lib/linux-lts-wily-tools-4.2.0-42/usbip -d list -r 192.168.0.70
...
usbip: debug: usbip_list.c:141:[list_exported_devices] connected to 192.168.0.70:3240
usbip: debug: usbip_network.c:175:[usbip_net_recv_op_common] usbip_net_recv failed: -1
usbip: debug: usbip_list.c:67:[get_exported_devices] usbip_net_recv_op_common failed
usbip: error: failed to get device list from 192.168.0.70
Et voilà, connectés mais ils ne doivent pas parler le même langage, donc pas de liste et pas moyen d'attacher un bus Id.
Sur l'ordinateur, j'utilise une version plus récente (linux-lts-wily-tools-4.2.0-42) que celle de mon kernel (3.19.0-32-generic #37~14.04.1-Ubuntu) mais le kernel du NAS semble récent (Linux 4.1.0 #1 SMP Mon Sep 12 02:45:47 CST 2016 x86_64) bien qu'il indique une version plus ancienne de "usbip-utils" (1.1.1 contre 2.0)
Si quelqu'un peut m'éclairer, je suis preneur.
[Edit]
Ce serait apparemment (pour l'instant du moins) trop risqué de modifier le système pour cette utilisation (risque de conflit avec Asustor Portal et d'autres applications).
Du coup, j'ai refilé la tâche à un pi 1 B+ qui s'était fait piquer son ancien job par un de ses descendant (pi3B) et qui errait, désœuvré.
Il fait ça très bien et sans avoir à réveiller le NAS.