> ## Documentation Index
> Fetch the complete documentation index at: https://docs.innate.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

This page explains how to diagnose issues on your MARS robot by inspecting the running processes.

***

## Connect via SSH

First, [SSH into your robot](/robots/mars/connecting-via-ssh).

***

## Access the OS tmux session

MARS runs its software stack inside a `tmux` session. To attach to it:

```bash theme={null}
tmux attach
```

If there are multiple sessions, you can list them with `tmux ls` and attach to the correct one.

***

## Navigate tmux to find issues

<Note>This section is for advanced users familiar with ROS2. If you're not comfortable with ROS, simply reach out to us on [Discord](https://discord.com/invite/KtkyT97kc7) and we'll help you diagnose the issue.</Note>

Once inside the tmux session, you'll see multiple windows or panes, each running a different ROS2 node or process.

### Basic tmux navigation

* **Switch windows:** `Ctrl+b` then `n` (next) or `p` (previous)

* **List windows:** `Ctrl+b` then `w`

* **Switch panes:** `Ctrl+b` then arrow keys

* **Scroll up:** `Ctrl+b` then `[`, then use arrow keys or Page Up/Down. Press `q` to exit scroll mode.

### Finding a problematic node

1. Cycle through the windows and panes to see which processes are running.

2. Look for error messages, stack traces, or nodes that have crashed or are restarting.

3. Use scroll mode to review recent output and identify what went wrong.

***

## App can reach Wi-Fi but robot services are not launched

If your robot is connected to Wi-Fi and the app shows a service launch failure screen, the ROS2 core likely did not start correctly.

1. [SSH into your robot](/robots/mars/connecting-via-ssh).

   Default password: `goodbot`

2. Rerun the post-update recovery script:

```bash theme={null}
sudo ~/innate-os/scripts/update/post_update.sh
```

Sudo password: `goodbot`

3. Wait for the script to finish, then retry the connection from the app.

This usually resolves failures caused by an interrupted or incomplete post-update startup.

***

## Common Hardware Issues

### Arm Goes Limp / Servos Not Holding Position

If the arm loses tension and goes limp (servos not holding their position), this is typically a servo communication issue that can be resolved by rebooting the arm:

**Option 1: Reboot via the App (Recommended)**

1. Open the Innate Controller App

2. Go to **Configuration**

3. Select the **Dev** tab

4. Tap **Reboot Arm**

> **Note:** Place the arm in a resting position before rebooting. The app will display an image showing the correct arm position.

**Option 2: Full Robot Restart**

1. Unplug the robot's power

2. Wait a few seconds

3. Plug it back in

The arm should regain tension and hold position after either of these steps.

### Arm Restart Notifications

If the arm encounters an issue during operation (such as a servo communication failure), the app will display a notification prompting you to restart the arm. Follow the notification instructions to recover.

### Arm Overload Protection

MARS monitors the arm's servo load in real-time. If the arm is overloaded (e.g., carrying too heavy of an object or encountering an obstruction), the system will detect this and may reduce torque to protect the servos. If you notice reduced arm performance:

1. Remove any heavy objects from the gripper

2. Clear any obstructions

3. Reboot the arm via the app if needed

### iOS Arm Control

<Warning>
  **Using an iPhone?** The leader arm connects over USB-C and doesn't work with iOS devices yet. Ping us on [Discord](https://discord.com/invite/KtkyT97kc7) and we'll get you a free Android phone for leader arm teleoperation.
</Warning>

***

## Low Battery Warning

The app displays a pulsing **Battery Low** warning when the robot's battery voltage drops below 10.53V. When you see this warning:

1. Stop any active tasks

2. Park the robot in a safe place

3. Connect the charger

Avoid running system updates or intensive operations when the battery is low.

***

## Early units (MARS IDs 1-11)

If you have one of the first eleven MARS units, it needed a [one-time setup fix](/robots/mars/troubleshooting/critical-fix-before-jan-16) before first use. Every robot from MARS ID 12 onwards shipped with this fix already applied, so chances are you can ignore this entirely.

***

## Contact us

When you identify an issue, please reach out to us on [Discord](https://discord.com/invite/KtkyT97kc7) with:

* The name of the node or process that is failing

* Any error messages or stack traces you see

* What you were doing when the issue occurred

We'll help you resolve it as quickly as possible.
