ISADUMP(8) System Manager’s Manual ISADUMP(8)
isadump – examine ISA registers
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
isadump is a small helper program to examine registers visible through
the ISA bus. It is intended to probe any chip that lives on the ISA bus
working with an address register and a data register (I2C-like access)
or a flat range (of up to 256 bytes).
-f Enable flat address space mode.
-y Disable interactive mode. By default, isadump will wait for a
confirmation from the user before messing with the ISA bus. When
this flag is used, it will perform the operation directly. This
is mainly meant to be used in scripts.
Specify a comma-separated list of bytes to send as the key
sequence to enter the chip configuration mode. Most Super-I/O
chips need this. Known key sequences are: 0x87,0x01,0x55,0x55
for ITE, 0x55 for SMSC, 0x87,0x87 for Winbond and VIA, none
needed for National Semiconductor.
-W Perform 16-bit reads.
-L Perform 32-bit reads.
OPTIONS (I2C-like access mode)
At least two options must be provided to isadump. addrreg contains the
ISA address of the address register for the chip to probe; datareg con‐
tains the address of the data register. Both addresses are integers
between 0x0000 and 0x3FFF. Usually, if the chip’s base address is
0x0nn0, the address register is at 0x0nn5 and the data register is at
0x0nn6. The most common base address for hardware monitoring chips is
For Super-I/O chips, address register is typically at 0x2E with data
register at 0x2F.
The bank and bankreg parameters are useful on the 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 information on bank selection.
OPTIONS (flat address space mode)
In flat mode, only one parameter is mandatory. address contains the ISA
address of the chip to probe; it is an integer between 0x0000 and
0xFFFF. If provided, range is how many bytes should be read (must be a
multiple of 16). If the range isn’t provided, it defaults to 256 bytes
and the address is forcibly aligned on a 256-byte boundary.
The bank and bankreg parameters are useful on the National Semiconduc‐
tor 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 information on bank selection.
If no bank is specified, no bank change operation is performed.
If a bank is specified, the original value is restored before isadump
Dumping Super-I/O chips is typically a two-step process. First, you
will have to access the main Super-I/O address using a command like:
isadump 0x2e 0x2f 0x09. This will select logical device 9 (correct
value depend on the chip). At 0x60 you will find the logical device
address word, for example “ec c0”. Then you can use a command like:
isadump -f 0xecc0 16. This will dump the logical device registers. The
correct range depends on the chip.
Poking around in ISA data space is extremely dangerous. Running isad‐
ump with random parameters can cause system crashes, data loss, and
worse! Be extremely careful when using this program.
Frodo Looijaard, Mark D. Studebaker, and the lm_sensors group
This manual page was originally written by David Z Maze
reviewed and augmented by the lm_sensors team and is now part of the
lm_sensors source distribution.
April 2011 ISADUMP(8)