Skip to main content

Fix USB Driver Issues in Linux

Overview

If the Aria Desktop app or computer can't detect a Project Aria device, it may be that your Aria device's battery is drained, or in Linux it may be because of your USB driver.

Use the following instructions to resolve USB driver issues in Linux.

Prerequisites

Android Device Bridge (ADB)

  • To install ADB use sudo apt-get android-tools

Instructions

Look for Aria device

With your Aria device plugged into your computer, use the command adb devices.

If your device can be found, you'll get an output like:

List of devices attached
1820dc10 device

If you see no permissions:

List of devices attached
1820dc10 no permissions

you likely need to change your udev.

Change udev

The following instructions were taken from Arch Linux's Android Debug Bridge instructions and Janos Gyerik's Adding udev rules:

Step 1: Get VENDOR_ID and PRODUCT_ID

Use list devices to find the [VENDOR_ID] and [PRODUCT_ID] of your Aria device.

The command

lsusb

should show something like:

Bus 002 Device 002: ID 2833:0086 Facebook, Inc. Aria

In the example above, [VENDOR_ID] = 2833 and [PRODUCT_ID]=0086

Step 2: Modify 51-android.rules

Using lsusb will create a new file /etc/udev/rules.d/51-android.rules

Modify 51-android.rules using the following commands or script. Make sure you create a group called adbusers and $USER, so that you have the correct permissions.

Commands

$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0660", GROUP="adbusers", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", ATTR{idProduct}=="0086", MODE="0660", GROUP="adbusers", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", ATTR{idProduct}=="0086", MODE="0660", GROUP="adbusers", SYMLINK+="android_fastboot"

Reboot your workstation to ensure the changes are applied.

Script

This script will will apply the previous commands and reboot your workstation.

IDs=$(lsusb | grep Facebook)
if [[ "$?" -ne 0 ]]; then
echo "Make sure you have your VROS device connected to your workstation"
exit
fi
IDs=$(echo $IDs | cut -d " " -f 6)
VID=$(echo $IDs | cut -d ":" -f 1)
PID=$(echo $IDs | cut -d ":" -f 2)
conf_f=/etc/udev/rules.d/51-android.rules
sudo touch ${conf_f}
echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"$VID\", MODE=\"0660\", GROUP=\"adbusers\", TAG+=\"uaccess\"" >> $conf_f
echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"$VID\", ATTR{idProduct}==\"$PID\", MODE=\"0660\", GROUP=\"adbusers\", SYMLINK+=\"android_adb\"" >> $conf_f
echo "SUBSYSTEM=="usb", ATTR{idVendor}==\"$VID\", ATTR{idProduct}==\"$PID\", MODE=\"0660\", GROUP=\"adbusers\", SYMLINK+=\"android_fastboot\"" >> $conf_f
sudo groupadd adbusers
sudo usermod -aG adbusers $USER