Hello,
I have two Mac machines (macOS 15.0) running on the same LAN.
I connected my iPad (iOS 17.6.1) to one Mac machine and ran the Virtual Here server on it.
I then ran the Virtual Here client on the other Mac machine. I can see the iPad listed on the Virtual Here client, but after using it, I still cannot see the iPad on the macOS Finder.
Have I missed a step in the process?
Thanks!
.
Did you check the ipad to make sure that you have authorized the new connection. It might have popped up a message on the iPad
.
Thank you for your reply. After I "used" the iPad device, there was no authorization prompt.
I have connected the iPad to my two Mac machines before, so I am not sure if the authentication data is already cached. Is there anything I missed?
Additionally, I would like to know if I can use Xcode to remotely access the iPad as well.
Thanks!
.
I tested a few weeks ago and it was working fine, ill do another test tomorrow and let you know.
.
I gave it a test and it seems it needs a slight workaround.
In the virtualhere client right click on the iPad and then select Custom Event Handler... and paste in exactly this line:
onReset.$VENDOR_ID$.$PRODUCT_ID$=
then press OK. Then click Use on the iPad and it passed via VirtualHere OK (and wanted me to "Trust" the new iPad)
Let me know if this works for you. (Note you only need to do the above step once as it is remembered)
If this works for you will will update the VirtualHere Server so this workaround is permanent in the next version
.
I updated to the latest version of VirtualHere and added the customer event handler, but it doesn't seem to have helped.
My macOS version is 15.1, and my iOS version is 17.6.1.
Here are my test steps:
1. Connect the iPad to Mac machine A, trust the device, and verify that the device is listed on the macOS Finder on Machine A.
2. Launch the VirtualHere server on machine A.
3. Launch the VirtualHere client on machine B, set "onReset.$VENDOR_ID$.$PRODUCT_ID$=" on iPad node and click "using".
4. The iPad device disappears from machine A's Finder.
5. Nothing happens on machine B (no device connecting, no "Trust" prompt on the device). I cannot find the device listed on machine B's Finder either.
The server-side log shows:
```
Wed Nov 13 14:25:47 2024 LOG_INFO >>> Starting VirtualHere USB Server v4.7.0 (Built: Oct 15 2024, 15:59:16)<<<
Wed Nov 13 14:25:47 2024 LOG_WARNING Warning, cannot lookup the exe path, 22 (Invalid argument) (defaulting to HOME)
Wed Nov 13 14:25:47 2024 LOG_INFO Using configuration /Users/macvda/config.ini
Wed Nov 13 14:25:47 2024 LOG_INFO Server licensed to=unlicensed max_devices=1
Wed Nov 13 14:25:47 2024 LOG_INFO Disabling usbmuxd
Wed Nov 13 14:25:47 2024 LOG_INFO Listening on all network interfaces at TCP port 7575 (IPv6 dual-stack)
Wed Nov 13 14:25:47 2024 LOG_INFO Found High speed device [05ac:12ab] 'Apple Inc., iPad' at address 37748736
Wed Nov 13 14:25:47 2024 LOG_INFO Found Full speed device [046d:c52b] 'Logitech, USB Receiver' at address 36700160
Wed Nov 13 14:26:12 2024 LOG_INFO fe80::140c:c84:c936:3377 connected as connection 1 (Standard TCP)
Wed Nov 13 14:26:31 2024 LOG_INFO Set custom event 'onReset.05ac.12ab='
Wed Nov 13 14:26:33 2024 LOG_INFO Device 37748736 [05ac:12ab] BOUND to connection 1
```
I don't know where to find the client-side logs, but I have attached the usbdiagnose output from the client side.
High Speed device @ 1 (0x80100000): ............................................. Composite device: "iPad"
Port Information: 0x001a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 : 4
Total Endpoints for Configuration 2 : 3
Total Endpoints for Configuration 3 : 6
Total Endpoints for Configuration 4 : 8
Total Endpoints for Configuration 5 (current): 10
Device Descriptor
Descriptor Version Number: 0x0200
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 64
Device VendorID/ProductID: 0x05AC/0x12AB (unknown vendor)
Device Version Number: 0x1101
Number of Configurations: 5
Manufacturer String: 1 "Apple Inc."
Product String: 2 "iPad"
Serial Number String: 3 "0000802000034DCC1A22402E"
Configuration Descriptor: ....................................... "PTP"
Length (and contents): 39
Raw Descriptor (hex) 0000: 09 02 27 00 01 01 05 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 00 02 00 07 05 81 02 00 02 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 0A
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x0040 (64 x 1 transactions opportunities per microframe)
Polling Interval: 10 (512 microframes (64 msecs) )
Configuration Descriptor: ....................................... "iPod USB Interface"
Length (and contents): 149
Raw Descriptor (hex) 0000: 09 02 95 00 03 02 06 C0 FA 09 04 00 00 00 01 01
Raw Descriptor (hex) 0010: 00 00 09 24 01 00 01 1E 00 01 01 0C 24 02 01 01
Raw Descriptor (hex) 0020: 02 02 02 03 00 00 00 09 24 03 02 01 01 01 01 00
Raw Descriptor (hex) 0030: 09 04 01 00 00 01 02 00 00 09 04 01 01 01 01 02
Raw Descriptor (hex) 0040: 00 00 07 24 01 02 01 01 00 23 24 02 01 02 02 10
Raw Descriptor (hex) 0050: 09 40 1F 00 11 2B 00 E0 2E 00 80 3E 00 22 56 00
Raw Descriptor (hex) 0060: C0 5D 00 00 7D 00 44 AC 00 80 BB 00 09 05 81 01
Raw Descriptor (hex) 0070: C0 00 04 00 00 07 25 01 01 00 00 00 09 04 02 00
Raw Descriptor (hex) 0080: 01 03 00 00 00 09 21 11 01 00 01 22 D0 00 07 05
Raw Descriptor (hex) 0090: 83 03 40 00 01
Number of Interfaces: 3
Configuration Value: 2
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Audio/Control
Alternate Setting 0
Number of Endpoints 0
Interface Class: 1 (Audio)
Interface Subclass; 1 (Control)
Interface Protocol: 0
Audio Class 1.0 Control Interface
Descriptor Version Number: 01.00
Class Specific Size: 30
Number of Audio Interfaces: 1
Audio Interface Number: 1
Dump Contents (hex): 09 24 01 00 01 1E 00 01 01
Audio Class 1.0 Input Terminal
Terminal ID: 1
Input Terminal Type: 0x201 (Microphone)
OutTerminal ID: 2
Number of Channels: 2
Spatial config of channels: 0000000000000011
^. Left Front
^.. Right Front
String index for first logical channel: 0
Terminal Name String Index: 0 [NONE]
Audio Class 1.0 Output Terminal
Terminal ID: 2
Output Terminal Type: 0x101 (USB Isochronous Stream)
InTerminal ID: 1
Source ID: 1
Terminal Name String Index: 0 [NONE]
Interface #1 - Audio/Streaming
Alternate Setting 0
Number of Endpoints 0
Interface Class: 1 (Audio)
Interface Subclass; 2 (Streaming)
Interface Protocol: 0
Interface #1 - Audio/Streaming (#1)
Alternate Setting 1
Number of Endpoints 1
Interface Class: 1 (Audio)
Interface Subclass; 2 (Streaming)
Interface Protocol: 0
Audio Class 1.0 Streaming Interface
Audio Class 1.0 Streaming Interface
Endpoint Terminal ID: 2
Delay: 1 frames
Format Tag: 0x0001 (PCM)
Audio Class 1.0 Streaming Format Type
Audio Class 1.0 Stream Format Type Desc.
Format Type: 1 PCM
Number Of Channels: 2 STEREO
Sub Frame Size: 2
Bit Resolution: 16
Sample Frequency Type: 0x09 (Discrete)
Sample Frequency: 8000 Hz
Sample Frequency: 11025 Hz
Sample Frequency: 12000 Hz
Sample Frequency: 16000 Hz
Sample Frequency: 22050 Hz
Sample Frequency: 24000 Hz
Sample Frequency: 32000 Hz
Sample Frequency: 44100 Hz
Sample Frequency: 48000 Hz
Endpoint 0x81 - Isochronous Input
Address: 0x81 (IN)
Attributes: 0x01 (Isochronous no synchronization data endpoint)
Max Packet Size: 0x00c0 (192 x 1 transactions opportunities per microframe)
Polling Interval: 4 (8 microframes (1 msecs) )
Class-Specific AS Audio EndPoint
Attributes: 0x01 Sample Frequency,
bLockDelayUnits: 0x00 (UNDEFINED)
wLockDelay: 0
Interface #2 - HID
Alternate Setting 0
Number of Endpoints 1
Interface Class: 3 (HID)
Interface Subclass; 0
Interface Protocol: 0
HID Descriptor
Descriptor Version Number: 0x0111
Country Code: 0
Descriptor Count: 1
Descriptor 1
Type: 0x22 (Report Descriptor)
Length (interface does not currently exist): 208
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x0040 (64 x 1 transactions opportunities per microframe)
Polling Interval: 1 (1 microframe (125 microsecs) )
Configuration Descriptor: ....................................... "PTP + Apple Mobile Device"
Length (and contents): 62
Raw Descriptor (hex) 0000: 09 02 3E 00 02 03 07 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 00 02 00 07 05 81 02 00 02 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 0A 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 00 02 00 07 05 85 02 00 02 00
Number of Interfaces: 2
Configuration Value: 3
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x0040 (64 x 1 transactions opportunities per microframe)
Polling Interval: 10 (512 microframes (64 msecs) )
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Configuration Descriptor: ....................................... "PTP + Apple Mobile Device + Apple USB Ethernet"
Length (and contents): 117
Raw Descriptor (hex) 0000: 09 02 75 00 03 04 08 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 00 02 00 07 05 81 02 00 02 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 0A 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 00 02 00 07 05 85 02 00 02 00 09 04
Raw Descriptor (hex) 0040: 02 00 00 FF FD 01 18 09 04 02 01 02 FF FD 01 18
Raw Descriptor (hex) 0050: 07 05 86 02 00 02 00 07 05 05 02 00 02 00 09 04
Raw Descriptor (hex) 0060: 02 02 02 FF FD 01 18 07 05 86 02 00 02 00 07 05
Raw Descriptor (hex) 0070: 05 02 00 02 00
Number of Interfaces: 3
Configuration Value: 4
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x0040 (64 x 1 transactions opportunities per microframe)
Polling Interval: 10 (512 microframes (64 msecs) )
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Interface #2 - Vendor-specific .............................................. "AppleUSBEthernet"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Interface #2 - Vendor-specific (#1) .............................................. "AppleUSBEthernet"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Interface #2 - Vendor-specific (#2) .............................................. "AppleUSBEthernet"
Alternate Setting 2
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Configuration Descriptor (current config): ...................... "PTP + Apple Mobile Device + NCM"
Length (and contents): 202
Raw Descriptor (hex) 0000: 09 02 CA 00 06 05 09 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 00 02 00 07 05 81 02 00 02 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 0A 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 00 02 00 07 05 85 02 00 02 00 09 04
Raw Descriptor (hex) 0040: 02 00 00 02 0D 00 13 05 24 06 02 03 05 24 00 10
Raw Descriptor (hex) 0050: 01 0D 24 0F 11 00 00 00 00 EA 05 00 00 00 06 24
Raw Descriptor (hex) 0060: 1A 00 01 3B 09 04 03 00 00 0A 00 01 19 09 04 03
Raw Descriptor (hex) 0070: 01 02 0A 00 01 19 07 05 86 02 00 02 00 07 05 05
Raw Descriptor (hex) 0080: 02 00 02 00 09 04 04 00 00 02 0D 00 14 05 24 06
Raw Descriptor (hex) 0090: 04 05 05 24 00 10 01 0D 24 0F 12 00 00 00 00 EA
Raw Descriptor (hex) 00a0: 05 00 00 00 06 24 1A 00 01 3B 09 04 05 00 00 0A
Raw Descriptor (hex) 00b0: 00 01 1A 09 04 05 01 02 0A 00 01 1A 07 05 87 02
Raw Descriptor (hex) 00c0: 00 02 00 07 05 06 02 00 02 00
Number of Interfaces: 6
Configuration Value: 5
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 0x0040 (64 x 1 transactions opportunities per microframe)
Polling Interval: 10 (512 microframes (64 msecs) )
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Interface #2 - Communications-Control .............................................. "NCM Control"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 2 (Communications-Control)
Interface Subclass; 13
Interface Protocol: 0
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 02 03
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Ethernet Networking Functional Descriptor
Raw Descriptor (hex) 0000: 0D 24 0F 11 00 00 00 00 EA 05 00 00 00
Comm Class Reserved Functional Descriptor (26)
Raw Descriptor (hex) 0000: 06 24 1A 00 01 3B
Interface #3 - Communications-Data/Unknown Comm Class Model .............................................. "NCM Data"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Interface #3 - Communications-Data/Unknown Comm Class Model (#1) .............................................. "NCM Data"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Interface #4 - Communications-Control .............................................. "NCM Control"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 2 (Communications-Control)
Interface Subclass; 13
Interface Protocol: 0
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 04 05
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Ethernet Networking Functional Descriptor
Raw Descriptor (hex) 0000: 0D 24 0F 12 00 00 00 00 EA 05 00 00 00
Comm Class Reserved Functional Descriptor (26)
Raw Descriptor (hex) 0000: 06 24 1A 00 01 3B
Interface #5 - Communications-Data/Unknown Comm Class Model .............................................. "NCM Data"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Interface #5 - Communications-Data/Unknown Comm Class Model (#1) .............................................. "NCM Data"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Endpoint 0x87 - Bulk Input
Address: 0x87 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x06 - Bulk Output
Address: 0x06 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Device Qualifier Descriptor
Descriptor Version Number: 0x0200
Device Class 0 (Composite)
Device Subclass 0
Device Protocol 0
Device MaxPacketSize: 64
Number of Configurations: 5
bReserved: 0
Other Speed Configuration Descriptor: ....................................... "PTP"
Length (and contents): 39
Raw Descriptor (hex) 0000: 09 07 27 00 01 01 05 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 40 00 00 07 05 81 02 40 00 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 40
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 64
Polling Interval: 64 ms
Other Speed Configuration Descriptor: ....................................... "iPod USB Interface"
Length (and contents): 149
Raw Descriptor (hex) 0000: 09 07 95 00 03 02 06 C0 FA 09 04 00 00 00 01 01
Raw Descriptor (hex) 0010: 00 00 09 24 01 00 01 1E 00 01 01 0C 24 02 01 01
Raw Descriptor (hex) 0020: 02 02 02 03 00 00 00 09 24 03 02 01 01 01 01 00
Raw Descriptor (hex) 0030: 09 04 01 00 00 01 02 00 00 09 04 01 01 01 01 02
Raw Descriptor (hex) 0040: 00 00 07 24 01 02 01 01 00 23 24 02 01 02 02 10
Raw Descriptor (hex) 0050: 09 40 1F 00 11 2B 00 E0 2E 00 80 3E 00 22 56 00
Raw Descriptor (hex) 0060: C0 5D 00 00 7D 00 44 AC 00 80 BB 00 09 05 81 01
Raw Descriptor (hex) 0070: C0 00 01 00 00 07 25 01 01 00 00 00 09 04 02 00
Raw Descriptor (hex) 0080: 01 03 00 00 00 09 21 11 01 00 01 22 60 00 07 05
Raw Descriptor (hex) 0090: 83 03 40 00 01
Number of Interfaces: 3
Configuration Value: 2
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Audio/Control
Alternate Setting 0
Number of Endpoints 0
Interface Class: 1 (Audio)
Interface Subclass; 1 (Control)
Interface Protocol: 0
Audio Class 1.0 Control Interface
Descriptor Version Number: 01.00
Class Specific Size: 30
Number of Audio Interfaces: 1
Audio Interface Number: 1
Dump Contents (hex): 09 24 01 00 01 1E 00 01 01
Audio Class 1.0 Input Terminal
Terminal ID: 1
Input Terminal Type: 0x201 (Microphone)
OutTerminal ID: 2
Number of Channels: 2
Spatial config of channels: 0000000000000011
^. Left Front
^.. Right Front
String index for first logical channel: 0
Terminal Name String Index: 0 [NONE]
Audio Class 1.0 Output Terminal
Terminal ID: 2
Output Terminal Type: 0x101 (USB Isochronous Stream)
InTerminal ID: 1
Source ID: 1
Terminal Name String Index: 0 [NONE]
Interface #1 - Audio/Streaming
Alternate Setting 0
Number of Endpoints 0
Interface Class: 1 (Audio)
Interface Subclass; 2 (Streaming)
Interface Protocol: 0
Interface #1 - Audio/Streaming (#1)
Alternate Setting 1
Number of Endpoints 1
Interface Class: 1 (Audio)
Interface Subclass; 2 (Streaming)
Interface Protocol: 0
Audio Class 1.0 Streaming Interface
Audio Class 1.0 Streaming Interface
Endpoint Terminal ID: 2
Delay: 1 frames
Format Tag: 0x0001 (PCM)
Audio Class 1.0 Streaming Format Type
Audio Class 1.0 Stream Format Type Desc.
Format Type: 1 PCM
Number Of Channels: 2 STEREO
Sub Frame Size: 2
Bit Resolution: 16
Sample Frequency Type: 0x09 (Discrete)
Sample Frequency: 8000 Hz
Sample Frequency: 11025 Hz
Sample Frequency: 12000 Hz
Sample Frequency: 16000 Hz
Sample Frequency: 22050 Hz
Sample Frequency: 24000 Hz
Sample Frequency: 32000 Hz
Sample Frequency: 44100 Hz
Sample Frequency: 48000 Hz
Endpoint 0x81 - Isochronous Input
Address: 0x81 (IN)
Attributes: 0x01 (Isochronous no synchronization data endpoint)
Max Packet Size: 192
Polling Interval: 1 ms
Class-Specific AS Audio EndPoint
Attributes: 0x01 Sample Frequency,
bLockDelayUnits: 0x00 (UNDEFINED)
wLockDelay: 0
Interface #2 - HID
Alternate Setting 0
Number of Endpoints 1
Interface Class: 3 (HID)
Interface Subclass; 0
Interface Protocol: 0
HID Descriptor
Descriptor Version Number: 0x0111
Country Code: 0
Descriptor Count: 1
Descriptor 1
Type: 0x22 (Report Descriptor)
Length (interface does not currently exist): 96
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 64
Polling Interval: 1 ms
Other Speed Configuration Descriptor: ....................................... "PTP + Apple Mobile Device"
Length (and contents): 62
Raw Descriptor (hex) 0000: 09 07 3E 00 02 03 07 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 40 00 00 07 05 81 02 40 00 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 40 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 40 00 00 07 05 85 02 40 00 00
Number of Interfaces: 2
Configuration Value: 3
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 64
Polling Interval: 64 ms
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Other Speed Configuration Descriptor: ....................................... "PTP + Apple Mobile Device + Apple USB Ethernet"
Length (and contents): 117
Raw Descriptor (hex) 0000: 09 07 75 00 03 04 08 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 40 00 00 07 05 81 02 40 00 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 40 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 40 00 00 07 05 85 02 40 00 00 09 04
Raw Descriptor (hex) 0040: 02 00 00 FF FD 01 18 09 04 02 01 02 FF FD 01 18
Raw Descriptor (hex) 0050: 07 05 86 02 40 00 00 07 05 05 02 40 00 00 09 04
Raw Descriptor (hex) 0060: 02 02 02 FF FD 01 18 07 05 86 02 40 00 00 07 05
Raw Descriptor (hex) 0070: 05 02 40 00 00
Number of Interfaces: 3
Configuration Value: 4
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 64
Polling Interval: 64 ms
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Interface #2 - Vendor-specific .............................................. "AppleUSBEthernet"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Interface #2 - Vendor-specific (#1) .............................................. "AppleUSBEthernet"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Interface #2 - Vendor-specific (#2) .............................................. "AppleUSBEthernet"
Alternate Setting 2
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Other Speed Configuration Descriptor: ....................................... "PTP + Apple Mobile Device + NCM"
Length (and contents): 202
Raw Descriptor (hex) 0000: 09 07 CA 00 06 05 09 C0 FA 09 04 00 00 03 06 01
Raw Descriptor (hex) 0010: 01 10 07 05 02 02 40 00 00 07 05 81 02 40 00 00
Raw Descriptor (hex) 0020: 07 05 83 03 40 00 40 09 04 01 00 02 FF FE 02 0F
Raw Descriptor (hex) 0030: 07 05 04 02 40 00 00 07 05 85 02 40 00 00 09 04
Raw Descriptor (hex) 0040: 02 00 00 02 0D 00 13 05 24 06 02 03 05 24 00 10
Raw Descriptor (hex) 0050: 01 0D 24 0F 11 00 00 00 00 EA 05 00 00 00 06 24
Raw Descriptor (hex) 0060: 1A 00 01 3B 09 04 03 00 00 0A 00 01 19 09 04 03
Raw Descriptor (hex) 0070: 01 02 0A 00 01 19 07 05 86 02 40 00 00 07 05 05
Raw Descriptor (hex) 0080: 02 40 00 00 09 04 04 00 00 02 0D 00 14 05 24 06
Raw Descriptor (hex) 0090: 04 05 05 24 00 10 01 0D 24 0F 12 00 00 00 00 EA
Raw Descriptor (hex) 00a0: 05 00 00 00 06 24 1A 00 01 3B 09 04 05 00 00 0A
Raw Descriptor (hex) 00b0: 00 01 1A 09 04 05 01 02 0A 00 01 1A 07 05 87 02
Raw Descriptor (hex) 00c0: 40 00 00 07 05 06 02 40 00 00
Number of Interfaces: 6
Configuration Value: 5
Attributes: 0xC0 (self-powered)
MaxPower: 500 mA
Interface #0 - Image .............................................. "PTP"
Alternate Setting 0
Number of Endpoints 3
Interface Class: 6 (Image)
Interface Subclass; 1
Interface Protocol: 1
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 64
Polling Interval: 64 ms
Interface #1 - Vendor-specific .............................................. "Apple USB Multiplexor"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 254 (Vendor-specific)
Interface Protocol: 2
Endpoint 0x04 - Bulk Output
Address: 0x04 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x85 - Bulk Input
Address: 0x85 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Interface #2 - Communications-Control .............................................. "NCM Control"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 2 (Communications-Control)
Interface Subclass; 13
Interface Protocol: 0
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 02 03
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Ethernet Networking Functional Descriptor
Raw Descriptor (hex) 0000: 0D 24 0F 11 00 00 00 00 EA 05 00 00 00
Comm Class Reserved Functional Descriptor (26)
Raw Descriptor (hex) 0000: 06 24 1A 00 01 3B
Interface #3 - Communications-Data/Unknown Comm Class Model .............................................. "NCM Data"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Interface #3 - Communications-Data/Unknown Comm Class Model (#1) .............................................. "NCM Data"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Endpoint 0x86 - Bulk Input
Address: 0x86 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x05 - Bulk Output
Address: 0x05 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Interface #4 - Communications-Control .............................................. "NCM Control"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 2 (Communications-Control)
Interface Subclass; 13
Interface Protocol: 0
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 04 05
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Ethernet Networking Functional Descriptor
Raw Descriptor (hex) 0000: 0D 24 0F 12 00 00 00 00 EA 05 00 00 00
Comm Class Reserved Functional Descriptor (26)
Raw Descriptor (hex) 0000: 06 24 1A 00 01 3B
Interface #5 - Communications-Data/Unknown Comm Class Model .............................................. "NCM Data"
Alternate Setting 0
Number of Endpoints 0
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Interface #5 - Communications-Data/Unknown Comm Class Model (#1) .............................................. "NCM Data"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 1
Endpoint 0x87 - Bulk Input
Address: 0x87 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x06 - Bulk Output
Address: 0x06 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Please let me know if you have any suggestions. Thanks!
.
Firstly, it does need that onReset setting i mentioned above.
I tried it between an M1 mac as the server (with MacOS 15.2) with an iPad running iOS 17.7.1 connected to it <-> and a MacAir client running MacOS 12.7.6,
After i click Use, it drops automatically and goes back to being not in use. Then i click Use again and it passes it through. Make sure you do this.
I did the same but with the M1 Mac as the client and MacAir as the server with the iPad connected to it and it also works.
I can see the iPad under finder in the client machine.
There are a few Trust this device popups on the iPad which you need to accept. You need to login to the iPad (not just the lock screen) to see them.
I then started xCode on the M1 client while the iPad was being passed through to it via VirtualHere, i then started a new empty App and again i had to click the Trust popup on the iPad. Then i clicked Run and i could see the App on the iPad
If you are still having trouble, then i could take a quick look via rustdesk and see i can see any issue while you are there. Let me know mail [at] virtualhere.com (mail[at]virtualhere[dot]com)
.
Thank you for providing the detailed steps.
I believe I have identified the root cause of this issue. In my non-working environment, I discovered that the device was in a configured state (Configuration 5) after being plugged into the machine running the VirtualHere server. This can be observed using the usbdiagnose CMD as shown below:
High Speed device @ 1 (0x80100000): ............................................. Composite device: "iPad"
Port Information: 0x001a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 : 4
Total Endpoints for Configuration 2 : 3
Total Endpoints for Configuration 3 : 6
Total Endpoints for Configuration 4 : 8
Total Endpoints for Configuration 5 (current): 10
If I use libusb (calling “set_usb_configuration” with 0) to set the iPad device to an unconfigured state, it works fine.
High Speed device @ 52 (0x02400000): ............................................. Composite device: "iPad"
Port Information: 0x001a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (unconfigured): 4
Total Endpoints for Configuration 2 (unconfigured): 3
Total Endpoints for Configuration 3 (unconfigured): 6
Total Endpoints for Configuration 4 (unconfigured): 8
Total Endpoints for Configuration 5 (unconfigured): 10
Perhaps you could try this as well.
.
I tried and it switches to Config 5 on mine.
From past experience i think config 1 is for when it attaches to windows the driver on windows selects that one, when it attaches to a mac the driver selects the highest config. So actually i think it should be 5 and work.