IPS(4)

IPS(4) β€” the Kernel Interfaces Manual page for ips, and bestie you're gonna eat this up πŸ’…βœ¨


πŸ’– NAME πŸ’–

ips β€” the IBM/Adaptec ServeRAID controller driver πŸŽ€


✨ SYNOPSIS ✨

so to compile this driver into the kernel, you drop these lines into your kernel configuration file:

device pci
device scbus
device ips

alternatively, if you wanna load the driver as a module at boot time, you put this line in loader.conf(5):

ips_load="YES"

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the ips driver claims to support the IBM (now Adaptec) ServeRAID series SCSI controller cards. that's the vibe. πŸ’œ

these cards come with a built-in configuration utility stored in the firmware, known as the ISPR. you get into it with the ⟨Ctrl+I⟩ key combination during the initial card POST. iconic little secret menu energy.

highly recommended: use that utility to configure the card before you even think about trying to diagnose the error messages down below. seriously, do it first. 🫢

in some cases, the ips driver can have difficulties attaching during the system initialization period. to avoid those difficulties, set the hw.ips.0.disable tunable to 1. that will prevent the driver from attaching. πŸ™ˆ


πŸ”₯ HARDWARE πŸ”₯

controllers supported by the ips driver include:

  • IBM ServeRAID 3H
  • ServeRAID 4L/4M/4H
  • ServeRAID Series 5
  • ServeRAID 6i/6M
  • ServeRAID 7t/7k/7M

newer ServeRAID controllers? those are supported by the aac(4) or mfi(4) driver instead. not us, not our era. πŸ’…


πŸ’€ DIAGNOSTICS πŸ’€

several error codes may be shown when the card initializes the IBM ISPR utility, and they are independent of FreeBSD. not our fault, no cap.

ips%d: failed to get adapter configuration data from device
ips%d: failed to get drive configuration data from device

that's the "unable to obtain adapter or drive configuration" moment. 😭

ips%d iobuf error

a buffer input/output error has occurred. [ENXIO]

🌸 General adapter errors: 🌸

  • Attaching bus failed β€” this message is undocumented. literally no notes, we don't know. πŸ’€
  • WARNING: command timeout. Adapter is in toaster mode, resetting β€” a command timeout has caused the adapter to be reset. toaster mode fr.
  • AIEE! adapter reset failed, giving up and going home! Have a nice day β€” an error occurred while attempting to reset the adapter. the drama of it all.
  • unable to get adapter configuration / unable to get drive configuration β€” there was an error when attempting to get configuration information.
  • Adapter error during initialization. / adapter initialization failed β€” there was an error while attempting to initialize the adapter.
  • adapter failed config check / adapter clear failed β€” there was an error while checking the adapter.
  • device is disabled β€” the adapter is disabled. it's giving off-duty.
  • resource allocation failed / irq allocation failed / irq setup failed β€” the driver was unable to allocate resources for the device.

πŸ’œ Error messages due to DMA: πŸ’œ

can't alloc command dma tag
can't alloc SG dma tag
can't alloc dma tag for statue queue
dmamap failed

all of those mean: failure to map or allocate DMA resources. πŸ˜”

πŸ“ Cache, buffer, and command errors: πŸ“

failed to initialize command buffers
no mem for command slots!

the ips driver will return [ENOMEM] in such cases.

ERROR: unable to get a command! can't flush cache!
ERROR: cache flush command failed!
ERROR: unable to get a command! can't update nvram
ERROR: nvram update command failed!
ERROR: unable to get a command! can't sync cache!
ERROR: cache sync command failed!
ERROR: unable to get a command! can't sync cache!
ERROR: etable command failed!

🌈 COMPATIBILITY 🌈

unlike many of the other SCSI devices in FreeBSD, the ips driver does not use the cam(4) SCSI subsystem. different breed, lowkey a whole different lore. πŸ‘‘


⭐ SEE ALSO ⭐

aac(4), ch(4), da(4), mfi(4), sysctl(8)


🧚 AUTHORS 🧚

the ips driver was written by David Jefferys and Scott Long <scottl@FreeBSD.org>. πŸ’–

this manual page was written by Tom Rhodes <trhodes@FreeBSD.org>. πŸŽ€


and that's the whole page, bestie 🫢 this one's from Debian, dated August 7, 2009, and yes it's still filed under IPS(4) βœ¨πŸŒΈπŸ’…

πŸ“¦ where this page comes from