I finally got an esata controller to work, but its tricky.
Startech esata pcie controller would not work, was not recognized at all by the mobo.
Returned it to Amazon after Startech tech support offered no solutions.
Bought a Syba SD-PEX40049 esata controller.
1) Unplug power, insert card into mobo
2) Boot up, go to Syba's website, download driver (product claims to be driverless, but for me, this was not the case as device was not recognized)
3) Install driver. (error popped up stating no x86 directory for the log, but install was successful nonetheless)
4) Restart, computer takes a minute or so to boot up for me, compared to 5 or 6 second bootup which I normally have
5) Connect and power on external dock, restart computer, then drive(s) now show up on the computer, and now can be hot plugged with no further issues.
Now bootup is normal again, 5 or 6 seconds.
Only thing I can't figure out is how to enable my dock to spin down the drives. Using this dock in my laptop, the drives spin down when not in use, but they don't seem to with my XPS. This esata controller chip is supposed to have compatibility to spin down the drives, but I haven't figured out how to yet.
I have struggled quite a bit to find an eSATA controller that works in my environment:
Here's the result of my experiments:
1. Syba SD-SA2PEX-2E
PCIe 1.0a controller. Not detected by the BIOS, despite Syba and Dell Customer Support's assurances that they should be compatible.
2. StarTech PEXESATA2
PCIe 1.1 controller. Not detected by the BIOS, despite StarTech and Dell Customer Support's assurances that they should be compatible.
3. StarTech PEXESAT32
PCIe 2.0 controller, Marvell 88SE9128 chipset.
Successfully detected by the BIOS and the OS, but has trouble establishing reliable connection with the enclosures. Only seems to support one port multiplier at a time.
4. Syba SD-PEX40049
PCIe 2.0 controller, ASM106x chipset.
Successfully detected by the BIOS and the OS. Quickly establishes connection with the enclosures. Detects all drives on both ports. So far, seems to correctly support large drives, concurrent I/Os to the same port and hot-plug / hot-unplug.
So that's the winner for me.
The only caveat is the need to configure 2 sets of 4 jumpers to choose which 2 out of the 4 available ports (2 x eSATA, 2 x SATA) are enabled. That's easy enough to do and is only required once, so not a huge hassle in the big scheme of things.