`adb` keeps crashing on F41

,

I’m trying to flash Calyx OS on my Pixel 7a, and adb keeps crashing.

When I first start the service with systemctl, it starts fine. Then as if I run adb devices it lists my device correctly:

$ adb devices 
List of devices attached
31031JEHN01557	device

However running the device flasher, crashes adb. And the device flasher fails like this:

Detected  31031JEHN01557. No matching factory image found
No devices to be flashed. Exiting...
Press enter to exit.

When I try to restart adb, it always fails the first time, but succeeds the second time :confused:. You can see my attempts in the logs below.

# journalctl --no-hostname -b -u adb 
Feb 08 01:30:25 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 01:30:25 adb[4554]: * daemon not running; starting now at tcp:5037
Feb 08 01:30:25 adb[4554]: * daemon started successfully
Feb 08 01:30:25 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.
Feb 08 02:34:41 adb[25804]: cannot connect to daemon at tcp:5037: Connection refused
Feb 08 02:34:41 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:35:16 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 02:35:16 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:35:16 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.
Feb 08 02:35:23 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 02:35:23 adb[26160]: * daemon not running; starting now at tcp:5037
Feb 08 02:35:26 adb[26160]: * daemon started successfully
Feb 08 02:35:26 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.
Feb 08 02:35:51 adb[26310]: cannot connect to daemon at tcp:5037: Connection refused
Feb 08 02:35:51 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:36:07 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 02:36:07 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:36:07 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.
Feb 08 02:36:09 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 02:36:09 adb[26416]: * daemon not running; starting now at tcp:5037
Feb 08 02:36:12 adb[26416]: * daemon started successfully
Feb 08 02:36:12 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.
Feb 08 02:58:40 adb[32794]: cannot connect to daemon at tcp:5037: Connection refused
Feb 08 02:58:40 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:58:56 systemd[1]: Starting adb.service - Android Debug Bridge (adb) service...
Feb 08 02:58:56 systemd[1]: adb.service: Deactivated successfully.
Feb 08 02:58:56 systemd[1]: Started adb.service - Android Debug Bridge (adb) service.

I have one hypothesis, but not sure how to check. The device flasher seems to download its own adb (from Google) which is a couple of versions older ( 33.0.3) than what’s available on Fedora (35.0.1). So I thought maybe it’s a version conflict, and tried removing android-tools entirely, but I still get the same error from the device flasher.

Can someone suggest what I could try next?

Have you tried using the official google binaries?

CLI install guide | Install | GrapheneOS has instructions

And you either want to install udev rules or use the tools as root

I wrote a guide about this already

And I highly recommend GrapheneOS over CalyxOS, a pretty good review of Calyxes lack of privacy can be found here

I did find your guide. I didn’t do anything different. I was using the systemd unit to run it instead of udev. I’ll try out the official Google binaries.

I’m a bit hesitant to use GrapheneOS because of the lead developer drama. I don’t want to be caught out without continued support in the future. I’m not as well versed with the custom ROM world as I’m with Linux. My other option is of course to use Lineage, I have used it in the past and liked it.

I understand the feelings, but tbh GrapheneOS is very very active. The lead dev stepped down but is still active of course.

They are adding a lot of custon features for privacy and take a few days to support new devices.

Their updates are really fast.

CalyxOS on the other hand lacks a ton of this. Their installation is kinda hard, they just bundle in a mix of 3rd party apps and dont really do anything comparable.

1 Like

I ended up installing GrapheneOS.

The installation was fairly smooth. fastboot wouldn’t recognise the phone unless I ran as root. I did install the udev rules (as mentioned in your guide), still didn’t work.

So I looked at the flashing script, it was all fastboot commands nothing else, so I ended up running it with sudo, and everything went smoothly from there.

EDIT: adb hasn’t crashed. I guess it was the CalyxOS installer.

1 Like

Yeah I did the same, I edited the script and added sudo /path/to/binaries in front to make it work.

No idea why, the webUSB installer never uses root of course, but maybe that fastboot is different?