Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IPHETH(4)		     Kernel Interfaces Manual		       IPHETH(4)

NAME
     ipheth -- USB Apple iPhone/iPad tethered Ethernet driver

SYNOPSIS
     To load the driver as a module at boot time, place the following line in
     loader.conf(5):

	   if_ipheth_load="YES"

     Alternatively, to compile this driver into the kernel, place the following
     lines in your kernel configuration file:

	   device uhci
	   device ohci
	   device usb
	   device miibus
	   device uether
	   device ipheth

DESCRIPTION
     The  ipheth driver provides support for network access through Apple iPhone
     and iPad devices, often referred to as USB tethering.

     ipheth should work with any Apple iPhone or iPad  device.	 In  most  cases
     this must be explicitly enabled on the device first.

     For  more information on configuring this device, see ifconfig(8).  The de-
     vice does not support different media types or options.

HARDWARE
     The following devices are supported by the ipheth driver:

     *	 Apple iPhone tethering (all models)
     *	 Apple iPad tethering (all models)

EXAMPLES
     Example 1: Manual Configuration

       The following example shows how to manually configure network access on a
       device that is not automatically recognized.

       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.

SEE ALSO
     arp(4), cdce(4), cdceem(4), intro(4), netintro(4), urndis(4),  usb(4),  if-
     config(8), usbconfig(8)

HISTORY
     The ipheth device driver first appeared in FreeBSD 8.2.

AUTHORS
     The   ipheth   driver   was   written   by   Hans	 Petter   Selasky  <hse-
     lasky@FreeBSD.org>.

BUGS
     Some devices are not recognized automatically and may need to  be	manually
     configured  to use an alternative configuration with the usbconfig(8) util-
     ity.  See "EXAMPLES" for workarounds.

FreeBSD ports 15.quarterly	January 29, 2022		       IPHETH(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=if_ipheth&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help