Tether Your iPhone to a Pi-Star for a More Reliable Connection

If you own a Pi-Star hot spot, you know that you can use your phone as an internet connection. But did you know that you can directly wire the phone to your hotspot? There are a couple bonuses to doing it this way: First, it provides a much more reliable connection between the phone and the Pi-Star, but also, you can charge your phone at the same time using the same power source that supplies power to your hot spot! You will need a microUSB male to standard female adapter to connect the Pi-Star to your phone.

NOTE: Since you’ll be charging your phone and powering the Pi-Star at the same time, it’s a good idea to upgrade your power adapter to a 2AMP or better device!

The key to making this work is to add a program to the Pi-Star. I learned this by reading a post by Jiri Brejcha. He offers up some great advice, but I can narrow down the important stuff to two necessary commands. Do the setup while the Pi-star is still connected to your home network!

These are the commands:

rpi-rw
sudo apt-get install usbmuxd

(Optional) to reset rpi-rw, reboot the Pi-Star.

After the above installs (and while still connected to your home network) connect your phone to the Pi-Star, turn OFF WiFi in your phone and turn ON Personal Hot Spot. (Don’t worry about the Personal Hot Spot password – that’s not used for USB tethering.) Run ifconfig from the Pi-Star command line to verify that the Pi-Star operating system sees an IP address assigned by your phone. The reply will look something like the reply below.

NOTE: If you have an Android, this will be pretty much the same. You may need to adjust security settings to allow an ethernet connection. Of course, you won’t be able to do any of this if your phone doesn’t have a hot spot service turned on!

eth0 is the USB connection. On my phone, 172.20.10.8 is the address assigned by the phone’s personal hot spot DHCP server.

eth0: flags=4163 mtu 1500
inet 172.20.10.8 netmask 255.255.255.240 broadcast 172.20.10.15
ether 5e:70:17:33:f1:a5 txqueuelen 1000 (Ethernet)
RX packets 18 bytes 2708 (2.6 KiB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 8 bytes 1417 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 224 bytes 11200 (10.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 224 bytes 11200 (10.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163 mtu 1500
inet 192.168.0.51 netmask 255.255.255.0 broadcast 192.168.0.255
ether b8:27:eb:e9:0d:18 txqueuelen 1000 (Ethernet)
RX packets 1225084 bytes 201066846 (191.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 723319 bytes 545585089 (520.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0