type
status
date
Jul 3, 2023 09:23 AM
slug
summary
tags
category
icon
password
OpenWrt 支持 usb tethering
一、概述
OpenWrt 支持 usb tethering 的应用场景主要是,手机打开 usb 网络共享(Android)或个人热点(iOS),经过 USB 的连接,使 OpenWrt 能够通过手机上网。
二、依赖的 package
make menuconfig,选择以下 package
三、相关配置
1. Android
Android Phone 一般在 “更多无线连接” 的选项中,会有 “USB 共享网络” 的设置,将手机通过 USB 线插到 OpenWrt 上,在 OpenWrt 中,
cat /proc/net/dev
查看新增加的网络设备,Android 一般是 usb0在 USB 共享网络的情况下,OpenWrt 应当使用 usb0 作为 WAN,并通过手机访问网络,这里只共享 / etc/config/network 的配置,其他如 firewall 等配置根据自己需要进行修改。
增加下面这一段:
执行
ubus call network reload
后,就可以通过ifconfig
查看新生成的 usb0 网卡,并且会有 IP,这个 IP 是 Android phone 通过 dhcp 分配的,一般为 192.168.42.XXX(网关 IP 一般为 192.168.42.129,可以通过查看 Android 源码,发现是硬编码写进去的)。2. iOS
1)首先确认内核 ipheth.c 中,有能够支持 iOS 设备的 product id。
2)iPhone 的 USB tethering 需要 usbmuxd 进程的运行。usbmuxd 并不会自动运行,因此可以在 OpenWrt 终端手动启动,或制作以下开机自启动脚本,并 enable(
/etc/init.d/usbmuxd enable
):在 usbmuxd 进程启动的前提下,iPhone 在 “设置”->“个人热点”,打开后,通过 USB 连接 OpenWrt。
同样,通过
cat /proc/net/dev
查看新增加的网络设备,iOS 一般是 eth2。在
/etc/config/network
中增加下面一段,其他 firewall 的配置根据自己需要进行修改。执行
ubus call network reload
后,就可以通过ifconfig
查看新生成的 eth2 网卡,并且会有 IP,一般为 172.20.10.XXX(网关 IP 为 172.20.10.1)。3)问题
如果在插入 iPhone 时,内核 ipheth 没有出现 “Apple iPhone USB Ethernet device attached” 的 debug 信息,原因一般是内核 ipheth 不支持手里的 iOS 设备。 > 本文由简悦 SimpRead 转码