• 2 Posts
  • 3 Comments
Joined 2M ago
cake
Cake day: May 08, 2025

help-circle
rss
a solution for fastboot not listing an Android device
Hey Lemmy! This is a solution for fastboot not listing an Android device. ::: spoiler my device specs ### my device specs - computer OS: Linux Mint 21.3 - computer architecture: x86_64 - USB cable: probably USB 2.0, but I'm not sure. It was not the one that came with my phone - phone model: Xiaomi MI 6X (wayne) - phone OS: MIUI 12 ::: ::: spoiler problem description ### problem description While my phone was in fastboot mode, I couldn't connect to it using the Linux `fastboot` command. - `fastboot devices` showed nothing: ``` me@computer:~$ fastboot devices me@computer:~$ ``` - `lsusb` listed my phone if it was in normal system mode. If I was in fastboot, `lsusb` does not list my phone. - `adb` worked fine—but only if I ran it as root. If I started it as a normal user, it showed this error: ``` me@computer:~$ adb devices List of devices attached n22i3nf0 no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html] me@computer:~$ ``` I had to do these steps to make `adb devices` list it properly: ``` me@computer:~$ adb kill-server me@computer:~$ sudo adb start-server ``` - other phones were working fine with both adb and fastboot. ::: ::: spoiler solution ### solution I had to add my phone's device and vendor ID to `/etc/udev/rules.d/51-android.rules`. My other phones were added already, that's why fastboot worked with them, but this phone wasn't added, so it did not work. This solution is also the standard solve for the "no permissions (user in plugdev group)" error, so if the below guide doesn't work, try someone else's guide. The below text is from [this gist](https://gist.github.com/smac89/251368c8df2ccd645baedc3e1238fdb4), with some edits. 1. First, we are going to determine your phone's vendor ID and device ID. Reboot your phone into normal system mode. (we can't get the IDs in fastboot mode because `lsusb` doesn't show the device.) 2. Unplug your device from the computer and type `lsusb` in the terminal. You should get an output similar to this: ``` Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 003 Device 033: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 Bus 003 Device 047: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1 Bus 003 Device 002: ID 174f:148d Syntek Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ``` 3. Now plug your phone into the computer and run the command again, the output should be different: ``` Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 003 Device 033: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 Bus 003 Device 047: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1 Bus 003 Device 002: ID 174f:148d Syntek Bus 003 Device 060: ID 05c6:6765 Qualcomm, Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ``` 4. Take a note of the new output ID. For me it's `Bus 003 Device 060: ID 05c6:6765 Qualcomm, Inc.` 5. record the characters after `ID` (in this case, it's `05c6:6765`). The four characters before the colon are the vendor ID and the four characters after are the device ID. 6. edit the file `/etc/udev/rules.d/51-android.rules` and add this: ``` SUBSYSTEM=="usb", ATTR{idVendor}=="vendor_id", ATTR{idProduct}=="device_id", MODE="0666", GROUP="plugdev" ``` make sure to replace `vendor_id` with your vendor ID and `device_id` with your device ID. 7. Save and close the file. 8. Now in the terminal, run this, which makes the file readable by all users. I don't know why this is necessary. ``` sudo chmod a+r /etc/udev/rules.d/51-android.rules ``` 9. restart your computer. This is what I did to make it work, but if you don't want to, other methods I've seen are: - `sudo systemctl restart udev` - or: ``` sudo udevadm control --reload-rules sudo udevadm trigger ``` 10. Now you can try the command `fastboot devices` and it should successfully list your device as one of the entries. #### still doesn't work? Other solutions which I have seen: - use a different USB cable - use a different USB port - use a different computer - use a different OS: switch from Linux to Windows, or vice versa, or use a different version of Ubuntu. Good luck! :::
fedilink

Thanks, but there isn’t a “turn off play service availability” option in my settings…


not sure about standard, but privacyguides.org has some nice resources for getting started. I recommend their “threat model” resource in particular; it shows you what direction you should work towards depending on your privacy goals.

Privacy Guides has an Android page as well.


Which LineageOS are you using? Mine has is on the very left and I wish it was on the bottom.


remove an app’s “doesn’t run without Google play services” pop up
Hey Lemmy! I have an app that keeps showing a pop up that it "doesn't run without Google play services". It in fact runs just fine, except for the pop up, which is extremely annoying. What are my options for removing it? And, how do apps know that I don't have Google play services? ::: spoiler extra details - I use LineageOS 21 on Android 14 - the app is the paid version of TripView (installed via Aurora Store) - I tried installing microG, but it didn't remove the pop up—maybe because I haven't set up the "system spoof signature" option. But even if I do set it up, I'm concerned about: 1. microG running some background services, wasting battery (because the app functions without any extra services) 2. unnecessarily connecting/sending information to Google's servers ::: edit for clarity: The "pop up" is an in app widget-like thing, not an Android notification. It looks like this: ![](https://discuss.tchncs.de/pictrs/image/d2b0dcc4-d4b4-496a-b072-bece33f909f8.png) it's not solved yet, but thanks to everyone for your support! :)
fedilink