#FREEBSD IPHONE NETWORK TETHER VIA USB
#EXAMPLE FROM ipheth(4)
#PRACTICAL UNIX SURREALISM
#
https://man.freebsd.org/cgi/man.cgi?query=ipheth&sektion=4&manpath=FreeBSD+13.1-RELEASE+and+Ports
To load the driver as a module at boot time, place the following line in
loader.conf(5):
if_ipheth_load="YES"
First, load the driver and find out the unit and the address of the USB
Apple device:
# kldload ipheth
# usbconfig | grep Apple
ugen0.2: <Apple Inc. iPhone> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
In this example, the unit and the address of the device is 0.2
("ugen0.2"), and its configuration index is 0 ("cfg=0").
Secondly, check what other configurations are available for the device:
# usbconfig -d 0.2 dump_all_config_desc | grep -E '(^ Conf|iConf)'
Configuration index 0
iConfiguration = 0x0005 <PTP>
Configuration index 1
iConfiguration = 0x0006 <iPod USB Interface>
Configuration index 2
iConfiguration = 0x0007 <PTP + Apple Mobile Device>
Configuration index 3
iConfiguration = 0x0008 <PTP + Apple Mobile Device + Apple USB Ethernet>
In this example, there are 4 different configurations available. The
configuration with index 3 seems to be related to Ethernet. It is time
to configure the device:
# usbconfig -d 0.2 set_config 3
# usbconfig | grep 'Apple.*cfg=3'
ugen0.2: <Apple Inc. iPhone> at usbus0, cfg=3 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
At this point the Apple device should ask whether the FreeBSD machine
can be trusted ("Mobile Data" has to be on).
A new ue USB Ethernet interface should become available:
# dmesg | grep 'ue[0-9]'
ue0: <USB Ethernet> on ipheth0
ue0: bpf attached
ue0: Ethernet address: 4e:7c:5f:2c:5f:7a
At this point it might be necessary to run usbmuxd(1) (available in
ports(7) at comms/usbmuxd):
# usbmuxd --enable-exit --foreground --user root --verbose
Now it is time to configure the network interface:
# sysrc ifconfig_ue0="SYNCDHCP"
ifconfig_ue0: -> SYNCDHCP
# service netif restart ue0
That is it. The machine should now be connected to the network via USB
tethering.
The ipheth driver was written by Hans Petter Selasky
<
[email protected]>.