Daniel's Stuff

I write code

Category: Linux

Breathing new life into my Drobo Pro

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…

 

 

VMWare or Parallels?

Since Parallels released the new version of their Mac virtualization software recently and it reportedly works under OS X Yosemite (10.10), I decided to give it a go.  Converting my Linux VMs was a breeze, but converting my Windows 7 VM wasn’t as much fun.  The Windows VM converted perfectly, Windows itself on the other hand decided it needed to re-authorize.  Once I sorted all that mess out (another story for another time), I was able to get back to work.

So far I’m pleased with the performance of Parallels Desktop 10 for Mac.  It seems to be running better than when I was using VMWare Fusion 6.0.  I don’t have any solid numbers on this, but the fans in my Mac seem to not run as often under Parallels.  Booting my main Linux VM is almost instantaneous, and my Windows 7 VM seems to be running really well 🙂

IT LIVES :)

After a bit of playing about I’ve got my water level sensor working 🙂
I’m using Munin to log the data coming back from the unit attached to the sensor.
The unit is overkill for my needs, but since I had it lying about here and I didn’t want to spend anything to do this job it’ll have to do 😉
It’s a nice little PIC based board with 4 analog inputs, 8 digital inputs and 8 mains switchable outputs.  It also has an ethernet adaptor and the software I’m using responds to modbus commands.  I’ve had fun getting everything working.
I’d forgotten how much fun it is to make computers actually do something in the real world!

MMKeys songbird plugin

I’ve been insanely busy the last few months. I’ve recently changed jobs and had to go overseas to meet the client so have not had as much time to work on things such as my HTTPMail plugin 🙁
Anyway, today I got an email saying there was a new version of Sonbird (a really nice music player for Linux, OS X and another popular OS that I wont name here 😉 ). Quite some time ago I wrote a plugin for Songbird to get the multimedia keys on my keyboard working, unfortunately upgrades to both Songbird and Ubuntu seemed to break the plugin but I’d not had much of a chance to look into it. Today I decided to have a quick look and see what I could see. The result is a new version of the plugin that seems to work for me 🙂
I’ll be posting the source to my git repository as soon as I can some time 😉

OSX 10.5, Time Machine and Linux shared drived

I’ve been playing with Leopard over the last couple of days and just now figured out how to get Time Machine to work with unsupported shared drives (such as those shared by netatalk).


defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

What this seems to do is to create a sparse disk image on the shared drive, then mount it across the network. It’s not quite as nice as I would like, but it is a start.

Incidentally my inbox has been flooded with emails asking for a Leopard version of my httpmail plugin. I have been looking into it, but as to when I could have something I couldn’t really say.