I'm trying to figure out a way to pair an iPhone to a Raspberry Pi 4 (with a PIN ideally, but without is okay). Once paired, I'm going to set up the iPhone as a hotspot. All user interaction has to be from the iPhone since the Pi will be headless later on (plus other reasons).

There's lots of info I've learned that has been helpful but hasn't solved this:

  • Pairing to an RPi classic BT (not BLE) works fine with non-Apple devices (Windows, Android)
  • I can get an iPhone to pair with a BCM2046B1 dongle on Windows 10 using Bluecove 2.1.1.
    • The same dongle does not work on Raspbian using bluetoothctl.
  • I cant rely on easier pairing that you get with BLE (unless tethering works with BLE)
  • I cant rely on easier pairing with being an audio device (since this is for tethering, not audio)
  • Someone in this question suggests the BT device needs to be MFI certified to work

Any tips / info is appreciated, even if not a complete answer. Just knowing more about Apple's secret sauce for BT pairing would be helpful. Seems most people have given up when trying this, but might be easier with Pi4 / PiOS Buster.

  • 1
    By default there is no Network Aggregation Point [nap] running on the Raspberry Pi. You would need to set that up on your RPi to tether to it from the iPhone. This can be a little tricky to get setup. What I know is documented at: raspberrypi.stackexchange.com/a/114551/121848
    – ukBaz
    Commented Mar 27, 2021 at 6:43
  • Thank you, @ukBaz. Looks a bit complicated from a glance. Was hoping for something more plug-and-play but seems not.
    – Wisteso
    Commented Mar 28, 2021 at 4:07

1 Answer 1


did this today on a rpi zero 2w

  1. go to ios bluetooth settings screen, wait for rpi to appear.
  2. use bluetoothctl, make discoverable on, pairable on and scan for devices
  3. at the same time connect to your phone using bluetooth MAC from linux using connect command and also press the pi in your ios bluetooth settings list, click allow on both at the same time.
  4. use nmcli device to check if your iphone is listed (it should be automatically added, just not connected yet)
xx:xx:xx:xx:xx:xx  bt         disconnected               iPhone 15 Network
  1. use nmcli device connect xx:xx:xx:xx:xx:xx

You should have a working gateway at that point.

i use this script to auto connect on boot


# Set the Bluetooth device MAC address

# Check if the device is disconnected
if sudo nmcli device show "$TARGET_MAC" | grep -q "disconnected"; then
    echo "Device disconnected. Attempting to connect..."
    # Connect to the device using nmcli
    sudo nmcli device connect "$TARGET_MAC"
    echo "Device already connected or not found."

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.