I missed out something important in my previous post on the native tethering on Linux. Turns out my tethering works only after I kick off the tether from Windows (Which resides in a VM on my machine). Further digging led me to the following site.
In order to get tethering to work, you need to ‘pair’ the IPhone with your machine. The site above provides the source to the pairing program, which surprisingly isn’t part of any Debian package. Or at least I couldn’t find it. Someone please point me to the right package if there’s one.
Anyway, just follow the instructions on the site to checkout the source from GIT and compile ipheth-pair. Plug in your IPhone and check your dmesg for the following:
[40883.744096] usb 2-1: reset high speed USB device using ehci_hcd and address 10
[40883.905582] ipheth 2-1:4.2: Apple iPhone USB Ethernet device attached
Run ipheth-pair if your IPhone has been picked up and loaded successfully.
Leave the rest to Network Manager. Just connect to wwan0 like connecting to any other devices.