Apple iPhone tethering: device seems recognized, but I can't tether.

Hi all,

I have an Apple MacBook Pro 13" mid-2010 with FreeBSD 13.1 patch 2 installed.

I am trying to use it with my Apple iPhone 7 Plus (iOS 15.7, can't go higher) in order to get Internet through tethering.

My steps so far:

1. I added if_ipheth_load="YES" to my /boot/loader.conf file.
The driver is indeed loaded at launch and the machine knows when I connect or disconnect my iPhone.

2. When I try # dhclient ue0, it doesn't work, no ue0 device found.

3. So I use usbconfig: # usbconfig -d 3.3 set_config 3, which returns:
ipeth0 on uhub0
ipeth0: <Apple Inc. iPhone, class 0/0, rev 2.00/9.04, add 3> on usbus3

4. Then # dhclient ue0 again, which gives me:
DHCPDISCOVER on ue0 to port 67 interval 4
DHCPDISCOVER on ue0 to port 67 interval 8
DHCPDISCOVER on ue0 to port 67 interval 12
DHCPDISCOVER on ue0 to port 67 interval 8
DHCPDISCOVER on ue0 to port 67 interval 10
DHCPDISCOVER on ue0 to port 67 interval 13
DHCPDISCOVER on ue0 to port 67 interval 6
No DHCPOFFERS received.
No working leases in permanent database - sleeping.

If I try a ifconfig command, I get:
ue0 flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 Stu 1500
  ether 72:f0:87:ee:db:b6
  net netmask 0xff000000 broadcast

Tethering works fine with this iPhone on macOS with the same computer or other computers, so I believe this should configuration problem, but I am clueless about what to try next.

Any help will be appreciated.
Hello & Welcome to this FreeBSD community!

From what you're showing it would seem like everything works up to the DHCP lease acquisition.
At this point, I would try setting a static IP on ue0 to see whether this is indeed only a DHCP issue.
For this, you might want to record the IP address that your iPhone presents to another computer (eg. the MacOS instance) and then use that on your FreeBSD interface.
If you omit DHCP (for this test), you might also need to set other things such as the netmask and the default router manually.
jbodenmann: Honestly, you totally lost me. I have no clue about how I could do that.

covacat: I installed usbmuxd though pkg and use the command:

# usbmuxd --enable-exit --foreground --user root --verbose

I got this back:

usbmuxd 1.1.1 starting up
Creating socket
Failed to create required directory 'var/lib/lockdown': No such file or directory

Edit: Meanwhile, I have been trying to setup Xorg. Each time I try startx, machine reboots.

Honestly: I love macOS, I love the underlying FreeBSD foundation in it, I love using FreeBSD as a server, but as a desktop, that just doesn't work. I don't have nor energy to compare countless docs and forum posts that contradicts each other and, even after spending a lot of time figuring it out, just being trap in a dead end.

Maybe FreeBSD works on other machines. It doesn't on mine as soon as I go beyond Ethernet and try tethering and video. Because I need it to be quickly in a working state and because it doesn't go higher than macOS High Sierra, I will just install Ubuntu. If I have to depend on someone to be up to date, I will rather depend on a large team (Ubuntu) than on a person or two (GhostBSD).

Don't take it as a flaming from me. I am thankful to all of you trying to kindly help me. :) But I have this growing feeling that I will just waste everyone's time and efforts and that saddens me. Truth be told, I am heartbroken to have to use Ubuntu, but FreeBSD isn't desktop material. At least, it isn't for me and I have no hard feeling, excepted the one where I feel excluded and not good enough, finally just like everything else in my life.

At least, when the Decision become inevitable, I won't have regrets anymore.