> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/man4/ips.4.md).

# ips.4

`ips` — IBM/Adaptec ServeRAID 控制器驱动

## 名称

`ips`

## 概要

要将此驱动编译进内核，请在内核配置文件中加入以下行：

> device pci device scbus device ips

或者，要在引导时以模块形式加载该驱动，请在 loader.conf(5) 中加入以下行：

```sh
ips_load="YES"
```

## 描述

`ips` 驱动声称支持 IBM（现为 Adaptec）ServeRAID 系列 SCSI 控制器卡。

这些卡附带存储在固件中的内置配置实用程序，称为 ISPR。在卡初始 POST 期间使用 <*Ctrl+I*> 组合键访问此实用程序。

强烈建议在尝试诊断以下错误消息之前使用此实用程序配置卡。

在某些情况下，`ips` 驱动在系统初始化期间可能难以附加。为避免这些困难，将 `hw.ips.0.disable` 可调参数设为 1。它将阻止驱动附加。

## 硬件

`ips` 驱动支持的控制器包括：

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

较新的 ServeRAID 控制器由 [aac(4)](/man/man4/aac.4.md) 或 [mfi(4)](/man/man4/mfi.4.md) 驱动支持。

## 诊断

当卡初始化 IBM ISPR 实用程序时，可能会显示若干错误代码，这些代码与 FreeBSD 无关。

* ips%d: failed to get adapter configuration data from device
* ips%d: failed to get drive configuration data from device 无法获取适配器或驱动器配置。
* ips%d iobuf error 发生缓冲区输入/输出错误。\[ENXIO]

### 一般适配器错误：

* Attaching bus failed 此消息未文档化。
* WARNING: command timeout. Adapter is in toaster mode, resetting 命令超时导致适配器被重置。
* AIEE! adapter reset failed, giving up and going home! Have a nice day 尝试重置适配器时发生错误。
* unable to get adapter configuration
* unable to get drive configuration 尝试获取配置信息时出错。
* Adapter error during initialization.
* adapter initialization failed 尝试初始化适配器时出错。
* adapter failed config check
* adapter clear failed 检查适配器时出错。
* device is disabled 适配器已禁用。
* resource allocation failed
* irq allocation failed
* irq setup failed 驱动无法为设备分配资源。

### DMA 相关错误消息：

* can't alloc command dma tag
* can't alloc SG dma tag
* can't alloc dma tag for statue queue
* dmamap failed 无法映射或分配 DMA 资源。

### 缓存、缓冲区和命令错误：

* failed to initialize command buffers
* no mem for command slots! 在这种情况下，`ips` 驱动将返回 \[ENOMEM]。
* 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!

## 兼容性

与 FreeBSD 中的许多其他 SCSI 设备不同，`ips` 驱动不使用 cam(4) SCSI 子系统。

## 参见

[aac(4)](/man/man4/aac.4.md), [ch(4)](/man/man4/ch.4.md), [da(4)](/man/man4/da.4.md), [mfi(4)](/man/man4/mfi.4.md), [sysctl(8)](/man/man8/sysctl.8.md)

## 作者

`ips` 驱动由 David Jefferys 和 Scott Long <scottl@FreeBSD.org> 编写。

本手册页由 Tom Rhodes <trhodes@FreeBSD.org> 编写。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/man4/ips.4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
