iPhone 7 tethering issue with GL-AR750S-EXT

Hi folks,

I’ve bought this router exclusively to tether internet from my iPhone but I cannot seem to do it. I have upgraded the router the latest firmware (3.203). iPhone is at 15.0.2
I tried the USB tethering and the WiFi hotspot as well. In both cases the top of the iPhone turns green, indicating that something is connected but I never get an internet connection on the router. With USB tethering I get the error: “ERROR: Connection Failed! Please check if hotspot is enabled on your phone or modem”. With the WiFi tethering I don’t get any arror messages, simply doesn’t show up as connected (even though when scanning for WiFi-s the router sees my iPhone and is able to connect to it, iPhone turns green as well).
I tried turning off WiFi and Bluetooth completely on my phone, to no success.
I fell confident enough to mess around on SSH and dig trough logs, so any help to identify the issue is greatly appreciated, I really need this as a failover internet connection for my home :slight_smile:

Thanks!

Does your wireless carrier allow tethering and hotspot? You can test by seeing if you can connect to hotspot with a Mac or iPad.

Yes, tethering is enabled by my provider. I’ve been using it with my Mac for some years now via WiFi, but I just tried it out via USB and it also works.

Cannot find an iphone 7. But For iphone tethering, it is unclear why some phone cannot connect.

Here are some “tricks” to try:

  1. Turn off hotspot on your phone, wait 5 seconds then turn it on again.
  2. Try different lightening cable
  3. redo all the steps

Hi, thanks for your answer!
I tried turning it on and off a few times and swapped the cable to an original Apple cable, but none of these seem to help. (Also, both cables have worked when connecting to my Mac).
My wife has an iPhone 11, tried it as well, but everything is still the same.

Can you try cloning your iPhone’s MAC address onto the router?

I tried to clone the WiFi MAC address of the phone to the router, but that didn’t help either. (Tried both USB tethering and WiFi personal hotspot).

Is there any way to check in the log files for connection issues, or something like that?
I tried to poke around, but didn’t find anything, but maybe the experienced users could point me on what to check.

Sorry, I meant to clone the Mac computer’s MAC address to the router, not the iPhone’s MAC address, because the Mac is able to connect.

You can check the System Log and the Kernel Log in the LuCi UI, under the Status tab. You can also do it SSH:

logread
dmesg

OK, cloning the Macs MAC makes more sense :slight_smile: But unfortunately the same thing happens.
I was able to extract the relevant part of the log files, but I don’t see anything useful in particular. Maybe you will.

This is after pluggin in the iPhone via USB:

Fri Jan 14 16:17:19 2022 kern.info kernel: [  363.963629] usb 1-1: new high-speed USB device number 3 using ehci-platform
Fri Jan 14 16:17:20 2022 daemon.notice netifd: Interface 'tethering' is enabled
Fri Jan 14 16:17:20 2022 kern.info kernel: [  364.441070] ipheth 1-1:4.2: Apple iPhone USB Ethernet device attached
Fri Jan 14 16:17:20 2022 kern.err usbmuxd[12724]: [1] Another instance is already running (pid 12648). exiting.
Fri Jan 14 16:17:21 2022 daemon.notice netifd: Network device 'eth1' link is up
Fri Jan 14 16:17:21 2022 daemon.notice netifd: Interface 'tethering' has link connectivity
Fri Jan 14 16:17:21 2022 daemon.notice netifd: Interface 'tethering' is setting up now
Fri Jan 14 16:17:22 2022 daemon.notice netifd: tethering (12833): udhcpc: started, v1.30.1
Fri Jan 14 16:17:22 2022 daemon.notice netifd: tethering (12833): udhcpc: sending discover
Fri Jan 14 16:17:22 2022 kern.err usbmuxd[12879]: [1] Another instance is already running (pid 12849). exiting.
Fri Jan 14 16:17:23 2022 kern.err usbmuxd[12910]: [1] Another instance is already running (pid 12849). exiting.
Fri Jan 14 16:17:25 2022 daemon.notice netifd: tethering (12833): udhcpc: sending discover
Fri Jan 14 16:17:28 2022 daemon.notice netifd: tethering (12833): udhcpc: sending discover

And this is when I tried to connect to it via WiFi:

Fri Jan 14 16:24:29 2022 user.info : saved ssid ignore: Zolcsi 0
Fri Jan 14 16:24:29 2022 user.info : [  810] gl-sdk>> bIsSaved=0, ssid=Zolcsi, encryption=psk2, bssid=02:44:34:8F:8D:9E, wds=0, device=radio1, identity=, channel=6
Fri Jan 14 16:24:29 2022 user.info : [ 3043] gl-wifi-core>> bIsStaEnabled=1
Fri Jan 14 16:24:29 2022 daemon.notice hostapd: wlan1: interface state ENABLED->DISABLED
Fri Jan 14 16:24:29 2022 daemon.notice hostapd: wlan1: AP-DISABLED
Fri Jan 14 16:24:29 2022 daemon.notice hostapd: wlan1: CTRL-EVENT-TERMINATING
Fri Jan 14 16:24:29 2022 daemon.notice hostapd: nl80211: deinit ifname=wlan1 disabled_11b_rates=0
Fri Jan 14 16:24:29 2022 kern.info kernel: [  794.345003] device wlan1 left promiscuous mode
Fri Jan 14 16:24:29 2022 kern.info kernel: [  794.349693] br-lan: port 2(wlan1) entered disabled state
Fri Jan 14 16:24:29 2022 daemon.notice netifd: Network device 'wlan1' link is down
Fri Jan 14 16:24:31 2022 daemon.err hostapd: Configuration file: /var/run/hostapd-phy1.conf
Fri Jan 14 16:24:31 2022 daemon.notice netifd: radio1 (23526): sh: /usr/bin/ovs-vsctl: not found
Fri Jan 14 16:24:31 2022 daemon.notice netifd: radio1 (23526): sh: /usr/bin/ovs-vsctl: not found
Fri Jan 14 16:24:31 2022 kern.info kernel: [  795.664191] br-lan: port 2(wlan1) entered blocking state
Fri Jan 14 16:24:31 2022 kern.info kernel: [  795.669685] br-lan: port 2(wlan1) entered disabled state
Fri Jan 14 16:24:31 2022 kern.info kernel: [  795.675524] device wlan1 entered promiscuous mode
Fri Jan 14 16:24:31 2022 daemon.err hostapd: Using interface wlan1 with hwaddr e4:95:6e:4a:5e:fe and ssid "GL-AR750S-efe"
Fri Jan 14 16:24:31 2022 daemon.notice hostapd: wlan1: interface state UNINITIALIZED->ENABLED
Fri Jan 14 16:24:31 2022 daemon.notice hostapd: wlan1: AP-ENABLED
Fri Jan 14 16:24:32 2022 daemon.notice wpa_supplicant[23758]: Successfully initialized wpa_supplicant
Fri Jan 14 16:24:32 2022 daemon.notice netifd: Interface 'wwan' is enabled
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: SME: Trying to authenticate with 02:44:34:8f:8d:9e (SSID='Zolcsi' freq=2437 MHz)
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.542181] wlan-sta: authenticate with 02:44:34:8f:8d:9e
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.560378] wlan-sta: send auth to 02:44:34:8f:8d:9e (try 1/3)
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: Trying to associate with 02:44:34:8f:8d:9e (SSID='Zolcsi' freq=2437 MHz)
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.568695] wlan-sta: authenticated
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.583209] wlan-sta: associate with 02:44:34:8f:8d:9e (try 1/3)
Fri Jan 14 16:24:33 2022 daemon.notice netifd: Network device 'wlan-sta' link is up
Fri Jan 14 16:24:33 2022 daemon.notice netifd: Interface 'wwan' has link connectivity
Fri Jan 14 16:24:33 2022 daemon.notice netifd: Interface 'wwan' is setting up now
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.618926] wlan-sta: RX AssocResp from 02:44:34:8f:8d:9e (capab=0x411 status=0 aid=1)
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.627332] wlan-sta: associated
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: Associated with 02:44:34:8f:8d:9e
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: WPA: Key negotiation completed with 02:44:34:8f:8d:9e [PTK=CCMP GTK=CCMP]
Fri Jan 14 16:24:33 2022 daemon.notice wpa_supplicant[23766]: wlan-sta: CTRL-EVENT-CONNECTED - Connection to 02:44:34:8f:8d:9e completed [id=0 id_str=]
Fri Jan 14 16:24:33 2022 kern.debug kernel: [  797.680252] wlan-sta: Limiting TX power to 20 (20 - 0) dBm as advertised by 02:44:34:8f:8d:9e
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.807233] br-lan: port 2(wlan1) entered blocking state
Fri Jan 14 16:24:33 2022 kern.info kernel: [  797.812748] br-lan: port 2(wlan1) entered forwarding state
Fri Jan 14 16:24:33 2022 daemon.notice netifd: Network device 'wlan1' link is up
Fri Jan 14 16:24:33 2022 daemon.notice netifd: wwan (23792): udhcpc: started, v1.30.1
Fri Jan 14 16:24:33 2022 daemon.notice netifd: wwan (23792): udhcpc: sending discover
Fri Jan 14 16:24:35 2022 user.info : [  817] gl-sdk>> wifi_join return=0, channel=6
Fri Jan 14 16:24:36 2022 daemon.notice netifd: wwan (23792): udhcpc: sending discover
Fri Jan 14 16:24:39 2022 daemon.notice netifd: wwan (23792): udhcpc: sending discover

Can you also post the Kernel Log (dmesg)?

Can you test connecting the router to home wifi or another wifi service, instead of your iPhone? If it succeeds, then the issue is within the iPhone. If it fails, then the issue is within the router.

My GL-AR750S with the same firmware works/connects to my home wifi successfully.

Yeah, of course. This is the kernel log after connecting the phone with USB:

[  128.066214] usb 1-1: new high-speed USB device number 2 using ehci-platform
[  128.282634] ipheth 1-1:4.2: Apple iPhone USB Ethernet device attached

And this is what is logged after connecting to the phone via WiFi:

[  260.499799] device wlan1 left promiscuous mode
[  260.504527] br-lan: port 2(wlan1) entered disabled state
[  261.762118] br-lan: port 2(wlan1) entered blocking state
[  261.767667] br-lan: port 2(wlan1) entered disabled state
[  261.773411] device wlan1 entered promiscuous mode
[  263.305106] wlan-sta: authenticate with ae:b1:a0:17:9e:bd
[  263.323319] wlan-sta: send auth to ae:b1:a0:17:9e:bd (try 1/3)
[  263.331628] wlan-sta: authenticated
[  263.346212] wlan-sta: associate with ae:b1:a0:17:9e:bd (try 1/3)
[  263.357653] wlan-sta: RX AssocResp from ae:b1:a0:17:9e:bd (capab=0x431 status=0 aid=1)
[  263.366051] wlan-sta: associated
[  263.369563] wlan-sta: Limiting TX power to 20 (20 - 0) dBm as advertised by ae:b1:a0:17:9e:bd
[  263.526391] br-lan: port 2(wlan1) entered blocking state
[  263.531889] br-lan: port 2(wlan1) entered forwarding state

I tried to connect the router to my normal home wifi and it worked fine. I know that connecting to the iPhone via WiFi is tricky (I tried a TP Link router before with partial success), I read a lot about that, and I did not expect it to work. However I think that the USB tethering should work and I really don’t know what could be the reason for its failure.

Also, I tried again with my wifes iPhone 11 and still no luck :frowning:

It looks like the issue is with the iPhone’s, which tend to be tricky (other Apple products also). The home wifi connection test was to eliminate possibilities, in case there is a router configuration issue.

I notice the message “Limiting TX power to 20 (20 - 0) dBm” in both System Log and Kernel log which is sent from iPhone to the router. My suspicion is that it detects the router and tells it not to transmit ??? I had hoped the the MAC address cloning would be enough to spoof iPhone detection.

More info here that may be relevant (?):

This may not matter.

Currently I have no idea of why some iphone cannot tethering.

From our support we got several cases related to this. Some cases just resolved for no reason, i.e. when tried another time, it just works.

I had similar problem before with my iphone 11 but it generally resolves after multiple disable and renable hotspot. But recently with ios15 I seldom have a problem when tethering.

I just tried today and here is how it happens.

iPhone 11 with IOS 15.1
AR750S with firmware 3.211

  1. Plug in iphone to AR750s, wait for “Trust this computer” message appear and click trust
  2. Enable hotspot on iphone, if it asks if you want to enable both usb and wifi, click yes
  3. Click “connect” in router’s web panel and wait
  4. Nothing happens, iPhone does not turn green and router displays Failed
  5. Turn off hotspot and turn it on again.
  6. Click “connect” in the router’s web panel, still failed
  7. Tried 5 and 6 for number of times, no use
  8. Turn off hotspot, wait for 5 seconds then turn it on
  9. Click “connect” in the router’s web panel and it connects now
  10. Later when I try like disconnect iphone and reconnect etc. it just connect.

So from above, the only way is multiple turn off hotspot, wait 5 seconds, enable again and click connect again.

I found this patch for iPhone XR running iOS 14 from User wnienhaus.
This modifies the iphone binary to change all references from 1516 buffer size to 1514 buffer size.

I checked on my GL-AR300M and ios 15.1
Didn’t install any patches - tethering work well:
OpenWrt 19.07.7, r11306-c4a6851c72
/lib/modules/4.14.221/ipheth.ko
I found that my IPHETH_BUF_SIZE=0x5ea (1514 bytes)

And in my log:
daemon.notice netifd: Interface ‘tethering’ is setting up now
kern.info kernel: [ 365.075570] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
daemon.notice netifd: tethering (8140): udhcpc: started, v1.30.1
daemon.notice netifd: tethering (8140): udhcpc: sending discover
daemon.notice netifd: tethering (8140): udhcpc: sending select for 172.20.10.4
daemon.notice netifd: tethering (8140): udhcpc: lease of 172.20.10.4 obtained, lease time 86400
daemon.info dnsmasq[8174]: started, version 2.80 cachesize 150

I forwarded to engineers to have a check.

Thanks for posting.

Thank you very much, I appreciate it!
However I think I might be on to something. At first I tried to upgrade to a more recent OpenWRT but this didn’t help either. So I started digging around the OpenWRT docs and issues and forums and etc… Anyway, I found out that my provider assigns an IPv6 address with /64 subnet to me an that might be causing the issue. I stumbled upon this article:

I tried the IPv6 masquerading, tried the IPv6 relaying (they suggest that for /64 subnets) and finally it seems that as suggested lastly, creating two parallel interfaces for tethering, one with DHCPv6 and one with regular DHCP seems to work.
Now this is a bit of an uncharted territory for me, but I believe now OpenWRT does NAT-ing between the two interfaces somehow. But if /64 subnet really means that I have a gazillion addresses to use, being able to use them and bridging the local network with the ISP would be a better solution (I guess that’s what relaying would’ve done), but so far I’m fine with this solution as well, because I need this only as a failover.
Now I just need to test what happens when I restart everything and just plug the phone back in, hopefully it’ll just work :slight_smile:
Anyway, I hope you can incorporate a fix for this into the official firmware, let me know if you need any help on this.

1 Like

If you enable IPv6 on the router, you will find two modes: NAT6 or Native mode. You can try these two mode?