ProLiant Servers (ML,DL,SL)
cancel
Showing results for 
Search instead for 
Did you mean: 

how to get valid data out of arrtype.exe

Dominic W. Chan
Occasional Advisor

how to get valid data out of arrtype.exe

I am trying to incorporate the SmartScript Toolkit for DOS for our script CD build. I was able to utilize the systype.exe to determine the model type during the build. Since systype generate a errorlevel value, i just do a series of if errorlevel=80 then set the driver to this, or something specific for that model.

However, when i try to use the arrtype.exe (i.e. arrtype.exe ssstkarr.ini first), to get a better control of what array controller are being use for our boot partition (since some of the server both two controller), only output i get is a sentence (i.e. HP SmartStart 6i [017e67] is yor first controller. Since i don't get some errorlevel output, i can not just pipe the entire sentence into a if-then loop to determine what driver or especial task to take.

Has anyone work with arrtype.exe and find a way to use the output in a more manageable way

dwc
11 REPLIES
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

Dominic,
What version of SmartStart Scripting Toolkit are you running? If you inspect the contents of ssstkarr.ini, can you find the value 017e67? If not, you should be able to modify the file and put in your own errorlevel number, such as:

0E114091=22
NAME=Smart Array 6i

00017E67=23
NAME=Smart Array 6i

I have not utilized the arrtype for my scripted installs, but mainly rely on systype instead.

Hope this helps,
Neal
Dominic W. Chan
Occasional Advisor

Re: how to get valid data out of arrtype.exe

I know that ssstkarr.ini has the following format

0E114091=22
NAME=Smart Array 6i

does arrtype.exe generate a errorlevel value like systype? If so, for a Smart Array 6i, will the errorlevel i am expecting to be 0E114091 or 22?

dwc
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

In your example, 22 would be the errorlevel reported, provided that 0E114091 was the successful match.
Dominic W. Chan
Occasional Advisor

Re: how to get valid data out of arrtype.exe

What you suggested didn't work. I am using the following

a:\hp\arrtype a:\hp\ssstkarr.ini first
if errorlevel 1 goto Smart2
if errorlevel 2 goto Smart2SL
if errorlevel 3 goto SA3200
if errorlevel 4 goto SA3100ES
.
.
:Smart2
set ArrType="Smart-2 Array"
goto end4

:Smart2SL
set ArrType="Smart-2SL Array"
goto end4

:SA3200
set ArrType="Smart Array 3200"
goto end4

:SA3100ES
set ArrType="Smart Array 3100ES"
goto end4
.
.
cd \
:end4

No matter which controller i physically have in the system, the errorlevel is 1, or default to the first one. Any idea what I am missing or doing wrong?

dwc
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

Dominic,
From your last response, I am not sure what you are trying to accomplish with the arrtype command.

What you suggested didn't work. I am using the following

a:\hp\arrtype a:\hp\ssstkarr.ini first
if errorlevel 1 goto Smart2
if errorlevel 2 goto Smart2SL
if errorlevel 3 goto SA3200
if errorlevel 4 goto SA3100ES
.
.
:Smart2
set ArrType="Smart-2 Array"
goto end4

:Smart2SL
set ArrType="Smart-2SL Array"
goto end4

:SA3200
set ArrType="Smart Array 3200"
goto end4

:SA3100ES
set ArrType="Smart Array 3100ES"
goto end4
.
.
cd \
:end4

No matter which controller i physically have in the system, the errorlevel is 1, or default to the first one. Any idea what I am missing or doing wrong?

dwc


For getting control of the boot controller, that would be set in RBSU for G2+ servers, or F10 System Utilities for previous models.

If you are trying determine which boot controller drivers need to be copied to the CD/hard drive for installation, that would be a different matter.

You don't mention which OS this is for, but for now, I will assume Windows 2000 and Server 2003 OS.

Microsoft has a basic driver for most of the array controllers already part of their driver library in \i386 folder. For controllers that have been released or updated since the Microsoft OS release, you can copy these drivers to $OEM$\$1\drivers\SCSI folder. You will need the .inf, .cat, .dll, and .sys files in this folder for the array controller you are trying to load. If the storage controller is not detected during the text-mode setup, you will need to copy these files into \$OEM$\Textmode folder, using TXTSETUP.OEM to control which files are loaded, based on PCI detection and enumeration.

Let me know if I am off-base for what you are looking to do, or if this helps in any way.

Neal

Re: how to get valid data out of arrtype.exe

I'm having the exact same issue. If you run arrtype, it will return the correct controller. I'm trying to create a DOS script that will query the type of controller then apply the appropriate settings with the acr utility. I don't think arrtype is returning any or the correct errorlevel.
In my case i have both SA5312 and SA641 cards in ML350 G3 and ML350 G4p servers.

Here is my script:

A:\utils\arrtype a:\utils\ssstkarr.ini FIRST
IF ERRORLEVEL 15 goto 5312
IF ERRORLEVEL 17 goto 641

:5312
a:\utils\ACR /I a:\array\5312.ary /o > A:\logs\ary.log
goto DONE

:641
ECHO Configuring the Array Controllers...
a:\utils\ACR /I a:\array\641.ary /o > A:\logs\ary.log
goto DONE
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

Kristopher,

Confirm that the switch after ACR is /i instead of /L. It is not case-sensitive, but need to verify the difference between I and l given the font the message is displayed in.

Neal

Re: how to get valid data out of arrtype.exe

The acr.exe commands work perfectly fine. The issue is with arrtype.exe. It doesn't exit with an errorlevel. Arrtype.exe is supposed to work just like systype.exe. If you have used systype.exe before, it exits with different errorlevels depending on the server model.
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

Kristoper,
Change the following line:
a:\utils\ACR /I a:\array\641.ary /o > A:\logs\ary.log
to
a:\utils\ACR /I a:\array\641.ary /o /e A:\logs\ary.log

This is the excerpt from the SSTK User Guide.
/E [DRIVE:][PATH]FILENAME

This argument specifies the file name for logging errors. If [DRIVE:][PATH]FILENAME is not specified, a file with the name ERROR.INI is created in the current working directory. Errors are not logged unless this argument is used.

Sample command:
ACR /I /E A:\ERROR.LOG /S

ACR reads the array configuration from the default script file ACUINPUT.INI in the current working directory on the system and stamps the target server with the configuration in a nondestructive manner. Any errors encountered in the process are written to the file ERROR.LOG on the A: drive. ACR does not display informational messages on the console but does display error messages.
Neal Bowman
Respected Contributor

Re: how to get valid data out of arrtype.exe

Kristopher,
Realizing I did not answer your question, I did do some more quick testing on one of my systems here.

I have attached a sample batch file that will detect a couple different array controllers and attempt make changes. I have removed the /o command from my script as I did not want to actually change the configuration of the server I was testing on. You can modify the script as you require for your environment.

Neal

Re: how to get valid data out of arrtype.exe

The following command:
\ARRTYPE.EXE \SSSTKARR.INI
Just prints the help for arrtype.exe