iOS14 USB Tethering Issue on Ubuntu20.04 LTS

Issue

Due to the change of IPHETH_BUF_SIZE parameter from 1516 to 1514 in iOS14, iPhone could not provide tethering connection to Ubuntu20.04 LTS.

Solution

Modify the IPHETH_BUF_SIZE parameter in the source file ipheth.c.

1
2
3
4
5
6
sudo -i
cd /lib/modules/$(uname -r)/kernel/drivers/net/usb/
cp -ia ipheth.ko ipheth.ko.orig
xxd -p -c 20000 ipheth.ko.orig | sed 's/ec05/ea05/g' | xxd -r -p > ipheth.ko
strip --strip-debug ipheth.ko
rmmod ipheth; modprobe ipheth

Prerequisite

Install sudo apt install build-essential if there’s Wi-Fi or ethernet connection. If there’s no internet access available on the device, try downloading Ubuntu deb packages of build-essential Download and installing with command sudo dpkg -i package_name.deb.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
sudo dpkg -i libc6_2.31-0ubuntu9.1_amd64.deb
sudo dpkg -i manpages-dev_5.05-1_all.deb
sudo dpkg -i binutils-common_2.34-6ubuntu1_amd64.deb
sudo dpkg -i linux-libc-dev_5.4.0-48.52_amd64.deb
sudo dpkg -i libctf-nobfd0_2.34-6ubuntu1_amd64.deb
sudo dpkg -i libgomp1_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libquadmath0_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libmpc3_1.1.0-1_amd64.deb
sudo dpkg -i libatomic1_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libubsan1_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libcrypt-dev_4.4.10-10ubuntu4_amd64.deb
sudo dpkg -i libisl22_0.22.1-1_amd64.deb
sudo dpkg -i libbinutils_2.34-6ubuntu1_amd64.deb
sudo dpkg -i libc-dev-bin_2.31-0ubuntu9.1_amd64.deb
sudo dpkg -i libcc1-0_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i liblsan0_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libitm1_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i gcc-9-base_9.3.0-10ubuntu2_amd64.deb
sudo dpkg -i libtsan0_10.2.0-5ubuntu1~20.04_amd64.deb
sudo dpkg -i libctf0_2.34-6ubuntu1_amd64.deb
sudo dpkg -i libasan5_9.3.0-10ubuntu2_amd64.deb
sudo dpkg -i cpp-9_9.3.0-10ubuntu2_amd64.deb
sudo dpkg -i libc6-dev_2.31-0ubuntu9.1_amd64.deb
sudo dpkg -i binutils-x86-64-linux-gnu_2.34-6ubuntu1_amd64.deb
sudo dpkg -i binutils_2.34-6ubuntu1_amd64.deb
sudo dpkg -i libgcc-9-dev_9.3.0-10ubuntu2_amd64.deb
sudo dpkg -i cpp_9.3.0-1ubuntu2_amd64.deb
sudo dpkg -i gcc-9_9.3.0-10ubuntu2_amd64.deb
sudo dpkg -i gcc_9.3.0-1ubuntu2_amd64.deb


Copyright: Zhihu 「宋泠雨」, CC 4.0 BY-SA
https://zhuanlan.zhihu.com/p/342499361\
Copyright: CSDN 「恍恍惚惚斯基」, CC 4.0 BY-SA
https://blog.csdn.net/weixin_42432439/article/details/108777302