SIIS(4)
π SIIS(4) β SiliconImage Serial ATA Host Controller driver π
okay bestie, sit down, hydrate, because we're about to talk about the SiliconImage Serial ATA Host Controller driver and honestly? it's giving iconic storage energy. this is the siis manual page, section 4 of the Kernel Interfaces Manual, and yes we're doing the whole thing, no skipping, no skimming, we eat every option here π
β¨ NAME β¨
siis β the SiliconImage Serial ATA Host Controller driver. that's her. that's the whole name. queen of SATA silicon π
β¨ SYNOPSIS β¨
so to get this driver compiled into your kernel, you literally just drop these lines into your kernel configuration file, like so:
device pci
device scbus
device siis
orrr, if you'd rather be chill and load it as a module at boot time (main character move, no recompile needed), put this line in loader.conf(5):
siis_load="YES"
and now the tunables, bestie, because you can set these from loader(8) π:
hint.siis.X.msiβ controls Message Signaled Interrupts (MSI) usage by the specified controller. no cap, that's literally what it does.hint.siisch.X.pm_levelβ controls SATA interface Power Management for the specified channel. the tradeoff is so real: you save some power, but you pay for it with additional command latency. the possible values are:0β interface Power Management is disabled (this is the default);1β the device is allowed to initiate a PM state change, and the host is just passive about it. lowkey hands-off.
β οΈ okay so listen, important: interface Power Management is not compatible with device presence detection. and if you hot-plug a device? a manual bus reset is needed. like, you have to do it. no autopilot here π«Ά
hint.siisch.X.sata_revβ setting this to a nonzero value limits the maximum SATA revision (speed). values1,2and3are respectively1.5,3and6Gbps. periodt π
β¨ DESCRIPTION β¨
so what does this driver even do, you ask? it provides the CAM(4) subsystem with native access to the SATA ports of controller. every single SATA port gets represented to CAM as a separate bus with 16 targets β yes, sixteen, we love a generous queen β¨. most of the bus-management details are handled by the SATA-specific transport of CAM, so it's not doing all that work alone.
connected ATA disks? handled by the ATA protocol disk peripheral driver ada(4) π¦. ATAPI devices? handled by the SCSI protocol peripheral drivers cd(4), da(4), sa(4), etc. the whole gang's here.
driver features include β and bestie the list ate:
- support for Serial ATA and ATAPI devices
- Port Multipliers (including FIS-based switching, fancy)
- hardware command queues (31 command per port, slay)
- Native Command Queuing
- SATA interface Power Management
- device hot-plug π‘οΈ
- Message Signaled Interrupts
and the glow-up detail: the activity LEDs of the adapters supported by the siis driver can be controlled via the led(4) API, for localization or status reporting purposes. so you can make your machine literally sparkle for status. we love a functional aesthetic π
π HARDWARE π
the siis driver supports the following controller chips, and they're all kind of a moment:
- SiI3124 (PCI-X 133MHz/64bit, 4 ports)
- SiI3131 (PCIe 1.0 x1, 1 port)
- SiI3132 (PCIe 1.0 x1, 2 ports)
- SiI3531 (PCIe 1.0 x1, 1 port)
π FILES π
/dev/led/siisch*β identification LED device nodes. yes, that's where the blinky little besties live β¨
π SEE ALSO π
ada(4), ata(4), cam(4), cd(4), da(4), led(4), sa(4)
go read those too, iykyk π«Ά
π¦ HISTORY π¦
the siis driver first appeared in FreeBSD 8.0. a true icon from the jump π
π AUTHORS π
Alexander Motin <mav@FreeBSD.org>
and that's the whole page, bestie, we read every line, no skimming, we're so back π this was Debian's rendering from March 23, 2015, so shoutout to that date for preserving the lore β mwah, go forth and manage your SATA ports responsibly πΈ
π¦ 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) 2009 Alexander Motin <mav@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms