-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Any chance of adding support for Drobo 8D? #7
Comments
The drobo-utils stuff is about doing special queries, over a USB bus, to talk to the Drobo controller for management functions: setup, parity, and the like. It is not involved in normal disk access. To make devices visible, a USB connected Drobo, just shows up as usb mounted drives, similar for the ISCSI products... You need to figure out how to connect linux to a drive mounted on thunderbolt. I know nothing about thunderbolt, so I started googling "linux thunderbolt drive", and these were some promising results:
It looks like the reason no drives show up, is that you need to "Authorize" it somehow... look in the links for a couple of different methods to do that. The links are a bit confused, because if you go back to 2017 support was not quite there yet, but if you confine your search to the last year or two, you should get easier recipes because it is better integrated now. If you get it working, I will gladly add a FAQ section on Thunderbolt access for the ones who come later. Good Luck! |
Hi @petersilva thanks for coming back on this. I have already disabled Thunderbolt security in the bios. The issue here doesn't seem to be related to Thunderbolt Authorization either since the output of Additionally, if I attach another thunderbolt HDD to the same port instead of the Drobo, that drive shows up immediately. In fact, as mentioned above, if I attach another thunderbolt HDD to the Drobo's own pass-through ports, it shows up immediately in linux, while the drobo's own drives are nowhere to be found... despite showing up just fine in virtualized MacOS on top of the very same linux where they cannot be seen. I believe this issue has nothing to do with thunderbolt itself which as you have stated, works just fine with modern linux kernels and distros. This issue seems to be the Drobo itself which may be getting a special 'wake up' command or something under MacOS via the installed Drobo dashboard and utilities. If I connect the same drobo over USB the device shows on the USB Bus:
but does not show up as a storage device or volume. Running
usb 3-4: new low-speed USB device number 12 using xhci_hcd Unsurprisingly running drobo utils does not detect the presence of a drobo:
Have you come across any such special modes before with Drobo devices where they needed to be initialized first by the drobo software/services in order to show up as a mass-storage device? |
nope. sorry... making devices available in all other cases has always been automatic. /dev/sdX just show up once the devices are found (on usb, on iSCSI.) things you can try... when connected on USB, try:
It might give a hint of what it sees. Also... 128 TiB ... might be a problem... you might want to start testing with smaller Luns... try a a 2 TiB lun just to start with... I think you should be OK going to 16... would have to test each power of two to find if there is a Maximum somewhere. The goal for now is to see a block device show up. |
After running your suggested command:
examining: /dev/sda I will try to set the LUN size to 2TB and then see what happens |
dumb question... what device is /dev/sda ? |
oh, just a card reader, no card inserted... so effectively no drobo detected. |
Are you sure about that? my card reader does not show up as an /dev/sd? anything unless there is a card in there... what does lsblk say? |
It's a card reader on an external Thunderbolt dock so it's a bit weird.
It's not here, neither are the drobo's volumes despite making a 2TB LUN. |
...one other thing to note, This confirms what I suspected that there must be some proprietary call sent to the drobo's SCSI controller to have the drives show up as available. What I would need to figure out is how to replicate that call under linux, assuming that the drives are presented as normal mass storage devices after that. Any ideas/suggestions where to begin probing this? |
You're getting into reverse engineering and bus probing and such. I don't have expertise there. Everything I did was based on documentation and even engineering advice provided by Drobo. Never had to do any spelunking. At some point, Drobo decided that it wasn't worth their time and clammed up, which is one of the main reasons drobo-utils doesn't support newer models. The E-SATA and thunderbolt stuff is not documented, afaik. Also... Even if you get the devices visible, you have to format it with a file system that Drobo understands. I guess you can use a MacOS one... back in the day, they only supported ext3 (NOT ext4) so that got limiting over time. you can't use btrfs or zfs which would be fun choices now. So... you have a major project on your hands to get that working on Linux. |
Agreed, this will be quite the task to reverse engineer and especially without documentation... I will reach out to Drobo to see if they are willing to help and if not, will just return the unit and buy a Synology instead. I think this drobo actually supports ext3 like others do. I have managed successfully to format it in ext3 using homebrew utilities under MacOS, so that bit of pre-sales information from Drobo was true. What they failed to mention before I bought this was that it has a non-standard SCSI controller interface that would not present a regular mass-storage device out of the box. |
yup. Synology is a good product. it is pretty open source friendly... more open. |
I would very much like to stick with the Drobo ecosystem so I've reached out on their support channels with this to see if there is any interest from the community and any input from Drobo Inc.'s support team. I guess we'll see if they still care about their products and customers. |
In case it helps... if you Drobo does release documentation... I would be ready to assist however I can... but not having hardware... the burden would fall more on you as a tester at least, and potentially developing something that works over thunderbolt. |
Thanks @petersilva I really appreciate this and we can see what can be done about getting hardware to you if there is positive feedback from Drobo. |
I suspect this would also apply to Drobo 5D |
I spoke to Drobo tech support and specifically asked if the Drobo 8D which is built only to work with MacOS could work with linux if it was reformatted in ext3. I was told, yes, it would work under linux in that case but would not be supported under the warranty.
I said fine and bought myself one, then ordered 3 18TB Enterprise drives and a 512GB SSD for cache support to fill it and hooked it up to my linux box.
...and big surprise, I got nothing!
Linux detects it as three thunderbolt bridges on the pci bus and a SCSI storage controller according to the lspci command:
XX:XX.X PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
XX:XX.X PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
XX:XX.X PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
XX:XX.X SCSI storage controller: Device 4452:3844 (rev 08)
I have installed Docker OS-X and with some trial and error, managed to pass the TB controller and scsi storage controller over to the virtualized MacOS and from there I installed the Drobo dashboard and was able to see the 8D, which I then set up with dual disk redundancy and formatted as a 128TB HFS+ Volume.
Back to linux after that and still nothing.
I have plugged in another Thunderbolt drive to the pass-through port on the back of the 8D, that device showed up instantly and auto mounted in linux.
Back to the virtualized MacOS where I managed to delete the Mac GUID partitions using e2fsprogs and create a 4TB ext3 partition on the drobo. I came back to linux and still, zilch! ...nothing but the list of devices including the SCSI storage controller as before.
So what I am trying to figure out is what is the special sauce/alchemy that Drobo has done with this device that makes it visible only to MacOS and how can we replicate it under linux?
@petersilva any interest in investigating this one?
Running Debian Bullseye with kernel 5.16.0-rc8-amd64
Intel Core i71195G7 with 16GB RAM and an 8TB local NVME SSD
Drobo 8D
Firmware: 4.2.3 [12.14.116068]
Active Interface: Thunderbolt
Dashboard version: 3.6.1 [115880](on MacOS Monterey - Docker OS-X )
The text was updated successfully, but these errors were encountered: