AMR(4)
πΈ NAME πΈ
amr β the MegaRAID SCSI/ATA/SATA RAID driver, aka the girl who talks to your crusty-but-iconic RAID controller π
This one lives in section 4 of the Kernel Interfaces Manual, so it's a driver page, not a command page. No cap.
β¨ SYNOPSIS β¨
Okay so if you wanna bake this driver right into your kernel (main character move, honestly), you drop these lines into your kernel config file:
device pci
device scbus
device amr
Orrr if you'd rather load it as a module at boot time, no kernel rebuild needed, just put this line in loader.conf(5):
amr_load="YES"
Periodt. That's the whole vibe.
π¦ DESCRIPTION π¦
So likeβ¦ amr is the driver that gives you support for LSI Logic MegaRAID SCSI, ATA and SATA RAID controllers, plus the legacy American Megatrends MegaRAID SCSI RAID controllers. And yes, that includes the models that got relabeled and sold by Dell and Hewlett-Packard β same hardware, different name badge, we love a rebrand moment π
β οΈ Important bestie warning: LSI MegaRAID SAS controllers are supported bymfi(4)and will not work with this driver. Do not come foramrwith a SAS card, she will simply not answer the phone. π
π HARDWARE π
The controllers that amr is obsessed with and will actually support include:
- MegaRAID SATA 150-4
- MegaRAID SATA 150-6
- MegaRAID SATA 300-4X
- MegaRAID SATA 300-8X
- MegaRAID SCSI 320-1E
- MegaRAID SCSI 320-2E
- MegaRAID SCSI 320-4E
- MegaRAID SCSI 320-0X
- MegaRAID SCSI 320-2X
- MegaRAID SCSI 320-4X
- MegaRAID SCSI 320-0
- MegaRAID SCSI 320-1
- MegaRAID SCSI 320-2
- MegaRAID SCSI 320-4
- MegaRAID Series 418
- MegaRAID i4 133 RAID
- MegaRAID Elite 1500 (Series 467)
- MegaRAID Elite 1600 (Series 493)
- MegaRAID Elite 1650 (Series 4xx)
- MegaRAID Enterprise 1200 (Series 428)
- MegaRAID Enterprise 1300 (Series 434)
- MegaRAID Enterprise 1400 (Series 438)
- MegaRAID Enterprise 1500 (Series 467)
- MegaRAID Enterprise 1600 (Series 471)
- MegaRAID Express 100 (Series 466WS)
- MegaRAID Express 200 (Series 466)
- MegaRAID Express 300 (Series 490)
- MegaRAID Express 500 (Series 475)
- Dell PERC
- Dell PERC 2/SC
- Dell PERC 2/DC
- Dell PERC 3/DCL
- Dell PERC 3/QC
- Dell PERC 4/DC
- Dell PERC 4/IM
- Dell PERC 4/SC
- Dell PERC 4/Di
- Dell PERC 4e/DC
- Dell PERC 4e/Di
- Dell PERC 4e/Si
- Dell PERC 4ei
- HP NetRAID-1/Si
- HP NetRAID-3/Si (D4943A)
- HP Embedded NetRAID
- Intel RAID Controller SRCS16
- Intel RAID Controller SRCU42X
Look at that list. It's giving range. π
π DIAGNOSTICS π
π Driver initialisation/shutdown phase π
These are the messages you might see while the driver is waking up (or going to sleep). Let's get into it:
amr%d: memory window not available
amr%d: I/O window not available
The PCI BIOS did not allocate resources necessary for the correct operation of the controller. So basically the driver cannot attach to this controller. Sad. π
amr%d: busmaster bit not set, enabling
The PCI BIOS did not enable busmaster DMA, which is required for the correct operation of the controller. But don't worry bestie β the driver has enabled this bit and initialisation will proceed. She fixed it herself, we love an independent queen. π
amr%d: can't allocate register window
amr%d: can't allocate interrupt
amr%d: can't set up interrupt
amr%d: can't allocate parent DMA tag
amr%d: can't allocate buffer DMA tag
amr%d: can't allocate scatter/gather DMA tag
amr%d: can't allocate s/g table
amr%d: can't allocate mailbox tag
amr%d: can't allocate mailbox memory
A resource allocation error occurred while initialising the driver; initialisation has failed and the driver will not attach to this controller. It's giving "couldn't get a table at the restaurant." π
amr%d: can't obtain configuration data from controller
amr%d: can't obtain product data from controller
The driver was unable to obtain vital configuration data from the controller. Initialisation has failed and the driver will not attach to this controller.
amr%d: can't establish configuration hook
amr%d: can't scan controller for drives
The scan for logical drives managed by the controller failed. No drives will be attached. Not one. Zero. π
amr%d: device_add_child failed
amr%d: bus_generic_attach returned %d
Creation of the logical drive instances failed; attachment of one or more logical drives may have been aborted.
amr%d: flushing cache...
The controller cache is being flushed prior to shutdown or detach. Just her doing her little goodbye ritual before she leaves. π«Ά
π Operational diagnostics π
Now for the stuff that happens once she's already up and running, iykyk:
amr%d: I/O beyond end of unit (%u,%d > %u)
A partitioning error or disk corruption has caused an I/O request beyond the end of the logical drive. This may also occur if FlexRAID Virtual Sizing is enabled and an I/O operation is attempted on a portion of the virtual drive beyond the actual capacity available.
amr%d: polled command timeout
An initialisation command timed out. The initialisation process may fail as a result. Not her finest moment ngl.
amr%d: bad slot %d completed
The controller reported completion of a command that the driver did not issue. This may result in data corruption, and suggests a hardware or firmware problem with the system or controller. Okay so THIS one is a real one, bestie. Take it seriously. π¨
amr%d: I/O error - %x
An I/O error has occurred. That's it, that's the message. Short and ominous. π
π SEE ALSO π
cd(4), da(4), mfi(4), sa(4), scsi(4)
Go read those too, they're all part of the same friend group. π¦
π AUTHORS π
The amr driver was written by Mike Smith <msmith@FreeBSD.org>.
This manual page was written by Mike Smith <msmith@FreeBSD.org> and Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>.
Absolute icons, both of them. π
okay so that's the whole page, bestie β this one's from the Debian crew, dated March 29, 2006, and it's the AMR(4) page from the Kernel Interfaces Manual. oldie but a goodie fr fr πβ¨
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2000 Jeroen Ruigrok van der Werven
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms