I recently saw a post somewhere that showed the internals of one of the newer high end Drobo machines.  It appeared to use the same motherboard as the Drobo Pro I have sitting here on my desk gathering dust so I decided to take another look at what I could do with the thing.  I had previously opened the machine up to get around the rebooting problem by disconnecting all the batteries with some success and in the process discovered the on board serial ports.  It turns out they have a dual core processor in them running completely different OS code on each. One running Linux and the other running VXWorks.  The linux one gives a plain old shell with lots of interesting stuff running on it.  The VXWorks one doesn’t give much though.  From what I can see the VWWorks side handles the actual disk access, while the Linux side handles the “UI” side of things, such as iSCSI on the Drobo Pro or file sharing on the Drobo Pro FS.

IMG_0404 IMG_0405

 

To get to the meat of the matter, I downloaded the firmware for the Drobo Pro FS and tried loading it into the Drobo Pro, which of course it rejected as I was expecting.  I then had a look at the firmware files and saw they both had a very similar header.  After patching the firmware file with the correct header values (an exercise for the reader to find the correct 12 bytes to alter) I was able to load the Drobo Pro FS firmware successfully into my Drobo Pro.

At first it didn’t seem to boot, but after putting some fresh disks in and rebooting the unit, up it came. 🙂  At the moment the device doesn’t show up in the Drobo Dashboard, but it does present a public share, so it’s not a complete loss.  I also took the opportunity while I had a serial cable plugged into the board to enable the telnet and ssh servers to allow me to poke around some more.

It looks like the control software on the unit is expecting there to be two ethernet ports while the physical hardware only has 1.  I may need to patch the binary…

 

 

Join the Conversation

17 Comments

  1. Dear all, I have found the solution for the fu*** continous rebooting error. On my bosses’ drobo fs800 there was also the error. It comes from a broken boot-loader on the built in software. It can be resolved in less than one hour. All you need is two ttl serial (usb) converter. And at least putty, windows and two free usb Ports at the Computer. If you want to hear more, please feel free to write me. Kind regards, Sascha

  2. Any way you would post your fixed firmware? I’ve got a drobo pro but it is stuck on version 1.1.4. I’m willing to try anything at this point. Thanks!

  3. Dear all,
    you need at least two TTL/USB Adaptor. They are shipped with some small Jumper cables. They need to be connected with the two described 4 pins. There you need GND, TX and RX. The GND is at the other side of the white marked end. The TX and RX needs to be crossconnected to the TTL Adaptor. You should use PUTTY two times parallel. Please use 115200, N, 8, 1 serial Setting. Now you should start the Drobo. On your Output of Putty you should see the startup. After two seconds break the startup with typing any Key. Now type in a “?”. You should be able to issue the command “Bootflash” or “flashboot” followed by a blank and “2”. It looks like “bootflash 2”. Followed by an enter. Thats all. When startup is now finished pöease issue “boot” in your other PUTTY. When your Drobo is finished with booting and presented in your Drobo Software, you MUST reupdate the software of the Drobo. Then the issue should be solved. In case of any Problems or it worked please post this here. All the best, Sascha

  4. One note: Please take care that you issue the bootflash Command in the PUTTY, where the Linux Startup is shown (They looks very similar) !!!! NOT in the window, where the VX starts. Maybe you Start Drobo and views a complete Startup in both PUTTYs. There you should see in one window a “kernel panic”. Then the drobo stops working and reboots. This is the correct window 🙂

  5. Many thanks to Sascha, your advice saved me a lot of frustration!
    I had to do “flashboot 1” rather than 2, but otherwise it worked fine.

    It seems the drobo quite sensibly includes 2 copies of its firmware incase one gets corrupted, but for some reason is unable to switch between them properly when corruption does happen…

  6. Is there a way to go the other direction, converting a DroboPro FS to a DroboPro? I would like to use iSCSI with my Drobo, but my model does not support it. I’ve looked for 3rd party solutions to setup iSCSI on the DroboPro FS, but have never been able to find anything to get me there.

  7. I imagine it could be done, however if you do that then you wont be able to administer the iSCSI as the Drobo dashboard probably won’t recognise the updated device.

  8. YES! Thank You! Revived my bricked Drobo FS – mine would boot get an IP and then never open any ports for management.
    After taking it apart, I found the Serial pins as others have documented, purchased a cable and dove in with Putty.

    Your Articles and the Comments lead me to try ‘flashboot 2’ after stopping the Marvell boot sequence on my Drobo FS unit that would boot and then fail at the ‘nasd’ step that seems to control most of the ‘getting setup’ steps – specifically “nasd: error while loading shared libraries: /lib/libcrypto.so.0.9.8: invalid ELF header” – this had me dead in the water (learning Linux on the fly) – so the option to try a 2nd (presumably backup, identical) boot bank worked! Thanks!

    Now that’m getting things back online – is there any way to clone/copy/export the bootbank that worked (#2) back to bootbank #1 or even extract tftp it away for safe keeping if at all possible.

    Drobo Support had pretty much given up on me, offering me a $100 coupon on a new unit – so I don’t hold much hope that they’ll have much more to offer, but wanted to THANK YOU! and ask if you all had any more thoughts now that we’ve come this far ..

  9. Dear David. I am glad, that I was able to help you.
    So, when your Drobo is online again, you should only reflash the complete Box (with the Drobo Software) in order to exchange the corrupt flash with a working one. There is no other possibility to TFTP or copy from the backup flash.
    Kind regards and all the best wishes,
    Sascha

  10. I have found this article in time to fix my Drobo FS. I have only 1 question and that is what cable do I buy. I have found many but I am confused since most have different ends on the serial side.

  11. Having a hard time getting usb3. 0 gen 2 Drobo S units to communicate with drobo-utils (latest 2010 git pull ), do either of the Serial TTY ports allow ‘status’ check? , I’ll quite happily take apart the drobo and mod the box with a dongle cable if will save me dismounting the drobo and attaching to windows box every so often to check ntfs lun and actual free space.(it would be way nicer to have a 16tb ext3 lun instead)

  12. I need to enable ssh on my drobo FS. How do i do this with the Usb Serial cable? I have the cable arriving today. I assume i connect to the linux ports, connect usb to my laptop and fire up putty. What do i enter from there? my endgame is to be able to run fsck on my drives to dry and get them to mount but my existing firmware doesn’t have ssh currently enabled. Support have been unhelpful so far. Any help greatfully received.

  13. I have connected to my Drobo FS via serial to try and repair the drive not mounting issue I have. I am struggling to get fsck and e2fsck to work. e2fsck stops and says a block group is missing an Inode table whilst checking ext3 journal for DNAS. I’ve googled this to death and need to know what the right Command is. I’m really getting stuck and dont want to loose my data.

  14. Can this method be used to downgrade a Drobo Pro’s firmware back from 1.2.3 to 1.2.2?

  15. My Drobo Pro (B800i), after a power failure does not accept any TCP connections, the drives are fine, the 2 OS’s linux + vxworks seem to boot up without any major errors, but there’s nothing listening on any ports, ICMP echo gets a response, any TCP SYN connection is greeted by a RST… no more hairs left to pull out, I know this is an ancient thread, but is there anyone who has any advice to allow me to resurrect this box of whatever so I can get to my data? even read-only would be ok…
    HELP!

  16. Can the FW of an original DroboPro (DRPR1-A) be modded/upgraded to accept drives larger than 4TB or is this a hardware limitation?

    And is it possible to have volumes larger than 24TB?

    Thank you!

  17. Old post, I know. But this has been the only place I have been able to find who is talking intelligently enough about actually FIXING this problem now that Drobo is no more. My problem is a little different and I’m hoping that someone out there is still listening.

    I have a Drobo B810i and I started it up last week and everything went fine. Before I realized Drobo is now a defunct entity, I went for the “strongly recommended” firmware update. In the course of the update, something went awry. I have been able to get online via TTL and PUTTY so I’m seeing activity on both Linux and VXWorks so that’s a plus!

    Since I’m a total noob with this level of tech, I was hoping to find some clues here as to how I may be able to determine exactly what is the problem and how to fix it. I’m happy to post what I’m seeing in PUTTY if someone would be interested in taking a look.

    Thanks!!!

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.