HP SAS Expander Wiki

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

ClintE

Member
Feb 22, 2019
31
7
8
Hello,

I recently got the HP SAS EXP Card firmware 2.06(F), I am trying to update the firmware but its not being recognized in Ubuntu 18.04.

I have installed all updates that I can find, and my raid card is installed and recognized properly. when I run the following cmd the expander doesn't get listed.

lsscsi -g | grep HP

is there something I am missing? I would like to update the firmware.

thank you
Bill
If your raid card has the option, you could try putting it into "passthrough" or IT-mode then restart and see if the system can see the expander. If this doesn't work, you might need to find a cheap LSI-type card that has IT-mode firmware. I know you would be able to see the expander with that type of card. I've never tried connecting one of my expanders to a raid card like Adaptec or Areca, just LSI.
 

Bill Luttmer

New Member
Aug 19, 2019
20
0
1
Ok, thank you, I will see if I can do that, hope I dont have to get a lsi card for this, that seems like a waste, lol, i already have two raid cards that I am currently not using but not lsi.
 

atlantauser

New Member
Jul 21, 2020
2
0
1
I'm trying to understand this card a bit more. It's running firmware 2.10 from what i can tell.

I have an LSI that was crossflashed to 9211-8i IT mode firmware. 2 sff-8087 ports. This is inside a Dell R710 chassis, with 2x backplanes in the front each with 4x drive bays.

I also have an LSI SAS6160 switch, and connected to it are 2x sans digital MS8x6+ chassis' with 8 drives each, and 1x pc-pitstop SASE8 w/ 8x Crucial SSD's.

I've tried connecting the LSI controller to the HP Expander internally on ports 8c or 9c, and then using the internal ports on the hp expander to connect to my internal backplanes in the R710, and the external connector (1c) to my SAS6160. Unfortunately, none of the drives attached to the switch end up being detected by the controller. It can only see the backplane connected drives internally and nothing on the sas6160 or subsequently attached enclosures.

Am I not using this correctly in some way?
 

Prof_G

Active Member
Jan 16, 2020
133
79
28
Anyone know if 2 of these work with the raid on board cards like 9260/80’s? I would like to try and get all of my disks on one card. Right now 52 sas 2.5 drives is split over 3 cards.This will make for larger pool and cause less wasted drives in the raid pool covering the redundancy. If this works I will gain about 2 Tb free just by changing over. I’m not super concerned about having to use the onboard raid of the 9260/80’s to perform the management it works fine for me.
 

Bill Luttmer

New Member
Aug 19, 2019
20
0
1
Hello,

Would anyone be able to tell me what the 6 led lights do on the hp expander?

My card is not working and drives not recognized. The 1st 3 lights are solid green.

Any ideas?

Thank you
Bill
 

Texasserver

New Member
Feb 4, 2021
5
0
1
Old thread I know, I was looking to pick up one of these HP expanders but worried about being able to update the firmware since the seller does not list the firmware version.

Is there a way to do it without an HP HBA?

If I do need an HP HBA, does the H240 work? I have been considering grabbing one anyways just to have a spare HBA.
 

BeTeP

Well-Known Member
Mar 23, 2019
653
429
63
Neither HP servers nor HP HBA required. Just use sg_write_buffer to flash.
 

Texasserver

New Member
Feb 4, 2021
5
0
1
Neither HP servers nor HP HBA required. Just use sg_write_buffer to flash.
Cool, is there a write up on this method? Still quite new to linux so I have no clue what that command is lol.

OT: This does beg the question, I still need a spare HBA with how prices are going up. LSI 8I like my others for $30-40 or H240 for $20?
 

Bill Luttmer

New Member
Aug 19, 2019
20
0
1
Hello,

Does anyone know what the led lights on the hp expander are for? is there documentation somewhere?

right now I can only get R1 and R2 to light up
 

Ronski

New Member
Nov 9, 2020
20
1
3
Broadstairs, UK
I'm trying to flash my card which currently has firmware 1.52, I followed the instructions mentioned in this thread and here, but am getting "No such file or directory" error

/tmp# sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin.fw /dev/sg0
bash: /usr/bin/sg_write_buffer: No such file or directory
Precision-Tower-5810:/tmp# dir
CP022989.scexe
libsgutils2-2_1.39-0.1_i386.deb
PUF21000.bin
sg3-utils_1.39-0.1_i386.deb
snap.snap-store
ssh-7lAGo7LTbqkb
systemd-private-0a0c422664bf4187b02e545495f7429c-colord.service-kRdctg
systemd-private-0a0c422664bf4187b02e545495f7429c-fwupd.service-E576Pg
systemd-private-0a0c422664bf4187b02e545495f7429c-ModemManager.service-nSNimh
systemd-private-0a0c422664bf4187b02e545495f7429c-switcheroo-control.service-ODxKIg
systemd-private-0a0c422664bf4187b02e545495f7429c-systemd-logind.service-LNnGoh
systemd-private-0a0c422664bf4187b02e545495f7429c-systemd-resolved.service-aeuIrh
systemd-private-0a0c422664bf4187b02e545495f7429c-systemd-timesyncd.service-VSzxRg
systemd-private-0a0c422664bf4187b02e545495f7429c-upower.service-oDmhzh
tmp
tracker-extract-files.1000
tracker-extract-files.125
root@chiamining-Precision-Tower-5810:/tmp#

I'm a complete Linux novice, but I have the PUF21000.bin in the tmp folder, I notice another tmp folder within that so have also copied the PUF21000.bin file into that folder as well, but still no joy.

Any idea's please?
 

itronin

Well-Known Member
Nov 24, 2018
1,234
793
113
Denver, Colorado
I'm trying to flash my card which currently has firmware 1.52, I followed the instructions mentioned in this thread and here, but am getting "No such file or directory" error

I'm a complete Linux novice, but I have the PUF21000.bin in the tmp folder, I notice another tmp folder within that so have also copied the PUF21000.bin file into that folder as well, but still no joy.

Any idea's please?
You appearing to be tacking ".fw" onto your file name while using the sg_write-buffer command.

--in=<filename> You are using "PUF21000.bin.fw"

your directory shows the filename as "PUF21000.bin"

try removing the ".fw"
 

Ronski

New Member
Nov 9, 2020
20
1
3
Broadstairs, UK
Thanks, very odd, I was copy and pasting and only changing the sg1 to sg0 on the end, wonder whether I somehow typed that in to the reply on here, or whether it really was there.

I've shut the system down, so I'll try again tomorrow night.
 

itronin

Well-Known Member
Nov 24, 2018
1,234
793
113
Denver, Colorado
Thanks, very odd, I was copy and pasting and only changing the sg1 to sg0 on the end, wonder whether I somehow typed that in to the reply on here, or whether it really was there.

I've shut the system down, so I'll try again tomorrow night.
when you can log back in, check your command history to see what's in there.
 

Ronski

New Member
Nov 9, 2020
20
1
3
Broadstairs, UK
I need to Google how to do that, but would it still be there, it's powered off?

PS. Its a full install rather than a live CD
 
Last edited:

itronin

Well-Known Member
Nov 24, 2018
1,234
793
113
Denver, Colorado
I need to Google how to do that, but would it still be there, it's powered off?

PS. Its a full install rather than a live CD
right sorry. "linux novice"

Once you've either sudo'ed to root or logged in as root, type:

"history" at the command prompt. without the quotes.

if you want to search for things in the history you'd type something like "history | grep -i sg_write" at the command prompt. without the quotes.

bash normally tracks the history of exexcuted commands. you can "man history" at the command prompt to find out more.

the bash history is typically stored in a hidden file within your login directory. You can type "ls -la" after you login and before you cd to any other directory to see what's there.
 
  • Like
Reactions: Ronski and Markess

Ronski

New Member
Nov 9, 2020
20
1
3
Broadstairs, UK
Thanks, I must of clicked in the forum post and typed "fw" as its not in the history, which is below complete with novice mistakes.

Code:
    1  lsscsi -g | grep HP
    2  apt install lsscsi
    3  lsscsi -g | grep HP
    4  lsscsi -g | grep HP (notate /dev/sg*0
    5  cls
    6  lsscsi -g | grep HP
    7  cd /tmp
    8  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb
    9  apt install curl
   10  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb
   11  curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb
   12  dpkg -i libsgutils2-2_1.39-0.1_i386.deb
   13  dpkg -i sg3-utils_1.39-0.1_i386.deb
   14  chmod +x CP019687.scexe
   15  chmod +x CP019687.scexe
   16  dir
   17  chmod +x CP022989.scexe
   18  ./CP022989.scexe --unpack=tmp
   19  mv /tmp/tmp/PUF21000.bin /tmp
   20  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg0
   21  sg_write_buffer --mode=0x7 --bpw=4096 --in=PUF21000.bin /dev/sg0
   22  dir
   23  sg_write_buffer
   24  curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
   25  dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386
   26  mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
   27  dir
   28  exit
   29  rmdir /tmp
   30  cd /tmp
   31  cp PUF21000.bin /tmp
   32  cp PUF21000.bin /tmp/tmp
   33  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg0
   34  sg
   35  sg_
   36  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb &&  curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb &&  dpkg -i *_1.39-0.1_i386.deb
   37  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg0
   38  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=/tmp/PUF21000.bin /dev/sg0
   39  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin.fw /dev/sg0
   40  sg_write_buffer --mode=0x7 --bpw=4096 --in=PUF21000.bin.fw /dev/sg0
   41  dir
   42  sg_write_buffer --mode=0x7 --bpw=4096 --in=/tmp/PUF21000.bin.fw /dev/sg0
   43  mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
   44  rmdir /tmp
   45  rmdir -r  /tmp
   46  rmdir -r /tmp
   47  rm -r /tmp
   48  mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
   49  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb &&  curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb &&  dpkg -i *_1.39-0.1_i386.deb
   50  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb
   51  apt-get install lsscsi
   52  apt --fix-broken install
   53  cd tmp
   54  cd /tmp
   55  md /tmp
   56  lsscsi -g | grep HP
   57  mkdir /tmp
   58  cd /tmp
   59  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb
   60  curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb
   61  dpkg -i libsgutils2-2_1.39-0.1_i386.deb
   62  dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386
   63  apt --fix-broken install
   64  dpkg -i libsgutils2-2_1.39-0.1_i386.deb
   65  dpkg -i sg3-utils_1.39-0.1_i386.deb
   66  curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb &&  curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb &&  dpkg -i *_1.39-0.1_i386.deb
   67  curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
   68  mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
   69  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg1
   70  dir
   71  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=/PUF21000.bin /dev/sg1
   72  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=/PUF21000.bin /dev/sg0
   73  sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg0
I and here I run through the procedure again, and get "No such file or directory" even though the file is there. Any ideas please?

I'm using Ubuntu 20.04.2 LTS

Code:
root@Rons-Precision-Tower-5810:/home/Ronski# lsscsi -g | grep HP
[0:0:0:0]    enclosu HP       HP SAS EXP Card  1.52  -          /dev/sg0
root@Rons-Precision-Tower-5810:/home/Ronski# dpkg --add-architecture i386 && apt-get update && apt-get install libstdc++6:i386
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://gb.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://gb.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree      
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies.
libgpod-common : Depends: libsgutils2-2 (>= 1.27) but it is not going to be installed
libsgutils2-2:i386 : Depends: libc6:i386 (>= 2.7) but it is not going to be installed
libstdc++6:i386 : Depends: gcc-10-base:i386 (= 10.3.0-1ubuntu1~20.04) but it is not going to be installed
                   Depends: libc6:i386 (>= 2.23) but it is not going to be installed
                   Depends: libgcc-s1:i386 (>= 4.2) but it is not going to be installed
sg3-utils:i386 : Depends: libc6:i386 (>= 2.7) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
root@Rons-Precision-Tower-5810:/home/Ronski# curl -O http://sg.danny.cz/sg/p/libsgutils2-2_1.39-0.1_i386.deb &&
>
> curl -O http://sg.danny.cz/sg/p/sg3-utils_1.39-0.1_i386.deb &&
>
> dpkg -i *_1.39-0.1_i386.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 67170  100 67170    0     0   323k      0 --:--:-- --:--:-- --:--:--  321k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  564k  100  564k    0     0  1099k      0 --:--:-- --:--:-- --:--:-- 1099k
(Reading database ... 234720 files and directories currently installed.)
Preparing to unpack libsgutils2-2_1.39-0.1_i386.deb ...
Unpacking libsgutils2-2:i386 (1.39-0.1) over (1.39-0.1) ...
Preparing to unpack sg3-utils_1.39-0.1_i386.deb ...
Unpacking sg3-utils:i386 (1.39-0.1) over (1.39-0.1) ...
dpkg: dependency problems prevent configuration of libsgutils2-2:i386:
libsgutils2-2:i386 depends on libc6 (>= 2.7).

dpkg: error processing package libsgutils2-2:i386 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of sg3-utils:i386:
sg3-utils:i386 depends on libc6 (>= 2.7).
sg3-utils:i386 depends on libsgutils2-2 (>= 1.39); however:
  Package libsgutils2-2:i386 is not configured yet.

dpkg: error processing package sg3-utils:i386 (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.9.1-1) ...
Errors were encountered while processing:
libsgutils2-2:i386
sg3-utils:i386
root@Rons-Precision-Tower-5810:/home/Ronski# curl -O http://downloads.hpe.com/pub/softlib2/software1/sc-linux-fw-array/p6670438/v96061/CP022989.scexe
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2990k  100 2990k    0     0   213k      0  0:00:14  0:00:14 --:--:--  277k
root@Rons-Precision-Tower-5810:/home/Ronski# mkdir tmp && chmod +x CP022989.scexe && ./CP022989.scexe --unpack=tmp && mv tmp/PUF21000.bin . && rm -r tmp/
ccissflash
Config.xml
CP022989.xml
hpsetup
libcpqimgr.so
PUF21000.bin
root@Rons-Precision-Tower-5810:/home/Ronski# sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=PUF21000.bin /dev/sg0
bash: /usr/bin/sg_write_buffer: No such file or directory
root@Rons-Precision-Tower-5810:/home/Ronski# dir
Desktop    Downloads                Music     Public        sg3-utils_1.39-0.1_i386.deb  Templates        Videos
CP022989.scexe    Documents  libsgutils2-2_1.39-0.1_i386.deb  Pictures  PUF21000.bin  snap             thinclient_drives
root@Rons-Precision-Tower-5810:/home/Ronski#
 
Last edited:

itronin

Well-Known Member
Nov 24, 2018
1,234
793
113
Denver, Colorado
You have some funk going on for sure.
bash is reporting diffculty with sg_write_buffer...
I'd expect sg_write_buffer to report an issue with the file.
on freebsd (sorry linux access for an appropriate test system is curtailed at the moment) I get the following:
Code:
% sudo sg_write_buffer --mode=dmc_offs_defer --bpw=4096 --in=foobar.fw /dev/da0
sg_write_buffer: could not open foobar.fw for reading: No such file or directory
can you provide the output for the following commands:

which sg_write_buffer
ls -la /usr/bin/sg_write_buffer
/usr/bin/sg_write_buffer --version
/usr/bin/sg_write_buffer -h
 

Ronski

New Member
Nov 9, 2020
20
1
3
Broadstairs, UK
Code:
root@Rons-Precision-Tower-5810:/home/Ronski# which sg_write_buffer
/usr/bin/sg_write_buffer
root@Rons-Precision-Tower-5810:/home/Ronski# ls -la /usr/bin/sg_write_buffer
-rwxr-xr-x 1 root root 14224 Jun 12  2014 /usr/bin/sg_write_buffer
root@Rons-Precision-Tower-5810:/home/Ronski# /usr/bin/sg_write_buffer --version
bash: /usr/bin/sg_write_buffer: No such file or directory
root@Rons-Precision-Tower-5810:/home/Ronski# /usr/bin/sg_write_buffer -h
bash: /usr/bin/sg_write_buffer: No such file or directory
root@Rons-Precision-Tower-5810:/home/Ronski#
 

itronin

Well-Known Member
Nov 24, 2018
1,234
793
113
Denver, Colorado
Code:
root@Rons-Precision-Tower-5810:/home/Ronski# which sg_write_buffer
/usr/bin/sg_write_buffer
root@Rons-Precision-Tower-5810:/home/Ronski# ls -la /usr/bin/sg_write_buffer
-rwxr-xr-x 1 root root 14224 Jun 12  2014 /usr/bin/sg_write_buffer
root@Rons-Precision-Tower-5810:/home/Ronski# /usr/bin/sg_write_buffer --version
bash: /usr/bin/sg_write_buffer: No such file or directory
root@Rons-Precision-Tower-5810:/home/Ronski# /usr/bin/sg_write_buffer -h
bash: /usr/bin/sg_write_buffer: No such file or directory
root@Rons-Precision-Tower-5810:/home/Ronski#
bash: /usr/bin/sg_write_buffer: No such file or directory

bash can't find your sg_write_buffer or the file itself is borked.

your issue is not with the firmware file.

You might try autocompleting the sg_write_buffer command if you are typing it out or cutting and pasting it.

at the prompt start by typing sg_write and hit tab to see if it autocompltes.

somehow you might have a non printable character in the file name. how that happened though would be beyond my ken.