new drobo-utils version. DroboPRO testers wanted!

171 views
Skip to first unread message

Peter.A.Silva

unread,
Oct 13, 2009, 9:35:34 PM10/13/09
to drobo-talk

drobom info options

If the reply makes sense, then try something like:

drobom set UseStaticIPAddress True
drobom set IPAddress 192.168.5.5
drobom set NetMask 255.255.255.0

drobom info options

if that works, then try rebooting, and see what happens.
It may eat your first born. Would love to hear how it goes either
way.

philobyte

unread,
Oct 13, 2009, 9:37:04 PM10/13/09
to drobo-talk
Download 0.6.1 from sf.net either the tar file or the .deb.

It isn't in master on the git repository yet... I switched to git, and
got myself a bit confused,
so the good code is only on r0_6_1 branch for now.

robj

unread,
Oct 18, 2009, 5:26:34 AM10/18/09
to drobo-talk
Hi Peter,

just installed 0.6.1 on my Centos 5 / Drobopro machine.

I'm still trying to get the volume size / partitioning etc set up on a
new set of drives so I've not done much with it yet.

One request, something I also noticed in 0.6.0 -

On the older version I'm using on the machine with the V2, the drive
info is listed one-per-line in a very readable table.

The new (or on the Pro) versions show all the drive info in one very
long, wrapped, line. Can you change this to show one drive per line as
the older one, it would be much more readable.

I'll try some more tests one I get the thing formatted the way I want.

Thanks,
Robert.

Peter Silva

unread,
Oct 18, 2009, 8:48:37 AM10/18/09
to drobo...@googlegroups.com
Is this kind of what you want?

 sudo ./drobom info slots
---------------------------------------------------------
Info about Drobo     Name: hoho       Devices: /dev/sdf
---------------------------------------------------------
query slotinfo result:  number of slots: 4
slot   GB                Model               Status
   0  500          ST3500830AS                green
   1    0                                      gray
   2  500 WDC WD5000AAKS-00C8A0     ['red', 'black']
   3  500 WDC WD5000AAKS-00C8A0                green
---------------------------------------------------------
peter@pepino:~/drobo/drobo-utils$ 

jos...@freivald.com

unread,
Oct 18, 2009, 1:17:15 PM10/18/09
to drobo...@googlegroups.com

Does the drobo-talk software work with iSCSI? I tried activating iSCSI and
I get a bunch of connection errors (I think it's a security hand-shake
thing). If the answer is 'yes, it should work' then I'll bother you with
the rest of the details. If 'no, it doesn't do iSCSI', then I'll shuffle
the boxes around and get them within range for FireWire800.

Thanks.

--JATF

On Sun, 18 Oct 2009 08:48:37 -0400, Peter Silva <infor...@gmail.com>
wrote:

Sebastian Sobolewski

unread,
Oct 18, 2009, 1:27:44 PM10/18/09
to drobo...@googlegroups.com

 Yes it should, I successfully use it over iSCSI without issues, however, you do need to change the Open iSCSI initiator parameters to get it to work reliably.

See: http://www.thirdmartini.com/index.php/DroboPro%2C_iSCSI_and_Linux

-Sebastian
--
I'm being facetious.

jos...@freivald.com

unread,
Oct 18, 2009, 1:53:26 PM10/18/09
to drobo...@googlegroups.com

Okay, thanks.

I will try that this week and report back any issues.

--JATF

Peter Silva

unread,
Oct 18, 2009, 8:40:24 PM10/18/09
to drobo...@googlegroups.com
One of the steps in the setup is to 'use the windows/mac dashboard to first configure the DroboPro by enabling iSCSI and setting a static IP address for the drobo'

I hope that that is obsolete...check out the first post in this thread.  drobo-utils can do that now... at least it might... someone needs to test it !

jos...@freivald.com

unread,
Oct 19, 2009, 12:25:33 AM10/19/09
to drobo...@googlegroups.com

I had already done that when I tried it before. I won't get to it
tomorrow, but I hope to get to it by Wednesday.

On a side note, if it does work, can I partition the drobopro with more
than 2tb partitions? The Windows droboapp didn't let me, which was
particularly aggravating because I outfitted it with 8TB of space. Is it
possible to share the drobo between two separate computers, either by using
the same iScsi target on two platforms or by creating 2 partitions with
separate targets?

Sorry if some of the questions are 'newb'. I've use Linux since the mid
90's, but I've never had use for a SAN before - Samba always filled the gap
and performance hasn't been an issue up til now.

Thanks for the great support.

--JATF

On Sun, 18 Oct 2009 20:40:24 -0400, Peter Silva <infor...@gmail.com>

robj

unread,
Oct 19, 2009, 6:17:56 AM10/19/09
to drobo-talk
Hi,
Peter - yep, something like that layout would be great, thanks!

JATF -

The 'does it work above 2TB' question is the big unknown at present.
The older firmware messed up in a big way, but the new one may have
fixed something..

I've just got mine re-partitioned and formatted (to 8TB volume size)
after getting rid of the corrupt leftovers from earlier tests, I will
start loading it up in a few days and see what happens.

Robert.

Peter Silva

unread,
Oct 19, 2009, 7:23:51 AM10/19/09
to drobo...@googlegroups.com
Hi robj,

I don't know that it's worth a release, I did a cleanup of all the info options in the git master..  See if you can have a look...

cd drobo-utils
git branch master origin/master
git checkout master

you should then have an upto date source tree.  If we're really lucky

git pull 

will get you changes... This is good because Sebastian (spsobol) has tried out option setting and it does not work for him, so there will be changes.  I cannot test any changes, not having a PRO so it would be good for a few people with PRO's to follow along until the option setting is solid.

For those in fear of what could get blown away.  I do not think anything to do with this will jeopardize data:  All It can do is set the options wrong.  Usually, it should just reject bad option settings.   Worst case, you might turn on or off dual disk redundancy by mistake.  It might cost you a rebuild.  Setting a wrong netmask or IP address, will mean getting a USB connection to change it back.  That sort of thing...

That being said, for liability purposes, I have to say there is a slight probability of it burning down your entire village.

Sebastian

unread,
Oct 19, 2009, 12:36:37 PM10/19/09
to drobo-talk

On Oct 18, 10:25 pm, <jos...@freivald.com> wrote:
> particularly aggravating because I outfitted it with 8TB of space.  Is it
> possible to share the drobo between two separate computers, either by using
> the same iScsi target on two platforms or by creating 2 partitions with
> separate targets?

This is possible, but a bit tricky. You have a couple of options.
(1) Split the drobo into N sized chunks/luns (IE 2TB). Then use 1(or
more luns) per PC but only as long as the same lun is not used by
more then 1 PC art a time.. Ext3,ntfs, etc . don't know about each
other so this will result in data corruption if you share the same
lun. ( Technically it should work with partitions as long as the same
rules are followed... but I've personally not tested it)
(2) Use a clustering FS that is designed to use a shared disk ( Then
multiple PCs can see and rewad/write to the SAME lun ). However, the
drawback here is that the LED indicators and capacity status on the
drobo will no longer work. ( Note: this is how VMWare/ESX uses the
drobopro )

In either case for this to work you need to configure your iSCSI
Initiator to discover the Luns on port 3261 ( instead of the default
3260 ). 3261 allows sharing the drobo, but assumes you are doing one
of the 2 options above.

-Sebastian

jos...@freivald.com

unread,
Oct 19, 2009, 12:59:17 PM10/19/09
to drobo...@googlegroups.com

Fascinating. Does GFS count as one of these file systems, because that
just sounds absolutely awesome - to have shared LUNS across multiple
machines on an iSCSI platform - and the drobo is in the rack where I can't
see the lights anyway. The drobo space management continues to work the
same way? If I add in several 2TB drives they will auto-magically provide
more space? How do you know if there is a failure?

--JATF

On Mon, 19 Oct 2009 09:36:37 -0700 (PDT), Sebastian <spso...@gmail.com>
wrote:

Sebastian

unread,
Oct 19, 2009, 1:16:30 PM10/19/09
to drobo-talk

From my experience expansion works fine, just the LEDs and the
Capacity usage gauge in the dashboard/drobom utilities is what seems
to have issues. ( IE: it never goes down if you delete files .. it
just ends up showing the max used capacity ). Not sure about GFS as
I've only played with the vmfs (ESX) support on it and that works
fine. ( Multiple ESX hosts seeing the same LUN/files )

I would think drive failure reporting should work as well.. though
I've not had a drive fail me yet.

spso...@gmail.com

unread,
Oct 20, 2009, 8:11:03 PM10/20/09
to drobo-talk
Well just for the heck of it I did play around with both GFS/GFS2 and OCFS2. I had zero luck with GFS... I could not get the config and dlm running no matter what I tried. OCFS2 on the other hand worked like a champ. So you can in fact share the same lun using a FS that knows how to use a Shared Storage device. However the OCFS performance was not that impressive. The best I saw was about 28MB/sec when doing IO from 1 node.. from 2 nodes I saw ~8MB/sec from each node (~16MB/sec ) That's quite a bit less then the ~60MB/sec when sharing the lun out using NFS over iSCSI from a single host. ( This may be a bit unfair since the NFS box is a Physical system but the OCFS boxes were Virtual machines. )

Adding a node using OCFS was a breeze as well... in all I had 4 Virtual Ubuntu 8.04 servers talking to the same OCFS filesystem and the drobo seemed to handle it ok. ( I did not do any data integrity testing.. but I didn't notice anything odd )

Peter.A.Silva

unread,
Oct 27, 2009, 10:47:24 PM10/27/09
to drobo-talk
I have added option setting to the GUI on the master branch.
Would be cool if people with a DroboPRO (where all the optons work)
could check it out, and verify whether the new 'Options' tab works for
them.

Peter.A.Silva

unread,
Nov 1, 2009, 10:11:52 AM11/1/09
to drobo-talk
so 0.6.1 officially doesn't work, rather than putting out ten versions
of various levels of fixed ness, I'd rather get some testing done and
release a single, working version. So I need some people to try out
the development branch.

The only new stuff in there is related to option getting and setting,
and a the info listings have been made more readable.

Any drobo pro users out there in particular, it would be really
helpful if you could test out the latest
dev version. It's really easy to do in a "try before you buy" mode,
it will not replace the stable version installed via apt-get/dpkg...
But you need to install the git source code manager.

# on ubuntu or other debian-derived systems... in a shell:
sudo apt-get install git
#
sudo ./drobom info options

To get the stable version of drobom or droboview, just leave out the
'./' in the above.

ElliotA

unread,
Dec 8, 2009, 11:11:04 AM12/8/09
to drobo-talk
Peter,
what exactly would you like tested? We have a drobopro that seems to
be working fine, except it can't reclaim space.
Running under ubuntu hardy server
8TB LUN size, though we'd love 16.
ext3
iscsi

results of the dev version drobom info options:

---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc
Time: Tue Dec 8 11:09:02 2009
---------------------------------------------------------
query options result:
UseStaticIPAddress True
UseManualVolumeManagement False
YellowThreshold 85
SpinDownDelayMinutes 15
RedThreshold 95
SpinDownDelay True
NetMask 255.255.0.0
DualDiskRedundancy False
IPAddress 169.254.1.1
---------------------------------------------------------

Andrew Chalaturnyk

unread,
Dec 8, 2009, 4:01:38 PM12/8/09
to drobo...@googlegroups.com
The set SpinDownDelay True/False does not work  (tried via iscsi)

setting the name works , haven't tried the network settings yet

can redo the luns just fine.  
The print diagnostics is unreadable

When the yellow threshold is changed will that change when the drobopro starts its slow down
so you can do a timely storage upgrade?

Is there a way to target a machine (have multiple drobopros on the same subnet via iscsi)?



--

You received this message because you are subscribed to the Google Groups "drobo-talk" group.
To post to this group, send email to drobo...@googlegroups.com.
To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/drobo-talk?hl=en.



Andrew Chalaturnyk

unread,
Dec 8, 2009, 4:02:19 PM12/8/09
to drobo...@googlegroups.com
Also the ext3 partition always shows up as ntfs on the info output.

Peter Silva

unread,
Dec 8, 2009, 6:56:24 PM12/8/09
to drobo...@googlegroups.com
So Cool!  Great to see the IP address and netmask show up correctly!

I cannot test most option settings, so set any and all options and see if they work.

Testing:
    The most uncertain one is the ip address & netmask, which has byte order issues.  Should be OK, but need to test to know.     Try setting the IP address and netmask with drobom or the dashboard, and then drobo info options  to verify that it worked properly. 

If it didn't work properly, then you may have to connect via USB and a windows or OSX dashboard to fix it up, but send me a print out first, the numbers will tell me what is wrong.

On the other hand, the only reason I can think of to turn off the static IP would be if the DroboPRO will act as a good client and learn its address from a DHCP server (presumably the DHCP server would be set up to assign a static ip to the PRO.  The knowledge base is completely unclear on this point.  You could set up a static IP on the DHCP server, and off the UseStaticIP flag.

but the actual meaning might be the exact opposite:  Some of the documentation seems to say that when you turn that bit off it runs a DHCP server, and assigns an address to machines that ask (supposed to be used on an isolated network.) check this out:


so Turning off/on static IP could be just an inverted toggle for running a DHCP server.
Would be cool to know how that works.

It would be great if you can change the spindown setting to say, 1 minute, and see if it works.

Another useful test would be to turn on Dual disk redundancy and see if it works.
then turn it off again.  See if that works.

There isn't much point in setting ManualVolumeManagement, as I have not implemented
that part of the API (no way to test once you flip the feature bit.)

No suspense for the thresholds, they work fine, as I have tested them on my v1 Drobo.

Hope that's not overwhelming... Really looking forward to seeing results of any of those tests that you can run!


P.S.   AFAICT, Drobo will not reclaim space on any file system created/used by Linux (ext3 and ntfs, someone tested hpfs too.) with LUNSIZE > 2 TiB.   


Peter.A.Silva

unread,
Dec 8, 2009, 7:21:39 PM12/8/09
to drobo-talk


On Dec 8, 4:01 pm, Andrew Chalaturnyk <aacha...@gmail.com> wrote:
> The set SpinDownDelay True/False does not work  (tried via iscsi)
>

how can you tell? what is the output?

> The print diagnostics is unreadable
>
ah...

> When the yellow threshold is changed will that change when the drobopro
> starts its slow down
> so you can do a timely storage upgrade?

Yellow alert is the %full at which the yellow alert starts.
Red Alert is %full when the slow down starts.

>
> Is there a way to target a machine (have multiple drobopros on the same
> subnet via iscsi)?
>

when you do "drobom status" they should all show up.
you can then do

drobom --device=/dev/sdX <cmd>

to target a particular device.

ElliotA

unread,
Dec 10, 2009, 2:57:04 PM12/10/09
to drobo-talk
> P.S.   AFAICT, Drobo will not reclaim space on any file system created/used
> by Linux (ext3 and ntfs, someone tested hpfs too.) with LUNSIZE > 2 TiB.

We ran some tests with 2TB LUNS ext3 on linux, no luck on recovery.
Is there a command to tell the drobopro to poll the file system for
free space?

Some other interesting bits (thanks for the great tool by the way)
drobom info luns
# These are actually formatted ext3, but I think someone else pointed
out that was broken.
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Thu Dec 10 14:53:56 2009
---------------------------------------------------------
hoho! multiple partition types! Brave are we not?
lun size (GB) used PTFmt FStype:
0 2199 1059 GPT ['NTFS']
0 0 0 No Partitions ['NTFS']
0 0 0 GPT ['NTFS', 'EXT3']
---------------------------------------------------------

drobom info config:
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Thu Dec 10 14:52:58 2009
---------------------------------------------------------
Configuration maxima: slots: 8, luns: 16, lunsize: 36028799 TB
---------------------------------------------------------

drobom info slots
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Thu Dec 10 14:51:20 2009
---------------------------------------------------------
query slotinfo result: number of slots: 8
slot GB Model Status
0 2000 Hitachi HDS722020ALA330 green
1 2000 Hitachi HDS722020ALA330 green
2 2000 Hitachi HDS722020ALA330 green
3 2000 Hitachi HDS722020ALA330 green
4 0 gray
5 0 gray
6 0 gray
7 0 gray
---------------------------------------------------------

Peter Silva

unread,
Dec 10, 2009, 10:46:47 PM12/10/09
to drobo...@googlegroups.com
um... interesting.  the NTFS vs. EXT3 works for me here... I will try to reproduce it, need to buy a hard disk...


Peter.A.Silva

unread,
Dec 15, 2009, 7:03:10 AM12/15/09
to drobo-talk
testing results I have not heard of:

drobom info options
drobom set DualDiskRedundancy True
drobom set IPAddress 123.123.123.123
drobom set NetMask 255.255.0.0
drobom set SpinDownDelay 10
drobom set SpinDownDelay True
drobom info options

(yes I know someone reported spindowndelay not working, but with no
clue as to how it failed, the result isn´t useful...)

If someone can run the above, and print the output that would allow me
to cut a release
with the current development version.
> > drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>
> > .

Elliot

unread,
Dec 15, 2009, 7:56:21 AM12/15/09
to drobo...@googlegroups.com
I'll see if I can get these checks in today. Does it matter if it's connected via iSCSI or USB for the IPAddress change?
> To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.

ElliotA

unread,
Dec 15, 2009, 8:42:24 AM12/15/09
to drobo-talk
Here's my report on everything except the iscsi bits, as I'm plugged
in via iscsi:

root@clutch:~/drobom-dev/drobo-utils# ./drobom info options
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Tue Dec 15 08:39:37 2009
---------------------------------------------------------
query options result:
UseStaticIPAddress True
UseManualVolumeManagement False
YellowThreshold 85
SpinDownDelayMinutes 15
RedThreshold 95
SpinDownDelay True
NetMask 255.255.0.0
DualDiskRedundancy False
IPAddress 169.254.1.1
---------------------------------------------------------
root@clutch:~/drobom-dev/drobo-utils# ./drobom set DualDiskRedundancy
True
Traceback (most recent call last):
File "./drobom", line 338, in <module>
d.SetOptions( options )
File "/root/drobom-dev/drobo-utils/Drobo.py", line 550, in
SetOptions
if (d["DualDiskRedundancy"]):
NameError: global name 'd' is not defined
root@clutch:~/drobom-dev/drobo-utils# ./drobom set SpinDownDelay 10
Traceback (most recent call last):
File "./drobom", line 338, in <module>
d.SetOptions( options )
File "/root/drobom-dev/drobo-utils/Drobo.py", line 550, in
SetOptions
if (d["DualDiskRedundancy"]):
NameError: global name 'd' is not defined
root@clutch:~/drobom-dev/drobo-utils# ./drobom set SpinDownDelay True
Traceback (most recent call last):
File "./drobom", line 338, in <module>
d.SetOptions( options )
File "/root/drobom-dev/drobo-utils/Drobo.py", line 550, in
SetOptions
if (d["DualDiskRedundancy"]):
NameError: global name 'd' is not defined
root@clutch:~/drobom-dev/drobo-utils# ./drobom info options
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Tue Dec 15 08:41:29 2009

Andrew Chalaturnyk

unread,
Dec 15, 2009, 12:39:15 PM12/15/09
to drobo...@googlegroups.com
I will try this out later today and get back to the forum.  

To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.

Peter Silva

unread,
Dec 15, 2009, 7:43:43 PM12/15/09
to drobo...@googlegroups.com
Thanks for testing!
I fixed that bug. please git pull, and try again, hope it works now.
>> > > drobo-talk+...@googlegroups.com<drobo-talk%2Bunsu...@googlegroups.com>
>> <drobo-talk%2Bunsubscribe@googlegrou ps.com>
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/drobo-talk?hl=en.
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups
>> "drobo-talk" group.
>> To post to this group, send email to drobo...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsu...@googlegroups.com>

ElliotA

unread,
Dec 15, 2009, 9:03:55 PM12/15/09
to drobo-talk
I'm now connected over usb:

root@clutch:~/drobom-dev/drobo-utils# ./drobom info options
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Tue Dec 15 21:01:05 2009
---------------------------------------------------------
query options result:
UseStaticIPAddress True
UseManualVolumeManagement False
YellowThreshold 85
SpinDownDelayMinutes 15
RedThreshold 95
SpinDownDelay True
NetMask 255.255.0.0
DualDiskRedundancy False
IPAddress 169.254.1.1
---------------------------------------------------------

root@clutch:~/drobom-dev/drobo-utils# ./drobom set DualDiskRedundancy
True
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, "" )
Traceback (most recent call last):
File "./drobom", line 338, in <module>
d.SetOptions( options )
File "/root/drobom-dev/drobo-utils/Drobo.py", line 562, in
SetOptions
flags, options["SpinDownDelayMinutes"], rawip, rawnm, "" )
File "/usr/lib/python2.5/struct.py", line 63, in pack
return o.pack(*args)
TypeError: unsupported operand type(s) for &: 'str' and 'long'

Peter Silva

unread,
Dec 15, 2009, 9:26:07 PM12/15/09
to drobo...@googlegroups.com
git pull
try again...

ElliotA

unread,
Dec 16, 2009, 9:03:48 AM12/16/09
to drobo-talk
Getting closer

root@clutch:~/drobom-dev/drobo-utils# ./drobom info options
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Wed Dec 16 08:56:04 2009
---------------------------------------------------------
query options result:
UseStaticIPAddress True
UseManualVolumeManagement False
YellowThreshold 85
SpinDownDelayMinutes 15
RedThreshold 95
SpinDownDelay True
NetMask 255.255.0.0
DualDiskRedundancy False
IPAddress 169.254.1.1
---------------------------------------------------------
root@clutch:~/drobom-dev/drobo-utils# ./drobom set DualDiskRedundancy
True
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, 0 )

root@clutch:~/drobom-dev/drobo-utils# ./drobom set SpinDownDelay 10
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, 0 )

root@clutch:~/drobom-dev/drobo-utils# ./drobom set SpinDownDelay False
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, 0 )

root@clutch:~/drobom-dev/drobo-utils# ./drobom set IPAddress
123.123.123.123
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, 0 )

root@clutch:~/drobom-dev/drobo-utils# ./drobom set NetMask 255.255.0.0
/root/drobom-dev/drobo-utils/Drobo.py:562: DeprecationWarning: struct
integer overflow masking is deprecated
flags, options["SpinDownDelayMinutes"], rawip, rawnm, 0 )

root@clutch:~/drobom-dev/drobo-utils# ./drobom info options
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Wed Dec 16 09:03:38 2009
---------------------------------------------------------
query options result:
UseStaticIPAddress True
UseManualVolumeManagement False
YellowThreshold 85
SpinDownDelayMinutes 0
RedThreshold 95
SpinDownDelay False
NetMask 255.255.0.0
DualDiskRedundancy True
IPAddress 123.123.123.123
---------------------------------------------------------

ElliotA

unread,
Dec 16, 2009, 9:06:53 AM12/16/09
to drobo-talk
Looks like spin down delay and spin down delay minutes aren't working
correctly.

ElliotA

unread,
Dec 16, 2009, 11:52:38 AM12/16/09
to drobo-talk
In addition, resetting the lun size (maybe just rebooting the drobo)
resets changes, at least for RedThreshold, SpinDown and SpinDownMinutes

Andrew Chalaturnyk

unread,
Dec 16, 2009, 5:11:42 PM12/16/09
to drobo...@googlegroups.com
Using the latest version from the repository (did a git pull about 20 min ago):

DualDiskRedundancy can be turned off + on (changes to total space remaining changes as well) I am still waiting for it to turn back on (flashing yellow right now, should take a bit ).

I can turn off SpinDownDelay (set to False) but I can not turn it back on.  Maybe both
the minutes and the flag have to be set at the same time?  Setting SpinDownDelayMinutes does nothing (at least when SpinDownDelay is False, I have to reset in Drobo Dashboard once yellow flashing stops)

I am not willing to change the ip / netmask just yet. (using iscsi currently, will try w/ usb + firewire later)






I can turn on and off 

Elliot

unread,
Dec 16, 2009, 5:50:42 PM12/16/09
to drobo...@googlegroups.com
Some more testing today... Found that drobom info luns doesn't report the same information as drobo dashboard. Specifically it has trouble with identifying the luns and the associated FStypes. It does fine with the PTFmt.

Andrew Chalaturnyk

unread,
Dec 16, 2009, 6:06:08 PM12/16/09
to drobo...@googlegroups.com
Setting the Yellow / Red Threshold works until reboot.
Setting SpinDownDelayMinutes works until SpinDownDelay set to False and then cannot be reset until Dashboard does it.
Using usb interface ip / netmask setting works properly.

Peter Silva

unread,
Dec 16, 2009, 7:16:48 PM12/16/09
to drobo...@googlegroups.com
Great Stuff! Thanks Everyone so far, we are getting there!

changed code to flip SpinDownDelay on/off based on
SpinDownDelayMinutes setting alone...
ie. >0 causes bit to be set, == 0 , clears.

Please re-test:

drobom set SpinDownDelayMinutes 10

and see if that works.

Andrew Chalaturnyk

unread,
Dec 16, 2009, 7:22:48 PM12/16/09
to drobo...@googlegroups.com
Seems to work.  

btw. On a side note, for option parsing did you consider using optparse?  It would save a lot of coding.  (and you could use the -d flag etc anywhere on the cmd line)

Peter Silva

unread,
Dec 16, 2009, 7:53:57 PM12/16/09
to drobo...@googlegroups.com
Great!

Please test address setting again, as I added a mask to get rid of the warning.


optparse will make it shorter? don't grok, will take a look, samples
and pointers welcome!


On 12/16/09, Andrew Chalaturnyk <aach...@gmail.com> wrote:
> Seems to work.
>
> btw. On a side note, for option parsing did you consider using optparse? It
> would save a lot of coding. (and you could use the -d flag etc anywhere on
> the cmd line)
>
> On Wed, Dec 16, 2009 at 6:16 PM, Peter Silva <Peter....@gmail.com>wrote:
>
>> Great Stuff! Thanks Everyone so far, we are getting there!
>>
>> changed code to flip SpinDownDelay on/off based on
>> SpinDownDelayMinutes setting alone...
>> ie. >0 causes bit to be set, == 0 , clears.
>>
>> Please re-test:
>>
>> drobom set SpinDownDelayMinutes 10
>>
>> and see if that works.
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups
>> "drobo-talk" group.
>> To post to this group, send email to drobo...@googlegroups.com.
>> To unsubscribe from this group, send email to

>> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsu...@googlegroups.com>

Peter Silva

unread,
Dec 16, 2009, 7:54:51 PM12/16/09
to drobo...@googlegroups.com
Are folks using i386 (Intel 32 bit) or AMD64 (64 bit...) if there is a
variety, need to test with both, as there are bit manipulations.

Andrew Chalaturnyk

unread,
Dec 16, 2009, 8:03:05 PM12/16/09
to drobo...@googlegroups.com
64 bit.  


I may just submit a modified drobom using it (time permitting).

Elliot

unread,
Dec 16, 2009, 8:32:53 PM12/16/09
to drobo...@googlegroups.com
Since Andrew had a suggestion, I guess I'll add mine.

Could you remove the PleaseEraseMyData requirement from "drobom format" since it doesn't actually do the format until you run the script. Alternatively you could make it run the script automatically, though I like that less. Also, any chance you could you change the PleaseEraseMyData to a more standard confirmation yes/no [Y]? I think it would make the app feel a bit more native, and for things like "drobom format" it would mean you could write the script and then offer to run it as a second step.

I'm not a python programmer, so I have no idea if that would be a major re-write or not, but I do think it would be an improvement.

Thanks for your great app.

Peter Silva

unread,
Dec 17, 2009, 6:14:31 AM12/17/09
to drobo...@googlegroups.com
snif, I thought the 'PleaseEraseMyData' part was quirky and
endearing... oh well...
I feel crushed by conformism... reminds me of an apple ad ;-)

git pull will give you what you asked for:

by default it prompts (for setlunsize and format)
you can have be non-destructive with -n or totally destructive with -y

the format stuff is now a sub-process, haven't tested how i/o to the sub-process
is handled (if mkext2fs issues a prompt, not sure if the caller gets it.)
if it doesn't work, just run the fmtscript manually after.

Elliot

unread,
Dec 17, 2009, 7:13:12 AM12/17/09
to drobo...@googlegroups.com
I agree the 'PleaseEraseMyData' is quirky, by all means, if you like it, don't take my advice.
Thanks for the change though. I won't be able to test the changes immediately, and hopefully not for a long time as we went "production" with our drobo yesterday.

Andrew Chalaturnyk

unread,
Dec 17, 2009, 10:55:25 PM12/17/09
to drobo...@googlegroups.com
Possible bug: (haven't reproduced it yet, and I have to put machine into production)

I reset the lun size to 1 , waited for a while (20 min) then reset to 2, the drobo would not come back. ( was not on site)

When I was able to physically access the drobopro I used the usb + dashboard and found that the first two values of the address and netmask had
been masked down to 0.  (192.168.x.x -> 0.0.x.x and 255.255.255.0 -> 0.0.255.0)

Peter.A.Silva

unread,
Dec 18, 2009, 9:30:55 AM12/18/09
to drobo-talk
oops... It's fixed. Please pull again.

> > > On 12/16/09, Elliot <elliotand...@gmail.com> wrote:
> > >> Since Andrew had a suggestion, I guess I'll add mine.
>
> > >> Could you remove the PleaseEraseMyData requirement from "drobom format"
> > >> since it doesn't actually do the format until you run the script.
> > >> Alternatively you could make it run the script automatically, though I
> > like
> > >> that less.  Also, any chance you could you change the PleaseEraseMyData
> > to a
> > >> more standard confirmation yes/no [Y]?  I think it would make the app
> > feel a
> > >> bit more native, and for things like "drobom format" it would mean you
> > could
> > >> write the script and then offer to run it as a second step.
>
> > >> I'm not a python programmer, so I have no idea if that would be a major
> > >> re-write or not, but I do think it would be an improvement.
>
> > >> Thanks for your great app.
>
> > >> On Dec 16, 2009, at 7:53 PM, Peter Silva wrote:
>
> > >>> Great!
>
> > >>> Please test address setting again, as I added a mask to get rid of the
> > >>> warning.
>
> > >>> optparse will make it shorter? don't grok, will take a look, samples
> > >>> and pointers welcome!
>

> > >>> On 12/16/09, Andrew Chalaturnyk <aacha...@gmail.com> wrote:
> > >>>> Seems to work.
>
> > >>>> btw. On a side note, for option parsing did you consider using
> > optparse?
> > >>>> It
> > >>>> would save a lot of coding.  (and you could use the -d flag etc
> > anywhere
> > >>>> on
> > >>>> the cmd line)
>
> > >>>> On Wed, Dec 16, 2009 at 6:16 PM, Peter Silva

> > >>>> <Peter.A.Si...@gmail.com>wrote:


>
> > >>>>> Great Stuff! Thanks Everyone so far, we are getting there!
>
> > >>>>> changed code to flip SpinDownDelay on/off based on
> > >>>>> SpinDownDelayMinutes setting alone...
> > >>>>> ie. >0 causes bit to be set, == 0 , clears.
>
> > >>>>> Please re-test:
>
> > >>>>> drobom set SpinDownDelayMinutes 10
>
> > >>>>> and see if that works.
>
> > >>>>> --
>
> > >>>>> You received this message because you are subscribed to the Google
> > >>>>> Groups
> > >>>>> "drobo-talk" group.
> > >>>>> To post to this group, send email to drobo...@googlegroups.com.
> > >>>>> To unsubscribe from this group, send email to

> > >>>>> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>
> > <drobo-talk%2Bunsu...@googlegroups.com<drobo-talk%252Bunsubscribe@googl egroups.com>


>
> > >>>>> .
> > >>>>> For more options, visit this group at
> > >>>>>http://groups.google.com/group/drobo-talk?hl=en.
>
> > >>>> --
>
> > >>>> You received this message because you are subscribed to the Google
> > Groups
> > >>>> "drobo-talk" group.
> > >>>> To post to this group, send email to drobo...@googlegroups.com.
> > >>>> To unsubscribe from this group, send email to

> > >>>> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>


> > .
> > >>>> For more options, visit this group at
> > >>>>http://groups.google.com/group/drobo-talk?hl=en.
>
> > >>> --
>
> > >>> You received this message because you are subscribed to the Google
> > Groups
> > >>> "drobo-talk" group.
> > >>> To post to this group, send email to drobo...@googlegroups.com.
> > >>> To unsubscribe from this group, send email to

> > >>> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>


> > .
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/drobo-talk?hl=en.
>
> > >> --
>
> > >> You received this message because you are subscribed to the Google
> > Groups
> > >> "drobo-talk" group.
> > >> To post to this group, send email to drobo...@googlegroups.com.
> > >> To unsubscribe from this group, send email to

> > >> drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>


> > .
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/drobo-talk?hl=en.
>
> > > --
>
> > > You received this message because you are subscribed to the Google Groups
> > "drobo-talk" group.
> > > To post to this group, send email to drobo...@googlegroups.com.
> > > To unsubscribe from this group, send email to

> > drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>


> > .
> > > For more options, visit this group at
> >http://groups.google.com/group/drobo-talk?hl=en.
>
> > --
>
> > You received this message because you are subscribed to the Google Groups
> > "drobo-talk" group.
> > To post to this group, send email to drobo...@googlegroups.com.
> > To unsubscribe from this group, send email to

> > drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>

docfruitbat

unread,
Dec 18, 2009, 8:40:49 PM12/18/09
to drobo-talk
Greetings, PeterS (and all drobo-util users!)
(I apologize for this long post in advance. I have many
questions... :-)

I have a newly minted DroboPro loaded with 8x500Gb drives and am using
it via iSCSI.
(I love how quiet and energy efficient this thing is, btw!!)

I have a question concerning partitions that I haven't found discussed
in the drobospace forums, so I'll ask it here first since this
question may only be relevant to ext2 filesystem usage and drobo-
utils.

That question is: can a drobo volume have multiple partitions?

I noticed that Drobo Dashboard (and drobo-utils) seems to create only
one partition (which is the full size of the volume). Is it possible
to, say, create multiple partitions in a volume? I haven't
experimented with this yet (don't really want to break my new
*expensive* toy :-). But, my needs are such that I need 8 separate
"partitions". I was hoping I could create one hugh 16Tb volume and
then create 8 partitions within it, but I don't know if it's supported
or not or what issues this might have.
For this reason, I've manually created 8 volumes via Drobo Dashboard
(installed in a Windows XP instance running under VMware) since drobo-
utils doesn't implement manual volume creation/deletion (yet?
please?? :-).
After creating the volumes (which Dashboard restricted to 2Tb and
NTFS), I used drobo-utils to "format" them as ext2. Now, Dashboard
says the volumes are all filesystem type "unknown". Drobo-utils says
this:

root@gremlin:~# drobom info luns
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/
dev/sdf:/dev/sdg:/dev/sdh:/dev/sdi
Time: Fri Dec 18 09:04:16 2009


---------------------------------------------------------
hoho! multiple partition types! Brave are we not?
hoho! multiple partition types! Brave are we not?
hoho! multiple partition types! Brave are we not?
hoho! multiple partition types! Brave are we not?
lun size (GB) used PTFmt FStype:

0 2199 14 GPT ['NTFS']


0 0 0 No Partitions ['NTFS']

0 0 0 GPT ['NTFS', 'NO FORMAT', 'EXT3']
0 0 0 None ['NTFS', 'NO FORMAT']
0 0 0 None ['FAT32']
0 0 0 None ['NTFS', 'NO FORMAT']
0 0 0 None ['FAT32']
0 0 0 GPT ['NO FORMAT', 'EXT3']
---------------------------------------------------------

This looks very strange to me...is this an indication of corruption?
Do I need to be concerned?
However, each volume partition table looks like this:

root@gremlin:~# parted -s /dev/sdb print

Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 17.4kB 2199GB 2199GB primary

I've been successful in mounting each partition and copying data to
them, so I'm presuming the above is just a cosmetic problem (with
drobo-utils)?

Also, I just pulled the latest git version of drobo-utils and it can't
find my drobopro anymore (says "No Drobos discovered")!
I kept the previous version (just in case) and that version *can* find
my drobopro.
Is anyone else seeing this?

Lastly, I have a chicken and egg question. I have my drobopro mounted
via iSCSI. What happens if I do 'drobom shutdown'? Will the iscsi
attached devices hang? Do I need to do 'drobom shutdown' and then
quick logout the iscsi node? Is there a race condition here? I'm
thinking for automated shutdown situations here (say when the power
goes out and the UPS is saying it's out of battery). I'd want to
"shutdown" the drobo (does this really shut it down??), but if the
command is immediate, the iscsi
attachment will hang...won't it? Is there a way to delay the shutdown
operation long enough to logout the iscsi node?

Anyway, just wanted to chime in as another fellow drobopro owner and
say "thanks" for creating drobo-utils!!
Since this is still a new toy for me, I'm happy to test whatever you
might want, should you need a guinea pig :-)

Peter.A.Silva

unread,
Dec 19, 2009, 4:37:57 AM12/19/09
to drobo-talk
everybody git pull tonight...

i futzed with the luninfo stuff, and the detection. might be all ok
now.
would appreciate seeing

./drobom info luns

fingers crossed.

docfruitbat

unread,
Dec 20, 2009, 9:25:42 PM12/20/09
to drobo-talk
Hmm...pulled latest from git just now, but still no dice:

root@gremlin:~# drobom -v 16 info luns
examining: /dev/sda
id: (0, 0, 0, 0, 'ATA ')
found a Drobo
appending new lundevs to devices: []
examining: /dev/sdb
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdc
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdd
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sde
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdf
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdg
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdh
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
examining: /dev/sdi
id: (0, 0, 0, 0, 'DROBO ')
found a Drobo
appending to lundevs...
returning list: [['/dev/sda', '/dev/sdb', '/dev/sdc', '/dev/sdd', '/
dev/sde', '/dev/sdf', '/dev/sdg', '/dev/sdh', '/dev/sdi']]
trying: ['/dev/sda', '/dev/sdb', '/dev/sdc', '/dev/sdd', '/dev/sde',
'/dev/sdf', '/dev/sdg', '/dev/sdh', '/dev/sdi']
cfg: (91, 0, 9846168977766629376L)
settings: (1526726656L, 8, 'OBO DroboPro')
/dev/sda fw[6] is not armmarvell.
No Drobos discovered

Thoughts?

Peter.A.Silva

unread,
Dec 20, 2009, 9:54:16 PM12/20/09
to drobo-talk
thanks for your patience... please pull and try again...

Andrew Chalaturnyk

unread,
Dec 21, 2009, 12:42:05 AM12/21/09
to drobo...@googlegroups.com
problem with fwcheck:

btw: in drobom, initialize toprint before the branch

--

You received this message because you are subscribed to the Google Groups "drobo-talk" group.
To post to this group, send email to drobo...@googlegroups.com.
To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.

Andrew Chalaturnyk

unread,
Dec 21, 2009, 12:42:39 AM12/21/09
to drobo...@googlegroups.com
oops forgot the paste:

./drobom -d /dev/sdb -v 63  fwcheck
examining:  /dev/sda
id:  (0, 0, 0, 0, '\x00\x00\x00\x00\x00\x00\x00\x00')
found a Drobo
appending new lundevs to devices: []
examining:  /dev/sdb
id:  (4, 0, 0, 0, 'DROBO   ')
found a Drobo
appending new lundevs to devices: [['/dev/sda']]
examining:  /dev/sdc
id:  (4, 0, 0, 1, 'DROBO   ')
found a Drobo
appending to lundevs...
examining:  /dev/sdd
id:  (4, 0, 0, 2, 'DROBO   ')
found a Drobo
appending to lundevs...
returning list:  [['/dev/sda'], ['/dev/sdb', '/dev/sdc', '/dev/sdd']]
trying:  ['/dev/sda']
__init__ 
getsubpage
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
mcb 000: 5a 00 3a 01 00 00 00 00 0f 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  2
driver_status:  8
host_status:  0
sb_len_wr:  0
resid:  0
trying:  ['/dev/sdb', '/dev/sdc', '/dev/sdd']
__init__ 
getsubpage
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
mcb 000: 5a 00 3a 01 00 00 00 00 0f 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 01 00 14 08 02 10 01 00 00 00 ff ff ff 77
the length is:  15
4 byte returned sense buffer header: 0x7a, 0x1, 0x14
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
cfg:  (8, 16, 36893490346442288640L)
getsubpage
DMIP sub_page query:0x05 pattern: >BBHLH32s 
mcb 000: 5a 00 3a 05 00 00 00 00 2a 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 05 00 26 4b 2e b5 94 08 00 4d 61 69 6e 53 74
page_buffer 010: 6f 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 020: 00 00 00 00 00 00 00 00 00 00
the length is:  42
4 byte returned sense buffer header: 0x7a, 0x5, 0x26
DMIP response sub_page:0x05 returned: (1261352340, 2048, 'MainStore\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
settings:  (1261352340, 8, 'MainStore')
getsubpage
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
mcb 000: 5a 00 3a 08 00 00 00 01 3a 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 08 01 36 02 27 54 27 11 06 53 65 70 20 20 38
page_buffer 010: 20 32 30 30 39 2c 30 30 3a 33 31 3a 35 38 00 00
page_buffer 020: 00 00 00 00 00 00 00 00 00 00 41 72 6d 4d 61 72
page_buffer 030: 76 65 6c 6c 20 20 20 20 20 20 31 2e 31 2e 33 00
page_buffer 040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0b0: 00 00 00 00 00 00 00 00 00 00 00 02 fd ff 00 00
page_buffer 0c0: 00 00 00 00 00 01 af ff fd fd ff bd 7d bf ad fc
page_buffer 0d0: ff fd be bf ff fd e9 7f ff ff bd bd ff 9f bf 7e
page_buffer 0e0: f7 d3 fb ff fe ff 77 f3 ff ff f7 df ff ff 5f ff
page_buffer 0f0: ff ff ff df fe ff df f3 fb fb ef ef ff f3 fb ff
page_buffer 100: fe ff ff ff df ff bf fe ff ff ff fc fa fd bd 5e
page_buffer 110: fd fd bf ff fd fe f9 bd bd be 7f ff ff fb ff bf
page_buffer 120: ff eb fb ff ff eb fe ef ff ff ff ff f7 fb d7 cf
page_buffer 130: ff ef df ff fb ff db df ff ff
the length is:  314
4 byte returned sense buffer header: 0x7a, 0x8, 0x136
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\xaf\xff\xfd\xfd\xff\xbd}\xbf\xad\xfc\xff\xfd\xbe\xbf\xff\xfd\xe9\x7f\xff\xff\xbd\xbd\xff\x9f\xbf~\xf7\xd3\xfb\xff\xfe\xffw\xf3\xff\xff\xf7\xdf\xff\xff_\xff\xff\xff\xff\xdf\xfe\xff\xdf\xf3\xfb\xfb\xef\xef\xff\xf3\xfb\xff\xfe\xff\xff\xff\xdf\xff\xbf\xfe\xff\xff\xff\xfc\xfa\xfd\xbd^\xfd\xfd\xbf\xff\xfd\xfe\xf9\xbd\xbd\xbe\x7f\xff\xff\xfb\xff\xbf\xff\xeb\xfb\xff\xff\xeb\xfe\xef\xff\xff\xff\xff\xf7\xfb\xd7\xcf\xff\xef\xdf\xff\xfb\xff\xdb\xdf\xff\xff') 
__del__ 
__del__ 
found  [['/dev/sdb', '/dev/sdc', '/dev/sdd']]
__init__ 
getsubpage
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
mcb 000: 5a 00 3a 01 00 00 00 00 0f 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 01 00 14 08 02 10 01 00 00 00 ff ff ff 77
the length is:  15
4 byte returned sense buffer header: 0x7a, 0x1, 0x14
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
cfg:  (8, 16, 36893490346442288640L)
getsubpage
DMIP sub_page query:0x05 pattern: >BBHLH32s 
mcb 000: 5a 00 3a 05 00 00 00 00 2a 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 05 00 26 4b 2e b5 94 08 00 4d 61 69 6e 53 74
page_buffer 010: 6f 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 020: 00 00 00 00 00 00 00 00 00 00
the length is:  42
4 byte returned sense buffer header: 0x7a, 0x5, 0x26
DMIP response sub_page:0x05 returned: (1261352340, 2048, 'MainStore\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
settings:  (1261352340, 8, 'MainStore')
getsubpage
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
mcb 000: 5a 00 3a 08 00 00 00 01 3a 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  0
page_buffer 000: 7a 08 01 36 02 27 54 27 11 06 53 65 70 20 20 38
page_buffer 010: 20 32 30 30 39 2c 30 30 3a 33 31 3a 35 38 00 00
page_buffer 020: 00 00 00 00 00 00 00 00 00 00 41 72 6d 4d 61 72
page_buffer 030: 76 65 6c 6c 20 20 20 20 20 20 31 2e 31 2e 33 00
page_buffer 040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0b0: 00 00 00 00 00 00 00 00 00 00 00 02 fd ff 00 00
page_buffer 0c0: 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00
page_buffer 0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page_buffer 130: 00 00 00 00 00 00 00 00 00 00
the length is:  314
4 byte returned sense buffer header: 0x7a, 0x8, 0x136
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
mcb 000: 12 00 00 00 4c 00
4 before ioctl, sense_buffer_len= 0
5 after ioctl, result= 0
status:  0
driver_status:  0
host_status:  0
sb_len_wr:  0
resid:  40
page_buffer 000: 00 00 05 12 20 00 00 52 44 52 4f 42 4f 20 20 20
page_buffer 010: 44 72 6f 62 6f 50 72 6f 20 20 20 20 20 20 20 20
page_buffer 020: 31 2e 30 30 26 19 a6 e9 85 47 d8 d9 3a 92 55 b6
page_buffer 030: 5a a4 16 39 99 2b 46 2a f1 ff ca 00 fa 86 e4 e4
page_buffer 040: 44 f3 1b 87 e3 1e f9 47 b6 f1 a5 42
the length is:  36
Traceback (most recent call last):
  File "./drobom", line 338, in <module>
    tuple=d.PickLatestFirmware()
  File "/root/tools/drobo-utils/Drobo.py", line 789, in PickLatestFirmware
    inqw=self.inquire()
  File "/root/tools/drobo-utils/Drobo.py", line 764, in inquire
    raise DroboException
Drobo.DroboExceptionProblem accessing a Drobo: Unknown

__del__ 

Peter.A.Silva

unread,
Dec 21, 2009, 7:51:07 AM12/21/09
to drobo-talk
git pull , try again.

don't really need -v 63 unless the error message is unclear...

sigh... This is going to take a while, because I think the algorithm
for firmware choice has changed.
The spelunking will go on a while...

ElliotA

unread,
Dec 21, 2009, 8:57:21 AM12/21/09
to drobo-talk
Here's with the latest git pull

root@clutch:~/drobom-dev/drobo-utils# ./drobom fwcheck
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.


Traceback (most recent call last):
File "./drobom", line 338, in <module>
tuple=d.PickLatestFirmware()

File "/root/drobom-dev/drobo-utils/Drobo.py", line 790, in
PickLatestFirmware
inqw=self.inquire()
File "/root/drobom-dev/drobo-utils/Drobo.py", line 765, in inquire


raise DroboException
Drobo.DroboExceptionProblem accessing a Drobo: Unknown

root@clutch:~/drobom-dev/drobo-utils# ./drobom status
/dev/sdc:/dev/sdd:/dev/sde /drobo/1:/drobo/2:/drobo/3 DroboPro 25%
full - ([], 0)
root@clutch:~/drobom-dev/drobo-utils# ./drobom fwupgrade
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.


Traceback (most recent call last):

File "./drobom", line 347, in <module>
if d.updateFirmwareRepository():
File "/root/drobom-dev/drobo-utils/Drobo.py", line 949, in
updateFirmwareRepository
(fwarch, fwversion, hwlevel, fwpath ) = self.PickLatestFirmware()
File "/root/drobom-dev/drobo-utils/Drobo.py", line 790, in
PickLatestFirmware
inqw=self.inquire()
File "/root/drobom-dev/drobo-utils/Drobo.py", line 765, in inquire

Andrew Chalaturnyk

unread,
Dec 21, 2009, 8:57:39 AM12/21/09
to drobo...@googlegroups.com
./drobom -v 8 -d /dev/sdb fwcheck
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261382206, 2048, 'MainStore\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01   WDC WD1001FALS-0\x00\x00"\x00\x00F\x03\x00\x00\x00\xe8\xe0\xdb`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03WDC WD1001FALS-00J7B1           WDC WD1001FALS-0\x00\x00#\x00\x00F\x04\x00\x00\x00\xe8\xe0\xdb`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03W') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261382206, 2048, 'MainStore\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\x00\x11\x0b\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\x00\x11\x0c\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\x00\x11\r\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\x00\x11\x0e\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\x00\x11\x0f\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xec\x00\xffw\xdf\xff\xf7') 
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.
Traceback (most recent call last):
  File "./drobom", line 338, in <module>
    tuple=d.PickLatestFirmware()
  File "/root/tools/drobo-utils/Drobo.py", line 790, in PickLatestFirmware
    inqw=self.inquire()
  File "/root/tools/drobo-utils/Drobo.py", line 765, in inquire
    raise DroboException
Drobo.DroboExceptionProblem accessing a Drobo: Unknown


Peter Silva

unread,
Dec 21, 2009, 10:31:12 AM12/21/09
to drobo...@googlegroups.com
pull again, it should fail later now..


Andrew Chalaturnyk

unread,
Dec 21, 2009, 3:14:12 PM12/21/09
to drobo...@googlegroups.com
btw. info is broken now if used by itself (no args) (and toprint is not initialized)
this a different machine (the other is being formatted)
./drobom -v 8 -d /dev/sdg fwcheck
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261426339, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0b\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0c\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\r\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0e\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0f\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261426339, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.
Traceback (most recent call last):
  File "./drobom", line 338, in <module>
    tuple=d.PickLatestFirmware()
  File "/home/andrew/tools/drobo/drobo-utils/Drobo.py", line 794, in PickLatestFirmware
    inqw=self.inquire()
  File "/home/andrew/tools/drobo/drobo-utils/Drobo.py", line 767, in inquire
    return struct.unpack(dpropack, cmdout)
struct.error: unpack requires a string argument of length 32


On Mon, Dec 21, 2009 at 9:31 AM, Peter Silva <infor...@gmail.com> wrote:
pull again, it should fail later now..

Peter.A.Silva

unread,
Dec 21, 2009, 4:58:45 PM12/21/09
to drobo-talk
fixed info with no args.
fixed 32 instead of 36.

pull and no -v needed... just the traceback is enough.


On Dec 21, 3:14 pm, Andrew Chalaturnyk <aacha...@gmail.com> wrote:
> btw. info is broken now if used by itself (no args) (and toprint is not
> initialized)
> this a different machine (the other is being formatted)
> ./drobom -v 8 -d /dev/sdg fwcheck

Andrew Chalaturnyk

unread,
Dec 21, 2009, 6:18:30 PM12/21/09
to drobo...@googlegroups.com
1st machine:

./drobom -d /dev/sdb fwcheck
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.
looking for firmware for: armmarvell 2.41.24969 hw version: 1.00
no matching firmware found, must be the latest and greatest!

2nd machine:

./drobom -d /dev/sdc fwcheck
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.
looking for firmware for: armmarvell 2.39.21543 hw version: 1.00
no matching firmware found, must be the latest and greatest!

I am wondering if I should risk using drobom when updating the second machine...

Peter.A.Silva

unread,
Dec 21, 2009, 6:40:25 PM12/21/09
to drobo-talk

I'd like to see the output of:

./drobom -d /dev/sdb info firmware

The problem is that the algorithm for comparing the current fw against
the vendor repository
has changed. That was a messy heuristic in the first place.
Detection of firmware for downloading
and uploading firmware are two separate (but obviously related!)
problems. Detection is a pain.


If you want to just test firmware loading, then just do:

wget http://www.drobo.com/support/updates/firmware/DroboPro_Firmware_v1-1-4.zip

peter@boule:~/drobo/drobo-utils/dpfw$ unzip
DroboPro_Firmware_v1-1-4.zip
Archive:
DroboPro_Firmware_v1-1-4.zip
inflating:
v1.1.4.tdz
peter@boule:~/drobo/drobo-utils/dpfw$

./drobom -d /dev/sdc fwload v1.1.4.tdz

that stands a chance of working... Drobo's are really good about
firmware safety.
It will either work, or it will not. Drobo's load the new version
into a secondary location,
and on boot they try the new, and fallback to the old. So the worst
thing that can happen is that
you boot your existing firmware.

That would be a very cool test.

> > drobo-talk+...@googlegroups.com<drobo-talk%2Bunsubscribe@googlegrou ps.com>

Andrew Chalaturnyk

unread,
Dec 21, 2009, 6:54:40 PM12/21/09
to drobo...@googlegroups.com
---------------------------------------------------------
Drobo Name: DroboPro   Devices: /dev/sdb
      Time: Mon Dec 21 11:53:55 2009
---------------------------------------------------------
Firmware: 1.1.4
Revision: 2.41 ( 24969 ) built: Nov 25 2009,21:47:33
Features: NO_AUTO_REBOOT,NO_FAT32_FORMAT,USED_CAPACITY_FROM_HOST,DISKPACKSTATUS,ENCRYPT_NOHEADER,CMD_STATUS_QUERIABLE,VARIABLE_LUN_SIZE_1_16,PARTITION_LUN_GPT_MBR,FAT32_FORMAT_VOLNAME,SUPPORTS_NEW_LUNINFO2,feature x0800,LUN_MANAGEMENT,feature x2000 ,SUPPORTS_OPTIONS2,SUPPORTS_SHUTDOWN,leftovers (20000)
---------------------------------------------------------
---------------------------------------------------------
Drobo Name: DroboPro   Devices: /dev/sdc:/dev/sdd:/dev/sde:/dev/sdf:/dev/sdg:/dev/sdh
      Time: Mon Dec 21 17:53:26 2009
---------------------------------------------------------
Firmware: 1.1.3
Revision: 2.39 ( 21543 ) built: Sep  8 2009,00:31:58
Features: NO_AUTO_REBOOT,NO_FAT32_FORMAT,USED_CAPACITY_FROM_HOST,DISKPACKSTATUS,ENCRYPT_NOHEADER,CMD_STATUS_QUERIABLE,VARIABLE_LUN_SIZE_1_16,PARTITION_LUN_GPT_MBR,FAT32_FORMAT_VOLNAME,SUPPORTS_NEW_LUNINFO2,feature x0800,LUN_MANAGEMENT,feature x2000 ,SUPPORTS_OPTIONS2,SUPPORTS_SHUTDOWN,leftovers (20000)
---------------------------------------------------------


btw thanks.  (i sometimes forget to say that)

To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.

Andrew Chalaturnyk

unread,
Dec 21, 2009, 6:58:01 PM12/21/09
to drobo...@googlegroups.com
also for the luns:

DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057611217797119) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261418215, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 41, 24969, 17, 6, 'Nov 25 2009,21:47:33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261439785, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01   WDC WD20EADS-00R\x00\x00&\x00\x00F\x03\x00\x00\x01\xd1\xc1\x11`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03WDC WD20EADS-00R6B0             WDC WD20EADS-00R\x00\x00&\x00\x00F\x04\x00\x00\x01\xd1\xc1\x11`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03W') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057611217797119) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261418215, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 41, 24969, 17, 6, 'Nov 25 2009,21:47:33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff') 
DMIP sub_page query:0x04 pattern: >BBHBHBQQHBQQHBQQHBQQHBQQHBQQHBQQHBQQ 
DMIP response sub_page:0x04 returned: (1, 17, 0, 6827330764800, 93808939008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 
DMIP sub_page query:0x07 pattern: >BBHBHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3B 
DMIP response sub_page:0x07 returned: (1, 17, 0, 8796093022208, 3, 1, 8, 1000, 3, 233, 0, 17, 1, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 2, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 3, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 4, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 5, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 6, 8796093022208, 0, 0, 32, 0, 3, 233, 0, 17, 7, 8796093022208, 0, 0, 32, 0, 3, 233, 0) 
(0, 8796093022208, 93808939008, 'GPT', ['NTFS'])


DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057611217797119) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261418239, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 41, 24969, 17, 6, 'Nov 25 2009,21:47:33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261439808, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x01 pattern: >BBHBBBQ 
DMIP response sub_page:0x01 returned: (8, 2, 16, 72057598332895095) 
DMIP sub_page query:0x05 pattern: >BBHLH32s 
DMIP response sub_page:0x05 returned: (1261439809, 2048, 'DroboPro\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 
DMIP sub_page query:0x08 pattern: >BBHBBHBB32s16s16s240s 
DMIP response sub_page:0x08 returned: (2, 39, 21543, 17, 6, 'Sep  8 2009,00:31:58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'ArmMarvell      ', '1.1.3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0b\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0c\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\r\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0e\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x11\x0f\x00\x00\x01\xff\xff\xfe\xf0\x00\x00\x00 \x00\x00\x03\xee\x00\x00\x00\x00\x03W') 
DMIP sub_page query:0x04 pattern: >BBHBHBQQHBQQHBQQHBQQHBQQHBQQHBQQHBQQ 
DMIP response sub_page:0x04 returned: (6, 17, 0, 11937094041600, 1027255033856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 
DMIP sub_page query:0x07 pattern: >BBHBHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3BHBQBBBH3B 
DMIP response sub_page:0x07 returned: (6, 17, 0, 2199023185920, 3, 1, 8, 1000, 3, 238, 0, 17, 1, 2199023185920, 3, 1, 8, 1001, 3, 238, 0, 17, 2, 2199023185920, 3, 1, 8, 1002, 3, 238, 0, 17, 3, 2199023185920, 3, 1, 8, 1003, 3, 238, 0, 17, 4, 2199023185920, 3, 1, 8, 1004, 3, 238, 0, 17, 5, 2199023185920, 3, 1, 8, 1005, 3, 238, 0, 17, 6, 2199023185920, 0, 0, 32, 0, 3, 238, 0, 17, 7, 2199023185920, 0, 0, 32, 0, 3, 238, 0) 
(0, 2199023185920, 1027255033856, 'GPT', ['NTFS'])
(1, 2199023185920, 0, 'GPT', ['NTFS'])
(2, 2199023185920, 0, 'GPT', ['NTFS'])
(3, 2199023185920, 0, 'GPT', ['NTFS'])
(4, 2199023185920, 0, 'GPT', ['NTFS'])
(5, 2199023185920, 0, 'GPT', ['NTFS'])


still reporting ntfs, but drobo dashboard knows that its ext3 

Peter Silva

unread,
Dec 21, 2009, 8:16:10 PM12/21/09
to drobo...@googlegroups.com
For the LUNS, after looking at the dump, it shows the parttype value being 1,
which is indeed NTFS.

What is returned by the Drobo is 
6 - LUNS
17 bytes long (each, length of each lun record)
partition 0...
size  2 TiB,
part format:  3 - GPT
part type:     1 - NTFS...  I think  the correct value for EXT3 is 8.
part count:   8 - (It's always 8, dunno why...)
unique LUNID:  1000
?  3    (unknown by constant, on my v1, these are 0's.
?  238
?  0

So my guess is that the volumes in question were created by the vendor dashboard, and that the vendor dashboard is formatting the partition as an NTFS type, then creating an ext3 within it.   My tools create the ext3 partition label correctly.  Use parted to print out the partitions, and my guess is that parted will say they are ntfs too.

parted -s /dev/sdZ print



On Mon, Dec 21, 2009 at 6:58 PM, Andrew Chalaturnyk 

Andrew Chalaturnyk

unread,
Dec 21, 2009, 8:57:45 PM12/21/09
to drobo...@googlegroups.com
I used your script to make the partitions.

Andrew Chalaturnyk

unread,
Dec 21, 2009, 8:59:26 PM12/21/09
to drobo...@googlegroups.com
oops forgot to paste again....

parted -s /dev/sdb print
Model: DROBO DroboPro (scsi)
Disk /dev/sdb: 8796GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  8796GB  8796GB               ext2

:~# parted -s /dev/sdc print
Model: DROBO DroboPro (scsi)
Disk /dev/sdc: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  2199GB  2199GB               ext2

Peter Silva

unread,
Dec 22, 2009, 6:55:25 AM12/22/09
to drobo...@googlegroups.com
yeah, so I'm full of crap... hmm... I don't get how those bits are set.
needs further study.

Did you try updating firmware?

Andrew Chalaturnyk

unread,
Dec 22, 2009, 10:36:55 AM12/22/09
to drobo...@googlegroups.com
time permitting I will try. I am in the middle of a large transfer (backup).  I want to update the firmware then
trash the luns, set them to 8, copy back etc...

Peter.A.Silva

unread,
Dec 22, 2009, 12:14:57 PM12/22/09
to drobo-talk
If you do a git pull, I think the info luns might work better.

otoh...
If I have a Drobo with 2 LUNS, I partition the first as EXT3, and the
second as EXT3,
then ./drobom info LUNS reports 'EXT3'. If I re-write the partitions
of the second LUN and create an NTFS partition and file system.
Drobo's bits say: No

On Dec 15, 7:03 aroot@pepino:~/drobo/drobo-utils# ./drobom set lunsize
1
/dev/sdf - Drobo disk pack 00% full - ([], 0)
You asked to set the lunsize to 1
WARNING: Ready to Destroy all you data. Continue? (y/n) y
set lunsize to 1 TiB
Done... Drobo is likely now rebooting.
In a few minutes, it will come back with the new LUN
size.
root@pepino:~/drobo/drobo-utils# ./drobom status
/dev/sdf:/dev/sdg - Drobo disk pack 00% full - ([], 0)
root@pepino:~/drobo/drobo-utils# ./drobom info luns
---------------------------------------------------------
Drobo Name: Drobo disk pack Devices: /dev/sdf:/dev/sdg
Time: Wed Dec 31 19:01:32 1969
---------------------------------------------------------


lun size (GB) used PTFmt FStype:

0 1099 0 No Partitions ['NO FORMAT']
1 1099 0 No Partitions ['NO FORMAT']
---------------------------------------------------------
root@pepino:~/drobo/drobo-utils# more /tmp/fmtscript
#!/bin/sh
parted -s /dev/sdf mklabel gpt
parted -s /dev/sdf mkpart ext2 0 100%
parted -s /dev/sdf print; sleep 5
mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /dev/
sdf1
parted -s /dev/sdg mklabel
gpt
parted -s /dev/sdg mkpart ext2 0
100%
parted -s /dev/sdg print; sleep
5
mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /dev/
sdg1
root@pepino:~/drobo/drobo-utils# sh -x /tmp/
fmtscript
+ parted -s /dev/sdf mklabel
gpt
+ parted -s /dev/sdf mkpart ext2 0
100%
+ parted -s /dev/sdf
print
Model: TRUSTED Mass Storage
(scsi)
Disk /dev/sdf:
1100GB
Sector size (logical/physical): 512B/
512B
Partition Table:
gpt

Number Start End Size File system Name Flags

1 17.4kB 1100GB 1100GB ext2

+ sleep 5
+ mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /
dev/sdf1
mke2fs 1.41.9 (22-
Aug-2009)
Filesystem
label=Drobo01
OS type:
Linux
Block size=4096
(log=2)
Fragment size=4096
(log=2)
4194304 inodes, 268435430
blocks
0 blocks (0.00%) reserved for the super
user
First data
block=0
8192 block
groups
32768 blocks per group, 32768 fragments per
group
512 inodes per
group
Superblock backups stored on
blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616,
78675968,
102400000,
214990848

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
+ parted -s /dev/sdg mklabel gpt
+ parted -s /dev/sdg mkpart ext2 0 100%
+ parted -s /dev/sdg print
Model: TRUSTED Mass Storage (scsi)
Disk /dev/sdg: 1100GB


Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags

1 17.4kB 1100GB 1100GB ext2

+ sleep 5
+ mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /
dev/sdg1
mke2fs 1.41.9 (22-
Aug-2009)
Filesystem
label=Drobo01
OS type:
Linux
Block size=4096
(log=2)
Fragment size=4096
(log=2)
4194304 inodes, 268435430
blocks
0 blocks (0.00%) reserved for the super
user
First data
block=0
8192 block
groups
32768 blocks per group, 32768 fragments per
group
512 inodes per
group
Superblock backups stored on
blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616,
78675968,
102400000,
214990848

Writing inode tables: done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
root@pepino:~/drobo/drobo-utils#
root@pepino:~/drobo/drobo-utils# ./drobom info luns
---------------------------------------------------------
Drobo Name: Drobo disk pack Devices: /dev/sdf:/dev/sdg
Time: Wed Dec 31 19:16:35 1969
---------------------------------------------------------


lun size (GB) used PTFmt FStype:

0 1099 2 GPT ['EXT3']
1 1099 0 GPT ['EXT3']
---------------------------------------------------------
root@pepino:~/drobo/drobo-utils#
root@pepino:~/drobo/drobo-utils# parted -s /dev/sdg mklabel
gpt
root@pepino:~/drobo/drobo-utils# parted -s /dev/sdg mkpart ntfs 0
100%
root@pepino:~/drobo/drobo-utils# parted -s /dev/sdg print; sleep
5
M

Peter.A.Silva

unread,
Dec 22, 2009, 12:17:25 PM12/22/09
to drobo-talk

finger problem triggerred early send... continuing last post:

root@pepino:~/drobo/drobo-utils# mkntfs -f /dev/sdg1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
root@pepino:~/drobo/drobo-utils#


root@pepino:~/drobo/drobo-utils#
root@pepino:~/drobo/drobo-utils# ./drobom info luns
---------------------------------------------------------
Drobo Name: Drobo disk pack Devices: /dev/sdf:/dev/sdg

Time: Wed Dec 31 19:17:42 1969


---------------------------------------------------------
lun size (GB) used PTFmt FStype:

0 1099 2 GPT ['NO FORMAT']
1 1099 0 GPT ['NO FORMAT']
---------------------------------------------------------
root@pepino:~/drobo/drobo-utils#


So /dev/sdf1 has an ext3, /dev/sdg1 has an NTFS, Drobo reports NO
FORMAT... hmm...

Elliot

unread,
Dec 22, 2009, 12:18:26 PM12/22/09
to drobo...@googlegroups.com
Much! thanks:
root@clutch:~/drobom-dev/drobo-utils# ./drobom info luns
---------------------------------------------------------

Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde
Time: Tue Dec 22 12:18:00 2009

---------------------------------------------------------
lun size (GB) used PTFmt FStype:
0 2199 1632 GPT ['EXT3']
1 2199 0 GPT ['EXT3']
2 2199 0 GPT ['EXT3']
---------------------------------------------------------

Andrew Chalaturnyk

unread,
Dec 22, 2009, 12:20:59 PM12/22/09
to drobo...@googlegroups.com
works. did you want a -v 8 dump?

Andrew Chalaturnyk

unread,
Dec 22, 2009, 12:23:48 PM12/22/09
to drobo...@googlegroups.com

btw:  is every one w/ iscsi using open-iscsi?  Are you all using the settings posted by http://www.ezkayak.com/index.php/DroboPro,_iSCSI_and_Linux

If not, what works for you?

Elliot

unread,
Dec 22, 2009, 1:14:16 PM12/22/09
to drobo...@googlegroups.com
We're using open-iscsi, I believe that is where we got our information.  
 
On Dec 22, 2009, at 12:23 PM , Andrew Chalaturnyk wrote:


btw:  is every one w/ iscsi using open-iscsi?  Are you all using the settings posted by http://www.ezkayak.com/index.php/DroboPro,_iSCSI_and_Linux

If not, what works for you?

Peter Silva

unread,
Dec 22, 2009, 1:48:51 PM12/22/09
to drobo...@googlegroups.com
no dumps needed for stuff that works!

ElliotA

unread,
Dec 22, 2009, 4:24:25 PM12/22/09
to drobo-talk
Just tried the firmware load locally on a pro. Looks successful.
Is there an easy way to reboot, or do I have to do a shutdown and then
try and reconnect?

root@clutch:~/drobom-dev/drobo-utils# ./drobom status
/dev/sdc:/dev/sdd:/dev/sde /drobo/1:/drobo/2:/drobo/3 DroboPro 27%
full - (['New firmware installed'], 0)


On Dec 21, 6:40 pm, "Peter.A.Silva" <informa...@gmail.com> wrote:
> I'd like to see the output of:
>
> ./drobom -d /dev/sdb info firmware
>
> The problem is that the algorithm for comparing the current fw against
> the vendor repository
> has changed.   That was a messy heuristic in the first place.
> Detection of firmware for downloading
> and uploading firmware are two separate (but obviously related!)
> problems.  Detection is a pain.
>
> If you want to just test firmware loading, then just do:
>

> wgethttp://www.drobo.com/support/updates/firmware/DroboPro_Firmware_v1-1-...

Peter Silva

unread,
Dec 22, 2009, 4:54:35 PM12/22/09
to drobo...@googlegroups.com
shutdown and reconnect..

I don't know of a reboot command.  I think when new firmware is installed, it reboots on it's own after the shutdown, but YMMV.

To unsubscribe from this group, send email to drobo-talk+...@googlegroups.com.

Peter Silva

unread,
Dec 22, 2009, 6:49:16 PM12/22/09
to drobo...@googlegroups.com
about firmware picking...

I looked over the firmware selection data files more carefully, and the same algorithms should work, except that 1.1.4 is not GA yet (It's pre-release firmware.)  so the latest and greatest version is 1.1.3.  It would be great to verify that the same algorithms work...

if you could go to:

and download and old one, say: v1.1.2.tdz

then install it (yes, downgrade). and once you are there, do

./drobom fwcheck

and it should say you need 1.1.3.  You can then to a fwupgrade
to go through the whole cycle.

After you're done, you can fwload to get 1.1.4 back...

Elliot

unread,
Dec 22, 2009, 7:45:52 PM12/22/09
to drobo...@googlegroups.com
Shutdown and reconnect worked like a charm.
Thanks!

Peter.A.Silva

unread,
Dec 22, 2009, 11:21:19 PM12/22/09
to drobo-talk

if you git pull again, there is a new info option...

./drobom info scsi

if the firmware version picking doesn't work, then it is likely
because of the hardware version
reported by this new option. would need a copy/paste of output (no -v
needed.)
I think the hardware revision on a pro is 2.0

mine (v1) is like so:

peter@pepino:~/drobo/drobo-utils$ sudo ./drobom info scsi


---------------------------------------------------------
Drobo Name: Drobo disk pack Devices: /dev/sdf:/dev/sdg

Time: Thu Jan 1 06:34:07 1970
---------------------------------------------------------
SCSI emulation information:
Vendor: TRUSTED Model: Mass Storage Revision: 1.00
/dev/sdf: bus=scsi12 channel=0 id=0 lun=0 (vendor=TRUSTED ,
version=30527)
/dev/sdg: bus=scsi12 channel=0 id=0 lun=1 (vendor=TRUSTED ,
version=30527)
---------------------------------------------------------
peter@pepino:~/drobo/drobo-utils$

ElliotA

unread,
Dec 23, 2009, 8:26:05 AM12/23/09
to drobo-talk
Hmm...

root@clutch:~/drobom-dev/drobo-utils# ./drobom info scsi
---------------------------------------------------------


Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde

Time: Wed Dec 23 08:25:41 2009
---------------------------------------------------------
SCSI emulation information:


uh, oh... scsi inquire returned 36, bytes instead of 76 expected.

Vendor: DROBO Model: DroboPro Revision: 1.00


Traceback (most recent call last):

File "./drobom", line 392, in <module>
info(d,args[1].split(','))
File "./drobom", line 217, in info
eval( "print" + c + "(d)" )
File "<string>", line 1, in <module>
File "./drobom", line 155, in printscsi
version = dio.version()
File "/root/drobom-dev/drobo-utils/DroboIOctl.py", line 99, in
version
num=struct.unpack("l",k)
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
struct.error: unpack requires a string argument of length 4
root@clutch:~/drobom-dev/drobo-utils#

Peter Silva

unread,
Dec 23, 2009, 10:19:12 AM12/23/09
to drobo...@googlegroups.com
yeah.. pull again, it's fixed...

Peter.A.Silva

unread,
Dec 26, 2009, 12:56:37 PM12/26/09
to drobo-talk
I cut a version... 0.6.2 and it's QA'd and up on sourceforge.

Thanks everyone for their testing resources. This new stable version
is far better than
what was there. I think the PRO works ok. Drobo S is still a
worry. Please try it out!

Elliot

unread,
Dec 27, 2009, 10:13:07 AM12/27/09
to drobo...@googlegroups.com
Thanks for the new version. Haven't tested it thoroughly yet with our pro, but has a question about capacity reporting. It looks like it's getting the lun fstypes and sizes correct, but not picking up the used column correctly.
Thanks for the great work. Here's a dump, plus a df that shows usage.

root@clutch:~/drobom-dev/drobo-utils# ./drobom info


---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdc:/dev/sdd:/dev/sde

Time: Sun Dec 27 10:07:36 2009
---------------------------------------------------------
Configuration maxima: slots: 8, luns: 16, lunsize: 36028799 TB
Capacity (in GB): used: 2000, free: 3976, total: 5977
protocol version: 0.11


SCSI emulation information:
uh, oh... scsi inquire returned 36, bytes instead of 76 expected.
Vendor: DROBO Model: DroboPro Revision: 1.00

/dev/sdc: bus=scsi10 channel=0 id=0 lun=0 (vendor=DROBO , version=30527)
/dev/sdd: bus=scsi10 channel=0 id=0 lun=1 (vendor=DROBO , version=30527)
/dev/sde: bus=scsi10 channel=0 id=0 lun=2 (vendor=DROBO , version=30527)
query slotinfo result: number of slots: 8
slot GB Model Status
0 2000 Hitachi HDS722020ALA330 green
1 2000 Hitachi HDS722020ALA330 green
2 2000 Hitachi HDS722020ALA330 green
3 2000 Hitachi HDS722020ALA330 green
4 0 gray
5 0 gray
6 0 gray
7 0 gray


Firmware: 1.1.4
Revision: 2.41 ( 24969 ) built: Nov 25 2009,21:47:33

Features: NO_AUTO_REBOOT,NO_FAT32_FORMAT,USED_CAPACITY_FROM_HOST,DISKPACKSTATUS,ENCRYPT_NOHEADER,CMD_STATUS_QUERIABLE,VARIABLE_LUN_SIZE_1_16,PARTITION_LUN_GPT_MBR,FAT32_FORMAT_VOLNAME,SUPPORTS_NEW_LUNINFO2,feature x0800,LUN_MANAGEMENT,feature x2000 ,SUPPORTS_OPTIONS2,SUPPORTS_SHUTDOWN,leftovers (0x20000)
/dev/sdc:/dev/sdd:/dev/sde /drobo/1:/drobo/2:/drobo/3 DroboPro 33% full - ([], 0)
query options result:
UseStaticIPAddress True
UseManualVolumeManagement True
YellowThreshold 85
SpinDownDelayMinutes 15
RedThreshold 95
SpinDownDelay True
NetMask 255.255.0.0
DualDiskRedundancy False
IPAddress 169.254.1.1


lun size (GB) used PTFmt FStype:

0 2199 2000 GPT ['EXT3']

1 2199 0 GPT ['EXT3']
2 2199 0 GPT ['EXT3']
---------------------------------------------------------

root@clutch:~/drobom-dev/drobo-utils# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 70G 4.4G 62G 7% /
varrun 1014M 60K 1014M 1% /var/run
varlock 1014M 4.0K 1014M 1% /var/lock
udev 1014M 60K 1014M 1% /dev
devshm 1014M 0 1014M 0% /dev/shm
/dev/sda1 3.4T 3.2T 29G 100% /raid
/dev/sdc1 2.0T 607G 1.5T 30% /drobo/1
/dev/sdd1 2.0T 995G 1.1T 49% /drobo/2
/dev/sde1 2.0T 259G 1.8T 13% /drobo/3

Peter Silva

unread,
Dec 28, 2009, 12:38:18 AM12/28/09
to drobo...@googlegroups.com
Looking at slot info, you have 4 x 2 T disks.  You lose one for parity.  so before formatting losses, you have around 3*2000 = 6000 GB...
capacity is listed as 5977... close enough for me...

then used data in the three file systems from
the df report is 1861 G's, which ignores fs overhead,
lun labels (partition tables) boot blocks, superblocks, inodes, etc...  x 3 for 3 luns.  Drobo reports 2000
as usage.  sounds OK to me.

2000/5977 = 33.4%.

drobom status reports 33% usage.

So, the overall figures are correct.

I guess your point is that all the used space is
attributed to LUN0, and the others appear empty.
I gather that Drobo allocates space as a pool for all LUNS, it might not report on each LUN individually.
This probably reflects what the Drobo is supplying.

hmm... maybe i should not report that value that way...






Elliot

unread,
Dec 28, 2009, 8:19:08 AM12/28/09
to drobo...@googlegroups.com
Yes. I was pointing out that all of the used space is attributed to lun0 in drobom info luns. Seems odd, and I agree, maybe it doesn't make sense to display it, since the same information is available from df. Perhaps more useful would be to show the mount point, or device associated with each lun in that table.
Thanks again.
-Elliot

Peter Silva

unread,
Dec 28, 2009, 11:04:45 AM12/28/09
to drobo...@googlegroups.com
otoh, it might be a bug worth reporting to DRI...  hmm...
I reproduced it myself, and I posted a query in the forums,

http://www.drobospace.com/forums/showthread.php?tid=772

see what comes of it.

docfruitbat

unread,
Jan 21, 2010, 11:57:44 PM1/21/10
to drobo-talk
Sorry for the late reply :-)
Just wanted to report that the latest pull of drobo-utils from git
(today) is much improved, though I seem to have to specify '-s DROBO'
for it to properly identify the devices (anyway of making it properly
auto-detect the drobo?). Without '-s' drobom seems to either A) think
my SATA drive (/dev/sda) is a drobo drive, or B) says theres 'No
Drobos discovered'. It's inconsistent in this, and I can't seem to
make happen at will (and It might be related to the specific info
commands I'm using too...not sure). But, as long as I use '-s DROBO'
all is well. Just to reiterate, I'm using iSCSI attached devices.
I did have one question concerning the 'info luns' output. It seems
to attribute all of the 'used' storage to the first lun rather than
how much is actually used by each lun. Eg:
root@gremlin:/# drobom -s DROBO -v 1 info luns
---------------------------------------------------------
Drobo Name: DroboPro Devices: /dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/
dev/sdf:/dev/sdg:/dev/sdh:/dev/sdi
Time: Fri Jan 22 12:45:34 2010
---------------------------------------------------------

lun size (GB) used PTFmt FStype:
0 2199 143 GPT ['EXT3']

1 2199 0 GPT ['EXT3']
2 2199 0 GPT ['EXT3']
3 2199 0 GPT ['EXT3']
4 2199 0 GPT ['EXT3']
5 2199 0 GPT ['EXT3']
6 2199 0 GPT ['EXT3']
7 2199 0 GPT ['EXT3']
---------------------------------------------------------

Yet, my actual allocations on each partition is:
root@gremlin:/# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 2146293576 4234476 2142059100 1% /mnt/drobo/
home
/dev/sdc1 2146293576 927272 2145366304 1% /mnt/drobo/
mail
/dev/sdd1 2146293576 22829060 2123464516 2% /mnt/drobo/
archive
/dev/sde1 2146293576 6537596 2139755980 1% /mnt/drobo/
work
/dev/sdf1 2146293576 330052 2145963524 1% /mnt/drobo/
db
/dev/sdg1 2146293576 46966924 2099326652 3% /mnt/drobo/
web
/dev/sdh1 2146293576 42901504 2103392072 2% /mnt/drobo/
media1
/dev/sdi1 2146293576 5464848 2140828728 1% /mnt/drobo/
media2

Is this just a reporting issue with drobom or is this some indication
that storage is really only being allocated to the first lun? Should
I be concerned? I haven't run into any problems ... yet (knock on
wood :-)

Anyway, want to say 'Thanks' again for drobo-utils and keep up the
good work!

On Dec 20 2009, 6:54 pm, "Peter.A.Silva" <informa...@gmail.com> wrote:
> thanks for your patience... please pull and try again...
>
> On Dec 20, 9:25 pm, docfruitbat <doc...@fruitbat.org> wrote:
>
> > Hmm...pulled latest from git just now, but still no dice:
>
> > root@gremlin:~# drobom -v 16 info luns
> > examining: /dev/sda
> > id: (0, 0, 0, 0, 'ATA ')
> > found a Drobo
> > appending new lundevs to devices: []
> > examining: /dev/sdb
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdc
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdd
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sde
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdf
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdg
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdh
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > examining: /dev/sdi
> > id: (0, 0, 0, 0, 'DROBO ')
> > found a Drobo
> > appending to lundevs...
> > returning list: [['/dev/sda', '/dev/sdb', '/dev/sdc', '/dev/sdd', '/
> > dev/sde', '/dev/sdf', '/dev/sdg', '/dev/sdh', '/dev/sdi']]
> > trying: ['/dev/sda', '/dev/sdb', '/dev/sdc', '/dev/sdd', '/dev/sde',
> > '/dev/sdf', '/dev/sdg', '/dev/sdh', '/dev/sdi']
> > cfg: (91, 0, 9846168977766629376L)
> > settings: (1526726656L, 8, 'OBO DroboPro')
> > /dev/sda fw[6] is not armmarvell.
> > No Drobos discovered
>
> > Thoughts?
>
> > On Dec 19, 1:37 am, "Peter.A.Silva" <informa...@gmail.com> wrote:
>
> > > everybody git pull tonight...
>
> > > i futzed with the luninfo stuff, and the detection. might be all ok
> > > now.
> > > would appreciate seeing
>
> > > ./drobom info luns
>
> > > fingers crossed.

Peter Silva

unread,
Jan 22, 2010, 10:59:54 PM1/22/10
to drobo...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages