Hi folks, Obtaining an Internet access from an iOS device connected via USB is currently quite a pain.
The flow is supposed to be something like: 1. load the ipheth module 2. plug in the iOS device with tethering enabled 3. a new ueN interface is created 4. dhclient ueN and you should have a new gateway. At least this is what I expect, which is similar to what happens when connecting an Android device with tethering enabled, the only difference being you have to use the urndis module. After step 3 instead the ipheth module is not capable of creating the interface, and you have to actually configure the device manually as explained in the ipheth(4) BUG note, using `usbconfig -d <unit>.<addr> 2 set_config 3`. This triggers an authentication request on the iPhone, and after that the interface is eventually created, but the dhclient is not able to obtain a lease with it, "No DHCPOFFERS received”. Digging around the web you’ll eventually find this guide [1] which, even though it is quite old (10 yrs now), points to the right direction: usbmuxd and libimobiledevice. The usbmuxd is available as a port now, under comms/usbmuxd (not maintained though). Install, run the daemon, plug the phone again and you’ll get your interface. This time dhclient is able to obtain a lease, but you’ll not get internet out of that (at least, I’m not): ``` # ifconfig lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 groups: lo nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=80009<RXCSUM,VLAN_MTU,LINKSTATE> ether b8:27:eb:ed:a1:c9 media: Ethernet autoselect (none) status: no carrier nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> ue1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 7e:a1:ae:6a:11:1d inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> ``` ``` # netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire 0.0.0.0/8 link#3 U ue1 127.0.0.1 link#1 UH lo0 Internet6: Destination Gateway Flags Netif Expire ::/96 ::1 UGRS lo0 ::1 link#1 UH lo0 ::ffff:0.0.0.0/96 ::1 UGRS lo0 fe80::/10 ::1 UGRS lo0 fe80::%lo0/64 link#1 U lo0 fe80::1%lo0 link#1 UHS lo0 ff02::/16 ::1 UGRS lo0 ``` ``` # uname -a FreeBSD generic 12.1-RELEASE FreeBSD 12.1-RELEASE r354233 GENERIC arm ``` Long story short: do we want to work on this issue? I’m available for helping, but I need some guidance. Greetings, Daniel [1] https://forums.freebsd.org/threads/howto-iphone-internet-connection-sharing-via-usb.19995/ _______________________________________________ freebsd-net@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"