Install stuck with uz801
Rayhunter Version
v0.7.0
Device
uz801
Installer OS
Linux
Describe the Issue
I got a uz801 LTE modem. I try rayhunter installer, and it seems to be broken.
./installer uz801
Activating USB debugging backdoor... ok
Waiting for device reboot and ADB connection... Failed to install rayhunter on the Uz801. Make sure your computer is connected to the hotspot using USB.
Caused by:
ADB connection error: Resource busy (os error 16)
Device id is good `ID 05c6:90b6 Qualcomm, Inc. Android
Root script is working
adb shell
root@msm8916_32_512:/ # id
uid=0(root) gid=0(root) context=u:r:shell:s0
130|root@msm8916_32_512:/ # cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 0 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 0
processor : 1
model name : ARMv7 Processor rev 0 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 0
Hardware : Qualcomm Technologies, Inc MSM8916
Revision : 0000
Serial : 0000000000000000
Processor : ARMv7 Processor rev 0 (v7l)
`
do you have adb running? This looks like the issue we get when ADB is also running as a separate process. run adb kill-server and then run it again?
Yes, it was the issue. Thank you. But it's strange behavior to depend on adb not having been used on the machine before, isn't it?
I even tried the installer on another laptop, thinking it may be related to my config. I first checked if adb was installed, then I (accidentally) launched an adb server process and reproduced the bug on that laptop. Should we kill adb server at the beginning of installation?
I think we should improve this error message across installers. this is a recurring issue for any installer using adb. the issue is that adb wants exclusive access to the device and we are shipping with our own adb for portability reasons
is there some reason we shouldn't check for an adb process and run adb kill-server as part of the installer?
I think this will terminate anything else the user might have running, like file transfers, however unlikely.
We can also ask nicely the user if it's okay to kill the adb server before doing so, to make sure you don't interrupt adb in the unlikely event that something important is in progress.
Apologies for not noticing this for almost 2 months, as the de facto maintainer of the UZ801 support 😅
ask nicely the user if it's okay to kill the adb server before doing so, to make sure you don't interrupt adb in the unlikely event that something important is in progress.
I will try to cook something up which does exactly that, and make a PR.