ADB: missing udev rules after following Arch wiki

I’m trying to get adb to work on my phone OnePlus. I downloaded platform-tools from the AUR and wrote “adb devices” in terminal. I get:

111111a no permissions (missing udev rules? user is in the plugdev group); see [http://developer.andr
oid.com/tools/device.html]

I followed Arch wiki udev instructions and everything necessary, so I don’t know what’s wrong. Why won’t it work?

I only had to install android-tools and android-udev to get ADB to work on my system.
Both packages are in the repos.

I have tried it with a Samsung Galaxy S8 and a Pixel 4a.

2 Likes

As far as I know all you need is to install android-tools. No need to use an AUR package. I advice you to remove the AUR package and install android-tools.

3 Likes

Using android-tools provided by Google and I have the same problem :frowning_face:

Install android-udev as well and see if it will work.

What do you mean with provided by google?

It should be pulled in as a dependency when installing android-tools.

1 Like

You are right!
I didn’t pay attention :blush:

Perhaps then android-udev-git from AUR might contain the appropriate udev rule?

https://wiki.archlinux.org/title/Adb#Adding_udev_rules

1 Like

Maybe but I have owned multiple Onplus phones myself and never had the need for anything else but android-tools for android debug bridge to work.

2 Likes

I suspect you didn’t follow the Arch wiki closely enough.

Can you list the specific steps you followed?

1 Like

With your phone plugged in, run the following and post the output:

lsusb

Also post:

cat /etc/udev/rules.d/51-android.rules
[user@eOS ~]$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1532:0067 Razer USA, [device1]
Bus 003 Device 002: ID 1532:0c01 Razer USA, [device2]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 18d1:4ee7 Google Inc. Nexus/Pixel Device (charging + debug)
Bus 001 Device 005: ID 20d6:4002 Wired Controller
Bus 001 Device 003: ID 0bda:b00c Realtek Semiconductor Corp. Bluetooth Radio 
Bus 001 Device 002: ID 1532:022a Razer USA, [device3]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

------

[user@eOS ~]$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="[xxxx]", MODE="0660", GROUP="adbusers", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="[xxxx]", ATTR{idProduct}=="[yyyy]", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="[xxxx]", ATTR{idProduct}=="[yyyy]", SYMLINK+="android_fastboot"

Despite it appearing as Google Pixel, it’s a OnePlus device. If if matters CalyxOS is installed on it.

I also replaced the identifiers in case they contain personal information, but there are my real codes behind xxxx and yyyy.

1 Like

What you got there (/etc/udev/rules.d/51-android.rules) looks like to match the template for udev rule on ArchWiki. So if xxxx and yyyy correspond to the Vendor ID and Product ID, it’s odd that it is not functioning as expected.

Let’s see then what other forum mates think of it.

It might, given OnePlus support is still experimental. It might be worth checking with CalyxOS whether this is a known bug.