|
| 1 | +--- |
| 2 | +title: Troubleshooting Guide |
| 3 | +description: Diagnose and resolve common aa-proxy connection issues. |
| 4 | +--- |
| 5 | + |
| 6 | +# Troubleshooting Guide |
| 7 | + |
| 8 | +This guide helps you diagnose and resolve common issues with **aa-proxy** connectivity and performance. |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +## 🧭 How It Works (Ideal Scenario) |
| 13 | + |
| 14 | +Before troubleshooting connection problems, it’s important to understand how things should work in a perfect setup. |
| 15 | + |
| 16 | +In an ideal situation: |
| 17 | + |
| 18 | +1. Power up your device running **aa-proxy** and connect it to the car’s head unit (HU). |
| 19 | + A freshly flashed image should boot up and wait for the first phone connection. |
| 20 | + |
| 21 | +2. You should see a visible Wi‑Fi network named **aa-proxy** and a Bluetooth device named **aa-proxy-\***. |
| 22 | + If neither is visible, there may be a **power issue** — check [Power Problems](#-power-and-usb-cable-problems). |
| 23 | + |
| 24 | +3. Before the first connection, it’s a good idea to pair your **phone directly with the car (HU)** via Bluetooth — this ensures your phone has the correct hands-free profile. |
| 25 | + |
| 26 | +4. On your phone, enable Bluetooth, search for new devices, and pair with **aa-proxy**. |
| 27 | + |
| 28 | +5. Once paired, **Android Auto (AA)** will begin the initial connection process. |
| 29 | + |
| 30 | +6. The phone receives Wi‑Fi credentials and connects to the **aa-proxy** Wi‑Fi network. |
| 31 | + |
| 32 | +7. Under the hood, **aa-proxy** simultaneously connects to the car’s HU via Bluetooth, emulating a mobile device. |
| 33 | + |
| 34 | +8. The phone should then automatically connect its Bluetooth audio profile to the HU. |
| 35 | + |
| 36 | +9. After a successful connection, data packets flow in both directions — typically in **passthrough mode** (no modification). |
| 37 | + |
| 38 | +10. The proxy saves the paired Bluetooth device in its configuration. On the next boot, **aa-proxy** automatically attempts to reconnect to that phone. |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +## ⚡ Power and USB Cable Problems |
| 43 | + |
| 44 | +A poor-quality cable or incorrect port usage can cause unstable operation. |
| 45 | + |
| 46 | +### 1. Cable Quality |
| 47 | +- Use a **good-quality USB cable** — not all cables are equal. |
| 48 | +- Better cables use thicker copper conductors and handle higher current. |
| 49 | +- Price isn’t always a reliable indicator — some cheap cables perform better than expensive ones. |
| 50 | + |
| 51 | +### 2. Correct USB Port |
| 52 | + |
| 53 | +Ensure the device is powered from the correct **OTG/data port**. |
| 54 | + |
| 55 | +#### Raspberry Pi Zero 2 W |
| 56 | + |
| 57 | + |
| 58 | +#### Radxa Zero 3W |
| 59 | + |
| 60 | + |
| 61 | +### 3. LED Indicators (Radxa Only) |
| 62 | + |
| 63 | +You can determine the device status by the **LED indicator**: |
| 64 | + |
| 65 | +- **Steady green** → The device has power but cannot boot (check SD or eMMC image integrity). |
| 66 | +- **Double green blink (repeating)** → System booted and ready. |
| 67 | + |
| 68 | +--- |
| 69 | + |
| 70 | +## 💽 SD Card Issues |
| 71 | + |
| 72 | +It might sound odd, but **many strange behaviors** — freezes, partial boots, or random hangs — often trace back to a **faulty SD card**. |
| 73 | + |
| 74 | +Try using a **different SD card** to eliminate this variable. |
| 75 | + |
| 76 | +--- |
| 77 | + |
| 78 | +## 🔐 Connecting via SSH |
| 79 | + |
| 80 | +If you need to access the device shell for diagnostics, you can connect via SSH once the system is up and on the same network. |
| 81 | + |
| 82 | +--- |
| 83 | + |
| 84 | +## 🪵 Enabling Persistent Logging |
| 85 | + |
| 86 | +By default, logs are only stored in memory for the current session (from boot to shutdown). |
| 87 | +If issues occur while driving and you cannot access logs immediately, enable **persistent logging** to the SD card: |
| 88 | + |
| 89 | +```ini |
| 90 | +logfile = /data/aa-proxy-rs.log |
| 91 | +``` |
| 92 | + |
| 93 | +This appends logs across sessions. |
| 94 | + |
| 95 | +> **Note:** Raspberry Pi devices have no **RTC clock**, so timestamps start from zero. |
| 96 | +> However, logs are still valuable for diagnosing what went wrong. |
| 97 | +
|
| 98 | +--- |
| 99 | + |
| 100 | +## 📶 Bluetooth Connection Problems |
| 101 | + |
| 102 | +By default, **aa-proxy** automatically connects to known devices stored in its configuration. |
| 103 | +However, on some hardware (especially Raspberry Pi), the Bluetooth chipset can be unreliable. |
| 104 | + |
| 105 | +If automatic reconnection causes issues, disable it by editing the config: |
| 106 | + |
| 107 | +```ini |
| 108 | +connect = |
| 109 | +``` |
| 110 | + |
| 111 | +This forces manual pairing (as during the first setup) — useful for verifying that Bluetooth works properly and isolating issues. |
| 112 | + |
| 113 | +--- |
| 114 | + |
| 115 | +## 🔄 Resetting the Phone’s Android Auto Connection State |
| 116 | + |
| 117 | +Sometimes Android Auto gets into a stuck state. To fully reset it: |
| 118 | + |
| 119 | +1. Turn off Wi‑Fi |
| 120 | +2. Turn off Bluetooth |
| 121 | +3. Clear all Android Auto notifications (e.g., “Connecting to Android Auto...”) |
| 122 | +4. Turn Bluetooth back on |
| 123 | + |
| 124 | +This often helps, especially after repeated failed connection attempts. |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +## 🧹 Forgetting Profiles |
| 129 | + |
| 130 | +If nothing else works, perform a full profile reset: |
| 131 | + |
| 132 | +- Forget **aa-proxy** Bluetooth profile on the phone |
| 133 | +- In Android Auto settings → forget your **car profile** |
| 134 | +- Forget the **car (HU)** Bluetooth profile on the phone |
| 135 | +- Forget the **phone** profile in the car (HU) |
| 136 | +- Factory reset **aa-proxy**: |
| 137 | + ```bash |
| 138 | + rm -rf /var/lib/bluetooth && sync && reboot |
| 139 | + ``` |
| 140 | + |
| 141 | +--- |
| 142 | + |
| 143 | +## 🎵 Stuttering / Audio Dropouts |
| 144 | + |
| 145 | +Some users experience **stuttering audio or lag**. |
| 146 | +The cause can vary — hardware limits, interference, or phone performance. |
| 147 | + |
| 148 | +### Common causes and fixes: |
| 149 | +- **Overheating:** Attach a small heatsink or use a ventilated case. |
| 150 | +- **Interference:** If issues occur in specific locations, change your Wi‑Fi channel. |
| 151 | +- **Poor mobile data:** If music buffers but navigation is smooth, network quality is likely the issue. |
| 152 | +- **Software updates:** Occasionally, Android Auto updates introduce regressions — see [Android Authority article](https://www.androidauthority.com/android-auto-stuttering-music-3597082/). |
| 153 | + |
| 154 | +There’s no single solution — experiment with hardware, Wi‑Fi settings, and phone choice to minimize stuttering. |
| 155 | + |
| 156 | +--- |
0 commit comments