Bug #1441

cpqary3 driver is old and causes panic in oi_151

Added by Bryan Leaman over 9 years ago. Updated over 6 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
4.00 h


oi_151 (and probably anything beyond snv_139) cannot be installed or used on some HP Proliant hardware that uses the cpqary3 driver. An attempt to boot the oi_151 install CD results in a kernel panic in cpqary3_retrieve().

This was initially reported as an illumos issue:

however using a newer HP driver seems to fix the problem.

On a Proliant DL360 G4p with a SmartArray 6i controller, I installed snv_134 and then upgraded to oi_151a in a new BE. Booting into that BE failed with a kernel panic with the 2.2.0a driver from dev-il. Upgrading the driver to the latest version 2.4.6 available from HP allows the BE to boot successfully, and 24 hours of filebench load testing was successful without any problems.

It may be a good idea to update this driver for the 151 release.


webrev.3881.patch (286 KB) webrev.3881.patch Ken Mays, 2013-08-31 02:27 PM

Related issues

Related to OpenIndiana Distribution - Bug #3016: Kernel Panic with text install with HP Smart ArrayNewOI illumos2012-07-22


Updated by Bryan Leaman over 9 years ago

This also was reported in illumos bug 1129:


Updated by Ken Mays over 9 years ago

  • Status changed from New to Feedback
  • Target version set to oi_151_stable
  • % Done changed from 0 to 90

I have confirmed a fix/workaround installing the HP CPQary3 v2.4.6 driver with several sys admins using HP DL* servers at various enterprise data centers. We used a client's HP DL385 server for confirmation.

The full fix for this ticket is to replace the HP CPQary3 driver in IPS/ISO/USB distro with the HP CPQary3 v2.4.6 driver per original reporter's confirmation.

Notes from 'Greenviolet' blog:
Insert CD (via virtual media or physical disk) and power on system.

Hit ESC when prompted to enter GRUB menu. You'll probably have to hit it a few times, rapidly, if you're connecting to the console via SSH.

Hit "e" to edit the default OpenIndiana choice.

Hit "e" on the kernel$ line to edit the kernel parameters.

At the end of the line, add " -B disable-cpqary3=true" and hit enter. Don't forget the leading space!

Hit "b" to boot.

You should see "NOTICE: driver cpqary3 disabled" during the boot process. This is good. If you didn't see this, you probably messed up editing your GRUB boot line and you probably don't have a Smart Array (else you would have hit the panic and rebooted). Feel free to stop reading. ;)

Select your keyboard and language, then choose "3" for the Shell at the menu.

Since we can't alter the packaging database on the live media, manually remove the old driver. You'll see a message about an invalid argument and not being able to remove a major number binding. This is expected.

rem_drv cpqary3 && rm -rf /var/sadm/pkg/CPQary3 && find /kernel -name cpqary\\\\* -exec rm {} \\\\+

Go to the HP Smart Array Controller Driver for Solaris 10 (x86/x64) Systems download page. This is currently version 2.4.6.
Get the URL of the .tar.gz file and wget that into the OpenIndiana shell.
Untar the downloaded file and install the .pkg inside. Ignore that /usr has no free space as we don't need the man pages right now. The installation will partially fail, due to this.

wget && tar zxf CPQary3-2.4.6-solaris10-i386.tar.gz && pkgadd -d CPQary3-2.4.6-solaris10-i386/CPQary3.pkg CPQary3

Make sure your drives show up.
iostat -En

Exit your shell.
Back at the menu, select "1" to install OpenIndiana.
This is the easy part. Go through the menus and do what they say. Go grab a coffee and snack while it installs.

At the "Installation Complete" page, press F9 to Quit. Don't reboot yet!
Hit "3" to drop back into a shell.

Type "zfs list | grep openindiana" (if you have multiple rpool instances, you may need to also use the output of "zpool status") to determine the name of your new root pool (usually "rpool", perhaps followed by a digit). If it's not "rpool", adjust the following accordingly.

Now, give your boot environment a new mountpoint (illumos does not support temporary ZFS mountpoints yet), then mount it.
zfs set mountpoint=/a rpool/ROOT/openindiana && zfs mount rpool/ROOT/openindiana

Uninstall and reinstall the CPQary3 driver in the new BE to ensure that you get the niceties like man pages.

pkgrm -R /a CPQary3 && pkgadd -R /a -d CPQary3-2.4.6-solaris10-i386/CPQary3.pkg CPQary3

Restore your BE's mountpoint. (If it is very stubborn about not wanting to unmount and waiting a minute or two to try this command again doesn't resolve it, you might need to use "zfs unmount -f /a".)

sync && zfs unmount /a && zfs set mountpoint=/ rpool/ROOT/openindiana

Exit your shell.

Select "5" to reboot, from the menu.
If the CD did not eject, eject it while the server is resetting. Otherwise, you'll have to enter the GRUB menu and choose "Boot from Hard Disk". (You can use eject(1) after booting from the hard disk, if you don't want to trek to the server. Someone will find the disc ejected later, surely!)

Enjoy OpenIndiana!

(Note that if on your first boot you get a message like "svc.startd10: svc:/system/filesystem/usr:default: Method "/lib/svc/method/fs-usr" failed due to signal TERM.", log in and reboot. Your system should be fine after.)


Updated by Ken Mays over 9 years ago

  • Due date set to 2011-09-14
  • Category set to Drivers
  • Status changed from Feedback to Closed
  • Assignee set to Ken Mays
  • % Done changed from 90 to 100
  • Estimated time set to 8.00 h

Updated by Bryan Leaman over 9 years ago

Ken Mays wrote:

I have confirmed a fix/workaround installing the HP CPQary3 v2.3.0 driver with several sys admins using HP DL* servers at various enterprise data centers. We used a client's HP DL385 server for confirmation.

Were you able to load the newer driver during the oi_151 installation? I tried several times and many different ways, but could not get the installer to use the newer driver. Hence my process of installing snv_134 then upgrading to oi_151 and installing the newer driver in the alternate BE using pkgadd. But this is not necessarily straightforward and also requires keeping an older rpool zpool version so the snv_134 iso can be used for recovery/repair purposes.


Updated by Rich Lowe over 9 years ago

  • Status changed from Closed to Feedback

Bugs that aren't fixed are still open...


Updated by Ken Mays over 9 years ago

  • Assignee changed from Ken Mays to Andrzej Szeszo
  • % Done changed from 100 to 90
  • Estimated time changed from 8.00 h to 40.00 h

Moved to Release Engineering team for repackaging request and future implementation.


Updated by Ken Mays over 9 years ago

  • Category changed from Drivers to 35
  • Assignee changed from Andrzej Szeszo to OI Userland
  • % Done changed from 90 to 0

Updated by Ken Mays over 9 years ago

  • Category changed from 35 to Drivers
  • Assignee changed from OI Userland to OI illumos
  • Difficulty changed from Medium to Expert
  • Tags changed from needs-triage to cpqary3

Moved this to Illumos team for QA testing review.


Updated by Ken Mays over 9 years ago

  • Status changed from Feedback to Resolved

Per Albert Lee's notes in #348:
"cpqary3 is actually part of ON's closed bits. Even if the root cause of the panic is fixed, it may make sense to drop it entirely since it's outdated and there is an alternative source (unless someone can convince HP to provide a new driver under a licence that allows unlimited redistribution)."

Resolution: We don't need to add it to IPS and deal with OI distribution licensing issues. Removing cpqary3 from OI-IPS makes sense (since it is proven defective) and HP server admins can add, maintain, and receive HP technical support for the CPQary3 driver themselves during installations.


Updated by Rich Lowe over 9 years ago

  • Status changed from Resolved to Feedback

Bugs that aren't resolved should not be Resolved.


Updated by Ken Mays almost 9 years ago

  • Status changed from Feedback to Rejected
  • Assignee deleted (OI illumos)
  • Priority changed from High to Low
  • Target version deleted (oi_151_stable)
  • Estimated time changed from 40.00 h to 4.00 h

Rejected, due to "won't fix" status due to HP licensing restrictions.


Updated by Ken Mays over 7 years ago

An open source 'hpsa/ccsi-based' driver is now being ported by Keith Wesolowski @ Joyent. This will supercede the current 'HP Smart Array HBA Driver' closed source driver currently provided through Illumos_gate.



This will add initial support for the following storage controller hardware:

o    HP Smart Array 5300
o HP Smart Array 5312
o HP Smart Array 532
o HP Smart Array 5i
o HP Smart Array 6400
o HP Smart Array 6400 EM
o HP Smart Array 641
o HP Smart Array 642
o HP Smart Array 6i
o HP Smart Array E200
o HP Smart Array E200i
o HP Smart Array P212
o HP Smart Array P220i
o HP Smart Array P222
o HP Smart Array P230i
o HP Smart Array P400
o HP Smart Array P400i
o HP Smart Array P410
o HP Smart Array P410i
o HP Smart Array P411
o HP Smart Array P420
o HP Smart Array P420i
o HP Smart Array P421
o HP Smart Array P430
o HP Smart Array P430i
o HP Smart Array P431
o HP Smart Array P530
o HP Smart Array P531
o HP Smart Array P600
o HP Smart Array P700m
o HP Smart Array P711m
o HP Smart Array P712m
o HP Smart Array P721m
o HP Smart Array P731m
o HP Smart Array P800
o HP Smart Array P812
o HP Smart Array P822
o HP Smart Array P830
o HP Smart Array P830i
o HP Smart Array P831
o HP Modular Smart Array 20 (MSA20)
o HP Modular Smart Array 500 (MSA500)

1. For HP ProLiant Gen8/8+ Servers, APIX should be disabled by adding the following to /etc/system: 'set apix_enable = 0'

2. Additional email contact support: iss_storagedev at


Updated by Ken Mays over 6 years ago

New cpqary patch from Joyent. Adds new controllers:


Updated by Ken Mays over 6 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 0 to 100

New open-source driver posted which resolves issue. Resolved. Closing ticket.

Also available in: Atom PDF