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
- 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