Fun with an MD1200/MD1220 & SC200/SC220

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

bmearnhardt

New Member
Apr 5, 2021
4
1
1
Contrary to what a lot of other people have said, i only issued the set_speed command once to lower fanspeed to 10% and it hasn't ramped back up at all. Not sure what my controllers' firmware versions are as I didn't update them, and I probably won't since everything is working well atm
Mine was working fine for about a week. I was running the script from Hugo0Boss but after a week or two it started to just ramp back up after a second or two. Is there a battery that would save the settings during a power outage? If there is mine is dead.
 

Citizen03212

New Member
Sep 7, 2018
4
1
3
Is drive support for these shelves entirely determined by the controllers?

I've been looking at a SC200 driven by a H200e (cheapest enclosure + HBA combo to start with?)... but I would want to reuse a stack of SATA drives I already own. I see old posts saying 8TB SATA drives work fine in a SC200... and others where people are saying only SAS worked. But I think that could be one person was maybe using a H800 that doesn't talking to modern 6gb SATA disks... while something like a H200/H200e does?
 

joshenders

New Member
Jul 26, 2012
13
2
3
Be super careful when flashing with _boot as it will accept any file over the XMODEM protocol and not even do a size check. I accidentally flashed an arbitrary file to one of my EMMs and bricked it.

I noticed that _shutup works in unified mode and doesn't ramp the fans back up under this configuration:

2x power supplies
1x EMM
12x drives populated

OT but has anyone managed to get split mode working properly on these? I have two 9207-8e with IT firmware flashed with each port connected to an EMM on two MD1200s and toggled the switch on the front for split mode but can only ever see the drives attached to the upper EMM.

EDIT: I was able to get split mode working using the _splitforce 3 command. Be aware that this will reboot the device and take effect immediately. Do this without filesystems mounted!

Another useful command is _shutdown. In my experience it takes about 2 minutes to power off. At first, I thought it didn't work but it did eventually shutdown.
 
Last edited:

wlp94611

New Member
Jul 26, 2020
4
0
1
Hi Guys!

I've been reading this thread closely as it directly speaks to a purchase I'm getting ready to make, and I would appreciate your input.

I've got a Dell r720 running XCP-ng and am planning to run a TrueNAS Core instance using an MD1200 expansion chassis connected by an LSI 9207-8e hba. Noise is a major consideration.

Has anyone been successful in automatically adjusting fan speed according to the enclosure temperature other than by a script running every "x" number of seconds?

Based on your experience, is the MD1200 a good choice and, if not, what would be a better option?

Thanks in advance.
 
Last edited:

blitz

New Member
May 2, 2021
1
0
1
another quick note on fan control, if you're plugged into the second controller in a 2 controller shelf and send a fan command, fans will ramp back up as the main controller is in control. also if you go lower than 20%, it'll ramp back up. if you want to actually go lower than 20% (not really recommended if you have drives in the thing), you need to fake the temp with set_temp - but I wouldn't go that low with functioning drives in the thing unless you wanna cook them. 20% is already a massive sound improvement
Thank you for this tip!!!! I didn't realize the second EMM was ramping the fans back up. Pulled it out. Now my fan settings stay.
 

fohdeesha

Kaini Industries
Nov 20, 2016
2,727
3,075
113
33
fohdeesha.com
Be super careful when flashing with _boot as it will accept any file over the XMODEM protocol and not even do a size check. I accidentally flashed an arbitrary file to one of my EMMs and bricked it.

I noticed that _shutup works in unified mode and doesn't ramp the fans back up under this configuration:

2x power supplies
1x EMM
12x drives populated

OT but has anyone managed to get split mode working properly on these? I have two 9207-8e with IT firmware flashed with each port connected to an EMM on two MD1200s and toggled the switch on the front for split mode but can only ever see the drives attached to the upper EMM.
make sure after toggling the switch you completely remove all power from the disk shelf and all controllers in the thing for a few seconds, then power it back up. the switch only gets "read" during a cold boot of the controllers
 
  • Like
Reactions: joshenders

fohdeesha

Kaini Industries
Nov 20, 2016
2,727
3,075
113
33
fohdeesha.com
Is drive support for these shelves entirely determined by the controllers?

I've been looking at a SC200 driven by a H200e (cheapest enclosure + HBA combo to start with?)... but I would want to reuse a stack of SATA drives I already own. I see old posts saying 8TB SATA drives work fine in a SC200... and others where people are saying only SAS worked. But I think that could be one person was maybe using a H800 that doesn't talking to modern 6gb SATA disks... while something like a H200/H200e does?
these shelves will run anything
 
  • Like
Reactions: Citizen03212

bmearnhardt

New Member
Apr 5, 2021
4
1
1
I seem to have fixed my issue with it ramping back up for now. Changing it from 10 to 20 in Hugo0Boss's script seems to have worked. Guess either it doesn't like being below 20 or it was getting hot at 10. Can't figure out how to check the temperature on the SC200. Not good enough with these old serial connections and firmware.
 

jabuzzard

Member
Mar 22, 2021
45
18
8
Just because I have not see it noted in this thread the MD1200 is part of a long line of Engenio storage formally from LSI now NetApp, that was OEM'ed by a lot of people. So for example a Dell MD1200 is basically the same as an IBM EXP3500 or a possibly a StorageTek 2501, though that might be the SAS1 and the same as an IBM EXP3000 shelf and it's the expansion for the StorageTek 2540 that's the same. NetApp use them in their storage but I am not familiar with their kit.

Originally they where all FC expansion so in IBM terms things like EXP810, EXP5000, and you can see the traces right back to the EXP700/710. The EXP100 is a very different beast however.

My focus historically has been more at the controller end so when actually hooked up to something like an MD3200, or a whole slew of DS4000 series from IBM. However you recognise it immediately for what it is when you know.
 
  • Like
Reactions: Benda Xu

iotapi322

Member
Sep 8, 2017
66
14
8
48
So i hooked up my (new to me) MD1220 with two controllers, and I hooked up my H200e flashed into IT mode on to the disk shelf. What I found interesting was that my hard drives were duplicated ( ie, /dev/sdf and /dev/sdg were both pointing to the same physical disk). Once I pulled out the second controller this went away. Also _shutup 20 seems to be holding since I pulled the second controller out. ( Are you not suppose to hook up both controllers to one SAS card?)
 

jabuzzard

Member
Mar 22, 2021
45
18
8
So i hooked up my (new to me) MD1220 with two controllers, and I hooked up my H200e flashed into IT mode on to the disk shelf. What I found interesting was that my hard drives were duplicated ( ie, /dev/sdf and /dev/sdg were both pointing to the same physical disk). Once I pulled out the second controller this went away. Also _shutup 20 seems to be holding since I pulled the second controller out. ( Are you not suppose to hook up both controllers to one SAS card?)
That is expected behaviour, it's part of what makes SAS enterprise in comparison to SATA. Everything is dual ported and hence redundant. You could loose one of the ESM's in the MD1220 and still have access to all your drives. You need to use in Linux dm-multipath to manage this so that they "appear" as a single drive and you don't use /dev/sd<X> to access the drives. There are presumably solutions for other operating system though I have no experience with them. Another plus of this is that when things are operating nominally you can access half your disks through one ESM and half through the other ESM and double your throughput to the disk shelf.
 

CarlWilhelm

New Member
Oct 28, 2020
12
1
3
So i hooked up my (new to me) MD1220 with two controllers, and I hooked up my H200e flashed into IT mode on to the disk shelf. What I found interesting was that my hard drives were duplicated ( ie, /dev/sdf and /dev/sdg were both pointing to the same physical disk). Once I pulled out the second controller this went away. Also _shutup 20 seems to be holding since I pulled the second controller out. ( Are you not suppose to hook up both controllers to one SAS card?)
I am using a MD1200 and hooked it up with two cables to my controller, and i do not get duplicate disks. I use Windows 2019 Server and a LSI 9207-8e controller.
 

iotapi322

Member
Sep 8, 2017
66
14
8
48
This makes more sense, because it was only the SAS drives that were doing the duplication, because I guess they are dual ported. I pulled out the second EMM, mainly because the _shutup command wouldn't hold with both controllers. I suspect I would need another serial cable hooked up to the second EMM to tell it to _shutup so they are both in sync.
 

Requiescat

New Member
May 31, 2021
10
0
1
I've found myself in the surprising situation of owning 25 (yes 25 individual units) MD1220s and want to know if there's a way to send the _shutup command to the topmost (of 8 daisy chained) MD1220s and have the command flow through or will I have to send the command to every primary controller?

How do I go about doing the latter? Will I need 25 serial cables and subsequently 25 serial ports on my host? Can I send the _shutup command to one unit, then move the cable to send the command to the next unit? Please help!
 

Mar

New Member
May 24, 2021
2
0
1
Hey guys, i thought i would throw my two cents in here. Big thanks to OP for this thread.
4x MD12xx's 2 meters from my bed over here

If anyone has any idea how to pull the power usage from these things i would be eternally grateful.

My experience and hopefully useful info:
  • The password reset cable thing is required.
  • If you're serial illiterate like myself, download putty, install it, open it, select serial in the config side bar, select the serial line, "COM1" seems to be my default and seems to be the correct one, this may be different for you, set speed to 38400, data bits to 8, stop bits to 1, parity to none, flow control to XON/XOFF, go back up to session, select the serial , then open. Will open black window, press enter and you're in. Type devils command for a list of commands, _devils for the other list, they're different for some reason. Some commands are not implemented
  • _shutup <x> will set your fan speeds to x%: _shutup 20 sets to 20%
  • set_speed seems to work the same as _shutup
  • _temp_rd will pull the system's temps
  • Most of the other commands don't appear, at least to me, to be all that useful.
  • After a minute or so the system seems to do some sort of reset, clearing your temp settings and fan settings
  • Scripting the command to send every 1-2 seconds works and keeps the fan speed constant
  • I haven't seen any reason to spoof the temp settings. As they get wiped anyway and it seems to make no difference.
  • I've noticed that if you use both controllers, and spam the command, sometimes the other controller will not get the memo for a few seconds and the speed will ramp up for a bit before going down every few minutes. This problem doesn't exist with a single controller.
  • I'm not aware of any negative for spamming the command every second, if anyone has any insight for this please share.
  • Scripting it to pull the temp with _temp_rd or pull drive temps from an external source and then adjusting the fan speed from there is easy enough and doable
  • 20% seems to keep the drives and enclosure cool enough and isn't too bad on the ears, if you just want a default.
  • _shutup scripting seems to work fine without updating the firmware
  • I personally use lsi 9200-16e as my hba, working and have no issues connected to gen 11 and gen 12 dell poweredge servers.

On windows using powershell, this terrible script i made will send the "_shutup 20" command every 2 seconds over serial COM1
Code:
Do {

$port = new-Object System.IO.Ports.SerialPort COM1,38400,None,8,one
$var = "`r"
$port.handshake="XOnXOff"
$port.NewLine = "`r"
$port.Open()
$port.writeline($var)
$port.WriteLine("_shutup 20")
$port.Close()

sleep 2

}

while ($true)
This will pull the temp data
Code:
$port = new-Object System.IO.Ports.SerialPort COM1,38400,None,8,one
$var = "`r"
$port.handshake="XOnXOff"
$port.NewLine = "`r"
$port.Open()
$port.writeline($var)
$port.WriteLine("_temp_rd")
Sleep 1
$read = $port.ReadExisting()
$port.Close()
$read
pause
Im wondering if someone could clarify something for me. First of all thank you @WalkinTheWoods for taking the time to write this out, I have an SC200 coming tomorrow and it will be connected to an r720 running windows server 2019.

Im a little confused here on the set up to get this going and make the script permanent, i understand I can run the commands via telnet to change the fan speeds but where does the script get saved to? Do i connect the password reset cable from my r720's serial port to the sc200 and then run the powershell commands on my r720 (running windows server 2019)

Or do i get a laptop and purchase the below serial to usb adapter and run the above script from the windows laptop....but then how will it keep running after I disconnect the laptop?

Apologies if theyre silly questions, im comfortable doing the above just unclear on how this is set up.

pw reset cable: Dell Password Reset Service Cable MN657 MD1000 MD1200 MD1220 MD3000 MD3200 3200i | eBay
serial rs232 to usb adapter: https://www.amazon.co.uk/StarTech-com-USB-Serial-Adapter-Powered/dp/B004ZMYTYC
 

clarejor

New Member
Jun 4, 2021
1
0
1
Does anyone know how to set the fan speeds on an MD3200? I was able to do so on the MD1200 just fine, but the MD3200 is different. The same "password reset" cable works, and I was able to get to the Service Interface Main Menu by following the steps here (although I had to try a few different baud rates to get it working). However there doesn't appear to be any option for fan control:

Service Interface Main Menu
==============================

1) Display IP Configuration
2) Change IP Configuration
3) Reset Storage Array Administrator Password
4) Display 7-segment LED codes
Q) Quit Menu

I also wonder if anyone knows how to modify the backplane to accept MD1200 EMM controllers? Simply plugging them in did not work for me.
 

bmearnhardt

New Member
Apr 5, 2021
4
1
1
You can use the sg_ses command to get the temp sensor and fan data from the SC220 so it should also work with the SC200. I just did it on a SC220 a couple weeks ago, but don't remember exactly which options I used. It was from within FreeNAS that I got it to work. The ported commands run under Windows did not seem to work and was probably related to permissions issues with Windows.
Doesn't seem to work for me. I get this error:

Code:
sudo sg_ses /dev/ttyS0
inquiry: pass-through os error: Inappropriate ioctl for device
/dev/ttyS0 doesn't respond to a SCSI INQUIRY
sg_ses failed: Inappropriate ioctl for device
Tried both with a USB to serial adapter (/dev/ttyUSB0) and straight from my Proxmox server (/dev/ttyS0). I'm only using the 3 wires. I could be missing something. I'm a complete noob with serial connections.

Nevermind. It wasn't the serial port I needed but a different connection type.
 
Last edited:

iotapi322

Member
Sep 8, 2017
66
14
8
48
I have a question about this disk shelf, I pulled the second controller so that the shutup command would stick, also so that I didn’t have to deal with the multi path.
But by me doing that did I limit myself to just 3gbs bandwidth? I am only using one sff8088 cable.
 
  • Like
Reactions: Mar

kkristof999

New Member
Jun 14, 2021
1
0
1
Today I ran into a problem. I was succesfull setting the fan speed down on my MD1200 and it worked really well. But I had to power it off and after turning it back on I haven´t been able to communicate with it through the serial service port again.

I scrolled through this forum and I found these settings:
baud: 38400
data bits: 8
stop bits: 1
parity: None
flow: XON/XOFF

These settings never worked for me and when I try to communicate with these settings I get this:
serial 384.png
PuTTY is just filling up with garbage.

Back in march I did some research and I found on this website these settings:

baud: 115200
data bits: 8
stop bits: 1
parity: None
flow: none

With these settings my MD1200 responded to the commands as expected.
But now it shows this:
serial 115.png

At least PuTTY is not filling up now, but when I type in anything I can only see part of the command:

serial 115_2.png

I tried reconnecting the serial port cable but it didn't help, restarting my notebook also didn't help.

If someone could help me I would be grateful.
Thanks
 
Last edited:

F12F12

New Member
Aug 17, 2021
1
7
3
Hi,
First time post here, joined to say I have successfully converted a MD3200 to a MD1200 by reprograming the backplane. Big thankyou to this thread that has given me pointers of what to look for. I would guess this should work for the MD1220 and MD3220 as well.

Firstly this is definitely not my area of expertise and this has been a five day crash course for me so please excuse any mistakes.

There is very mixed views on if you can convert a MD3200 to MD1200 or even the other way round, yes they use identical parts with identical part numbers but at least for me just plugging in a MD1200 controller didn't work. The back/mid plane has two EEPROM chips which as mentioned in this thread are programmed at the factory to suite the model being shipped.

So with no modification the MD1200 controller in a MD3200 chassis would have a amber light on the controller and after a few minuets the fans would spin up to full speed, oh boy are they loud. At first I tried to use the serial interface of the controller to reprogram the backplane but found it far to difficult.


Inkeddell-powervault-md1200-md3200-12-bay-sas-3.5-hard-drive-backplane-v65d0-0v65d0-61417-p_LI.jpg
Highlighted in red are the two EEPROM chips that sit in the middle of the backplane, not to be confused with the two temperature chips that sit on the outsides of the board. The black covering is easily removable by pressing a small screwdriver into the back of the pins, then it can be fitted again later.

Next I needed a EEPROM programmer, these can be found very cheaply and fast from amazon or ebay.
61LVj9OHu-L._AC_SX425_.jpg
I got a CH341A programmer, they are very cheap but make sure you get one with the clip included to save you soldering and unsoldering. Software wasn't included or any instructions with the programmer but there is lots of info on YouTube about how to use this. In short, jumper on pin 1&2, attach the clip into the board making sure pin one lines up with the red cable on the clip, clip the clip over the chip with the red cable over pin one of the chip that is marked with a white dot on the backplane PCB.

For the software there are multiple different programs that work with the programmer, I used AsProgrammer 1.4.1 some of the other software would just repeat the first line over and over.
To set up the software you need to tell it that the chip is a 24C64 that's under IC > l2C > _24Cxxx This should match what is printed on the top of the chip. Also check the hardware tab is set to CH341A
You should now be able to read the chips, adjust the clip if not, it can be a bit tricky to get it perfect.

So this is my MD3200 dump
MD3200 hex dump.PNG

Highlighted are a few key parts, the serial number is here but split into two parts, should match what's on your sticker. Also the model here as a MD3200 and the HOGS_SAS not entirely sure but its important. Also the firmware version of the last connected controller I believe is the 1.06 The rest of the chip is blank with 00's after the random bit at 0x000002F0 was different on all of my boards, not figured out what it's for.

So first thing is you can't just change the model number and be done, that would be too easy. The MD1200 has some sort of checksum which I haven't been able to pin down. Here is a reading from my working stock MD1200:

MD1200 hex dump.PNG
I was well out of my depth here but All I could figure out was that every 8 bytes (I think) the 8bit checksum (2's complement) came back as 00. But it being a checksum you can rearrange numbers that are already there and get the same checksum, important if you are converting multiple MD3200 as they won't work with the same serial number here, just swap a pair of numbers in the serial number section.

Finally if you are testing outside of the chassis, the control panel card must be connected otherwise the out port won't work and you won't get any drives showing up, this added a whole day on to the job for me.

I have attached a zip folder with both the MD3200 and MD1200 dumps, they don't open properly in notepad but they work in AsProgrammer.

Another Final important thing, Both chips need to be programmed the same, that's the FRU and the VPD chips are marked on the PCB. a mismatch is what causes the MD3200 to go onto lockdown.

You can just take my files and program them straight to the chips or if you are converting multiple devices to work together you will need to rearrange the serial number so they are unique, as always take backups before modifying.

Obviously this is all at your own risk and don't expect any help from dell with this.
 

Attachments