Dell PowerEdge T300 SAS RAID and FreeBSD
I spent a couple hours tonight tackling this problem so I thought I'd post a solution here in case anyone else runs into it.
Scenario: Performed a clean install of FreeBSD7.1-RELEASE on a Dell PowerEdge T300 server with a SAS RAID controller, which completed without errors. After rebooting and beginning to install packages, I started seeing the following error: mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x00 Depth 120.
Solution: Searching online indicated that the problem was with support for Tagged Command Queuing in the mpt driver. The output of camcontrol was:
skipper# camcontrol tags da0 -v
(pass0:mpt0:0:0:0): dev_openings 255
(pass0:mpt0:0:0:0): dev_active 0
(pass0:mpt0:0:0:0): devq_openings 255
(pass0:mpt0:0:0:0): devq_queued 0
(pass0:mpt0:0:0:0): held 0
(pass0:mpt0:0:0:0): mintags 2
(pass0:mpt0:0:0:0): maxtags 255
I then entered:
skipper# camcontrol tags da0 -N 119
(pass0:mpt0:0:0:0): dev_openings 119
(pass0:mpt0:0:0:0): dev_active 0
(pass0:mpt0:0:0:0): devq_openings 119
(pass0:mpt0:0:0:0): devq_queued 0
(pass0:mpt0:0:0:0): held 0
(pass0:mpt0:0:0:0): mintags 2
(pass0:mpt0:0:0:0): maxtags 255
This second command limited the size of the queue to 119, preventing the error I had seen before. To ensure that this problem wouldn't come up in the future, I added the following line to /etc/rc.local
# Set the devq_openings to 119 to prevent problems with SAS controller
camcontrol tags da0 -N 119
Doing this runs the command at every boot, preventing the problem from creeping up in the future.
Additional Related Resources: http://www.zulustips.com/2007/09/06/mpt0-queue-full-event-on-dell-sas-5ir.html http://www.nabble.com/mpt-errors-QUEUE-FULL-EVENT,-freebsd-7.0-on-dell-1950-td20019090.html