RE: [PATCH] usbnet: ipheth: fix connectivity with iOS 14

From: Sam Bingner
Date: Wed Sep 22 2021 - 16:26:59 EST


Sorry I didn't have time to research this further to prove it was a regression - but there is now somebody else who has done so and created a patch. I thought it might be good to give a link to it to you guys. It caused problems on all iOS versions AFAIK. The patch and discussion is available at:

https://github.com/openwrt/openwrt/pull/4084

Sam

-----Original Message-----
From: Oliver Neukum <oneukum@xxxxxxxx>
Sent: Monday, February 22, 2021 2:10 AM
To: Sam Bingner <sam@xxxxxxxxxxx>; linux-usb@xxxxxxxxxxxxxxx
Cc: David S. Miller <davem@xxxxxxxxxxxxx>; Martin Habets <mhabets@xxxxxxxxxxxxxx>; Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx>; Shannon Nelson <snelson@xxxxxxxxxxx>; Michael S. Tsirkin <mst@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Matti Vuorela <matti.vuorela@xxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Yves-Alexis Perez <corsac@xxxxxxxxxx>
Subject: Re: [PATCH] usbnet: ipheth: fix connectivity with iOS 14

Am Sonntag, den 21.02.2021, 10:42 +0000 schrieb Sam Bingner:
> There seems to be a problem with this patch:
>
> Whenever the iPhone sends a packet to the tethered device that is 1500 bytes long, it gets the error "ipheth 1-1:4.2: ipheth_rcvbulk_callback: urb status: -79" on the connected device and stops passing traffic. I am able to bring it back up by shutting and unshutting the interface, but the same thing happens very quickly. I noticed that this patch dropped the max USB packet size from 1516 to 1514 bytes, so I decided to try lowering the MTU to 1498; this made the connection reliable and no more errors occurred.
>
> It appears to me that the iPhone is still sending out 1516 bytes over USB for a 1500 byte packet and this patch makes USB abort when that happens? I could duplicate reliably by sending a ping from the iphone (ping -s 1472) to the connected device, or vice versa as the reply would then break it.
>
> I apologize if this reply doesn't end up where it should - I tried to reply to the last message in this thread but I wasn't actually *on* the thread so I had to just build it as much as possible myself.

Is this a regression? Does it work after reverting the patch? Which version of iOS?

Regards
Oliver