November 2020 UPDATE:
I’ve uploaded a newer version of this project to YouTube. This method achieves the same goals as before but all without opening the Steelhead device!
From this point on I will be using YouTube to document all my projects, and also embed the videos with some additional info to this blog.
Please subscribe to my channel to stay informed of new projects.
The old method of hacking the Steelhead I’ve kept below, for posterity. Thanks to all who contributed.
The below method to hack your Steelhead and install pfSense is OBSOLETE, please see above YouTube video for best way to hack your Steelhead.
[Note from Aug/2020. There are a considerable number of comments at the bottom of the page with loads of advice from many people. Be sure to check them out]
Having worked quite extensively with all Riverbed devices in the past I knew how much of a great deal I was getting when I bought a used CX755 for $100.
Hardware specs:
- 4GB RAM
- 1.66GHz Intel Xeon processor
- 6 gigabit NIC’s**
- 160GB SSD
- 250GB HDD
- NVRAM of unknown size
- Very sturdy build
- Small form factor
- Minimal power consumption (compared with a PC)
**
4 of the 6 NIC’s are used for data optimisation. This means that each pair of NIC’s (2 pairs on this device) share a layer 3 (IP) address called an “inpath” interface. I don’t know whether this means I won’t be able to use those interfaces, but for my purposes I only need 2 NIC’s. So I will use AUX and Primary.Both Primary and AUX are ‘normal’ interfaces. Primary is used for managing the device (among various other optional optimisation-related uses) and the AUX is for various uses, some of the more common are for connecting to other SH (Steelhead) devices for datastore synchronisation, interface used in virtual environments, or out-of-band management.
The inpath interfaces are the 4 NIC’s on the left. Far right is AUX and the one beside that is Primary.
The below steps will allow you to just about install any OS you like on the 755. So long as the OS supports headless mode. My intentions are to install pfSense on it. This is an open source network firewall distribution made with FreeBSD.
Step 1 – Open the case
There are two phillips-head screws on the back along the top. Remove these and then slide the top panel away from the front fascia.
[I had already replaced the Intel 160GB SSD with the SanDisk 120GB SSD you see in the pic]
At the top is the power supply, don’t touch this!
Below is a black plastic shroud used for cooling. It is important you use this whenever you have the device powered up, otherwise the CPU and chipset can overheat and cause the system to be unstable.
Remove the black plastic shroud
- CPU heat sink
- Chipset heat sink
- SSD and HDD (HDD is under the SSD)
These are connected to the board using what looks to be a PCIe 2x SATA riser - 3 very loud fans
- 2x 2GB RAM
- Under this SD card is a flash memory chip soldered on to a board which connects to a USB riser (more on this later)
- PSU (do not touch!)
- Relays for inpath interfaces
- There is no 9
Normally, the SH will boot from the flash memory (#6 in the pic above). The SSD is used for the data-store (for optimisation purposes) and the HDD is for other things like virtual machines etc.
The BIOS is password protected so we can’t change where the machine boots from (and I am not sure if PXE boot is enabled, I had no way to test it). So this means we need to boot from the flash memory.
Step 2 – Unscrew and remove the flash memory
There is one phillips-head screw holding it in place. Remove this and slide the board up.
The flash memory pulled out of the device.
At first I thought it was some mSATA thingy I hadn’t seen before, but then I realised the pins on the board are in the USB riser configuration. So I tried connecting a USB riser plug in to it (if your PC has USB ports on the front then it likely has this riser plug inside it connecting to the motherboard) and sure enough I was able to boot a USB memory stick from it.
Step 3 – Plug in your own USB riser plug
A USB riser allows for two USB devices. The one inside the SH has only one enabled,
so if you can’t boot then try using the other one.
Now it is a simple matter of booting from your USB memory stick.
The SH has no graphics card, only serial via an RS-232 interface (use a baud of 9600 for communication), so an installation disk that supports headless mode is needed.
In my case I chose to install pfSense on the 160GB SSD. The SSD then has a bootloader installed on it and in an ideal world we would go in to the BIOS and tell it to boot from the SSD. But because we can’t do that, we need to install a bootloader on a USB flash drive (a small and cheap one will do as it will only have a bootloader on it) and then point it to the SSD to boot from there. So the boot flow will be PowerOn > BIOS > USB riser port > SSD > OS boots.
Now, at this point we may part ways. There are several options you have at this point:
- Install your OS on a USB drive, and then boot from it using the USB riser.
This is probably the easiest one. You can just leave the USB memory stick plugged in to the riser in the case. To install on to a different USB drive just plug that stick in to one of the USB ports on the front of the SH. - Install your OS on the flash memory thingy that came with the SH.
I haven’t actually tried this, but am thinking you could either try PXE booting and then installing on the memory thingy; or you could try plugging the memory thingy in to a USB riser on another PC and install it there, then shift it back to the SH. - Install your OS on the HDD or SSD inside the SH.
This is what I plan to do, so if you want to do this too then read on below.
Step 4 – Boot from USB
Provided you have created a bootable USB which will work in headless mode (ie. via a serial interface) then you should be able to boot from your USB. If you are booting pfSense remember that after BIOS pfSense changes your serial baud rate to 115200, so be sure to change it.
During the setup process I tried to install pfSense on my 120GB SSD and when that failed I tried the 160GB SSD the SH came with. Both failed during the below stage of creating drive partitions and mounting.
No matter what I did I couldn’t get past this stage. I tried different disks, creating the partitions on another *nix, swapping disks, etc… but nothing worked. The problem seemed to be when creating the Union Filesystem. So I concluded it must be some kind of access needed to the disk which I can only change in BIOS (perhaps enable/disable AHCI?). So I tried using a USB to SATA converter and viola! it worked!
Now we have pfSense installed on the SSD, but we can’t tell BIOS to boot from the SSD. We are stuck booting from the internal USB riser.
UPDATE: September 2018
Default BIOS password is MINNOW
Thanks to Wade who mentioned this in the comments.
Step 5 – Create bootloader on USB
I am a Linux man, but I had never used FreeBSD and the differences are staggering. At this point I began to research online and spoke to a few of the nice folks over at #freebsd on freenode IRC. Huge shout-out to ketas and especially tsoome from the channel for helping me along.
Resources:
https://www.freebsd.org/doc/handbook/boot-introduction.html
https://www.freebsd.org/cgi/man.cgi?query=boot&apropos=0&sektion=8&manpath=FreeBSD+10.3-RELEASE+and+Ports&arch=default&format=html
For the USB image whose bootloader we will commandeer we will use FreeBSD i386 memstick image.
Protip: dd the image to a USB. I tried using Rufus (in Windows) and it would cause problems during the boot process. It took me a while to figure it out because it wasn’t a hard failure.
Protip2: Although you don’t plan on installing FreeBSD, you may need a HDD plugged in to the PC for it to boot to the installation wizard.
Once the image is written to USB, boot it on a PC (not the SH) and drop to shell once the installer wizard is shown.
Inside shell, run the command camcontrol devlist . This will give you a list of devices. You should see the USB drive you are booting from here, take note of the device name (eg. da0) then run:
fdisk -B -b /boot/boot0sio <device>
This will change the stage0 boot process so that it outputs to the serial console (9600 baud). So now you can plug in the USB to the SH and boot it, which is exactly what we will do.
Step 6 – Boot from USB on the SH
At this point you should have the USB plugged in to the USB riser in the SH and the HDD/SSD plugged in which has pfSense installed on it.
While booting there may be a long delay between BIOS and bootloader, be patient and give it a couple of minutes. Once booted, you will see the FreeBSD installation wizard again (but now with ASCII art!). Drop to shell again.
mount -uw / #remount read-write
vi /boot/loader.conf #open this file to add the below lines
console=comconsole
currdev-“disk1s1a:”
If disk1s1a is not the right disk/partition then you can press ESC at the bootloader menu to go to the OK prompt. Type show currdev to show the current device you are set to boot from, this would be the USB. Then type lsdev and find the other UFS partition. This will be the pfSense partition you want to boot. You will see the disk name to use in the loader.conf file.
Save the file and reboot. Now if you leave it alone to fully boot it should load pfSense!
Step 7 – Make a connector for your USB
Your USB will be used to boot pfSense from now on. So you should make it nice and comfortable in its new home. Get some plugs and pins and make it a cable like in the pics below. Then you can close up the case for good. Any upgrades you do to pfSense shouldn’t change anything you have done, unless they upgrade/change their bootloader (which is unlikely anytime soon).
Grab one of the above cables and cut it in half. Strip the ends and create a new header connecting using the colour order seen in below pic.

The row of USB headers closer to the HDD bay is the only one that works. Red/VCC wire is closest to RAM. Wrap the USB in tape or heatshrink to avoid shorting.

Be sure to put the plastic shroud back in place for proper cooling.

If you’re not comfortable with soldering then you could use one of these, but you may struggle to fit it in the case.
Step 8 – Profit!
You should now have your Riverbed Steelhead x55 series WAN Optimizer functioning as a pfSense firewall. Congratulations!
Fin.
Postscript: Newer version of pfSense have a problem with throttling CPU to control temperature and power consumption. See here to fix: https://redmine.pfsense.org/issues/5739
The changes will need to be done on the /boot/device.hints file on the USB.
Post-postscript: After installation you may notice the cooling fans are very noisy and they don’t vary in speed depending on temperature. To fix this see this post.
ADDENDUM (28/9/18):
Thank you to all those who have added invaluable information in the comments section. One contributor, Jim (https://www.reformat-computer.de/), was helpful enough to provide very specific instructions on how to have the bypass ports enabled which I will details below.
WARNING: You will require some specialised equipment (soldering iron & SMD rework gun) and mediocre skills at soldering.
The CX555 has 1 in-path interface (2 ethernet ports), the CX755 has 2 in-path interfaces (4 ethernet ports). The procedure for both is the same, but the CX755 had an additional piece.
Below circled in yellow is the section of board where your work will be done.
With the CX555 (image below) you must remove the large IC near the bottom along with the two small inductors between the MOSFETs.
With the CX755 (image below) there are two more MOSFETs and two more inductors. You need to remove the two additional inductors.
Then you connect up the +5v power (get this from the USB riser, see main post) to the solder pads as per below. I have only tested this with the bottom two pads and can only guess which two pads must be powered for the top two pads, which is why I put a ? in the image (can someone please confirm which pads should be used?).
Once again, thanks to Jim for providing all the above information.
October 28, 2016 at 12:45 pm
Whao, this is professional training. i love it. it give me more inside simple solution on working on all Riverbed devices. I must definitely bookmark this page for my friend to learn the same thing.
Thank you for the training.
October 28, 2016 at 2:31 pm
You’re welcome. Glad it came in handy for you.
October 29, 2016 at 12:53 am
Thank you for showing us how to make a Riverbed Steelhead. This is a great and simple way to create a firewall. Much appreciated!
November 3, 2016 at 4:02 am
I have never thought of doing this before. It seems like quite an unique idea. I actually think my Dad might benefit from this article, he was talking about doing something similar recently, so he might find this quite useful.
November 3, 2016 at 10:34 am
Thanks for reading. Recommissioning an older device is always the best way to learn 🙂 Good luck to your dad with his project.
December 7, 2016 at 7:15 am
HI, I have a riverbed steelhead 255 that needs repairing. Is this something you can help me with?
December 7, 2016 at 9:53 am
Sure. I will try to help you out. What is the problem?
December 20, 2016 at 5:13 am
as somebody whos worked for Riverbed for 5+ years, i love seeing stuff like this.
February 24, 2017 at 12:12 am
Thank you for this excellent lesson.
I have a question. Is it possible to connect the flash memory removed from the Riverbed to a USB port on your PC?
I guess that for connecting it to an Arduino or Raspberry Pi drivers are needed? If any one has info on that…….
February 28, 2017 at 11:14 am
Yes. The flash memory on the device uses the standard USB pin header that you find on many motherboards (but it is the male instead of female). Check out the blog post to see how you can wire it up to connect to a standard USB plug.
February 28, 2017 at 4:29 pm
Yes. You can connect it via USB plug to a computer. You would need to fabricate a connector though which connects the 4 wires for USB. Check out the post for more details on how to wire it up. You would be best off connecting it to a Linux machine, as the Steelhead runs on Linux (Scientific Linux distro if I remember correctly). I dont know what filesystem it has, but I cant imagine it would be difficult to find out.
February 28, 2017 at 5:40 am
In case anyone wants to avoid some hassle, on the Steelhead 250 at least, try the BIOS password MINNOW. Static build of cmospwd on CentOS 4.9 for the win.
February 28, 2017 at 11:07 am
Thanks for that.
April 27, 2017 at 12:13 am
I’m curious about this. Are the Steelheads useless once the licenses on them have expired? If you hook a pair up, will they even function? Or is this the fate of all the Steelheads on eBay (and eventually all Steelhead hardware, I suppose)?
April 27, 2017 at 5:29 pm
It depends on the version. I am not familiar with the newer versions, but older ones (I think about 6.x and older…) won’t go unlicensed once licensed. What expires is the support contract, but the device will keep working if the hardware is. There is a ‘phone home’ feature in them which talks back to Riverbed and provides anonymous information about the device, including licensing. I am guessing this is used to verify the device has a valid license (not sure as I haven’t looked in to it in many years and have forgotten). This is on by default but can be disabled using a command, which I forgotten what it is. It uses DNS to do this, so worst case you could prevent DNS requests from going out from the device at your firewall. If you have any other questions feel free to ask. Maybe I can look up some old info I have on them.
June 24, 2017 at 7:01 am
Very good article!
I´m from Brazil and have some Riverbed Appliances 1050 and i try to install the Vmware Esxi, but i can´t install anything on this. In the first time, they show me a message > chassi intrusion detection. I will try again.
Tks for you post, they help me to lot!
July 21, 2017 at 9:51 am
Hey, nice tutorial dude. I just found out that you can enter the bios. First take out any drives (HDD and the USB SSD) I was able with a connection over serial port under Lubuntu with putty over Baudrate 9600. It starts showing the bios bootscreen and from that hit like an idiot the tab and esc/delete. than you will enter the bios. Maybe, you have to enter a password. Mine was “minnow” and then you can change under “BOOT” the option USBONLY (or something like that) change it to disable. Then use an usb Stick with psense image and plug it into an normal usb port. next step ist to connect the hdd you want to use to the internal usb port where the 2gb ssd was. just install pfsense. Remember that in the setup menu you have to choose em2 and em3 for Wan and Lan. then. Reboot the firewall -> check with putty baudrate 115200 if it shows the normal pfsense screen and that the ip adresses for lan and wan are right. Next Step shutdown the firewall (6 Halt System) in the menu. When its completly turned off. Just take the hdd and put it into the hdd caddy via (i think its) pci (Normal place for the HDD). So that nothing is plugged into the internal usb port. Just start the system and you have a perfect Pfsense Firewall 🙂 Have fun with it. In my case it was a steelhead 550. But it looks pretty much the same. Ahh and only i386 image will work. And one inormation more, i tryed to install pfsense when the hdd was plugged into the normal pci port but it was always falling. I don´t know why but the trick via internal usb worked. Sorry for my bad english. But i hope that its usefull for someone 🙂 Best Regards, Paul
July 21, 2017 at 11:02 am
Hey Paul. Thanks very much for this detailed explanation! This would be very helpful for others who would prefer to boot direct from HDD and not use USB like in my method.
December 27, 2017 at 6:54 pm
hi
Using the same 550 steelhead
in the bios section boot
USB2DOM Boot Only [Disabled]
otherwise it does not boot from the internal Sata-SSD
January 12, 2018 at 4:52 pm
I recently found two of the riverbed 250 devices for a good price and I have been digging into just what hardware is in them.
There is a few bits of information scattered through the pfsense forums on the hardware;
The CPU is the Sossaman series of Xeon processors. I successfully upgraded my units to 2.00 GHz dual core processors. (SL8WT)
I am waiting on a core2duo 7400 processor for testing to see if I can get 64-bit os support. (SL9SE hopefully works)
The chipset is the Intel 3100 embedded chipset. It is an interesting server chipset that can allow even consumer processors like the core2duo have ecc memory support. (see also Lippert Thunderbird e3100)
It also supports up to 16gb of ddr2 ecc ram.
I upgraded my units with 2x8gb pc2-5300p dimms and now have more ram than common sense for a dual core 32 bit machine.
The bios is pretty standard once you connect over serial. 9600-8-n-1 during boot, and you should see a spash screen. Minnow is the default password, which can be disabled through the menu by overwriting with nothing.
You can change most settings the you would find in a basic bios. CPU, chipset, sata, boot, etc.
I have also been prying into the bypass function in the hopes of disabling it. It was described on the pfsense forums with some accurate details, but I am having issues disabling it permanently. I am hoping to hold the relays in the correct position, but there is no real information on how it is interconnected between the two nics and the bridging interface.
January 12, 2018 at 6:43 pm
Great to see others using the Steelhead with pfSense. Since I did this project it has been working like a dream without any issues. I haven’t had any problems with the relays flipping. pfSense shows I have all the NICs available, although I am only using two of them and haven’t tested the others. Remember, if you’re using a PoE switch then you will need the PoE adapter (they usually come with the Steelhead).
March 9, 2018 at 9:33 am
For the sake of historical accuracy…
There seems to be a distinction between 478/socket M and 479/socket P that conventional processors use (not xeon) and the socket on the Steelhead.
A t7400 socket M processor is not electrically compatible and will release “burning electronics” smell during POST.
I am not sure if I want to risk my other device in an attempt to get 64-bit support testing a 479/socket P, and I think the socket pinout is different, so the Steelhead may in fact be limited to only the sossaman Xeon series of CPU’s.
December 1, 2018 at 7:21 am
So there is no way to have 64 bit support ?
February 12, 2018 at 10:29 pm
Is there a way to add graphics capabilities to a Riverbed Steelhead 550?
For the possible use of a GUI.
February 15, 2018 at 8:02 am
I suppose a USB gfx card may work, but I’ve never tested it.
February 27, 2018 at 1:04 pm
Hey, I came across this on a German forum (converted with google translate) This might be what we are looking for?
Tool for setting LAN / WAN mode on riverbed servers
https://github.com/c0d3z3r0/rbmode
I’d be interested to see if it works, I have an earlier 550H riverbed kicking about which I am planning to do similar things to, but I have not started the above installation yet. Credit from here:-
https://forum.ipfire.org/viewtopic.php?t=15273
September 11, 2018 at 7:41 am
Hi, thought maybe you might know about the Steelhead 1050. I have 2 in use as wan accelerators. I replaced the MB on one (couldn’t even putty into it anymore), now it works except the licenses say invalid. I left the processor and BIOS chip in that came with the replacement board. I don’t know what the licenses are tied to. Do you know? Should I replace the processor and BIOS chip that were on the failed board into the new board? I appreciate your help if you can.
Howard
September 22, 2018 at 10:32 pm
Hey mate. It’s been a while since I touched these things, but from memory there is a thing called a SPORT ID (aka segstore ID). This thing is set at factory and tied to serial # and mac address of Primary interface. I know it can be changed later on, but must be unique to each Steelhead.
I am not 100% sure, but I *think* this may be tied to the license.
You should be able to find your sport ID in the system dump (sysdump/output/configfile.xml) but this information is about 4 years old and could have changed by now.
September 22, 2018 at 10:38 pm
Did some digging around. I am fairly confident the license is tied the MAC of the Primary interface. It has nothing to do with the sport ID, that was a red herring. Good luck!
Let us know how you go.
September 16, 2018 at 1:30 am
Hi,
I have been using quite a few of those Steelhead SH550 appliances and discovered a way to enable the 4 Bypass lan ports. All what is needed it soldering out 3 parts from the mainboard and solder two wires from the integrated usb port to some solderpads. If anyone needs information on how to do this feel free to contact me. I recently got a CX570 and will mod the mainboard as well.
September 22, 2018 at 9:47 pm
Yes! I would love to know how to do this. Please let me know and I will update this blog post with the details. Thanks.
February 24, 2019 at 11:39 am
How to enable bypass lan ports my machine mode stellhead 550 sevices;Think you!
August 8, 2019 at 6:22 pm
Hi Jim,
have you been able to modify the inpath ports of your CX570 ? Can you use the interfaces as normal Ethernet ports ?
best regards
Andreas
August 13, 2019 at 5:12 pm
Hi Andreas,
Yes you can! As long as you do the modifications to the Mainboard. Or you go for the software solution which actually works (seen it with my own eyes). But in my opinion the hardware modifications are a lot easier than getting this python stuff to run. I’m more of a hardware than a software guy 😉
September 23, 2018 at 1:47 am
Hi,
I can’t tell you guys about any sport ID or so because i never intended to use it with the supplied software.
The LAN ports function is controlled by the small Atmel microcontroller U42. The Atmel Controller is connected straight to the SMBus. With a logic analyzer it should be easy to discover which address the microcontroller listens to since the relays are switched during boot process.
The correct commands would be trial and error. Each port does have 3 possible states. Bypass/NC/Normal.
Only the Bypass function is controlled by the relais. The rest is done by some multiplexer IC’s underneath the mainboard which are controlled by the microcontroller as well.
I still got quite a stock of those small servers but I don’t have any intention to spend anymore time into them because they only have a 32bit CPU and nothing else fits in… So the Logic analyzer stuff needs to be done by someone else 😉
Here a small guide what to do to activat the ports the hardware way…
1. desolder U42
2. desolder FB22 (small inductor between U40 and U41)
3. desolder FB24 (small inductor between U40 and U41)
4. now you have 4 unconnected solder pads. The one which is facing the front I will call PAD1 and the one facing the back I will call PAD4.
PAD1: +5V
PAD2: N.C.
PAD3: GND
PAD4: N.C.
The easiest spot to get GND and +5V from will be the internal USB port.
I send Edward a few pictures of what to do and i think he will post them on this Blog.
Best Wishes,
Jim
P.S. sorry for my poor english but I hope everything is understandable
February 24, 2019 at 1:03 am
i according to your “1. desolder U42
2. desolder FB22 (small inductor between U40 and U41)
3. desolder FB24 (small inductor between U40 and U41)
4. now you have 4 unconnected solder pads. The one which is facing the front I will call PAD1 and the one facing the back I will call PAD4.
PAD1: +5V
PAD2: N.C.
PAD3: GND
PAD4: N.C.
The easiest spot to get GND and +5V from will be the internal USB port.”
and after my machine don’t power up .board display FF ,it’s not working.
why ?
August 3, 2019 at 3:41 am
Did anyone try ?
https://github.com/c0d3z3r0/rbmode
August 3, 2019 at 9:47 am
Next time i build another one of these machines I will use it. Thanks for sharing.
November 18, 2018 at 8:01 am
Thanks for your tutorial 😉
Managed to install Synology DSM on my Riverbed 1050 ;D (bootloader on the USB SSD disk and the main OS on the hard drive).
I have also soldered new DDR2 Slots on the device(designed on the motherboard but not soldered by default).
November 25, 2018 at 4:21 am
Hi… Great job… Can you help me? I have a SHA-02050-L that don’t boot … See my serial output:
USB Device(s): 1 Storage Device
Auto-Detecting AHCI PORT 1..IDE Hard Disk
Press any key to continue…ID E5405 @ 2.00GHz
Press any key to continue.locking = 667MHz
Press any key to continue.
Press any key to continue.
Press any key to continue…IDE Hard Disk
Press any key to continue.
Press any key to continue.
Press any key to continue.
Press any key to continue.
Press any key to continue.
PORT 2..IDE Hard Disk
Auto-detecting USB Mass Storage Devices ..
Device #01 : ATP 2GB eUSB-B *HiSpeed*
GNU GRUB version 0.95 (635K lower / 3668736K upper memory)
0085
——————————————————————-
0: Riverbed Steelhead Software v. 6.1.3a (64bit)
1: Riverbed Steelhead Software v. 5.5.4 (64bit)
——————————————————————-
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, ‘e’ to edit the
commands before booting, ‘a’ to modify the kernel arguments
before booting, or ‘c’ for a command-line.
Entry 1 will be booted automatically in 1 seconds.
Booting ‘Riverbed Steelhead Software v. 5.5.4 (64bit)’
root (hd0,2)
Filesystem type is ext2fs, partition type 0x83
kernel /vmlinuz ro root=LABEL=ROOT_2 console=tty0 console=ttyS0,9600n8
[Linux-bzImage, setup=0x1400, size=0x29040b]
initrd /rbt-initrd.img
[Linux-initrd @ 0x37f2e000, 0xc17e5 bytes]
Bootdata ok (command line is ro root=LABEL=ROOT_2 console=tty0 console=ttyS0,9600n8)
Linux version 2.6.9-34.EL-rbt-4191SMP (root@nusaybin.lab.nbttech.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Tue Jul 7 10:28:44 PDT 2009
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 – 000000000009ec00 (usable)
BIOS-e820: 000000000009ec00 – 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 – 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 – 00000000dffc0000 (usable)
BIOS-e820: 00000000dffc0000 – 00000000dffce000 (ACPI data)
BIOS-e820: 00000000dffce000 – 00000000dffe0000 (ACPI NVS)
BIOS-e820: 00000000dffe0000 – 00000000dffee000 (reserved)
BIOS-e820: 00000000dfff0000 – 00000000f0000000 (reserved)
BIOS-e820: 00000000fee00000 – 00000000fee01000 (reserved)
BIOS-e820: 00000000ffb00000 – 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 – 0000000120000000 (usable)
No NUMA configuration found
Faking a node at 0000000000000000-0000000120000000
Bootmem setup node 0 0000000000000000-0000000120000000
No mptable found.
DMI present.
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 6:7 APIC version 16
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 6:7 APIC version 16
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
Processor #2 6:7 APIC version 16
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
Processor #3 6:7 APIC version 16
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x84] disabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x85] disabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled)
ACPI: LAPIC_NMI (acpi_id[0xff] high dfl lint[0x1])
Setting APIC routing to flat
ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 4, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Using ACPI (MADT) for SMP configuration information
Checking aperture…
Built 1 zonelists
Kernel command line: ro root=LABEL=ROOT_2 console=tty0 console=ttyS0,9600n8
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 131072 bytes)
time.c: Using 3.579545 MHz PM timer.
time.c: Detected 1995.040 MHz processor.
Console: colour dummy device 80×25
Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
Placing software IO TLB between 0x5ba1000 – 0x9ba1000
Memory: 4042580k/4718592k available (3604k kernel code, 0k reserved, 2030k data, 196k init)
Calibrating delay using timer specific routine.. 3994.34 BogoMIPS (lpj=1997174)
Mount-cache hash table entries: 256 (order: 0, 4096 bytes)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
using mwait in idle threads.
CPU0: Physical Processor ID: 0
CPU0: Processor Core ID: 0
CPU0: Initial APIC ID: 0
MCE: warning: using only 6 banks
ACPI: System reset via FADT Reset Register is supported
X86_FEATURE_ARCH_PERFMON ON
Using local APIC NMI watchdog using perfct0
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
CPU0: Physical Processor ID: 0
CPU0: Processor Core ID: 0
CPU0: Initial APIC ID: 0
CPU0: Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping 0a
per-CPU timeslice cutoff: 1837.50 usecs.
task migration cache decay timeout: 2 msecs.
Booting processor 1/1 rip 6000 rsp 10009c55f58
Initializing CPU#1
Calibrating delay using timer specific routine.. 3989.43 BogoMIPS (lpj=1994719)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
CPU1: Physical Processor ID: 0
CPU1: Processor Core ID: 1
CPU1: Initial APIC ID: 1
MCE: warning: using only 6 banks
Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping 0a
Booting processor 2/2 rip 6000 rsp 100dff0df58
Initializing CPU#2
Calibrating delay using timer specific routine.. 3989.45 BogoMIPS (lpj=1994729)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
CPU2: Physical Processor ID: 0
CPU2: Processor Core ID: 2
CPU2: Initial APIC ID: 2
MCE: warning: using only 6 banks
Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping 0a
Booting processor 3/3 rip 6000 rsp 100dff43f58
Initializing CPU#3
Calibrating delay using timer specific routine.. 3989.44 BogoMIPS (lpj=1994722)
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
CPU3: Physical Processor ID: 0
CPU3: Processor Core ID: 3
CPU3: Initial APIC ID: 3
MCE: warning: using only 6 banks
Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping 0a
Total of 4 processors activated (15962.68 BogoMIPS).
Using local APIC timer interrupts.
Detected 20.781 MHz APIC timer.
checking TSC synchronization across 4 CPUs: passed.
Brought up 4 CPUs
testing NMI watchdog … OK.
Disabling vsyscall due to use of PM timer
time.c: Using PM based timekeeping.
checking if image is initramfs… it is
NET: Registered protocol family 16
PCI: Using configuration type 1
PCI: Using MMCONFIG at e0000000
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040816
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Transparent bridge – 0000:00:1e.0
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs *5)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 6 7 10 11 12 14 *15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 6 *7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 6 7 10 11 12 *14 15)
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
Loading RVBD MD Module Version [2.6.23-rvbd]
PCI: Using ACPI for IRQ routing
ACPI: PCI interrupt 0000:00:08.0[A] -> GSI 20 (level, low) -> IRQ 169
ACPI: PCI interrupt 0000:00:1a.0[A] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:00:1a.1[B] -> GSI 21 (level, low) -> IRQ 185
ACPI: PCI interrupt 0000:00:1a.7[C] -> GSI 18 (level, low) -> IRQ 193
ACPI: PCI interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 201
ACPI: PCI interrupt 0000:00:1c.4[A] -> GSI 17 (level, low) -> IRQ 201
ACPI: PCI interrupt 0000:00:1c.5[B] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 209
ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 217
ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 193
ACPI: PCI interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 209
ACPI: PCI interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 217
ACPI: PCI interrupt 0000:00:1f.3[C] -> GSI 18 (level, low) -> IRQ 193
ACPI: PCI interrupt 0000:0a:00.0[A] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:0a:00.1[B] -> GSI 17 (level, low) -> IRQ 201
ACPI: PCI interrupt 0000:09:00.0[A] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:09:00.1[B] -> GSI 17 (level, low) -> IRQ 201
ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 177
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 201
PCI: Cannot allocate resource region 0 of device 0000:00:08.0
PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
audit: initializing netlink socket (disabled)
audit(1543018170.561:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
SGI XFS with security attributes, large block/inode numbers, no debug enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
ksign: Installing public key data
Loading keyring
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: Processor [P001] (supports C1)
ACPI: Processor [P002] (supports C1)
ACPI: Processor [P003] (supports C1)
ACPI: Processor [P004] (supports C1)
Real Time Clock Driver v1.12
Linux agpgart interface v0.100 (c) Dave Jones
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled
▒ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Using deadline io scheduler
floppy0: no floppy controllers found
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
HP CISS Driver (v 2.6.10-13S)
Intel(R) PRO/1000 Network Driver – version 7.4.35
Copyright (c) 1999-2007 Intel Corporation.
Intel(R) PRO/1000 Network Driver – 0.2.0
Copyright (c) 1999-2007 Intel Corporation.
ACPI: PCI interrupt 0000:0a:00.0[A] -> GSI 16 (level, low) -> IRQ 177
MSI INIT SUCCESS
0000:00:02.0: eth0: (PCI Express:2.5GB/s:Width x4) 00:0e:b6:98:16:55
0000:00:02.0: eth0: Intel(R) PRO/1000 Network Connection
ACPI: PCI interrupt 0000:0a:00.1[B] -> GSI 17 (level, low) -> IRQ 201
0000:00:02.0: eth1: (PCI Express:2.5GB/s:Width x4) 00:0e:b6:98:16:54
0000:00:02.0: eth1: Intel(R) PRO/1000 Network Connection
ACPI: PCI interrupt 0000:09:00.0[A] -> GSI 16 (level, low) -> IRQ 177
0000:00:03.0: eth2: (PCI Express:2.5GB/s:Width x4) 00:0e:b6:98:16:53
0000:00:03.0: eth2: Intel(R) PRO/1000 Network Connection
ACPI: PCI interrupt 0000:09:00.1[B] -> GSI 17 (level, low) -> IRQ 201
0000:00:03.0: eth3: (PCI Express:2.5GB/s:Width x4) 00:0e:b6:98:16:52
0000:00:03.0: eth3: Intel(R) PRO/1000 Network Connection
ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 177
0000:03:00.0: con_dump_register: page size=32, npages=64, first page=192, word_size=4096
0000:00:1c.4: eth4: (PCI Express:2.5GB/s:Width x1) 00:0e:b6:3d:eb:99
0000:00:1c.4: eth4: Intel(R) PRO/1000 Network Connection
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 17 (level, low) -> IRQ 201
0000:00:1c.5: eth5: (PCI Express:2.5GB/s:Width x1) 00:0e:b6:3d:eb:98
0000:00:1c.5: eth5: Intel(R) PRO/1000 Network Connection
Intel(R) Gigabit Ethernet Network Driver – version 1.2.22
Copyright (c) 2007-2008 Intel Corporation.
pcnet32.c:v1.31 29.04.2005 tsbogend@alpha.franken.de
e100: Intel(R) PRO/100 Network Driver, 3.4.8-k2-NAPI
e100: Copyright(c) 1999-2005 Intel Corporation
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide-floppy driver 0.99.newide
megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006)
megaraid: 2.20.4.9 (Release Date: Sun Jul 16 12:27:22 EST 2006)
3ware 9000 Storage Controller device driver for Linux v2.26.05.007.
ACPI: PCI interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 217
ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq stag pm led clo pio slum part
ata1: SATA max UDMA/133 cmd 0xFFFFFF0000004900 ctl 0x0 bmdma 0x0 irq 90
ata2: SATA max UDMA/133 cmd 0xFFFFFF0000004980 ctl 0x0 bmdma 0x0 irq 90
ata3: SATA max UDMA/133 cmd 0xFFFFFF0000004A00 ctl 0x0 bmdma 0x0 irq 90
ata4: SATA max UDMA/133 cmd 0xFFFFFF0000004A80 ctl 0x0 bmdma 0x0 irq 90
ata5: SATA max UDMA/133 cmd 0xFFFFFF0000004B00 ctl 0x0 bmdma 0x0 irq 90
ata6: SATA max UDMA/133 cmd 0xFFFFFF0000004B80 ctl 0x0 bmdma 0x0 irq 90
scsi0 : ahci
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-8, max UDMA/133, 490350672 sectors: LBA48 NCQ (depth 31/32)
ata1.00: ata1: dev 0 multi count 0
ata1.00: configured for UDMA/133
scsi1 : ahci
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: ATA-8, max UDMA/133, 490350672 sectors: LBA48 NCQ (depth 31/32)
ata2.00: ata2: dev 0 multi count 0
ata2.00: configured for UDMA/133
scsi2 : ahci
ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3.00: ATA-8, max UDMA/133, 490350672 sectors: LBA48 NCQ (depth 31/32)
ata3.00: ata3: dev 0 multi count 0
ata3.00: configured for UDMA/133
scsi3 : ahci
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata4.00: ATA-8, max UDMA/133, 490350672 sectors: LBA48 NCQ (depth 31/32)
ata4.00: ata4: dev 0 multi count 0
ata4.00: configured for UDMA/133
scsi4 : ahci
ata5: SATA link down (SStatus 0 SControl 300)
scsi5 : ahci
ata6: SATA link down (SStatus 0 SControl 300)
Vendor: ATA Model: WDC WD2502ABYS-0 Rev: 02.0
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sda: drive cache: write back
sda: unknown partition table
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: ATA Model: WDC WD2502ABYS-0 Rev: 02.0
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sdb: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdb: drive cache: write back
sdb: sdb1 sdb2 sdb3 sdb4
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
Vendor: ATA Model: WDC WD2502ABYS-0 Rev: 02.0
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sdc: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdc: drive cache: write back
SCSI device sdc: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdc: drive cache: write back
sdc: sdc1 sdc2 sdc3 sdc4
Attached scsi disk sdc at scsi2, channel 0, id 0, lun 0
Vendor: ATA Model: WDC WD2502ABYS-0 Rev: 02.0
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sdd: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdd: drive cache: write back
SCSI device sdd: 490350672 512-byte hdwr sectors (251060 MB)
SCSI device sdd: drive cache: write back
sdd: sdd1 sdd2 sdd3 sdd4
Attached scsi disk sdd at scsi3, channel 0, id 0, lun 0
Fusion MPT base driver 3.12.27.00
Copyright (c) 1999-2007 LSI Corporation
Fusion MPT FC Host driver 3.12.27.00
Fusion MPT SAS Host driver 3.12.27.00
Fusion MPT misc device (ioctl) driver 3.12.27.00
mptctl: Registered with Fusion MPT base driver
mptctl: /dev/mptctl @ (major,minor=10,220)
ACPI: PCI interrupt 0000:00:1a.7[C] -> GSI 18 (level, low) -> IRQ 193
ehci_hcd 0000:00:1a.7: EHCI Host Controller
ehci_hcd 0000:00:1a.7: irq 193, pci mem ffffff0000006c00
ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1a.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
ACPI: PCI interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 209
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: irq 209, pci mem ffffff000001c000
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 8 ports detected
USB Universal Host Controller Interface driver v2.2
ACPI: PCI interrupt 0000:00:1a.0[A] -> GSI 16 (level, low) -> IRQ 177
uhci_hcd 0000:00:1a.0: UHCI Host Controller
uhci_hcd 0000:00:1a.0: irq 177, io base 000000000000e400
uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1a.1[B] -> GSI 21 (level, low) -> IRQ 185
uhci_hcd 0000:00:1a.1: UHCI Host Controller
usb 2-5: new high speed USB device using address 2
uhci_hcd 0000:00:1a.1: irq 185, io base 000000000000e480
uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 209
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: irq 209, io base 000000000000e800
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 5
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 217
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: irq 217, io base 000000000000e880
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 6
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 193
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: irq 193, io base 000000000000ec00
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 7
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 177
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: irq 177, io base 000000000000f000
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 8
hub 8-0:1.0: USB hub found
hub 8-0:1.0: 2 ports detected
Initializing USB Mass Storage driver…
scsi6 : SCSI emulation for USB Mass Storage devices
isa bounce pool size: 16 pages
Vendor: ATP Model: 2GB eUSB-B Rev: 1100
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sde: 4014080 512-byte hdwr sectors (2055 MB)
sde: assuming drive cache: write through
SCSI device sde: 4014080 512-byte hdwr sectors (2055 MB)
sde: assuming drive cache: write through
sde: sde1 sde2 sde3 sde4
Attached scsi disk sde at scsi6, channel 0, id 0, lun 0
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
mice: PS/2 mouse device common for all mice
md: linear personality registered for level -1
md: raid0 personality registered for level 0
Loading RVBD RAID10 Module Version [2.6.23-rvbd]
md: raid10 personality registered for level 10
Crash dump driver initialized.
block device driver for LKCD registered
dump gzip safety buffer: 000001011ff9f000, 4096
NET: Registered protocol family 2
IP: routing cache hash table of 32768 buckets, 512Kbytes
TCP: Hash tables configured (established 262144 bind 65536)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI: (supports S0 S1 S4 S5)
ACPI wakeup devices:
GBE2 GBE3 P0P1 USB0 USB1 USB2 USB5 EUSB USB3 USB4 USBE P0P4 P0P5 P0P6 P0P7 P0P8 P0P9 NPE6 NPE4 PWRB
Setting up fail make_request
Freeing unused kernel memory: 196k freed
Red Hat nash version 4.2.1.6 starting
Mounted /proc filesystem
Mounting sysfs
Creating /dev
Starting udev
Creating root device
Waiting for root device
Root label found ROOT_2
Mounting root fikjournald starting. Commit interval 5 seconds
lEesystem
SwitcXT3-fs: mounted filesystem with ordered data mode.
ing to new root
INIT: version 2.85 booting
Welcome.Starting udev: [ OK ]
Initializing hardware… storage done[ OK ]
Configuring kernel parameters: [ OK ]
Setting clock (utc): Sat Nov 24 00:09:58 UTC 2018 [ OK ]
Setting hostname localhost: [ OK ]
[/sbin/fsck.ext3 (1) — /config] fsck.ext3 -a /dev/sde7
CONFIG: recovering journal
CONFIG: clean, 396/106848 files, 26299/426556 blocks
[ OK ]
Checking Disk Firmware Revisions:
Starting SW Raid Arrays
Starting: var
failed to start RAID
Unable to Start RAID Array [var]
Starting RAID Recovery for [var]
Unable to recreaStarting killall: [ OK ]
Sending all processes the TERM signal…
Sending all processes the KILL signal…
touch: cannot touch `/var/lib/random-seed’: No such file or directory
chmod: cannot access `/var/lib/random-seed’: No such file or directory
Saving random seed:
Syncing hardware clock to system time hwclock: Could not open file with the clock adjustment parameters in it (/etc/adjtime) for writing, errno=2: No such file or directory.
Drift adjustment parameters not updated.
Unmounting file systems:
Halting system…
Power down.
November 27, 2018 at 8:11 am
“failed to start RAID”
Something wrong with starting RAID. Check your disk connections and make sure powered properly.
December 2, 2018 at 2:04 am
Hi
I am currently searching for some of this devices for using it as little firewall/VPN boxes.
Did anyone have some of theses in stock ? I am french
Best Regars
December 9, 2018 at 11:52 pm
The soldering procedure is also working on the InPath interfaces of a Steelhead 1050 ?
I have also this expansion card in PCIe slot with the same problem: https://i.ebayimg.com/images/g/9jIAAOSwRXRZW6Wj/s-l1600.jpg
Best Regards
December 12, 2019 at 11:04 am
For Riverbed 1050X Models
The inpath NICs are controlled via IPMI. IPMI then reads/writes from/to the SMBUS.
Disclaimer: Different models have different byte sequences, some go thru ipmi some smbus directly. You might want to look at hw_ctl.xml on the original RIOS root partition, the definitions for different models are there. hw_ctl.py contains methods for commands to issue. Do not try these commands on different models, you can seriously damage your system!
I posted full writeup and details here towards bottom:
https://forum.netgate.com/topic/61720/pfsense-on-a-riverbed-steelhead/84
Bits Syntax: *[rr aaa bbb]; where rr=reserved bits; aaa=controls LAN1 & LAN2; bbb=controls LAN3 & LAN4
For rr – Set it to 00 when issuing commands, rr will automatically reset to 01 when system is restarted
InPath0:
Normal Mode L1 & L2: rraaa000
Disconnect L1: rraaa001
Disconnect L2: rraaa010
Disconnect L1+L2: rraaa011
Bypass L1 to L2: rraaa111
InPath1:
Normal Mode L3 & L4: rr000bbb
Disconnect L3: rr001bbb
Disconnect L4: rr010bbb
Disconnect L3+L4: rr011bbb
Bypass L2 to L3: rr111bbb
IPMI Syntax:
IPMI Can be issued either locally or thru the network, I have tested both and it works
– To Read: ipmitool [-H -U Admin -P ]
– To Write (Enable NICs): ipmitool [-H -U Admin -P ]
For those using ipmiutil (Linux/Windows) the commands are:
– Read: ipmiutil cmd [-H -U -P ] 00 20 18 52 07 30 01 00
– Write (Enable NICs): ipmiutil cmd [-H -U -P ] 00 20 18 52 07 30 00 01 00
To set it back to Bypass chage 00 to 7F for the last byte of the write command. It will do this regardless when system is restarted.
When in Normal Mode Reading will return 00 when bypass 7F
IPMI Register 0x30 corresponds to SMBUS address 0x18 you can read, but do not write to SMBUS directly!
December 12, 2019 at 11:15 am
Sorry the commands didnt post properly:
– Read: ipmitool raw 0x6 0x52 0x7 0x30 0x1 0x0
– Write (Enable NICs): ipmitool raw 0x6 0x52 0x7 0x30 0x0 0x1 0x00
– Over the network: add -H bmc-ip-address -U username -P pw after ‘ipmitool’
– Read: ipmiutil cmd 00 20 18 52 07 30 01 00
– Write (Enable NICs): ipmiutil cmd 00 20 18 52 07 30 00 01 00
– Over the network: add after ‘cmd’ -N bmc-ip-address -U username -P pw
December 12, 2019 at 11:17 am
Great! Thanks. This means soldering/desoldering no longer required. Do these commands survive a reboot?
December 13, 2019 at 4:45 am
Unfortunately no, they do not survive a reboot, at least not without additional configuration. As soon as power is lost or the OS restarts, or any point the BIOs is in control, the NICs will go back to BYP/BLK and IPMI Register 0x30 will reset back to 0x7F. I just have a script to have the NICs automatically enabled at bootup.
Some of the following may be wrong on this as I haven’t fully poke around at these settings since my goal was met after I got the NICs working.
There is a watchdog built into the system, referred to as “wdt” by Riverbed Code, and it is configured via IPMI Register 0x32. The bit pattern of this register stores whether one or both NICs should be in bypass / disconnect when power failure or system crash occurs. Officially only bypass / disconnect is supported, but I also found commented out section of code with references to a function called “wdt_disable”, so it *might* be possible to turn it off so it leaves the NICs in Normal Mode. I’m not sure what bit sequence that would be. You might be able to find out by looking at files stored in /opt/hal/bin – lots of interesting and useful code there including script named ‘bypass_ctl’
It might also be monitoring register 0x34 which becomes 0xFF when BIOs control is handed off to OS, otherwise its value is 0x0F. IPMI Register 0x3A seems to become 0xFF when NICs are enabled, otherwise it returns 0xED.
IPMI 0x36 & 0x38 might be related too although I haven’t seen their values change from 0xFF, so more probing will be required if anyone wishes to dig deeper.
December 14, 2018 at 8:16 pm
Also please note on Riverbed 1050-M, the CPU upgrade from Xeon E5205 to Xeon E5440 (Quand core) is possible. Tested with success on my server 🙂
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5440 @ 2.83GHz
stepping : 6
microcode : 0x60b
cpu MHz : 2833.000
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips : 5652.91
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
January 6, 2019 at 10:42 am
I confirm that removal of SMD will bring up the other 2 interfaces.
I tested on Steelhead 200 series.
Soldering +5v and GND is not needed for this model.
Moreover, I replaced pfSense with OpenSense . Pfsense from version 2.3.xx is not able to format the HDD and you cannot advance from this point .
January 8, 2019 at 7:48 pm
The Relays are bistable. So they will remain in the last state. If they are in the wrong state it would actually be enough to fire them up once… I Acutally managed to install pfsense. If i remember correctly it was a problem with the DMA mode but not sure about that anymore because its more than a year ago.
February 24, 2019 at 12:56 am
How to enable bypass lan ports my machine mode stellhead 550 sevices;Think you!
April 19, 2019 at 8:19 pm
I wonder after you boot another OS if the front USB ports become available?
If so, perhaps it would be possible to connect a USB graphics card and connect a monitor and keyboard as well.
Then the only remaining problem would be the fan control I guess, but that could also be solved.
August 2, 2019 at 7:29 am
The upgrade to the SL9SE processor bricked my Riverbed box (no boot anymore, even with the original CPU).
November 30, 2019 at 7:36 am
See full thread at https://forum.netgate.com/topic/61720/pfsense-on-a-riverbed-steelhead/48
kldload ichsmb
kldload smb
smbmsg -s 0x48 -c 0x55 -o 6 0x03 0xfc 0x01 0xfe 0x66 0x99
smbmsg -s 0x48 -c 0x55 -o 6 0x03 0xfc 0x00 0xff 0x66 0x99
That should enable all your ports, no soldering iron necessary.
December 2, 2019 at 9:02 am
GREAT! Thanks for posting
April 8, 2020 at 1:08 am
as a Riverbed employee and long time RVBD tech user.. the amount of info people came up with, without inside resources, is very impressive. I began reading this thinking “maybe I can contribute..” and by the end I’d learned things (like shearing off the IC’s to enable the inpath, thats awesome) we dont even document here.
kudos to you and all who helped.
April 8, 2020 at 9:48 am
Thanks Sean. good to see the community helping each other. I recently bought another CX550 and plan to convert it for pfsense. this time without the desoldering and fan temp sensor hack. hopefully won’t need to bust out the soldering iron at all.
April 18, 2020 at 6:14 pm
Sean. Can you tell us what the hardware in the “Riverbed Steelhead appliance 100/200 Wan” is. I see some of these labelled as model SHA00200B but I can’t find any information anywhere on what is inside or if it would be suitable to run IPfire or pfSense. Unfortunately I can’t afford buying one to try if it won’t work:-(. Thanks for any help you can offer.
April 21, 2020 at 4:55 pm
If they are the old silver boxes that I am thinking they are then dont bother. I had 2 of them lying around and tried the pfSense conversion on it and failed before trying it on the CX devices and succeeded. I don’t remember why it failed, but I do remember beating my head against that wall for a while before giving up.
August 2, 2020 at 10:23 pm
yea, thats correct, the 100’s and 200’s are ancient. that said, they dont even require that much hacking – you can hop into their bios, add memory, modify their disks, etc. not sure what “makeitbreakit” above had issues with, but i never personally attempted to install linux on one of those. if you do and have questions, feel free to post here. sorry for just responding, i didnt have notifications on.
October 31, 2020 at 10:29 am
I think it was because I didnt know the BIOS password back then (I believe it is “minnow”) which would explain my failure.
April 22, 2020 at 11:52 am
I finally found hardware information about them, and some have pfSense working. https://forum.netgate.com/topic/44459/nic-issues-with-hardware-appliance They all had the issue of only two out of the four nics working but from what I can tell the “Riverbed Steelhead appliance 100/200 Wan” has a bios setting that fixes it. The one I was considering is also known as the Steelhead CX 200.
I didn’t end up getting the Steelhead 200. I worked out getting a MikroTik Routerboard would pay for itself in power savings at the end of the day, and having a PC with two nics and pfSense or IPfire as an emergency backup is the better way to go for me.
I enjoyed reading your article on the hack and following what everyone else has done with these units. Thanks again for sharing your knowledge with the world.
August 2, 2020 at 10:25 pm
yea, a microtik is a solid way to go. i dont think it’ll be any appreciable power difference between the two, but its definitely less work.
May 25, 2020 at 10:06 pm
I bought a Riverbed CXA-01555-B010 cheaply and managed to install Debian on it thanks to your guidance and this post here https://a.custura.eu/post/debian-via-serial-console/
Cheers!
June 5, 2020 at 2:49 am
Regarding the SH 50/100/200/300…
I ran pfsense on a 100 for several years, no real “conversion” was necessary. Jumper JP2 (in some cases referred to as JP10) controls NIC bypass for fxp0/fxp1 a.k.a WAN/LAN respectively. Simply move the jumper from pins 2-3 to pins 1-2 and all 4 NICs become available for use. JP2 is located between the WAN and USB ports.
I only stopped running the 100 when pfsense announced deprecation of 32bit support and my ISP offered >100Mbps service.
Steve’s link to a Netgate forum question has a link to an Axiomtek (the actual HW manufacturer) NA-100 spec sheet. I can confirm that spec sheet is for a slightly different model. I believe the Axiomtek NA-0043G is more on point, though not quite 100% accurate either. Guessing Riverbed units were customized a bit from stock Amiomtek builds. Specs from old notes and a retired 100 rev B I pulled from the garage…
-CPU Celeron M “ultra low voltage” 1.5Ghz single core 32bit
-RAM 2 SODIMM sockets, I have a single DDR400 ECC 1GB in mine
-2 IDE HDD connectors, 1 has an IDE-to-SATA adapter plugged in
-1 internal mounting for 2.5″ HDD
-4 Intel 10/100 NICS, FWIW they showed up as “fxp” NICs in pfsense
-1 Mini-PCI socket, I used to tinker with WiFi cards
-1 Compact Flash socket I used initially to make a “diskless” pfsense box, and later switched to HDD to support more packages.
**Booting from the CF socket did require flashing the BIOS back to a generic Axiomtek version. I still have that BIOS if anyone wants it.
TLDR: With an old 32bit (21Watt TDP!?) CPU and 10/100 NICs, I agree with Sean, “don’t bother”. 🙂
August 30, 2020 at 2:28 pm
Nice work Eddy, always fun repurposing old hardware. Like you i have a couple of old boxes lying around from our old days @ Riverbed…
I managed to get an old SH100 going as well. Serial redirection was flakey with current installers always trying to use graphics even before asking whether you want to do a text install !
So the process i ended up doing was :
– Built a VirtualBox vm with Centos minimal 32 bit using IDE disks.
– Modified the VM kernel to add console=ttyS0,9600 (/etc/default/grub) for serial access and rebuilt the grub2 config (grub2-mkconfig -o /boto/grub2/grub.cfg)
– Took the harddisk out of the SH100, plugged it into an ide to usb adapter i had and mounted it to the Virtual Box Centos VM as a usb disk.
– Copied the VM disk structure to the USB disk (backup copy basically) via
dd if=/dev/sda of=/dev/sdb and waited 10 hours 🙂
– Jumpered J10 (only 2 pins with no jumper by default)
– Unplugged the usb and put the disk back into the SH100 and away she went with serial access.
– Booted up and it dhcp’d an IP address and ssh’d straight in.
August 31, 2020 at 12:18 pm
That’s a clever way of doing it, Nathan. I remember when I tried with the older SH100 I couldn’t get it booting to a different OS. So I must’ve run in to the same issue as you. I didn’t bother spending much time on it though as I had the CX to use.
Nice thing about the CX is you can rack mount it which I couldn’t do with the SH100.
November 1, 2020 at 6:25 am
Does anyone know where I can get bios update for the Riverbed SteelHead Application Appliance Server 1UABA 1050 Series SHA-01050-M 100moa eb103 WAN Application Accelerator
MPN: RB100-00100-03 R ? It has a Tyan S6631 NW3E-P001NR motherboard and I wanted to upgrade the CPU to a faster compatible version.
November 1, 2020 at 2:19 pm
I don’t believe BIOS updates were ever available for Rivberbed devices. Why do you need one? You should be able to use it for pfSense without one.
November 1, 2020 at 2:21 pm
Actually, I remember reading through some Riverbed support material which mentioned BIOS update when upgrading the firmware (RiOS). Google for file name “rvbd_8.6_maintenance.pdf” or “rvbd_9.6_upgrade_maintenance.pdf”. But I don’t think you get to choose which BIOS or even know which BIOS it is upgrading.
November 1, 2020 at 5:47 pm
Thank you for the search suggestions. I found a few interesting links. As you say, there probably never was a BIOS upgrade so I will just use it how it is. I don’t have the original Riverbed software and was hoping to find a .ROM file which I could flash to the BIOS. Maybe there is a generic one available from Tyan for hte motherboard.
May 3, 2021 at 6:31 pm
Thanks for this awesome site, I just ordered two CX555 from eBay, at $15 per unit plus shipping.
I located an old installer for ESXi 3.5 and a license key, and will try on one of the units to run ESX.
From what I’ve been able to source, the CX555 has a Celeron CPU, and I think it’s the Sossaman 65nm variant as that’s the only one that runs at 1.66Ghz and is i386. Great news is that CPU supports virtualization, so I think it’s a great option for legacy OS emulation, as usually the CPU demands are lower.
Originally I was going to try and get a Sonicwall 200 Email device, as they use Supermicro boards and the bios chip can be changed, but they are way overpriced. These seem to be good value depending where you get them. Perfect for my homelab.
I’ll try and update once I get the units with photos and any issues I faced. I also want to replace the heatsink compound as it’s usually rock hard after a few years.
March 11, 2023 at 4:34 pm
I have cx570,remove FDS6930A ,and two 331 Resistor. pin FDS6930A ground to d pin.bypass will be failed.all four port work normal