Re: iphone if_ipheth usb tethering not working anymore

From: Per olof Ljungmark <peo_at_nethead.se>
Date: Mon, 18 Nov 2024 14:26:55 UTC
On 2024-11-18 10:19, Per olof Ljungmark wrote:
> Since sometime between I believe 14.0 and 14.1 connecting an iphone to a 
> in my case Thinkpads, if_cdce loads instead of if_ipheth making the 
> connection unusable.
> 
> T470 FreeBSD 14.0-RELEASE-p6
> 
> Oct 10 17:33:43 T470s kernel: ugen0.2: <Apple Inc. iPhone> at usbus0
> Oct 10 17:33:43 T470s kernel: ipheth0 on uhub0
> Oct 10 17:33:43 T470s kernel: ipheth0: <AppleUSBEthernet> on usbus0
> Oct 10 17:33:43 T470s kernel: ue0: <USB Ethernet> on ipheth0
> Oct 10 17:33:43 T470s kernel: ue0: Ethernet address: 7a:e3:de:1f:a0:fd
> Oct 10 17:33:46 T470s usbmuxd[2460]: [3] Connecting to new device on 
> location 0x2 as ID 2
> Oct 10 17:33:46 T470s usbmuxd[2460]: [3] Connected to v2.0 device 2 on 
> location 0x2 with serial number 00008030-000C55A60AD8402E
> 
> T490 that *used* to work as above with 13-xxx
> Now, since about 13.4 and 14.1, it does not work
> 
> Oct 11 18:20:28 T490-po usbmuxd[18208]: [2] Skipping switch device 0-5 
> mode from 3 to 3
> Oct 11 18:20:28 T490-po kernel: cdce0 on uhub1
> Oct 11 18:20:28 T490-po kernel: cdce0: <Apple Inc. iPhone, class 0/0, 
> rev 2.00/12.08, addr 17> on usbus0
> Oct 11 18:20:28 T490-po kernel: ue0: <USB Ethernet> on cdce0
> Oct 11 18:20:28 T490-po kernel: ue0: Ethernet address: 7a:e3:de:1f:a0:02
> Oct 11 18:20:28 T490-po kernel: cdce1 on uhub1
> Oct 11 18:20:28 T490-po kernel: cdce1: <Apple Inc. iPhone, class 0/0, 
> rev 2.00/12.08, addr 17> on usbus0
> Oct 11 18:20:28 T490-po kernel: ue1: <USB Ethernet> on cdce1
> Oct 11 18:20:28 T490-po kernel: ue1: Ethernet address: 96:52:43:e3:30:42
> Oct 11 18:20:28 T490-po kernel: ue0: link state changed to UP
> 
> The fact that ue0 is up is of no help since Apple devices need if_ipheth.
> 
> Trying to unload if_cdce does not help, it is immediately loaded as soon 
> as the phone is connected.
> 
> So, what part of the system thinks if_cdce shoud be used with Apple 
> devices?
> Should I file a bug report?
> 

Got an advice to add 'devmatch_blocklist="if_cdce"' to rc.conf and that 
took me a step further, if_ipheth correctly idenfies the phone and ue0 
is added.

Now the phone asks if the computer is trusted, I confirm and start 
usbmuxd following the if_ipheth manpage (it used to start automagically 
in 14.0) and a service netif restart ue0

After this dhclient runs but ue0 seems down and does not receive an ip 
address/defaultrouter etc.