CMOS(4)              NetBSD/i386 Kernel Interfaces Manual              CMOS(4)

NAME
     cmos -- Read/write access to IBM PC/AT CMOS RAM

SYNOPSIS
     pseudo-device cmos

DESCRIPTION
     Use cmos to read the real-time clock and ISA configuration data from an
     ISA-compatible CMOS RAM, and to write the ISA configuration data.

     A program reads between 0 and 48 bytes from the CMOS RAM, starting at
     byte 0 of the RAM, using a single call to read(2).  Likewise, a program
     writes between 0 and 48 bytes to the CMOS RAM, starting at byte 0 of the
     RAM, using a single call to write(2).

     cmos does not allow programs to overwrite the real-time clock data (bytes
     0 through 9), the status registers (10 through 13), the diagnostic status
     or CMOS shutdown status (bytes 14 and 15), or the CMOS checksum (bytes 46
     and 47).  Writes to those bytes are ignored.

     On writes, cmos recomputes the CMOS checksum and writes it to the CMOS
     RAM.

EXAMPLES
     Display entire contents of CMOS RAM:

           # dd if=/dev/cmos bs=48 count=1 | od -t x1
           0000000   37  00  09  00  22  00  06  13  04  80  26  02  50  80  00  00
           0000020   00  51  f0  00  01  80  02  00  fc  0f  2f  00  00  00  00  00
           0000040   00  80  81  f0  ff  00  00  00  00  00  00  00  00  00  05  ee
           0000060

     Change boot order on Soekris net4521 to PXE ROM, Primary HDD, Secondary
     HDD:

           # dd if=/dev/cmos of=/tmp/cmos0 bs=48 count=1
           1+0 records in
           1+0 records out
           48 bytes transferred in 0.001 secs (48000 bytes/sec)
           # cp /tmp/cmos0 /tmp/cmos
           # printf '\xf0\x80\x81\xff' | dd bs=1 seek=33 conv=notrunc of=/tmp/cmos
           4+0 records in
           4+0 records out
           4 bytes transferred in 0.001 secs (4000 bytes/sec)
           # dd if=/tmp/cmos of=/dev/cmos
           0+1 records in
           0+1 records out
           48 bytes transferred in 0.001 secs (48000 bytes/sec)

ERRORS
     A program can read or write no more than 48 bytes to cmos.  read(2) /
     write(2) will return EINVAL if more than 48 bytes are read / written at
     once.

AUTHORS
     The original cmos driver was written by Takahiro Kambe
     <taca@back-street.net>.
     David Young <dyoung@NetBSD.org> modified the original and added it to
     NetBSD.

NetBSD 4.0                     February 5, 2007                     NetBSD 4.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2008 Modified for NetBSD by Kimmo Suominen