Hi guys. Created an account just to comment on this issue. I’ve just migrated to a 2014 MacBook Pro with Yosemite using the Thunderbolt/Ethernet adapter, and have had the same issue described here.
That said, I’ve found a solution. It’s not ideal, but it is reliable and quick.
Problem:
Failure to connect to DroboPro via iSCSI on newer Mac with Mavericks/Yosemite. May connect ocassionally, but not reliably. Problem occurs despite install of Drobo Dashboard 2.5.3 with free iSCSI initiator, and despite install of Java 6 runtime as suggested by by offical support.
To use this fix you must: (or else behavior is undefined)
- MUST install Drobo Dashboard 2.5.3
- You MAY then install newer Drobo Dashboard 2.6.x
- MUST install the Java 6 runtime
Actual issue:
The iSCSI initiator is actually a separate program from the Drobo Dashboard. DD just calls it. It appears that for whatever reason, Drobo fails to make the necessary calls on a reliable basis in Yosemite/Mavericks.
Solution:
Call the initiator yourself.
First things first, you should connect your Drobo via USB, and set the network settings to manual. The default IP with manual settings is 169.254.1.0. This will work fine, but if you change it, you’ll need to revise my script accordingly. If your Drobo is connected indirectly, you may need to do further network maintenance here, beyond the scope of this article.
Disconnect from USB and reboot your Drobo Pro.
Connect your Drobo via Ethernet. If you’re on a newer Macbook Pro the Thuderbolt/Ethernet adapter will work fine here.
Give your Drobo a few moments to get on the network. Next, you’ll want to test the network connection. Open terminal, and write:
[color=#FF4500]ping -c 5 169.254.1.0[/color]
(or the IP you choose)
This pings the Drobo 5 times. If it responds, we can move forward. Otherwise, you need to work on your network settings until ping is successful.
Your Drobo is on the network, but Drobo dashboard hasn’t noticed. We move into the actual commands to open it manually. The iSCSI initiator is called “xtendsancli” and we can call it in terminal. There are three basic steps to connecting your Drobo. They are “discoverTargets”, “addTargets” and “loginTargets”. In some cases, Drobo Dashboard or xtendsancli automatically completes the first two of these three steps, but we can safely execute all three steps, and ignore the error messages generated if what we’re doing is redundant.
This is what the three commands look like for me:
[color=#FF4500]sudo xtendsancli discoverTargets -address 169.254.1.0 -verbose | head -1
sudo xtendsancli addTargets -address 169.254.1.0 iqn.2005-06.com.datarobotics:drobopro.tdb093540182.node0 -autoLogin Yes
sudo xtendsancli loginTargets -address 169.254.1.0 iqn.2005-06.com.datarobotics:drobopro.tdb093540182.node0 -autoLogin Yes -security[/color]
When I run “discoverTargets” the program answers “iqn.2005-06.com.datarobotics:drobopro.tdb093540182.node0”. Your answer may be slightly different, in which case it alters your response for “addTargets” and “loginTargets”. I believe each Drobo probably has a unique ID, but I only own one Drobo, so I’m not sure. And of course, you have to adjust the IP address.
These commands require admin access, and you’ll have to give your password.
You can combine all of these steps into one automated shell script:
[color=#FF4500]#!/bin/sh
serverAddress=169.254.1.0
target=$(sudo xtendsancli discoverTargets -address $serverAddress -verbose | head -1)
sudo xtendsancli loginTargets -address $serverAddress $target -autoLogin Yes -security[/color]
The shell script can then be called directly by terminal. You also can potentially build an app with this code as the basis, so it’s just a click.
Everytime you connect your Drobo you’ll need to run these commands, but as soon as you do, your Drobo should wake up from sleep and come to work. It will display properly in Drobo Dashboard and should mount properly as well.
This may work for other Drobo iSCSI products as well, but I’ve only tested on Drobo Pro.
Please let me know if this works for you guys!