ABD cannot recognize the Android devices from Win (VirtualHere Server) to macOS (VirtualHere Client)
Server:WIn10, running with VirtualHere server 4.6.7
Client: macOS 14.7, M1 chip, running with VirtualHere client 5.5.7
I enabled the debug mode with my android phone and remote it from Win to macOS, the Android Studio can find the USB devices, but not recognized it as the android device to enable debugging with Andriod Studio.
If I plug the device in locally to the macOS, the Android Studio can recognized it and work correctly.
Here is the usb device info dumped from my macOS machine when I trying to remote the device. I also tried with another andriod phone in my hand, the same issue.
High Speed device @ 1 (0x80100000): ............................................. Composite device: "motorola edge X30"
Port Information: 0x001a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (current): 6
Device Descriptor
Descriptor Version Number: 0x0210
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 64
Device VendorID/ProductID: 0x22B8/0x2E76 (unknown vendor)
Device Version Number: 0x0510
Number of Configurations: 1
Manufacturer String: 1 "motorola"
Product String: 2 "motorola edge X30"
Serial Number String: 3 "ZY22FCZ6B4"
BOS Descriptor
Length (and contents): 42
Raw Descriptor (hex) 0000: 05 0F 2A 00 03 07 10 02 1E 21 00 00 0A 10 03 00
Raw Descriptor (hex) 0010: 0F 00 01 00 00 00 14 10 0A 00 01 00 00 00 00 11
Raw Descriptor (hex) 0020: 00 00 30 40 0A 00 B0 40 0A 00
Number of Capability Descriptors: 3
USB 2.0 Extension: 2
bmAttributes: 0x0000211e
Bit 1: Link Power Management supported
SuperSpeed USB Device: 3
bmAttributes: 0x00000000
wSpeedsSupported: 0x000f
Bit 0: Low Speed supported
Bit 1: Full Speed supported
Bit 2: High Speed supported
Bit 3: Super Speed (5Gbps) supported
bFunctionalitySupport: 0x0001: Low Speed and above
bU1ExitLat: Zero
wU2ExitLat: Zero
Configuration Descriptor (current config): ...................... "mtp_adb"
Length (and contents): 62
Raw Descriptor (hex) 0000: 09 02 3E 00 02 01 04 80 FA 09 04 00 00 03 FF FF
Raw Descriptor (hex) 0010: 00 05 07 05 81 02 00 02 00 07 05 01 02 00 02 00
Raw Descriptor (hex) 0020: 07 05 82 03 1C 00 06 09 04 01 00 02 FF 42 01 06
Raw Descriptor (hex) 0030: 07 05 02 02 00 02 00 07 05 83 02 00 02 00
Number of Interfaces: 2
Configuration Value: 1
Attributes: 0x80 (bus-powered)
MaxPower: 500 mA
Interface #0 - Vendor-specific .............................................. "MTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 255 (Vendor-specific)
Interface Subclass; 255 (Vendor-specific)
Interface Protocol: 0
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x01 - Bulk Output
Address: 0x01 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x82 - Interrupt Input
Address: 0x82 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x001c (28 x 1 transactions opportunities per microframe)
Polling Interval: 6 (32 microframes (4 msecs) )
Interface #1 - Vendor-specific .............................................. "ADB Interface"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 66 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x83 - Bulk Input
Address: 0x83 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Device Qualifier Descriptor
Descriptor Version Number: 0x0210
Device Class 0 (Composite)
Device Subclass 0
Device Protocol 0
Device MaxPacketSize: 64
Number of Configurations: 1
bReserved: 0
Other Speed Configuration Descriptor: ....................................... "mtp_adb"
Length (and contents): 62
Raw Descriptor (hex) 0000: 09 07 3E 00 02 01 04 80 FA 09 04 00 00 03 FF FF
Raw Descriptor (hex) 0010: 00 05 07 05 81 02 40 00 00 07 05 01 02 40 00 00
Raw Descriptor (hex) 0020: 07 05 82 03 1C 00 06 09 04 01 00 02 FF 42 01 06
Raw Descriptor (hex) 0030: 07 05 02 02 40 00 00 07 05 83 02 40 00 00
Number of Interfaces: 2
Configuration Value: 1
Attributes: 0x80 (bus-powered)
MaxPower: 500 mA
Interface #0 - Vendor-specific .............................................. "MTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 255 (Vendor-specific)
Interface Subclass; 255 (Vendor-specific)
Interface Protocol: 0
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x01 - Bulk Output
Address: 0x01 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x82 - Interrupt Input
Address: 0x82 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 28
Polling Interval: 6 ms
Interface #1 - Vendor-specific .............................................. "ADB Interface"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 66 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x83 - Bulk Input
Address: 0x83 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Thanks!
Add more details regarding…
Add more details regarding what I have tired
If anything missing here, please let me know, thanks!
.
No it doesnt seem to be compatible at the moment. I got the phone to appear in Android Studio via virtualhere (win server/mac client) however when trying to run an app under Android Studio onto the phone the phone keeps dropping and is not stable.
(The reason why adb was not seeing the phone is that adb has switched to using libusb as the USB backend and the MacOS version of libusb doesnt see devices attached to virtual USB ports. A fix was made to windows for this use case but seems its not yet in the macos build of libusb. You can force adb to turn off libusb by setting $ADB_LIBUSB=0 environment variable and then starting adb. The phone will then be usable via adb and Android Studio, but it still drops for some reason when trying to write and app to it)
Thank you for the…
Thank you for the information.
I have changed the ADB server USB backend from libusb to native in the Android Studio settings.
Here's the path:
"Settings" -> "Build, Execution, Deployment" -> "ADB server USB backend"
It works fine now, and I have not experienced any device disconnection/reconnection issues on my side (Android Debug Bridge version 1.0.41).
.
Thats great news, maybe its something specific with my Pixel 8 setup. Im glad its working for you now.