Ayant eu un problème de connexion sur une de mes machines (cable ethernet hs), et avant d'en acheter un autre, je me suis demandé comment connecter deux ordinateurs, sans passer par la prise rs232 (série). Le port le plus commun actuellement, c'est l'usb. J'ai donc cherché si cela était possible, et comment.
Ce qu'il vous faut: un cable usb (!), et un petit boitier appelé périphérique usb net.
Le mien est "sans marque" (en fait, fabriqué par Prolific Technologie).
Au niveau logiciel, il faut juste un noyau linux, et si besoin, de quoi le recompiler. Le test a été
fait avec un noyau 2.4.21 sur mon portable, et 2.4.18 sur une machine sous knoppix.
Une fois les éléments en main, ce n'est pas compliqué! Dans l'ordre, il faut connecter
le matériel, le faire reconnaitre par le noyau, puis créer une connection réseau.
voici les modules nécessaires:
Nov 10 04:42:59 localhost kernel: hub.c: port 1 connection change
Nov 10 04:42:59 localhost kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
Nov 10 04:42:59 localhost kernel: hub.c: port 1, portstatus 101, change 0, 12 Mb/s
Nov 10 04:43:00 localhost last message repeated 3 times
Nov 10 04:43:00 localhost kernel: hub.c: port 1, portstatus 103, change 0, 12 Mb/s
Nov 10 04:43:00 localhost kernel: hub.c: new USB device 00:1d.0-1, assigned address 3
Nov 10 04:43:00 localhost kernel: usb.c: kmalloc IF d6c11c40, numif 1
Nov 10 04:43:00 localhost kernel: usb.c: new device strings: Mfr=1, Product=0, SerialNumber=0
Nov 10 04:43:00 localhost kernel: usb.c: USB device number 3 default language ID 0x409
Nov 10 04:43:00 localhost kernel: Manufacturer: Prolific Technology Inc.
Nov 10 04:43:00 localhost kernel: usb0: register usbnet usb-00:1d.0-1, Prolific PL-2301/PL-2302
Nov 10 04:43:00 localhost kernel: usb.c: usbnet driver claimed interface d6c11c40
Nov 10 04:43:00 localhost kernel: usb.c: kusbd: /sbin/hotplug add 3
Nov 10 04:43:00 localhost kernel: usb.c: kusbd policy returned 0xfffffffe
Nov 10 04:43:00 localhost kernel: hub.c: port 2, portstatus 100, change 0, 12 Mb/s
Nov 10 04:43:00 localhost kernel: hub.c: port 1, portstatus 103, change 0, 12 Mb/s
Nov 10 04:43:00 localhost kernel: hub.c: port 2, portstatus 100, change 0, 12 Mb/s
Nov 10 04:43:00 localhost usbmgr[15023]: vendor:0x67b product:0x1
Nov 10 04:43:00 localhost usbmgr[15023]: class:0xff subclass:0x0 protocol:0x0
Nov 10 04:43:00 localhost usbmgr[15023]: USB device isn't matched the configuration
On voit que le noyau detecte bien un nouveau périphérique, et donne même le nom, mais ce n'est
pas le cas de usbmgr. Nous allons remédier à cela. Editez le fichier
/etc/usbmgr/usbmgr.conf
vendor 0x67b product 0x1 script network module usbnet
/etc/usbmgr/vendor/067b/0001/
puis ecrivez dans le fichier nommé script:Le plus dur reste à faire: donner les parametres réseau à votre Debian. Editez le fichier
/etc/network/interfaces
et ajouter ceci:
iface usb0 inet static
address 192.168.2.5
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.2
Sur l'autre machine, faite de même, sauf que vous écrivez ceci:
iface usb0 inet static
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.5
Cela donne une connexion réseau uniquement entre les deux machines. Pour un petit transfert, cela m'a suffit.
Attention: avec cette petite configuration, vous n'aurez acces qu'à des adresse sous forme numérique!!!!
Si vous intégrez cette connexion sur un réseau normal, je vous laisse vous reporter à
d'autres documentations plus spécialisées.
Vous n'aurez pas ici de solution à des problèmes particuliers, car je n'en ai pas eu!
Pour savoir si le périphérique usb0 existe bien, utilisez la commande ifconfig:
# ifconfig
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:675 errors:0 dropped:0 overruns:0 frame:0
TX packets:675 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:126001 (123.0 KiB) TX bytes:126001 (123.0 KiB)
usb0 Lien encap:Ethernet HWaddr 9E:E5:2C:5F:94:76
inet adr:192.168.2.5 Bcast:192.168.2.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Et si le périphérique n'est pas la, vous pouvez toujours le lancer avec:
ifup usb0
Ensuite, un petit ping:
$ ping -c5 192.168.2.2
PING 192.168.2.2 (192.168.2.2): 56 data bytes
64 bytes from 192.168.2.2: icmp_seq=0 ttl=64 time=6.6 ms
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=6.4 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=5.3 ms
64 bytes from 192.168.2.2: icmp_seq=3 ttl=64 time=7.4 ms
64 bytes from 192.168.2.2: icmp_seq=4 ttl=64 time=7.1 ms
--- 192.168.2.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 5.3/6.5/7.4 ms
Après, vous pouvez utiliser ftp ou autre entre les deux machines.
J'ai effectué un teste de ftp entre mon portable et une autre machine, puis transféré un fichier de 11Mo, et kde me donne
une vitesse aux environs de 460 ko/s.
Ben, c'est pas dur! Le 'truc' c'est de dire que le périphérique réseau n'est pas eth0 mais usb0.
Je branche les deux bouts du cable, puis je vérifie la connection avec in ping, et la, ça marche!
Du premier coup :)