ATAPISCSI(4)

πŸ“¦ in nixpkgs unstable

πŸ’… ATAPISCSI(4) β€” the Kernel Interfaces Manual, but make it cute πŸŽ€

okay bestie, welcome to the atapiscsi page from the Kernel Interfaces Manual (yes, the kernel manual, we're fancy now πŸ‘‘). This one's about the ATAPI↔SCSI adapter and honestly it's giving "middle manager who translates between two departments" energy and I'm obsessed.


✨ NAME ✨

atapiscsi β€” the ATAPI↔SCSI adapter, literally the bilingual bestie of your kernel πŸ¦‹


✨ SYNOPSIS ✨

atapiscsi* at wdc? flags 0x0000
atapiscsi* at pciide? flags 0x0000

so it hangs off a wdc? or a pciide?, and the flags default is 0x0000 β€” remember that, it comes back later and it's lowkey important πŸ’–


✨ DESCRIPTION ✨

okay so here's the vibe: the atapiscsi driver supports ATAPI devices (also called IDE devices, same thing, don't let anyone gatekeep you on the name 😀) β€” think CD-ROMs, ZIP drives, LS-120 floppy drives, and tape drives. And here's the little secret: all ATAPI devices talk a subset of the SCSI protocol. they're all secretly speaking SCSI the whole time 🫢

so atapiscsi acts like a SCSI adapter, which means the ATAPI devices connected to your system will show up as SCSI devices. it's giving "costume change, same person" πŸ’… specifically:

  • ATAPI CD-ROMs appear as cd(4) devices 🌸
  • ATAPI tape drives appear as st(4) devices πŸŽ€
  • ATAPI floppies appear as sd(4) devices ✨

🌈 the performance tea (listen up)

for performance reasons, you really should avoid putting an ATAPI device and a hard disk on the same cable. no cap. here's why:

  • the driver does not support bus release 😭
  • and even if it did, many ATAPI devices don't support it either πŸ™ˆ
  • there is only one command outstanding on a cable at a time β€” that's it, that's the whole queue

so for example, if a hard disk and a CD drive are on the same cable, the hard disk requests may get queued behind slower CD operations. your fast drive is stuck waiting behind the CD drive doing its little spin-up moment. not iconic. πŸ˜”

πŸ”₯ the flags (okay this part is actually real)

the flags are used only with controllers that support DMA operations and mode settings (like some pciide(4) controllers). don't come for me, that's just what the page says 🫑

here's how the bits break down:

  • the lowest order (rightmost) nibble of the flags defines the PIO mode to use
  • the next four bits indicate the DMA mode
  • the third nibble is the UltraDMA mode

and for each set of four bits:

  • the 3 lower bits define the mode to use
  • the last bit must be set to 1 for this setting to be used (it's the "yes bestie, actually apply this" bit)

for DMA and UltraDMA, 0xf (1111) means "disable" πŸ’€

for example, a flags value of 0x0fac (1111 1010 1100) means "use PIO mode 4, DMA mode 2, disable UltraDMA".

and the special setting 0x0000 means "use whatever the drive claims to support" β€” the trust-the-drive option, main character energy, we love a hands-off approach 🧚


✨ SEE ALSO ✨

go read them, they're all in the group chat too πŸ’œ


✨ BUGS ✨

slow devices, like tape drives, could do a better job of sharing the channel. they're doing their best but their best is... slow 😭 for now, we recommend you put the tape device on its own channel. give it its own room, its own vibe, its own cable. periodt. 🌟


and that's the page!! sign-off time: this lil beauty comes to you from Debian, dated August 14, 2012 β€” an absolute icon, we stan a legacy queen πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from
  • nixpkgs unstable: cvs-export
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms