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  fol-
       lowing 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
       device 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  de-
	 vice:

	   # 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),
       ifconfig(8), usbconfig(8)

HISTORY
       The ipheth device driver	first appeared in FreeBSD 8.2.

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

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

FreeBSD	14.3		       January 29, 2022			     IPHETH(4)

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

home | help