how to use Android phone from a PC | ADB
R12 & Minie | R12 & T60 | Huawei & Minie
Links | End | mapa

Android phone witout screen

go 2 top
Can I use an Android from a PC ?

2026, Febrer - Huawei Mate 20, model LYA-L29 -> taca grisa a la pantalla ...

Prompt Gemini :
I have an Android Smartphone who got hit and now a dark cloud is extending slowly on the screen. Is there any way I can use it remotely as a computer (or a phone) ?
That "dark cloud" is a telltale sign of an internal ink leak (common in OLED screens) or a bleeding LCD. Since the ink spreads over time, your screen will likely be completely black soon.

The hardware solution (USB-C to HDMI)

If your phone is a flagship model (like a Samsung S-series, Google Pixel 8 or newer, or OnePlus), it likely supports DisplayPort Alt Mode.
How it works: plug a USB-C to HDMI adapter (or a multi-port hub) into your phone and connect it to a monitor or TV.
If you use a hub with USB ports, you can plug in a standard mouse and keyboard to navigate if your touch screen is also failing.

The software solution - scrcpy

If your phone doesn't support HDMI output but you have "USB Debugging" enabled in the settings, you can use a free, open-source tool called "scrcpy".

What it does: it mirrors your phone screen to your PC/Mac via a USB cable and allows you to click and type using your computer's peripherals.

Why it's great: it's lightweight and requires no app installation on the phone itself.

How to install scrcpy

On Minie, use "Software Manager" to get Version1.21-1 {20260209}

This application provides display and control of Android devices connected on USB (or over TCP/IP). It does not require any root access. This package contains the client (desktop) binary.

sebas@minie:~$ scrcpy -v scrcpy 1.21 <https://github.com/Genymobile/scrcpy> scrcpy 1.21 dependencies: - SDL 2.0.16 - libavcodec 58.134.100 - libavformat 58.76.100 - libavutil 56.70.100 - libavdevice 58.13.100
How to use scrcpy

sebas@minie:~$ scrcpy scrcpy 1.21 <https://github.com/Genymobile/scrcpy> /usr/share/scrcpy/scrcpy-server: 1 file pushed. 0.7 MB/s (39473 bytes in 0.056s) [server] INFO: Device: Xiaomi 23076RN8DY (Android 15) [server] ERROR: Could not invoke method java.lang.NoSuchMethodException: android.content.IClipboard$Stub$Proxy.addPrimaryClipChangedListener [interface android.content.IOnPrimaryClipChangedListener, class java.lang.String, int] at java.lang.Class.getMethod(Class.java:2934) at java.lang.Class.getMethod(Class.java:2434) at com.genymobile.scrcpy.wrappers.ClipboardManager.getAddPrimaryClipChangedListener(ClipboardManager.java:103) at com.genymobile.scrcpy.wrappers.ClipboardManager.addPrimaryClipChangedListener(ClipboardManager.java:111) at com.genymobile.scrcpy.Device.<init>(Device.java:93) at com.genymobile.scrcpy.Server.scrcpy(Server.java:63) at com.genymobile.scrcpy.Server.main(Server.java:309) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:404) [server] ERROR: Could not invoke method java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at com.genymobile.scrcpy.wrappers.InputManager.injectInputEvent(InputManager.java:36) at com.genymobile.scrcpy.Device.injectEvent(Device.java:180) at com.genymobile.scrcpy.Device.injectKeyEvent(Device.java:191) at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:199) at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:204) at com.genymobile.scrcpy.Controller.control(Controller.java:60) at com.genymobile.scrcpy.Server$3.run(Server.java:125) at java.lang.Thread.run(Thread.java:1563) Caused by: java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission. at android.os.Parcel.createExceptionOrNull(Parcel.java:3255) at android.os.Parcel.createException(Parcel.java:3239) at android.os.Parcel.readException(Parcel.java:3222) at android.os.Parcel.readException(Parcel.java:3164) at android.hardware.input.IInputManager$Stub$Proxy.injectInputEvent(IInputManager.java:1519) ... 9 more Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.input.InputManagerService.injectInputEventToTarget(InputManagerService.java:929) at com.android.server.input.InputManagerService.injectInputEvent(InputManagerService.java:916) at android.hardware.input.IInputManager$Stub.onTransact(IInputManager.java:713) at android.os.Binder.execTransactInternal(Binder.java:1507) at android.os.Binder.execTransact(Binder.java:1451) INFO: Renderer: opengl INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3 INFO: Trilinear filtering enabled INFO: Initial texture: 1080x2456 WARN: Device disconnected [server] ERROR: Exception on thread Thread[main,5,main] java.lang.AssertionError: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean] at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:83) at com.genymobile.scrcpy.ScreenEncoder.createDisplay(ScreenEncoder.java:229) at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:75) at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:65) at com.genymobile.scrcpy.Server.scrcpy(Server.java:93) at com.genymobile.scrcpy.Server.main(Server.java:309) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:404) Caused by: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean] at java.lang.Class.getMethod(Class.java:2934) at java.lang.Class.getMethod(Class.java:2434) at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:81) ... 7 more WARN: Killing the server...

Old version of scrcpy - Android changed its internal code (specifically how it handles the clipboard and screen mirroring), which is causing those java.lang.NoSuchMethodException errors.
To fix this, you need to update "scrcpy" to at least version 2.0 or higher (the current version is 3.0+).

Lets use snapd to install latest "scrcpy" - use these commands :

sudo apt update sudo apt install snapd # You may need to log out and back in, or restart to refresh your PATH sudo snap install core sudo snap install scrcpy

Lets go :

sebas@minie:~$ sudo apt update Err:3 https://deb.opera.com/opera-stable stable InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 11EE8C00B693A745 W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://deb.opera.com/opera-stable stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 11EE8C00B693A745 sudo rm -f /etc/apt/sources.list.d/opera*.list # to remove this error

Lets install snapd under Minie :

sebas@minie:~$ sudo apt install snapd Reading package lists... Done Building dependency tree... Done Reading state information... Done Package snapd is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'snapd' has no installation candidate

No podem instalar "snapd" a Minie, per lo qual no podem posar el darrer "scrcpy" per aquesta via

Lets not "use snapd" :

sudo apt install ffmpeg libsdl2-2.0-0 adb wget gcc git pkg-config meson ninja-build libavcodec-dev libavformat-dev libavutil-dev libswresample-dev libusb-1.0-0-dev libsdl2-dev cd ~/Downloads mkdir -p builds cd builds git clone https://github.com/Genymobile/scrcpy Cloning into 'scrcpy'... remote: Enumerating objects: 42934, done. remote: Counting objects: 100% (482/482), done. remote: Compressing objects: 100% (95/95), done. remote: Total 42934 (delta 441), reused 387 (delta 387), pack-reused 42452 (from 2) Receiving objects: 100% (42934/42934), 7.87 MiB | 5.79 MiB/s, done. Resolving deltas: 100% (28210/28210), done. cd scrcpy ./install_release.sh id not find CMake 'cmake' Found CMake: NO Run-time dependency libavdevice found: NO (tried pkgconfig) app/meson.build:124:4: ERROR: Dependency "libavdevice" not found, tried pkgconfig A full log can be found at /home/sebas/Downloads/builds/scrcpy/build-auto/meson-logs/meson-log.txt sudo apt update && sudo apt install cmake libavdevice-dev libavfilter-dev libusb-1.0-0-dev rm -rf build-auto ./install_release.sh scrcpy 3.3.4

Conectem R12 per cable i :

sebas@minie:~$ lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 005: ID 0b38:0003 Gear Head Keyboard Bus 003 Device 004: ID 13d3:3567 IMC Networks Wireless_Device Bus 003 Device 003: ID 2357:0138 TP-Link 802.11ac NIC Bus 003 Device 002: ID 04f2:0939 Chicony Electronics Co., Ltd Amazon Basics mouse Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 2717:ff08 Xiaomi Inc. Redmi Note 3 (ADB Interface) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub sebas@minie:~$ adb devices * daemon not running; starting now at tcp:5037 * daemon started successfully List of devices attached 7abd2e16e636 unauthorized sebas@minie:~$ adb shell svc usb setFunctions mtp setCurrentFunctions opId:1 # apareix la carpeta "Redmi 12 5G" a l'escriptori de Minie sebas@minie:~$ scrcpy scrcpy 3.3.4 <https://github.com/Genymobile/scrcpy> INFO: ADB device found: INFO: --> (usb) 7abd2e16e636 device 23076RN8DY /usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 15.9 MB/s (90980 bytes in 0.005s) [server] INFO: Device: [Xiaomi] Redmi 23076RN8DY (Android 15) INFO: Renderer: opengl INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3 INFO: Trilinear filtering enabled INFO: Texture: 1080x2456 [server] INFO: Retrying with -m1920... [server] ERROR: Capture/encoding error: java.lang.IllegalArgumentException: INFO: Texture: 840x1920 [server] ERROR: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission. [server] ERROR: Make sure you have enabled "USB debugging (Security Settings)" and then rebooted your device. apareix l'escriptori del Redmi12 al Minie

Solucio error : activar "USB debugging (Security settings)" - es diferent de "USB debugging"

Disable permission monitoring (verify it is ON) - not found

Verify apps over USB (try turning it OFF) - OK

Prova

sebas@minie:~$ scrcpy --keyboard=uhid --mouse=uhid scrcpy 3.3.4 <https://github.com/Genymobile/scrcpy> INFO: ADB device found: INFO: --> (usb) 7abd2e16e636 device 23076RN8DY /usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 21.6 MB/s (90980 bytes in 0.004s) [server] INFO: Device: [Xiaomi] Redmi 23076RN8DY (Android 15) INFO: Renderer: opengl INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3 INFO: Trilinear filtering enabled INFO: Texture: 1080x2456 [server] INFO: Retrying with -m1920... [server] ERROR: Capture/encoding error: java.lang.IllegalArgumentException: INFO: Texture: 840x1920 INFO: Texture: 1920x840

Cursor is captive in Android App screen :

The "Magic" Keys Press Alt (the left one): By default, this is the "shortcut modifier" in scrcpy. Alt + f: Toggles full-screen (if you are in it). Alt + g: Toggles the "grab" mode (this is likely what you need to release the mouse). The "Emergency" exit: Just press Ctrl + c in the terminal where you launched scrcpy to kill the process and get your mouse back instantly.

How to prevent this "Captivity"
Since you are using a MINIE and don't have a SIM card, you need uhid, but you don't want to be a prisoner of the window.
You can run scrcpy with a "hover" configuration so it only grabs the mouse when you actually click inside the window.
Try launching it like this next time:

scrcpy --keyboard=uhid --mouse=uhid --shortcut-mod=lctrl,lalt -> "Alt" + "Tab" to exit App screen

Et voilà !

Remote Access Apps

If your screen is still partially visible and touch still works, install these immediately before the "cloud" takes over:

Method Best For... Requirement TeamViewer / AnyDesk Remote control from anywhere. App must be installed and "Unattended Access" set up. Google "Find My Device" Emergency lock or wipe. Logged into Google account. KDE Connect / AirDroid File transfer and SMS from PC. Both devices on the same Wi-Fi.
Immediate Next Steps

How to disable SIM pin

Step-by-Step Instructions

  1. open Settings.
  2. go to Security (on some EMUI versions, it might be under Security & privacy) / search for "lock sim"
  3. tap on More settings.
  4. tap on Set SIM 1 lock (or Encryption and credentials > Set SIM lock depending on your specific update).
  5. toggle the switch for Lock SIM card to the OFF position.
  6. crucial: You will be prompted to enter your current SIM PIN to confirm the change.
How to keep phone unlocked
Use "Smart Lock" (best for Home)

This is the most reliable method. It keeps the phone unlocked as long as it is in a "trusted" situation.

  1. go to Settings > Security > Smart Lock.
  2. enter your current PIN/Pattern.
  3. choose Trusted places: Add your home address. The phone will stay unlocked as long as you are there. {???}
The "Stay Awake" developer hack

Since you already enabled Developer Options, you can use a "god mode" setting that prevents the screen from ever turning off while the phone is charging.

  1. go to Settings > System & updates > Developer options {Redmi 12 : Settings -> Additional Settings}
  2. find and toggle Stay awake (Screen will never sleep while charging).
  3. keep your phone plugged into your PC or a wall charger. The screen (and the internal "session") will stay active indefinitely.
How to enable "Developer Options" @ Huawei Mate 20

  1. open Settings
  2. scroll to the very bottom and tap System & updates (or just System on older versions).
  3. tap About phone.
  4. find the Build number and tap it 7 times quickly.
    Note: You may be asked to enter your lock screen PIN/Pattern after the 7th tap.
  5. you will see a toast notification saying: "You are now a developer!"
  6. go back one screen, and you will now see a new menu item called Developer options.
Critical Settings for Remote Use

Once you are in the Developer options menu, toggle these two settings immediately:

Redmi 12 : remove initial "select a pattern"

Easy :

Redmi 12 : remove "sleep"

Also "Lock Screen" -> Sleep -> "Never sleep"

Redmi 12 : power on sequence


ADB at PC
ADB details

sebas@minie:~$ adb Android Debug Bridge version 1.0.41 Version 28.0.2-debian Installed as /usr/lib/android-sdk/platform-tools/adb global options: -a listen on all network interfaces, not just localhost -d use USB device (error if multiple devices connected) -e use TCP/IP device (error if multiple TCP/IP devices available) -s SERIAL use device with given serial (overrides $ANDROID_SERIAL) -t ID use device with given transport id -H name of adb server host [default=localhost] -P port of adb server [default=5037] -L SOCKET listen on given socket for adb server [default=tcp:localhost:5037] general commands: devices [-l] list connected devices (-l for long output) help show this help message version show version num networking: connect HOST[:PORT] connect to a device via TCP/IP [default port=5555] disconnect [HOST[:PORT]] disconnect from given TCP/IP device [default port=5555], or all forward --list list all forward socket connections forward [--no-rebind] LOCAL REMOTE forward socket connection using: tcp:<port> (<local> may be "tcp:0" to pick any open port) localabstract:<unix domain socket name> localreserved:<unix domain socket name> localfilesystem:<unix domain socket name> dev:<character device name> jdwp:<process pid> (remote only) forward --remove LOCAL remove specific forward socket connection forward --remove-all remove all forward socket connections ppp TTY [PARAMETER...] run PPP over USB reverse --list list all reverse socket connections from device reverse [--no-rebind] REMOTE LOCAL reverse socket connection using: tcp:<port> (<remote> may be "tcp:0" to pick any open port) localabstract:<unix domain socket name> localreserved:<unix domain socket name> localfilesystem:<unix domain socket name> reverse --remove REMOTE remove specific reverse socket connection reverse --remove-all remove all reverse socket connections from device file transfer: push [--sync] LOCAL... REMOTE copy local files/directories to device --sync: only push files that are newer on the host than the device pull [-a] REMOTE... LOCAL copy files/dirs from device -a: preserve file timestamp and mode sync [all|data|odm|oem|product_services|product|system|vendor] sync a local build from $ANDROID_PRODUCT_OUT to the device (default all) -l: list but don't copy shell: shell [-e ESCAPE] [-n] [-Tt] [-x] [COMMAND...] run remote shell command (interactive shell if no command given) -e: choose escape character, or "none"; default '~' -n: don't read from stdin -T: disable PTY allocation -t: force PTY allocation -x: disable remote exit codes and stdout/stderr separation emu COMMAND run emulator console command app installation (see also `adb shell cmd package help`): install [-lrtsdg] [--instant] PACKAGE push a single package to the device and install it install-multiple [-lrtsdpg] [--instant] PACKAGE... push multiple APKs to the device for a single package and install them install-multi-package [-lrtsdpg] [--instant] PACKAGE... push one or more packages to the device and install them atomically -r: replace existing application -t: allow test packages -d: allow version code downgrade (debuggable packages only) -p: partial application install (install-multiple only) -g: grant all runtime permissions --instant: cause the app to be installed as an ephemeral install app --no-streaming: always push APK to device and invoke Package Manager as separate steps --streaming: force streaming APK directly into Package Manager --fastdeploy: use fast deploy --no-fastdeploy: prevent use of fast deploy --force-agent: force update of deployment agent when using fast deploy --date-check-agent: update deployment agent when local version is newer and using fast deploy --version-check-agent: update deployment agent when local version has different version code and using fast deploy --local-agent: locate agent files from local source build (instead of SDK location) uninstall [-k] PACKAGE remove this app package from the device '-k': keep the data and cache directories backup/restore: to show usage run "adb shell bu help" debugging: bugreport [PATH] write bugreport to given PATH [default=bugreport.zip]; if PATH is a directory, the bug report is saved in that directory. devices that don't support zipped bug reports output to stdout. jdwp list pids of processes hosting a JDWP transport logcat show device log (logcat --help for more) security: disable-verity disable dm-verity checking on userdebug builds enable-verity re-enable dm-verity checking on userdebug builds keygen FILE generate adb public/private key; private key stored in FILE, scripting: wait-for[-TRANSPORT]-STATE wait for device to be in the given state STATE: device, recovery, rescue, sideload, bootloader, or disconnect TRANSPORT: usb, local, or any [default=any] get-state print offline | bootloader | device get-serialno print <serial-number> get-devpath print <device-path> remount [-R] remount partitions read-write. if a reboot is required, -R will will automatically reboot the device. reboot [bootloader|recovery|sideload|sideload-auto-reboot] reboot the device; defaults to booting system image but supports bootloader and recovery too. sideload reboots into recovery and automatically starts sideload mode, sideload-auto-reboot is the same but reboots after sideloading. sideload OTAPACKAGE sideload the given full OTA package root restart adbd with root permissions unroot restart adbd without root permissions usb restart adbd listening on USB tcpip PORT restart adbd listening on TCP on PORT internal debugging: start-server ensure that there is a server running kill-server kill the server if it is running reconnect kick connection from host side to force reconnect reconnect device kick connection from device side to force reconnect reconnect offline reset offline/unauthorized devices to force reconnect environment variables: $ADB_TRACE comma-separated list of debug info to log: all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp $ADB_VENDOR_KEYS colon-separated list of keys (files or directories) $ANDROID_SERIAL serial number to connect to (see -s) $ANDROID_LOG_TAGS tags to be used by logcat (see logcat --help) $ADB_LOCAL_TRANSPORT_MAX_PORT max emulator scan port (default 5585, 16 emus)
connecting R12 to Minie

At Minie :

sebas@minie:~$ adb --version Android Debug Bridge version 1.0.41 Version 28.0.2-debian Installed as /usr/lib/android-sdk/platform-tools/adb
connecting R12 to Minie

Cable connected but nothing happens - see if Linux "sees" the phone :

sebas@minie:~$ lsusb Bus 001 Device 002: ID 2717:ff40 Xiaomi Inc. Mi/Redmi series (MTP) <<< 2717 is the vendor ID for Xiaomi

See if ADB sees the phone :

sebas@minie:~$ adb devices List of devices attached 7abd2e16e636 device
ADB to set MTP = Media Transfer Protocol

On phone : force "File Transfer / Android Auto" mode -> swipe down the notification shade on your Redmi

On PC - we want it without sceen :

sebas@minie:~$ adb shell svc usb setFunctions mtp setCurrentFunctions opId:1
ADB to set timeout

To set it to 24 h (86.400.000 seconds)

adb shell settings put system screen_off_timeout 86400000
ADB to read the timeout

The meaning of the value is

Output Value Human-Readable Time 15000 15 Seconds 30000 30 Seconds 60000 1 Minute 300000 5 Minutes 600000 10 Minutes 86400000 24 Hours (The "Hack" value) 2147483647 ~24.8 Days (The maximum possible 32-bit integer)

sebas@minie:~$ adb shell settings get system screen_off_timeout * daemon not running; starting now at tcp:5037 * daemon started successfully error: no devices/emulators found adb shell settings get system screen_off_timeout

Enable "USB debugging" :

  1. Go to Settings > Additional Settings > Developer Options.
  2. Enable USB Debugging.

My value is :

sebas@minie:~$ adb shell settings get system screen_off_timeout 2147483000
connecting R12 to T60

Lets try T60 - here are the versions

sebastia@t60:~$ cat /etc/os-release NAME="Ubuntu" VERSION="18.04.4 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.4 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic
install adb on T60

sebastia@t60:~$ adb -v Command 'adb' not found, but can be installed with: sudo apt install adb

So we have

sebastia@t60:~$ adb --version Android Debug Bridge version 1.0.39 Version 1:8.1.0+r23-5~18.04 Installed as /usr/lib/android-sdk/platform-tools/adb
install scrcpy on T60

sebastia@t60:~$ scrcpy -v Command 'scrcpy' not found, but can be installed with: sudo snap install scrcpy

"scrcpy" not available in your current APT repositories :

sebastia@t60:~$ apt search scrcpy Sorting... Done Full Text Search... Done

Lets use "snap"

sebastia@t60:~$ sudo snap install scrcpy [sudo] password for sebastia: Sorry, try again. [sudo] password for sebastia: scrcpy v1.25-1-g4c43784f from sisco311 installed

So we have

sebastia@t60:~$ scrcpy -v scrcpy 1.25 <https://github.com/Genymobile/scrcpy>

Per Ubuntu 18.04 no podem pujar mes - Ubuntu 22.04 requereix CPU de 64 bits.

No podem instalar "scrcpy" de versio 2.0 a T60

Prover desesperadament conectem R12 per cable a T60 :

sebastia@t60:~$ lsusb Bus 001 Device 005: ID 2717:ff08 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub sebastia@t60:~$ adb devices List of devices attached 7abd2e16e636 device

Set MTP manually of fm ADB :

sebas@minie:~$ adb shell svc usb setFunctions mtp setCurrentFunctions opId:1

Try :

sebastia@t60:~$ scrcpy scrcpy 1.25 <https://github.com/Genymobile/scrcpy> Segmentation fault

La versio 1.25 de "scrcpy" no corre a T60

connecting Huawei mate 20 pro to Minie

  1. posar Android en angles
    open Settings → System & Updates → tap Language & Input → tap Language & Region → tap Add a language (or just Languages) → select English
  2. aturar Notificacions : Settings → Notifications → Manage all → disable one by one
  3. enable Developer Options (Settings > System & updates )
  4. "Screen lock" - require you phone to be unlocked before using it := "off"
  5. "Stay awake" - keep screen on when charging := "on"
  6. engegar "USB Debugging" := "on" ;
  7. engegar "Allow ADB debugging in charge only mode" := "on"
  8. Select USB configuation :
    • charge only
    • Media Transfer Protocol (MTP) := "on"
    • Picture Transfer Protocol (PTP)
    • RNDIS (USB Ethernet)
    • Audio source
    • MIDI
  9. unlock the SIM / disable SIM pin
    Settings → Security → tap "More settings" → tap Set up SIM card lock (or SIM card lock settings) → select the SIM you want (if you have dual SIM) → turn Lock SIM card OFF
    Enter your current SIM PIN to confirm

    No SIM present -> "Setu up SIM lock" is gray

  10. use "Smart Lock" (Settings → Security & Privacy → Screen Lock & Password) → Trusted places (e.g. home)

    "Change unlock method"

  11. disable "Discover"- long-press any empty space on your home screen. Tap "Home screen settings". "Smart assistant" → "Feed" set to "None"

Power off+on 20260221 + carregador → no lock (AFAIK)

bits, tips and tricks on "adb devices" for Huawei mate 20


links