%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

OpenBSD : USB Thetering (urndis)… Partage de connexion réseau

Article publié, le et modifié le
3 minutes de lecture

Cet article contient 513 mots.
Source brute de l'article :
Commit version : 698e16e

Description

L’USB Thetering est le partage d’une connexion réseau, depuis votre smartphone avec votre station informatique.

Votre connexion réseau, telle celle d’internet, sur votre smartphone, peut soit venir du Wifi, soit d’une connexion 3G/4G.


  • Testé sur OpenBSD 6.x - Driver urndis(4)
  • Smartphone utilisé :
    • Xiaomi Redmi - Android 4.4.2 (KitKat)
    • Xiaomi Mi A2 Lite - Android 9, 10
  • Testé : partage de connexion par Wifi, 3G/4G

Configuration

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

  2. Connectez le smartphone par USB à votre station OpenBSD, puis vérifiez aussitôt la connexion : $ dmesg | tail -n1 ugen0 at uhub0 port 2 "MediaTek MT65xx Android Phone" rev 2.00/2.16 addr 2 Dans cet exemple, le téléphone est ici reconnu comme un Android Phone.

  3. Selon votre version d’Android :

    • Activer la fonction “USB Thetering” : “Menu Système” > “More” > “USB Thetering” - (Android KitKat)
    • ou, Menu “Réseau et Internet” : Point d’accès et partage de connexion > Via USB - (Android 9, 10)
Info

Puis, vérifiez aussitôt :

Code : shell

$ 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.

Attention
  1. Puisque c’est un pilote Ethernet, alors simplifions-nous la vie avec ifconfig :

Code : shell

$ ifconfig urndis0
urndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr f2:5d:d2:80:94:b5
        index 70 priority 0 llprio 3
  1. Paramétrons le fichier /etc/hostname.urndis0’, pour y ajouter au moins la valeur dhcp, à minima… Faites un chmod 0640 dessus !!!

Puis demandons une adresse IP :

Code : shell

# 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
  1. Pour un démarrage automatique de dhcp lors du montage du périphérique, on modifie le fichier /etc/hotplug/attach, ainsi :

Code : cfg

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

PF

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

Test

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

Documentations

Manpages