Jump to content
XPEnology Community

ESXI / DSM 7.x Redpill - USB HDD Passthru Work Around

Recommended Posts

Posted (edited)

I run a small HP T730+ as a backup "server" in my home and to accomplish this I run a few VMs to keep my network running if my server shut downs.  I also utilize this as my main DSM's backup for personal files/VMs.  Due to the 730+ not having any SATA ports I'm forced to run a USB to SATA adapter for the backup drive; a WD 4TB.  To avoid DSM filesystem obfuscation by mounting and writing inside a VMDK and also avoid issues with ESXi and USB drives >2TB, I wanted to pass the USB SATA controller through to DSM.  However, the "./rploader.sh identifyusb" command blocks USB if it detects you are using VMWare as a hypervisor.  


If you are running ESXi and want to pass through a USB harddrive you will need to edit your VM to passthru the USB device your drive is on and then go into the rploader.sh file and comment out the following lines (put a # in front of them) to avoid the script ending the usbidentify routine when it detects your hypervisor:


    if [ "$MACHINE" = "VIRTUAL" ] && [ "$HYPERVISOR" = "VMware" ]; then
        echo "Running on VMware, no need to set USB VID and PID, you should SATA shim instead"
        exit 0


Once this is done you can run the identifyusb option and have it assign a PID/VIN to your USB drive and after building, your drive should show up as an external device in DSM.


Also of note, my network transfers during a HyperBackup task have doubled over the rates seen when the VM was writing to a VMDK file located on the USB drive. 

Edited by BrandonS
Link to comment
Share on other sites

identifyusb only sets VID/PID for the loader to know to substitute the usb flash drive as a synoboot device.

ESXi is supposed to SATABOOT its loader so that is the reason for the message.


You may have solved your problem simply with the passthrough configuration.  I can't see how identifyusb has any impact on a USB device that is not used as a loader.


But glad things are working for you nonetheless.

Link to comment
Share on other sites

Posted (edited)

I am not entirely sure.  I tried a few different approaches and this was the only one that worked.  With the old Jun/DSM6 setup I just simply ran the USB/SATA adapter as a USB passthru device in the VM setup.  When I did the exact same thing with the Redpill/Broadwell/DSM7 it did not register at all as being available.  I even went into the CLI and looked at the USB devices and it didn't register as being seen by the system. 

I then turned off USBArbitrator in ESXi, partitioned the drive and put a VMDK file on it and loaded that to the VM as a hard drive.  This worked, but performance was bad both within ESXi when reading it with constant errors in the log file and then also in Synology it didn't make it through the initial backup with hypervisor before the storage pool showed as crashed.

So I did the above approach with running it as a passthru device again, but running the USBIdentify before the build.  It showed up immediately.  I think, despite the USBIdentify being for boot, it is what is assigning a VID/PID to the USB device in the DSM system so it can see it; otherwise it remains invisible.

Edited by BrandonS
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...