Jump to content
Alex.Covecube

Successfully Enabled Port Multiplier on eSATA

Recommended Posts

LoneWolf

Note: I have found that disabling SATA / IDE port combining as described with the modified BIOS also disables the ability for the Microserver to see my HP Smart Array P410 hardware RAID controller. The controller is no longer seen in BIOS as a "drive option" and therefore cannot be set to take preference at boot. Re-enabling the setting and saving, makes the controller visible again.

 

I find it likely that this will happen with all HP Smart Array controllers, and possibly any SATA hardware RAID controller (e.g., LSI, Adaptec, 3Ware) that a hobbyist might choose to use with the system. So, if hardware RAID-5 is what you're wanting and you want an external option, you probably want (note: I haven't tried this) an HP Smart Array P212 controller, which has one internal Mini-SAS port (to hook up the Microserver's backplane) and one external port (you'll need to buy an HP-specific) cable for it to hook up an enclosure.

 

Note that the P212 comes with no cache by default; you are going to want a minimum of 256MB of cache, and larger modules (512MB or 1GB) will provide better performance on your array. For best results, you'll want to spend more on either the battery-backed write cache, or (better, as it won't wear out like a battery) flash-backed write cache, which uses a super-capacitor. You can enable write cache on the controller without by overriding the settings from HP's Array Configuration Utility, but should your server suffer power failure, you could experience data loss on your RAID array. I wouldn't recommend doing the override without at least having a USB-controlled UPS unit to shut down your server gracefully in the event of power failure.

 

The 256MB cache module is 40 bits wide; the 512MB model is 72 bits wide. More memory plus more bandwidth. Something to keep in mind if I/O performance is important.

Edited by LoneWolf

Share this post


Link to post
Share on other sites
ikon

@LoneWolf, just to add to what you posted, IMHO all servers should be on a UPS, and it should be connected to the server for graceful shutdown. Myself, I have every computer in my house (even my gateway) on their own UPS'. Heck, even my TV, A/V receiver, and Set Top Box are on a UPS.

Share this post


Link to post
Share on other sites
ImTheTypeOfGuy
@LoneWolf, just to add to what you posted, IMHO all servers should be on a UPS, and it should be connected to the server for graceful shutdown. Myself, I have every computer in my house (even my gateway) on their own UPS'. Heck, even my TV, A/V receiver, and Set Top Box are on a UPS.

 

i am exactly the same except for possibly the cable boxes as those are throw away items.

Share this post


Link to post
Share on other sites
LoneWolf

Well, the deal called to me and I ordered a 1gb flash-backed write cache module for the p410. Good deal on ebay, brand new in box and cheaper than the refurb 512mb kit. No battery to replace, no muss, no fuss.

 

Share this post


Link to post
Share on other sites
g725s
Now I didn't want to risk running their setup and didn't want anything else to be installed besides the controller driver, so this is what I did.I extracted the EXE using 7-ZIP and found the correct driver in \12-10_vista_win7_win8_32-64_sb\$_OUTDIR\Packages\Drivers\SBDrv\SB7xx\AHCI\W764. Just open device manager and update the driver manually pointing it to this location.

 

Can you be a bit more specific here on how to do this in device manager? Also you mean ...\W764A right?

Edited by g725s
  • Like 1

Share this post


Link to post
Share on other sites
Alex.Covecube

Can you be a bit more specific here on how to do this in device manager? Also you mean ...\W764A right?

 

Yes you're right I left out the A.

 

The correct path is:

\12-10_vista_win7_win8_32-64_sb\$_OUTDIR\Packages\Drivers\SBDrv\SB7xx\AHCI\W764A

 

To update the driver using device manager:

  • Log into the server with Remote Desktop as Administrator.
  • Open Device Manager (type that in the Start menu).
  • Locate the SATA controller, it should be listed under IDE ATA/ATAPI controllers.
  • Right click on it and click Update Driver Software...
  • Select Browse my computer for driver software.
  • Select Let me pick from a list of device drivers on my computer.
  • Click Have Disk...
  • Type in or browse to the full path where the driver is located, as I've shown above.
  • Then just click through ok, Next, Finish to install the AMD driver.

  • Like 1

Share this post


Link to post
Share on other sites
Joe_Miner

I know some people have mentioned that the HP MicroServer N40L does support an eSATA port multiplier, but I thought that I'd mention a few points about my experience with this:

  • The eSATA and all the SATA ports are connected to the Southbridge SB850.
  • The SB850 can operate the SATA / eSATA ports in a number of modes, IDE / AHCI / RAID. These are set up in the BIOS (hit F10 while booting).
    IDE - Legacy mode (I didn't test this).
    AHCI - The standard for SATA drives. No special driver required (but one is available) from AMD. Can use the default Windows driver.
    RAID - Allows you to optionally set up a RAID and requires a special Windows driver. This mode can be used even if you don't have a RAID setup.
  • Switching between AHCI / RAID changes the hardware ID of the SATA controller. This is akin to swapping in a brand new controller. Because of this, the old controller driver in Windows will not recognize the new mode and Windows will refuse to boot. The easiest way to switch this mode if you really need to is to re-install Windows.
  • I've verified that the SB850 supports a port multiplier on both AHCI and RAID. I've used linux to verify this which just works with it out of the box.
  • The default BIOS is configured to, what they call, "combine" the last 2 SATA ports with IDE. You will want to turn this off. Unfortunately the only way to do this is to get the unofficial unlocked BIOS and turn that off in the new chipset section. I've verified that this setting remains even if you later re-flash the official BIOS.
  • The latest AMD SB850 AHCI driver does support a port multiplier. It's difficult to find the correct driver though. The easiest thing to do is to go to http://amd.com and click Support & Drivers > select Motherboard / Chipset > AMD 7 Series Chipset (yes 7 series) > All... > Windows 7 64-bit. You will want the AMD Chipset Drivers (12.10 as of right now).
     
    Download the EXE.
     
    Now I didn't want to risk running their setup and didn't want anything else to be installed besides the controller driver, so this is what I did.
     
    I extracted the EXE using 7-ZIP and found the correct driver in \12-10_vista_win7_win8_32-64_sb\$_OUTDIR\Packages\Drivers\SBDrv\SB7xx\AHCI\W764. Just open device manager and update the driver manually pointing it to this location. This was for Windows Server 2008 R2, so all WHS variants will use the same driver.
     
    I should stress that this is the AHCI driver and not the RAID driver, which I didn't test. Your BIOS must be set to AHCI for this driver to work.
  • There's one more caveat. For some unknown reason, AMD chose to disable the port multiplier functionality in the AHCI driver on any port that's marked as non-removable. By default, all the SATA + eSATA ports are marked as non-removable (or non-hot swappable). Once again, this is a setting that is available in the unlocked BIOS. You will need to enable this for the driver to enable port multiplier support.

So in summary, to get a port multiplier working over the eSATA port, you must:

  • Put the controller into AHCI mode (in the BIOS).
  • Disable SATA / IDE port "combining" (in the unlocked BIOS).
  • Enable the ability to hot-swap on all ports (in the unlocked BIOS).
  • Install the latest AMD AHCI driver (12.10 as of this writing).

I did not test the AMD RAID driver and I don't know whether it supports a port multiplier, so that may or may not work. I do know for sure that the RAID BIOS controller does support a port multiplier because it works in linux.

 

I hope this helps others who are looking to enable port multiplier support on the HP N40L MicroServer.

I'm glad that you guys found this useful. It took almost the entire day to figure out :)

 

I forgot to mention one other important thing that I found:

  • The unlocked BIOS cannot boot if your SATA controller is in RAID mode. This is not an issue if you're running in AHCI mode, and it's not an issue with the official BIOS.
  • I've noticed that the RAID BIOS drive enumeration process never shows up during the boot cycle. This is something to be aware of.

I believe this means that if your server is set to RAID mode, you will not be able to boot your system if you flash the unlocked BIOS. I didn't spend any time diagnosing this problem because my goal was to get port multiplication working.

 

This is not destructive, because you can simply just flash the official BIOS back.

Yes you're right I left out the A.

 

The correct path is:

\12-10_vista_win7_win8_32-64_sb\$_OUTDIR\Packages\Drivers\SBDrv\SB7xx\AHCI\W764A

 

To update the driver using device manager:

  • Log into the server with Remote Desktop as Administrator.
  • Open Device Manager (type that in the Start menu).
  • Locate the SATA controller, it should be listed under IDE ATA/ATAPI controllers.
  • Right click on it and click Update Driver Software...
  • Select Browse my computer for driver software.
  • Select Let me pick from a list of device drivers on my computer.
  • Click Have Disk...
  • Type in or browse to the full path where the driver is located, as I've shown above.
  • Then just click through ok, Next, Finish to install the AMD driver.

 

Thanks Alex for a fantastic post!

Share this post


Link to post
Share on other sites
wizzbang

Hi All,

 

Thinking about adding a port multiplier to an N54L in a month or two (I'll do initial testing on an N40L)

Can I follow the guide, flash the bios / update the driver and operate a 2TB WD and 3TB WD disk off the same ESATA port?

This would free the onboard port for me, to run an SSD for better boot times.

 

I do not want to use RAID 0 or RAID 1 or any trickery - just 2 totally independant disks from the single ESATA port, that's possible if I'm understanding correctly?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now




×