Iphone tethering - won't even recognize my iphone

Hello I am using openwrt with the Nanopi R2S, Version:

|Firmware Version|OpenWrt SNAPSHOT r15871-bb817bb4b8 / LuCI Master git-21.050.34860-b8d2bcd|
|Kernel Version|5.4.99|

When I plug in my iPhone8 into the R2S, the system won't even recognize it, dmesg shows:

[   12.612225] r8152 4-1:1.0 eth1: Promiscuous mode enabled
[   12.613012] r8152 4-1:1.0 eth1: carrier on
[   12.613958] br-lan: port 1(eth1) entered blocking state
[   12.614443] br-lan: port 1(eth1) entered forwarding state
[   12.615368] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   16.638354] rk_gmac-dwmac ff540000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   16.639219] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  170.408743] usb 1-1.2: USB disconnect, device number 3
[  176.519832] usb 1-1.2: new high-speed USB device number 5 using ehci-platform
[  184.488746] usb 1-1.2: USB disconnect, device number 5
[  212.616922] usb 1-1.2: new high-speed USB device number 6 using ehci-platform
[  218.285087] usb 1-1: USB disconnect, device number 2
[  218.285558] usb 1-1.2: USB disconnect, device number 6
[  218.287466] usb 1-1.3: USB disconnect, device number 4
[  225.441201] usb 1-1: new high-speed USB device number 7 using ehci-platform
[  233.805478] usb 1-1: USB disconnect, device number 7
[  308.474367] usb 1-1: new high-speed USB device number 8 using ehci-platform

And it's not even shown in lsusb:

Bus 002 Device 001: ID 1d6b:0001 Linux 5.4.99 ohci_hcd Generic Platform OHCI controller
Bus 004 Device 001: ID 1d6b:0003 Linux 5.4.99 xhci-hcd xHCI Host Controller
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.99 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.99 xhci-hcd xHCI Host Controller

opkg list-installed | grep usb shows:

kmod-usb-audio - 5.4.99-1
kmod-usb-core - 5.4.99-1
kmod-usb-ehci - 5.4.99-1
kmod-usb-hid - 5.4.99-1
kmod-usb-net - 5.4.99-1
kmod-usb-net-cdc-ether - 5.4.99-1
kmod-usb-net-hso - 5.4.99-1
kmod-usb-net-ipheth - 5.4.99-1
kmod-usb-net-rndis - 5.4.99-1
kmod-usb-net-rtl8152 - 5.4.99-1
kmod-usb-ohci - 5.4.99-1
kmod-usb-ohci-pci - 5.4.99-1
kmod-usb-printer - 5.4.99-1
kmod-usb-serial - 5.4.99-1
kmod-usb-serial-ch341 - 5.4.99-1
kmod-usb-serial-cp210x - 5.4.99-1
kmod-usb-serial-ftdi - 5.4.99-1
kmod-usb-serial-pl2303 - 5.4.99-1
kmod-usb-storage - 5.4.99-1
kmod-usb-storage-uas - 5.4.99-1
kmod-usb-uhci - 5.4.99-1
kmod-usb2 - 5.4.99-1
kmod-usb2-pci - 5.4.99-1
kmod-usb3 - 5.4.99-1
libusb-1.00 - 1.0.24-1
libusbmuxd - 2.0.2-1
usb-modeswitch - 2017-12-19-f40f84c2-2
usbids - 0.343-2
usbmuxd - 1.1.1-1
usbutils - 013-2

I have tested the iPhone tethering with my PC and the odroid N2 board, they all works perfectly, thus it should not be the problem of my iPhone and cable.
Also I have tested pluging in a usb storage device, the nanopi R2S would recognize it perfectly. Thus the problem should lie in the openwrt software.
Also I have tried using a usb hub that support external power, but the same problem persists, thus I think it's not the issue of powering.

1 Like

Thank you for your reply,

But that's not my case. In that case, the iPhone can be recognized but just cannot use the internet. I have faced that problem in early time. To prove that I have enough knowledge about it, the repository Iphone_usb_tethering_fix is created by me to fix this issue for Linux devices that can build the ipheth module locally.

But in my case the system does not even know what has been plugged into it. Stopped at reporting:

usb 1-1: new high-speed USB device number 8 using ehci-platform
1 Like

does lsmod | grep ipheth show a line like this
ipheth 16384 0

does dmesg | grep ipheth give a similar line as result (with no iphone connected, this is just the message when the module is loaded on boot)

[ 8.483567] usbcore: registered new interface driver ipheth

If you don't see either (or both) the module is not loaded

Also try removing usb-modeswitch with opkg remove to make sure it's not interfering with the detection. I have seen it cause problems with Android phone tethering in the past.

1 Like

I have removed usb-modeswitch, it still does not work, a reboot won't either work.
lsmod | grep ipheth shows:

ipheth                 20480  0

And dmesg | grep ipheth shows:

[    8.994987] usbcore: registered new interface driver ipheth

I am running openwrt 21.02.0-rc2 on a EA6350v3, and I am also seeing a similar issue. I have an iPhone 12 running 14.5.1 with personal hotspot enabled. lsmod shows ipheth is loaded, and dmesg shows:

[ 3139.575487] usb 1-1: new high-speed USB device number 4 using xhci-hcd

However, no new ethernet device (like eth2) appears under ifconfig when the iPhone is plugged in. It used to appear as eth2 on Openwrt 19.07.7.