Wow, this brings back memories. I hacked on this and other iPhone support on Linux back in the day, including on getting music sync support working, back when I myself used an iPhone.
At the time I wrote usbmuxd, which implements the sync (not tethering) part of the protocol. I can now say that I had a bit of behind the scenes help from an Apple engineer; his tips helped work out some corner cases that would've been quite hard to track down otherwise. This friend sadly passed away a few years ago.
Unfortunately, Apple has always been (publicly) hostile to third party support for their devices. For example, they insist on "signing" music databases with algorithms based on their FairPlay DRM implementation, to stop non-iTunes software from syncing music to them. I reverse engineered one variant of this (which was based on a white-box AES implementation and a lot of obfuscated junk) but they kept changing the algorithm. This went into libgpod and libimobiledevice.
I suspect you meant https://bugreport.apple.com/, which is also accessible via rdar:// on consumer iOS devices. Sadly, the redirect service that has been running their ever since it was replaced by Feedback Assistant seems to not be working at the moment :(
USB tether is one less wireless signal to worry about. If you're tethering for a long time you're probably plugging your phone into your laptop anyway, to charge it.
* It disconnects more than once per day, requiring me to enable the wifi hotspot again on the phone
* The phone gets very hot
* It is slower than usb tethering: In my measurements, I get about 4MByte/s over USB and around 2MByte/s with wifi, though I'm not too confident in the results. According to the mobile provider, I should get 10.
EDIT: A fourth one is that the wifi hotspot leaks my first name and phone brand to everyone in the vicinity.
> Why do people use the USB tether? The WiFi hotspot always works perfectly, it's an open protocol etc.
My mobile is an Android device, but I believe these reasons all still apply:
* lower power consumption for both devices with wifi off
* significantly lower & more stable ping. i drop from ~44ms with a lot of jitter (a significant number of 120ms pings) to mostly stable <35ms, with a very occasional high ping.
* better-re-sharing. if i am hosting a bunch on a phone, with USB i can bring a mobile travel router with me that has much better range & works with many more users. (it's possible that wifi extender mode may emulate some of this advantage, but it would almost certainly double the jitter problem)
You can use your mobile as a Wifi-to-USB dongle and dont have to care about wireless credentials which is very nice. This is not possible with a wifi hotspot because in Hotspot mode you cannot use your wifi in parallel.
I do use that with a mobile router that supports Android's usb-cdc-ethernet adapter to forward hotel wifis when i only have one code for a single device (mac address). Or when the wifi gadget you want to use doesnt work with the captive portal. Fast and hassle free.
Personally the wifi version of wireless hotspot was always finicky for me on Linux, requiring a few restarts of the hotspot and the computer wifi to get synced up.
Wired tethering always worked instantly. Well, until now sadly :(. I tried to do this the other day and I just figured something was bugged, but I didn’t realise it is an iOS14 issue. Guess I am stuck with the wifi hotspot for now when I am out and about.
I use a desktop. USB tether works well (I have android phone, not apple) for me. Why bother setting up wifi and buy additional device to make it work with my desktop?
Bummer, I just picked up a nice little cheap GL.iNet travel router ("Mango" and "Slate" are popular models) that works (worked?) with USB tethering on iOS (presumably pre-iOS 14).
I'm sure WiFi tethering will still work with it, but it's nice to remove one potentially flaky connection from the equation.
Apple is probably not going to help for this, sadly. I am fairly sure the details of tethering are considered to be private API and when something like that breaks (having likely been created by reverse engineering originally) they just don’t care. That being said, perhaps you’ll get some support from some skills do reverse engineers to help update that code!
I went to summer house to work and got my old Linux with me. For 10 days, I was out of internet bc wifi driver (obscure brand) was also broken. It was very frustrating, now I know why!
If you manage to get anyone from Apple to speak with you send them my way also. I am the author of IOS support for DeviceFarmer ( previously OpenSTF ). Part of that support involves getting video of the screen over the USB connection which uses the same undocumented pathways that libimobiledevice uses. I've been attempting to find someone at Apple to support the open source efforts for nearly a year to no avail.
What I would like Apple to support is fetching the raw h264 stream in a documented fashion, rather than forcing one to use AVFoundation and get pre-processed frames/data. Only allowing decoded video makes it impossible to scale. ( having many devices connected to a single mac all streaming video )
It would also be awesome if they would open up and document all the protocols and operations that the lockdown protocol supports. I doubt that will ever happen though.
[+] [-] marcan_42|5 years ago|reply
At the time I wrote usbmuxd, which implements the sync (not tethering) part of the protocol. I can now say that I had a bit of behind the scenes help from an Apple engineer; his tips helped work out some corner cases that would've been quite hard to track down otherwise. This friend sadly passed away a few years ago.
Unfortunately, Apple has always been (publicly) hostile to third party support for their devices. For example, they insist on "signing" music databases with algorithms based on their FairPlay DRM implementation, to stop non-iTunes software from syncing music to them. I reverse engineered one variant of this (which was based on a white-box AES implementation and a lot of obfuscated junk) but they kept changing the algorithm. This went into libgpod and libimobiledevice.
[+] [-] threeseed|5 years ago|reply
They do get triaged just not necessarily actioned depending on priorities etc.
[+] [-] saagarjha|5 years ago|reply
[+] [-] dfabulich|5 years ago|reply
[+] [-] xvector|5 years ago|reply
[+] [-] hendry|5 years ago|reply
I'm using the wifi hotspot since wired rarely works for me.
with an iPhone running 14.0.1 over USB-C[+] [-] geofft|5 years ago|reply
[+] [-] yread|5 years ago|reply
[+] [-] jeffbee|5 years ago|reply
[+] [-] fenwick67|5 years ago|reply
[+] [-] qcoh|5 years ago|reply
* It disconnects more than once per day, requiring me to enable the wifi hotspot again on the phone
* The phone gets very hot
* It is slower than usb tethering: In my measurements, I get about 4MByte/s over USB and around 2MByte/s with wifi, though I'm not too confident in the results. According to the mobile provider, I should get 10.
EDIT: A fourth one is that the wifi hotspot leaks my first name and phone brand to everyone in the vicinity.
[+] [-] rektide|5 years ago|reply
My mobile is an Android device, but I believe these reasons all still apply:
* lower power consumption for both devices with wifi off
* significantly lower & more stable ping. i drop from ~44ms with a lot of jitter (a significant number of 120ms pings) to mostly stable <35ms, with a very occasional high ping.
* better-re-sharing. if i am hosting a bunch on a phone, with USB i can bring a mobile travel router with me that has much better range & works with many more users. (it's possible that wifi extender mode may emulate some of this advantage, but it would almost certainly double the jitter problem)
[+] [-] ce4|5 years ago|reply
You can use your mobile as a Wifi-to-USB dongle and dont have to care about wireless credentials which is very nice. This is not possible with a wifi hotspot because in Hotspot mode you cannot use your wifi in parallel.
I do use that with a mobile router that supports Android's usb-cdc-ethernet adapter to forward hotel wifis when i only have one code for a single device (mac address). Or when the wifi gadget you want to use doesnt work with the captive portal. Fast and hassle free.
[+] [-] kkaranth|5 years ago|reply
[+] [-] mjrbrennan|5 years ago|reply
Wired tethering always worked instantly. Well, until now sadly :(. I tried to do this the other day and I just figured something was bugged, but I didn’t realise it is an iOS14 issue. Guess I am stuck with the wifi hotspot for now when I am out and about.
[+] [-] asicsp|5 years ago|reply
[+] [-] yread|5 years ago|reply
[+] [-] tlrobinson|5 years ago|reply
I'm sure WiFi tethering will still work with it, but it's nice to remove one potentially flaky connection from the equation.
[+] [-] villgax|5 years ago|reply
[+] [-] saagarjha|5 years ago|reply
[+] [-] teruakohatu|5 years ago|reply
[+] [-] jojobas|5 years ago|reply
[+] [-] tomjakubowski|5 years ago|reply
[+] [-] threeseed|5 years ago|reply
Online Store and iTunes Store used to both run on it.
These days I imagine everything does since they use Kubernetes for Siri, Maps etc.
[+] [-] CSDude|5 years ago|reply
[+] [-] paulcarroty|5 years ago|reply
[+] [-] mariuolo|5 years ago|reply
[+] [-] nanoscopic|5 years ago|reply
What I would like Apple to support is fetching the raw h264 stream in a documented fashion, rather than forcing one to use AVFoundation and get pre-processed frames/data. Only allowing decoded video makes it impossible to scale. ( having many devices connected to a single mac all streaming video )
It would also be awesome if they would open up and document all the protocols and operations that the lockdown protocol supports. I doubt that will ever happen though.
[+] [-] dingaling|5 years ago|reply
They're deliberately opaque and obtuse. If people choose to buy their devices then they should accept the consequences of that choice.
[+] [-] ajharrison|5 years ago|reply
[deleted]