MAC-OS Optical Drive to Windows Machine

Hi,

i have an optical Drive (ASUS ZenDrive U8M) connected to a Macbook and want to share it with a Windows Machine.

The Device get's recognized in VirtualHere Client and Server and i can connect it.

Apparantly the Windows Machine Connects it as a USB Mass Storage Device with a yellow exclamation mark, because the driver is not correct.

I also tried a drive from Transcend. The same thing happened. I haven't found out, if it's necessary and possible to install drivers for the optical drives in my windows machine. 

If i plug the devices directly into the windows machine, it works fine.

Help would be appreciated.

#2

I have that exact drive, and i tested it plugged into a macbook air and a mac mini running virtualhere server and windows 11 client and it works fine with either server. The drive appears as a bulk DVD RW drive in windows. 

What version of windows are you using?

 

#5

Hi, 

it's Code 10

Full Error Message

"This device cannot start. Try upgrading the device drivers for this device. (Code 10)"

Cause

Typically, the device's hardware key contains a "FailReasonString" value, and the value string is displays an error message defined by the hardware manufacturer. If the hardware key does not contain a “FailReasonString” value the message above is displayed.

Recommended resolutions

Update the driver

In the device's Properties dialog box, click the Driver tab, and then click Update Driver to start the Hardware Update Wizard. Follow the instructions to update the driver.

Note You may be prompted to provide the path of the driver.  If you are asked for the driver and you do not have it, you can try to download the latest driver from the hardware vendor’s website.

#7

Hi,

in the windows session the device get's detected as type 08 (USB Storage Device). In your test-scenario with the same hardware device it get's detected as CLASS_02?


c:\Program Files (x86)\Windows Kits\10\Tools\10.0.26100.0\x64>pnputil /enum-devices /instanceid "USB\VID_1C6B&PID_A223\32_436306503645" /ids
Microsoft-PnP-Hilfsprogramm

Instanz-ID:                USB\VID_1C6B&PID_A223\32_436306503645
Gerätebeschreibung:         USB-Massenspeichergerät
Klassenname:                 USB
Klassen-GUID:                 {36fc9e60-c465-11cf-8056-444553540000}
Herstellername:          Kompatibles USB-Speichergerät
Status:                     Problem
Problemcode:               10 (0x0A) [CM_PROB_FAILED_START]
Problemstatus:             0xC0000001
Treibername:                usbstor.inf
Hardware-IDs:               USB\VID_1C6B&PID_A223&REV_0000
                           USB\VID_1C6B&PID_A223
Kompatible IDs:             USB\Class_08&SubClass_02&Prot_50
                           USB\Class_08&SubClass_02
                           USB\Class_08

 

In addition we checked the windows registry and detected, that the Key "osvc" contains zeroes. That possibly shows that the request from the windows os wasn't properly answered by the device.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\856480000000]
"osvc"=hex:00,00

 

We think that this might be a fallback from windows, that we can't solve out of the box.

Is it possible that we have to set a specific setting on the macclient, that this will work? Are there any VirtualHere Settings, that are tweakable, that might help?

 

In addition we connected the drive to a windows notebook. The drive was normally usable with virtual here on windows 11 (virtual here server) to windows server 2022 (virtual here client). It was detected as an ASUS drive.

 

https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/supported-usb-classes

https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-device-specific-registry-settings

Greetings

 

#8

Mine appears like this in windows 11 when sent via VirtualHere  (see below)

My server is a MacMini M1 running MacOS 15.3.2. and VirtualHere Server 4.7.7

(Note usbtreeview  is very good for displaying USB information)

 I did notice this morning coming into my office that the drive would not wake up on the M1. It would always appear then disappear even if virtualhere was not running. It might be a power issue or something. Anyway i physically unplugged the drive and plugged it back in and it worked again then i started virtualhere server and it worked to pass through to win11.


  =========================== USB Port3 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 1-3
Properties               : 0x01
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
 PortHasMultiCompanions  : no
 PortConnectorIsTypeC    : no
ConnectionIndex          : 0x03 (Port 3)
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#1&2b53a856&17&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 0x13 (Port 19)
 -> CompanionPortChain   : 1-19

      ========================== Summary =========================
Vendor ID                : 0x1C6B (Philips & Lite-ON Digital Solutions Corporation)
Product ID               : 0xA223
Manufacturer String      : Philips & Lite-ON Digital
Product String           : Mass Storage Device
Serial                   : 32 436218500769
USB Version              : 2.0
Port maximum Speed       : High-Speed (Companion Port 1-19 is doing the SuperSpeed)
Device maximum Speed     : High-Speed
Device Connection Speed  : High-Speed
Self powered             : no
Demanded Current         : 500 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device Path              : \\?\USB#VID_1C6B&PID_A223#32_436218500769#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-9
Device ID                : USB\VID_1C6B&PID_A223\32_436218500769
Hardware IDs             : USB\VID_1C6B&PID_A223&REV_0000 USB\VID_1C6B&PID_A223
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0007 (GUID_DEVCLASS_USB)
Driver                   : \SystemRoot\System32\drivers\USBSTOR.SYS (Version: 10.0.26100.3624  Date: 2025-03-28  Company: Microsoft Corporation)
Driver Inf               : C:\WINDOWS\inf\usbstor.inf
Legacy BusType           : PNPBus
Class                    : USB
Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service                  : USBSTOR
Enumerator               : USB
Location Info            : Port_#0003.Hub_#0001
Address                  : 3
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PC00)#ACPI(XHCI)#ACPI(RHUB)#ACPI(HS01)
Container ID             : {48428035-9bee-5fcc-8036-86098a481967}
Manufacturer Info        : Compatible USB storage device
Capabilities             : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 3
EnhancedPowerMgmtEnabled : 0
Power State              : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2)

        +++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\1C6BA2230000
 osvc                    : REG_BINARY 00 00

        ---------------- Connection Information ---------------
Connection Index         : 0x03 (Port 3)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x00 (0)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed)
Number of open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Bulk  wMaxPacketSize=0x200   bInterval=0  
Pipe[1]                  : EndpointID=2  Direction=OUT  ScheduleOffset=0  Type=Bulk  wMaxPacketSize=0x200   bInterval=0  
Data (HexDump)           : 03 00 00 00 12 01 00 02 00 00 00 40 6B 1C 23 A2   ...........@k.#.
                           00 00 01 02 03 01 01 02 00 00 00 02 00 00 00 01   ................
                           00 00 00 07 05 81 02 00 02 00 00 00 00 00 07 05   ................
                           02 02 00 02 00 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x03 (3)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x03
 Usb110                  : 1 (yes, port supports USB 1.1)
 Usb200                  : 1 (yes, port supports USB 2.0)
 Usb300                  : 0 (no, port not supports USB 3.0) -> but Companion Port 1-19 does
 ReservedMBZ             : 0x00
Flags                    : 0x00
 DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
 DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
 DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
 DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
 ReservedMBZ             : 0x00
Data (HexDump)           : 03 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x200 (USB Version 2.0)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x1C6B (Philips & Lite-ON Digital Solutions Corporation)
idProduct                : 0xA223
bcdDevice                : 0x0000
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "USB2.0 External"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "Mass Storage Device"
iSerialNumber            : 0x03 (String Descriptor 3)
 Language 0x0409         : "32 436218500769"
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 00 02 00 00 00 40 6B 1C 23 A2 00 00 01 02   .......@k.#.....
                           03 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x04 (String Descriptor 4)
 Language 0x0409         : "Default"
bmAttributes             : 0xA0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x00 (no)
 D5: Remote Wakeup       : 0x01 (yes)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0xFA (500 mA)
Data (HexDump)           : 09 02 20 00 01 01 04 A0 FA 09 04 00 00 02 08 02   .. .............
                           50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00   P...............

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x02 (SFF-8020i, MMC-2 - ATAPI)
bInterfaceProtocol       : 0x50 (Bulk-Only Transport)
iInterface               : 0x05 (String Descriptor 5)
 Language 0x0409         : "6238--Storage"
Data (HexDump)           : 09 04 00 00 02 08 02 50 05                        .......P.

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 81 02 00 02 00                              .......

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 02 02 00 02 00                              .......

    --------- Device Qualifier Descriptor (for Full-Speed) --------
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x06 (Device_qualifier Descriptor)
bcdUSB                   : 0x200 (USB Version 2.0)bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 Bytes)
bNumConfigurations       : 0x01 (1 other-speed configuration)
bReserved                : 0x00
Data (HexDump)           : 0A 06 00 02 00 00 00 40 01 00                     .......@..

    ------------ Other Speed Configuration Descriptor -------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x07 (Other_speed_configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x04 (String Descriptor 4)
 Language 0x0409         : "Default"
bmAttributes             : 0xA0
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x00 (no)
 D5: Remote Wakeup       : 0x01 (yes)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0xFA (500 mA)
Data (HexDump)           : 09 07 20 00 01 01 04 A0 FA 09 04 00 00 02 08 02   .. .............
                           50 05 07 05 81 02 40 00 00 07 05 02 02 40 00 00   P.....@......@..

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00 (Interface 0)
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x02 (SFF-8020i, MMC-2 - ATAPI)
bInterfaceProtocol       : 0x50 (Bulk-Only Transport)
iInterface               : 0x05 (String Descriptor 5)
 Language 0x0409         : "6238--Storage"
Data (HexDump)           : 09 04 00 00 02 08 02 50 05                        .......P.

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0040 (64 bytes)
bInterval                : 0x00 (ignored)
Data (HexDump)           : 07 05 81 02 40 00 00                              ....@..

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0040 (64 bytes)
bInterval                : 0x00 (ignored)
Data (HexDump)           : 07 05 02 02 40 00 00                              ....@..

      -------------------- String Descriptors -------------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
Data (HexDump)           : 04 03 09 04                                       ....
             ------ String Descriptor 1 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "USB2.0 External"
Data (HexDump)           : 20 03 55 00 53 00 42 00 32 00 2E 00 30 00 20 00    .U.S.B.2...0. .
                           45 00 78 00 74 00 65 00 72 00 6E 00 61 00 6C 00   E.x.t.e.r.n.a.l.
             ------ String Descriptor 2 ------
bLength                  : 0x28 (40 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Mass Storage Device"
Data (HexDump)           : 28 03 4D 00 61 00 73 00 73 00 20 00 53 00 74 00   (.M.a.s.s. .S.t.
                           6F 00 72 00 61 00 67 00 65 00 20 00 44 00 65 00   o.r.a.g.e. .D.e.
                           76 00 69 00 63 00 65 00                           v.i.c.e.
             ------ String Descriptor 3 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "32 436218500769"
Data (HexDump)           : 20 03 33 00 32 00 20 00 34 00 33 00 36 00 32 00    .3.2. .4.3.6.2.
                           31 00 38 00 35 00 30 00 30 00 37 00 36 00 39 00   1.8.5.0.0.7.6.9.
             ------ String Descriptor 4 ------
bLength                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Default"
Data (HexDump)           : 10 03 44 00 65 00 66 00 61 00 75 00 6C 00 74 00   ..D.e.f.a.u.l.t.
             ------ String Descriptor 5 ------
bLength                  : 0x1C (28 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "6238--Storage"
Data (HexDump)           : 1C 03 36 00 32 00 33 00 38 00 2D 00 2D 00 53 00   ..6.2.3.8.-.-.S.
                           74 00 6F 00 72 00 61 00 67 00 65 00               t.o.r.a.g.e.