termux-api icon indicating copy to clipboard operation
termux-api copied to clipboard

Extremely slow (~1 min) USB permission request via `termux-usb -r` on Android 14

Open bczhc opened this issue 1 year ago • 2 comments

Problem description

On Android 14, termux-usb -r responds very very slowly.

Steps to reproduce

As the console log shown below: When I entered termux-usb -r, it showed the permission request dialog quickly, but, after I granted the permission, it just hangs. If you still wait it, and after ~1 minute, finally the hang finished plus Access granted. was printed.

Expected behavior

Not so.

Additional information

  • termux-api application version: 0.50.1+78cb7c6 (51)
  • termux-api package version (installed through apt): 0.58.0-1
  • Android OS version: 14
  • Device model: Xiaomi 14 Pro

Android 14 device:

Welcome to Termux!

Community forum: https://termux.com/community
Gitter chat:     https://gitter.im/termux/termux
IRC channel:     #termux on libera.chat

Working with packages:

 * Search packages:   pkg search <query>
 * Install a package: pkg install <package>
 * Upgrade packages:  pkg upgrade

Subscribing to additional repositories:

u0_a364@localhost ~> termux-api-start
Starting service: Intent { cmp=com.termux.api/.KeepAliveService }
u0_a364@localhost ~> time termux-usb -l   [
  "/dev/bus/usb/001/002"
]                                         
____________
Executed in  306.20 millis    fish           external
   usr time    4.23 millis    0.00 millis    4.23 millis
   sys time   17.84 millis    2.03 millis   15.80 millis

u0_a364@localhost ~> time termux-usb -r "/dev/bus/usb/001/002"
Access granted.

____________
****************NOTE HERE***************
Executed in   60.42 secs     fish           external
   usr time    5.29 millis    0.87 millis    4.42 millis
   sys time   26.83 millis    1.09 millis   25.74 millis

u0_a364@localhost ~ [1]> time termux-usb -e echo "/dev/bus/usb/001/002"
7

____________
Executed in  278.48 millis    fish           external
   usr time    4.29 millis    0.71 millis    3.58 millis
   sys time   31.32 millis    1.20 millis   30.12 millis

u0_a364@localhost ~> time termux-usb -e echo "/dev/bus/usb/001/002"
7

____________
Executed in  266.44 millis    fish           external
   usr time    4.07 millis    0.00 millis    4.07 millis
   sys time   28.00 millis    1.55 millis   26.45 millis

u0_a364@localhost ~> time termux-usb -e echo "/dev/bus/usb/001/002"
7

____________
Executed in  271.43 millis    fish           external
   usr time   16.32 millis    0.00 millis   16.32 millis
   sys time   17.89 millis    1.74 millis   16.15 millis

My old mobile (Huawei HarmonyOS, but ro.build.version.sdk: 29 and ro.build.version.release: 10):

u0_a17@localhost ~> tume termux-usb -l
No command tume found, did you mean:
 Command time in package time
u0_a17@localhost ~ [127]>
u0_a17@localhost ~ [127]>
u0_a17@localhost ~ [127]> time termux-usb -l
[
  "/dev/bus/usb/002/002"
]                                    
____________
Executed in  455.69 millis    fish           external
   usr time    5.88 millis    2.06 millis    3.82 millis
   sys time   27.68 millis    1.16 millis   26.52 millis

u0_a17@localhost ~> time termux-usb -r "/dev/bus/usb/002/002"
Access granted.

____________
Executed in    1.39 secs      fish           external
   usr time   18.46 millis    1.23 millis   17.23 millis
   sys time   13.98 millis    0.75 millis   13.23 millis

u0_a17@localhost ~> time termux-usb -e echo "/dev/bus/usb/002/002"
7

____________
Executed in  503.42 millis    fish           external
   usr time   15.75 millis    0.23 millis   15.53 millis
   sys time   39.06 millis    1.71 millis   37.36 millis

bczhc avatar Apr 22 '24 17:04 bczhc

@bczhc is there any solution for this? I am facing the same even with listing devices termux-usb -l https://github.com/termux/termux-api/issues/680

huynhtanloc2612 avatar May 14 '24 13:05 huynhtanloc2612

Nope yet :(

bczhc avatar May 15 '24 00:05 bczhc