DISCLAIMER : I don’t know if anything I am doing is legal. Nor do I, in fact, have any sort of deep knowledge of hardware hacking.
DISCLAIMER2 : Although I am so dumb and lazy that I would use an LLM to automate coffee making – (oops!) and , use LLMs to write code on occasion; this text has been entirely written by a human and barely even proofread by an LLM. This disclaimer extends to all further writing on this blog.
I kicked off this website back in 2021 and never took the time to actually write anything to the blog. “Better late than never” I guess. So, here goes nothing…
Today, inspired by an HN submission titled “Claude writing a macOS driver for my obscure HP printer built only for Windows”, I thought about my trusty Drobo 5D, a RAID array which has been saving and serving my files flawlessly (barring a “power adapter died” incident in ~2019) for the past 14 years. Drobo having gone out of business, and the upcoming macOS 27 “Golden Gate” being the last release to support Rosetta 2, it means part of the software suite will not be compatible with future macOS releases anymore – and that one has too many QoL improvements for me to pass on. Being sick and stuck at home, I thought: “why not put Claudio on the case”. And here is the chronicle of that adventure.
The company “Drobo” has gone out of business (see https://petapixel.com/2023/06/06/drobo-is-officially-done-as-the-company-moves-into-liquidation/). I own a “Drobo 5D” which is connected to my mac using USB 3 (the Thunderbolt 2 port will not work on newer mac models) – this still work on my 2017 iMac running macOS Ventura (13). Both the Drobo itself and the Drobo Dashboard software work. On newer macOS version, the Drobo Dashboard software is not compatible anymore and the Drobo can only be mounted as an external drive. For ecology’s sake, I have the objective of using this device for as long as possible but do not want to be “locked out” of macOS (or mac hardware) upgrades. Your task today is to analyse the current Drobo 5D firmware as well as the Drobo Dashboard software, and try to understand WHY it will not work with newer macOS versions, WHAT might prevent the hardware to work on newer mac hardware, and come up with a solution on how to fix this. Everything is on the table: from simple fix to a complete re-write of the driver and Drobo Dashboard for modern mac/macOS. NOTE: I have provided you with some previous (up to the latest) version of the Drobo drivers and Drobo Dashboard inside the /Users/fetzu/Dev/ReDrobo/ZZ_BUFFER folder. Feel free to use these as you see fit, but try avoid installing them on this mac (I don’t think you can).
The anatomy of that prompt is dead simple: I provide the context (hoping not to get flagged for cybersecurity/reverse-engineering, how naive of me), state the tasks and provide Claude with the last 5 releases of both pieces of software (including the release notes in separate PDFs. Thanks to this saint who took the time to upload and index these files.)
Drop the prompt into Fable 5 on High (because, why not?) and get automatically flagged and switched over to Opus 4.8. I decide to interrupt it there and open a new session with Opus 5 on Max – and we are off to the races.
After a little thinking and fiddling around with the drivers / drobo dashboard binaries, Claude came up with a 5 phase plan. As any good engineer would, Claude starts counting at 0:
“Protect the data first” (duh) “Validate the protocol” (by comparing the data output between a device with a driver, my 2017 iMac running macOS 13, and one without, my MacBook Pro M5 Pro running macOS 26). “Decode the record payloads” (with the intention of validating and spitting out the protocol spec) “Ship a usable CLI” (to output the information the Drobo Dashboard usually would) “The live driver” (an actual Drobo Dashboard replacement)
The plan seems sound enough, let’s dive in…
... continue reading