Hello, 'adb sideload' doesn't work for me. I've tried a few times to use it to upgrade LineageOS, with two different phones, and every time the same happened: Running 'adb -d reboot sideload' works as intended, but after that the connection to the phone is lost (it doesn't appear anymore in the output of 'adb devices') and I need to kill the adb process and restart it for the connection to be restored. Then I run 'adb -d sideload mypackage.zip' and I get the following output: serving: 'mypackage.zip' (~0%) It stays stuck at 0% forever. On the phone screen, the output is the following: Supported API: 3 Finding update package... Verifying update package... Nothing else after that. I tried this on 13.2-RELEASE and 14.0-RELEASE, both failed that way. The same procedure works flawlessly on Linux. I noticed a closed bug report about an issue with USB, which may still be relevant: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264563
(In reply to bsduck from comment #0) I can confirm the same problem on FreeBSD 13.3-p5 with android-tools-31.0.3p2.0_23 Whenever I try 'adb sideload mypackage.zip" it get stuck on 0%. Permissins on /dev/usb/X.Y.Z devices are OK, I can see my phone listed by "adb devices" in all stages. When booted to TWRP % adb devices List of devices attached 66********40 recovery When ADB sideload is activated in TWRP % adb devices List of devices attached 66********40 sideload % adb sideload crDroidAndroid11v728.zip serving: 'crDroidAndroid11v728.zip' (~0%)
I can't use adb sideload on FreeBSD because of that problem too. I made a workaround: I am using debian guest in bhyve and passthrough usb device (my phone) to the vm and use adb sideload there.
(In reply to Yusuf Yaman from comment #2) Is there a way to passthrough only one USB port or the whole USB controller must be passthrough? More detail to this adb bug - the problem is not only with sideload, adb pull has the same problem. adb push of small files worked OK. I also noticed that if I open 2 konsole windows, run adb pull or adb push of large file and periodically run "adb shell ls" in another window, the progress of data transfer (percentage) jump with each iteration until it is successfully done. But this workaround doesn't work for adb sideload (or maybe the file is too large to see some progress)
(In reply to Miroslav Lachman from comment #3) > Is there a way to passthrough only one USB port or the whole USB controller must be passthrough? I don't think so, I have passed my whole usb controller through that's located in front of the computer case. > More detail to this adb bug - the problem is not only with sideload, adb pull has the same problem. adb push of small files worked OK. Yeah, i can confirm that.
For adb push/pull an older version before ports 70cd49992b45 may work better. For example, I use android-tools-adb-9.0.0.r3_4 with my rooted Android 14 phone. USB hotplug can be disabled for extra stability. $ cd /usr/ports $ git checkout 2e4c1c1b113a~1 devel/android-tools-adb $ cd devel/android-tools-adb $ sed -i '' 's/NO_\(MAN\)/\1/; /FAKE_LOG/s/$/ -fcommon/' files/Makefile # build fix $ sed -i '' 's/__FreeBSD__/__disabled&/' files/patch-adb_client_usb__libusb.cpp # disable hotplug (prefer polling) $ pkg delete -x android-tools $ make install clean $ pkill adb $ adb shell No clue about "adb sideload" (now or 10 years ago). I've always updated custom ROMs from within recovery UI or official via OTA.
I also have the problem with the sideload. With version 9.0.0_r3 the sideload works, even without the polling patch. From version 29.0.2 the sideload no longer works. Between the versions, the Android Debug Bridge changes from version 1.0.40 to 1.0.41.
I also have this issue. I can reboot the phone with adb, unlock it, flash recovery with fastboot, but sideload does the exact same thing. Tried it on Mint Linux and it was fine. Not sure if the adb versions were the same or not.
Exact same issue with same symptoms on 14.2
I tracked down the issues into libusb, I am not 100% sure yes, but from my testing it seems it to track the bug into lilbusb's libusb_fill_bulk_transfer issue.
Nice find! Is there another issue for that somewhere? It was interesting how I could use fastboot and get a recovery image going, but not complete a sideload.
I am able to confirm this bug on FreeBSD 14.2-RELEASE amd64
The same issue. Any fixes?
Is adb version 9 still working with Android 14 or 15? If so, will it be possible to have another port (pkg) with this legacy version, for example devel/android-tools9?
Same issue on 14.3
This may or may not be related, but: using FreeBSD 14.3-RELEASE-p5 and android-tools-31.0.3p2.0_40 on a Moto g 5G 2022 with Android 13, "adb pull <file-name>" creates an empty local file with the given name of zero length and never finishes. Does this sound familiar? Help!
Please ignore the previous comment -- I sidestepped the problem using adb shell to copy the file I wanted to the /sdcard directory, where it was visible to gmtp. But it would be nice to be able to "adb pull" and "adb push".