OBSD4* : wiki

Partage de connexion Internet depuis votre smartphone (USB Thetering - urndis)

L'USB Thetering est le partage de votre connexion internet, depuis votre smartphone avec votre station informatique.

Votre connexion internet, sur votre smartphone, peut soit venir du Wifi, soit d'une connexion 3G/4G ou supérieure.


  1. Testé depuis OpenBSD 6.1 - Driver urndis(4)
  2. Smartphone utilisé :
    1. Xiaomi Redmi - Android 4.4.2 (KitKat)
    2. Xiaomi Redmi 4A - Android 6.0.1
  3. Testé : partage de connexion Internet par Wifi, 3G/4G

1/ Connecter votre smartphone à Internet, et vérifiez que vous pouvez bien surfez avec.

2/ Connecter le smartphone par USB à votre station OpenBSD.

$ dmesg | tail -n1
ugen0 at uhub0 port 2 "MediaTek MT65xx Android Phone" rev 2.00/2.16 addr 2

Le téléphone est ici reconnu comme un Android Phone.

3/ Activer la fonction “USB Thetering” : Menu Système > More > USB Thetering
Le menu pour activer la fonction peut être sensiblement différent, - en Français, peut s'appeler “Modem USB” - selon la marque de votre téléphone, la version du système d'exploitation utilisé sur votre smartphone. (Celui de l'exemple est celui d'une ROM MIUI 8).

$ dmesg | tail -n3
urndis0 at uhub0 port 2 configuration 1 interface 0 "MediaTek MT65xx Android Phone" rev 2.00/2.16 addr 2
urndis0: using RNDIS, address f2:5d:d2:80:94:b5
ugen0 at uhub0 port 2 configuration 1 "MediaTek MT65xx Android Phone" rev 2.00/2.16 addr 2

Coup de chance, nous avons le pilote urndis… il se comporte comme un pilote réseau pour communiquer entre le smartphone - généralement des Android - et la station, par le biais du port USB.

Puisque c'est un pilote “Ethernet”, alors simplifions-nous la vie avec ifconfig :

$ ifconfig urndis0
urndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
       lladdr f2:5d:d2:80:94:b5
       index 70 priority 0 llprio 3

Paramétrons le fichier /etc/hostname.urndis0, pour y ajouter au moins la valeur “dhcp” - chmod 0640 !!!
Puis demandons une adresse IP ;)

# dhclient urndis0 
DHCPREQUEST on urndis0 to 255.255.255.255
DHCPNACK from 192.168.42.129 (06:45:e6:2f:3f:51)
DHCPDISCOVER on urndis0 - interval 1
DHCPDISCOVER on urndis0 - interval 1
DHCPDISCOVER on urndis0 - interval 2
DHCPOFFER from 192.168.42.129 (06:45:e6:2f:3f:51)
DHCPREQUEST on urndis0 to 255.255.255.255
DHCPACK from 192.168.42.129 (06:45:e6:2f:3f:51)
bound to 192.168.42.125 -- renewal in 21600 seconds.

$ ifconfig urndis0      
urndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       lladdr f2:5d:d2:80:94:b5
       index 70 priority 0 llprio 3
       inet 192.168.42.125 netmask 0xffffff00 broadcast 192.168.42.255

Maintenant, testez votre connexion Internet depuis votre station OpenBSD. Et, zou, la patate… :D


Pour un démarrage automatique de dhcp lors du montage du périphérique, on modifie le fichier /etc/hotplug/attach, ainsi :

       3)
        # network devices; requires hostname.$DEVNAME
       sh /etc/netstart $DEVNAME
       ;;

Attention, selon vos règles PF, si vous en avez, selon comme elles sont construites, il est certainement préférable de relancer PF !


N'hésitez pas à venir discuter, apporter votre contribution sur le forum ! :D