Du côté d'Android 2.2, il n'y a pas grand-chose à faire : on branche son câble USB et on choisit la dernière option. Celle-ci permet de partager la connexion du téléphone vers un PC en USB.
Du côté de Linux, on à juste à activer quelques options dans notre Kernel. Pour ma part, et à l'heure où j'écris ce billet, j'utilise le kernel 2.6.38. Les options que j'ai activés sont les suivantes :
Device Drivers --->
[*] Network device support --->
USB Network Adapters --->
[*] Multi-purpose USB Networking Framework
<*> CDC Ethernet support
<*> CDC EEM support
<*> Host for RNDIS and ActiveSync devices (EXPERIMENTAL)
<*> Simple USB Network Links (CDC Ethernet subset)
[*] Embedded ARM Linux links
[*] USB Support --->
<*> USB Modem (CDC ACM) support
<*> USB Wireless Device Management supportEnsuite, on recompile le kernel comme d'habitude : make && make modules_install && module-rebuild..etc. Ah, et l'on n'oublie pas de modifier le fichier de configuration de son chargeur de démarrage.
Au passage, les options "CDC Ethernet support" et "Host of RNDIS And ActiveSync devices" sont souvent sous forme de modules, sur les distributions grand public. Ainsi, ils s'appellent respectivement cdc_ether et rndis_host.
Après un petit reboot, et une fois le téléphone connecté en USB tethering, on devrait voir une nouvelle interface :
# ifconfig usb0
usb0 Link encap:Ethernet HWaddr 01:02:03:04:05:06
BROADCAST 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 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)Profitez-en bien tant que votre opérateur téléphonique ne vous le facture pas trop cher :)
Commentaires