iOS14 tethering issues

I noticed that tethering's guidance document was updated a couple of days ago with a mention of IOS14 not working in the Aug 15 release, which reads as follows:

Not working with iOS 14 devices (tested various devices, beta1-beta3, tethering starts and iPhone address 172.20.10.1 can be pinged, but traffic stops there and is not routed) [wiki editor: something is messed up with your router configuration then. Pls get it working and return to let us know!]

However, in the updated guidance on September 21, this part of the description was deleted

I followed the instructions and still had the same problem.
Did I miss something?Is there a solution to this problem?

1 Like

Thanks for flagging. I am experiencing precisely that issue since upgrading to iOS14 (and OpenWRT 19.07.04 on GL-iNet B1300) - and Googling found the comments you mention above. Thanks for solving the mystery of their insertion and subsequent removal from the guidance. However, the main mystery I would like solved is how to get my router working again with iPhone USB tether. It works fine on my W10 laptop, but not on my router. There are plenty of other reports of this issue starting to crop up across forums (e.g. https://forum.gl-inet.com/t/can-t-tether-w-iphone-gl-ar750s/11286/12), but no solution I have seen :frowning:.

If it works on iOS 13, and it works with Android (as the GL.iNet forum thread above suggests), that really makes it sound like it's an iOS issue and not an OpenWrt one. There's nothing arcane to USB tethering. I'd be looking at Apple first, which is the black box, not OpenWrt.

I've noticed that the libimobiledevice has made some updates to IOS14. I downloaded the latest package compilation, including all the relevant software, but it still doesn't solve my problem.



In addition, I tested it on Ubuntu 16.04.12 and had the same problem, which could occur on all Linux systems

1 Like

Thanks for this. On the other hand, iOS 14 USB on my phone works fine on my W10 laptop, via the 'official' Apple driver. I will certainly try raising via Apple, but I bet they will say it is not broken, it works fine on supported drivers, and they do not support the 'community' Linux/OpenWRT driver. Or something like that :frowning:. Meanwhile, if one of the many experts who inhabit these forums has a bright idea how to fix/work around this, I suspect there is a growing number of us who would be grateful to receive!

2 Likes

Same issue for me with iOS 14 upgrade and using Ubuntu 20.04.1 LTS

same topic here. Very anoying and no workaround so far! I need an urgent solution!

Same here with Ubuntu 18. Does not work with iOS 14.0.1. A moment ago, confirmed it does work with iOS 13.7

It looks like we can consider the issue with iOS 14 confirmed due to multiple evidences.
I've added a link to this thread as proof.

my observations if anyone can find it helpful.

  • openwrt router with 172.20.10.2 assigned cannot ping out anything except 172.20.10.1 but able to resolve dns queries.

  • openwrt router arp command shows the iphone’s wireless interface mac address while ifconfig registers another different mac address (last 6 different).

  • openwrt router arp can register other wireless clients’ HWmac connected to the iphone’s wireless personal hotspot.

  • possible to make a ssh connection from the iphone (172.20.10.1) to openwrt router (172.20.10.2).

  • wireless clients connected to personal hotspot can access each other but not the openwrt router via the USB.

1 Like

Here's some discussion that might be helpful.

1 Like

Are there any news? I‘m not able to get the tethering working. SUPER annoying! My setup is not working anymore because of this :face_with_symbols_over_mouth:

https://discussions.apple.com/thread/251829006?answerId=253622748022#253622748022

Synology has fixed the issue for one of their products. Does that help? At least somehow the issue seems to be fixable.

There has been a patch create, I found this patch mail via another thread:


Doesn't look to complicated.

How can I get this patch for 19.07.02 (or 19.07.04)?

I noticed that luochongjun, who posted above, has recently posted in the GitHub thread relating to this topic:


that he has built a set of GL.iNet snapshots with the patch, and gives a link to them. I just tried one of his snapshots on my GL.iNet B1300 router, and tethered perfectly with my iPhone SE 2016 iOS 14.2. Great stuff, good to know this has been solved!

I just wondered if anyone was now building any OpenWRT snapshots with the patch? I see Sebastian0816 says above it 'doesn't look too complicated', but I fear it may stretch my own expertise, unless someone can point to some very clear instructions for this kind of thing!

Also, does anyone know how long it might take for a patch of this kind to percolate through to a stable release version of OpenWRT? Thanks.

I tried a build myself and generated a patched kernel module. But his now causes an immediate reboot when starting usbmuxd. However I am not really familiar with git and how to build for exactly the image that is on my router:
TP-Link TL-WR1043ND v2
OpenWrt 19.07.4 r11208-ce6496d796 / LuCI openwrt-19.07 branch git-20.247.75781-0d0ab01.

The original package says:
Package: kmod-usb-net-ipheth
Version: 4.14.195-1
Depends: kernel (=4.14.195-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d), kmod-usb-net

My homebrewn one provides:
Package: kmod-usb-net-ipheth
Version: 4.14.195-1
Depends: kernel (=4.14.195-1-86e3a5bc76ee824a6696965af03e7578), kmod-usb-net

Maybe someone can provide a step by step instruction for getting exactly the right version for the package. I just did a git clone , then a git checkout v19.07.4. then the make menuconfig and make, as described in the openWRT developers docs.

User wnienhaus on Gitub posted a fix at https://github.com/libimobiledevice/libimobiledevice/issues/1038#issuecomment-735213839 that worked for me on openwrt 19.07.4 running on a router EA6350.

This modifies the iphone binary to change all references from 1516 buffer size to 1514 buffer size. Here are the instructions:

opkg update
opkg install kmod-usb-net-ipheth usbmuxd libimobiledevice usbutils
opkg install xxd
cd /lib/modules/$(uname -r)
cp -ia ipheth.ko ipheth.ko.orig
xxd ipheth.ko.orig | sed 's/ec15/ea15/g;s/ecc5/eac5/g;s/ec75/ea75/g' | xxd -r > ipheth.ko
rmmod ipheth; modprobe ipheth
opkg remove xxd

After this change, I was able to tether and ping on an iPhone XR running iOS 14. The user notes that the changes to the binary representation may not be the same with your router, so it depends on the underlying architecture.

4 Likes

coming soon , to a master near you!

2 Likes