The other day, I was installing Ubuntu Touch on my Nexus 7. During the installation process, I encountered an error while using adb (Android Debug Bridge). When I was trying to boot into bootloader using adb, it gave the following error:
error: insufficient permissions for device
What helped me was to restart the adb server in sudo mode. Yes, it was that simple. The adb server needed to be run with root privilges.
Stopping the adb server, restarting with sudo worked in my case.
I am going to show you the steps I used to fix the “insufficient permissions for device error” in Ubuntu Linux.
Fix error: insufficient permissions for device error
First step is to stop the running adb server:
adb kill-server
Next step is to start the server again but this time with root privileges:
sudo adb start-server
The output of this command will be like this:
abhishek@itsfoss:~$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
As the last and final step, you must detach the device attached to it and connect it again. That could also create issue and you won't see the impact immediately otherwise.
No rocket science here. The reason is self-explanatory, I believe. The adb server needs to run with root privileges and if that’s not the case, you see the “insufficient permission for device” error.
Things are simpler than they seem. It happens once a while, if not always.
On a related topic, I recommend reading about the root user in Ubuntu and clear the concept around this topic.
I hope this quick post helps you. Let me know if you still face issues in the comment section and I'll try to help you out. Enjoy Android and Linux :)