[转]iphone通过USB共享网络给ubuntu Linux, IOS14+不能使用的解决方法
注意: ubuntu默认没有装gcc ,运行下面教程脚本前,先要装好gcc
$ sudo apt-get install gcc
>> 点击下载 << 已经编译好的 ipheth.ko 文件大小:[ 6.4KB ]
原文连接:https://blog.csdn.net/potato1992/article/details/113729111
原文编译安装脚本GitHub: https://github.com/potato1992/Iphone_usb_tethering_fix
原文编译安装脚本:Iphone_usb_tethering_fix-master.zip 文件大小: [ 103KB ]
下载时间:20220825 (脚本可能随时更新,建议使用失效时,登陆原作者github重新下载)
Iphone 通过USB共享网络给Linux, IOS14+不能使用的解决方法 1. 安装libimobiledevice 其实本来很简单,只需要: 然后在你的手机设置->热点,开启,然后插上数据线就行了。 2. 解决IOS14+不能用 从IOS14之后,我发现这个工具不能用了,Github有讨论过这个问题:libimobiledevice issue,由于苹果并不开放这个协议,社区基本上也只能算抹石头过河,最后有人发现,只需要改一下缓冲区大小就行了,即ipheth.c驱动中: 这时有两种快速解决方案: (1) Linux 5.10.4已经修复这个问题 如果你的工作对Linux内核版本没有要求,升级吧。 (2)编译驱动替换 为了方便大家使用,我把需要的东西都准备好了,放在github上,执行以下步骤就行了,都是简单的英文,我就懒得重新打一次了。注意如果将来升级了内核,这些步骤应该要重新执行一次。 Clone the project: Enter the project folder and make the ko file: 根据向导,如果自动安装成功,就可以不往后面看了 (3)如果手动安装 Backup your original driver: Remove the old driver: Copy the built driver Reload the new driver 应该就可以了。 编译失败了怎么办 换个版本试试,工程里面附带的从Linux3.1开始到5.9所有的ipheth驱动版本,如果还是编译不成功,有两种可能: 1. 说明我附上的这些驱动不适合你的版本,你需要自己从你的Linux发行商去下载Linux内核代码,版本要和你用的一致(uname -r 可以看内核版本),然后复制drivers/net/usb/ipheth.c 这个文件扔进pathes文件夹,然后做如下更改: 重新运行脚本,应该就可以了。 2. 你的Linux 发行版缺失编译kernel module必要的文件,运行以下命令检查: 输出应该是类似这样的: 有两种可能可以解决的办法: (1) 安装 Linux header,版本要和你的uname -r 显示的一致。 (2) 换个机器(虚拟机),安装官方版本ubuntu/debian,切换内核到待修复电脑的版本,然后运行这个脚本得到 ipheth.ko 驱动,复制到待修复电脑手动安装驱动。 这个脚本是不支持openwrt的,openwrt缺乏编译kernel module的必要组件,需要你下载openwrt代码,按照上面问题1的说明修改ipheth.c代码,然后用你的openwrt发行商提供的编译工具编译出驱动,再扔进路由器安装。 其实是非常没有技术含量的事情,写出来给大家一个思路。