iphone if_ipheth usb tethering not working anymore

From: Per olof Ljungmark <peo_at_nethead.se>
Date: Mon, 18 Nov 2024 09:19:52 UTC
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?

Thanks,

Per