ISADUMP(8)

πŸ’– ISADUMP(8) πŸ’–

okay bestie, gather round, because we're about to read the manual page for isadump β€” it lives in the System Manager's Manual section 8, aka the "admin commands" section, aka the grown-up section 🫢


✨ NAME ✨

isadump β€” examine ISA registers πŸ‘€


✨ SYNOPSIS ✨

isadump [-y] [-W|-L] [-k V1,V2...]  addrreg datareg [bank [bankreg]]
#for I2C-like access
isadump -f [-y] [-W|-L] address [range [bank [bankreg]]] #for flat
address space

🌸 DESCRIPTION 🌸

so isadump is this tiny little helper program whose whole personality is looking at registers β€” specifically, the registers you can see through the ISA bus. it's built to probe any chip that lives on the ISA bus and works either with an address register plus a data register (I2C-like access) or with a flat range (of up to 256 bytes). she's nosy, she's precise, she's serving πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -f β€” turn on flat address space mode. different mode, different rules, we'll get to it.
  • -y β€” disables interactive mode. by default isadump is a polite queen and waits for you to confirm before she starts messing with the ISA bus πŸ₯Ί but with this flag she just goes for it, no questions asked. this is mainly meant to be used in scripts.
  • -k V1,V2... β€” give her a comma-separated list of bytes to send as the key sequence that gets you into the chip's configuration mode. most Super-I/O chips need this, they're dramatic like that. known key sequences are: 0x87,0x01,0x55,0x55 for ITE, 0x55 for SMSC, 0x87,0x87 for Winbond and VIA, and literally none needed for National Semiconductor (she's low maintenance).
  • -W β€” perform 16-bit reads.
  • -L β€” perform 32-bit reads.

🌈 OPTIONS (I2C-like access mode) 🌈

at least two options must be provided to isadump. yes, two, minimum, don't skip.

addrreg holds the ISA address of the address register for the chip you're probing, and datareg holds the address of the data register. both addresses are integers between 0x0000 and 0x3FFF. usually β€” like, the classic setup β€” if the chip's base address is 0x0nn0, then the address register sits at 0x0nn5 and the data register sits at 0x0nn6. the most common base address for hardware monitoring chips is 0x0290. πŸ“

for Super-I/O chips, the address register is typically at 0x2E with the data register at 0x2F.

the bank and bankreg parameters are useful on Winbond chips as well as on Super-I/O chips. bank is an integer between 0 and 31, and bankreg is an integer between 0x00 and 0xFF (default value: 0x4E for Winbond chips, 0x07 for Super-I/O chips). the W83781D datasheet has more info on bank selection, iykyk πŸ“š


πŸ¦‹ OPTIONS (flat address space mode) πŸ¦‹

in flat mode, only one parameter is mandatory, we love a low-effort era ✨

address contains the ISA address of the chip to probe; it's an integer between 0x0000 and 0xFFFF. if you provide it, range is how many bytes should be read (and it must be a multiple of 16). if you don't provide range, it defaults to 256 bytes and the address gets forcibly aligned on a 256-byte boundary. she'll snap it into place herself πŸ’…

the bank and bankreg parameters are useful on the National Semiconductor PC87365 and PC87366 Super-I/O chips. bank is an integer between 0 and 31, and bankreg is an integer between 0x00 and 0xFF (default value: 0x09; must fit in the specified range). see the PC87365 datasheet for more on bank selection πŸ“–


🧚 NOTES 🧚

  • if no bank is specified, no bank change operation is performed. simple as.
  • if a bank is specified, the original value is restored before isadump exits. she cleans up after herself, main character behavior πŸ‘‘
  • dumping Super-I/O chips is typically a two-step process. first, you access the main Super-I/O address with a command like:
isadump 0x2e 0x2f 0x09

this selects logical device 9 (the correct value depends on the chip, bestie). at 0x60 you'll find the logical device address word, for example "ec c0". then you can run something like:

isadump -f 0xecc0 16

and that dumps the logical device registers. the correct range depends on the chip. no cap. 🫢


πŸ’€ WARNING πŸ’€

poking around in ISA data space is extremely dangerous. running isadump with random parameters can cause system crashes, data loss, and worse! be extremely careful when using this program. like, fr fr, do not just type numbers and hope 😭

⭐ SEE ALSO ⭐

i2cdump(8), isaset(8)


πŸ‘‘ AUTHOR πŸ‘‘

Frodo Looijaard, Mark D. Studebaker, and the lm_sensors group (https://hwmon.wiki.kernel.org/lm_sensors)

this manual page was originally written by David Z Maze <dmaze@debian.org> for the Debian GNU/Linux system. it was then reviewed and augmented by the lm_sensors team and is now part of the lm_sensors source distribution. glow up story honestly 🌟


and that's the whole page, bestie πŸ’– this one's dated April 2011 and it's ISADUMP(8) from the System Manager's Manual β€” go forth, probe responsibly, and don't crash your system πŸŽ€βœ¨

πŸ“¦ where this page comes from