summaryrefslogtreecommitdiffstats
path: root/Documentation/devices.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devices.txt')
-rw-r--r--Documentation/devices.txt311
1 files changed, 289 insertions, 22 deletions
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 89dc3aaac..17a99de95 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -1,8 +1,7 @@
LINUX ALLOCATED DEVICES
-
Maintained by H. Peter Anvin <hpa@zytor.com>
- Last revised: November 18, 1996
+ Last revised: April 7, 1997
This list is the successor to Rick Miller's Linux Device List, which
he stopped maintaining when he got busy with other things in 1993. It
@@ -22,7 +21,7 @@ where that applies (e.g. busmice), please contact me with the
appropriate device information. Also, if you have additional
information regarding any of the devices listed below, or if I have
made a mistake, I would greatly appreciate a note. When sending me
-mail, please include the word "device" in the subject so your mail
+mail, *please* include the word "device" in the subject so your mail
won't accidentally get buried!
Allocations marked (68k/Amiga) apply to Linux/68k on the Amiga
@@ -160,18 +159,19 @@ reply.
64 = /dev/ttyS0 First serial port
...
127 = /dev/ttyS63 64th serial port
- 128 = /dev/ptyp0 First pseudo-tty master
+ 128 = /dev/ptyp0 First old pseudo-tty master
...
- 191 = /dev/ptysf 64th pseudo-tty master
- 192 = /dev/ttyp0 First pseudo-tty slave
+ 191 = /dev/ptysf 64th old pseudo-tty master
+ 192 = /dev/ttyp0 First old pseudo-tty slave
...
- 255 = /dev/ttysf 64th pseudo-tty slave
+ 255 = /dev/ttysf 64th old pseudo-tty slave
For compatibility with previous versions of Linux, the
- first 64 PTYs are replicated under this device
- number. This use will be obsolescent with the release
- of Linux 1.4 and may be removed in a future version of
- Linux.
+ first 64 PTYs are replicated under this device number.
+ This use is deprecated with the release of Linux 2.0
+ and may be removed in a future version of Linux. To
+ ensure proper operation, do not mix old and new PTY
+ devices.
5 char Alternate TTY devices
0 = /dev/tty Current TTY device
@@ -207,7 +207,7 @@ reply.
The loopback devices are used to mount filesystems not
associated with block devices. The binding to the
- loopback devices is usually handled by mount(8).
+ loopback devices is handled by mount(8) or losetup(8).
8 block SCSI disk devices
0 = /dev/sda First SCSI disk whole disk
@@ -282,6 +282,11 @@ reply.
137 = /dev/qcam1 QuickCam on lp1
138 = /dev/qcam2 QuickCam on lp2
139 = /dev/openprom SPARC OpenBoot PROM
+ 140 = /dev/relay8 Berkshire Products Octal relay card
+ 141 = /dev/relay16 Berkshire Products ISO-16 relay card
+ 142 = /dev/msr x86 model-specific registers
+ 143 = /dev/pciconf PCI configuration space
+ 144 = /dev/nvram Non-volatile configuration RAM
11 char Raw keyboard device
0 = /dev/kbd Raw keyboard device
@@ -407,6 +412,11 @@ reply.
1 = /dev/sg1 Second generic SCSI device
...
+ Most distributions name these /dev/sga, /dev/sgb...;
+ this sets an unnecessary limit of 26 SCSI devices in
+ the system and is counter to standard Linux
+ device-naming practice.
+
22 char Digiboard serial card
0 = /dev/ttyD0 First Digiboard port
1 = /dev/ttyD1 Second Digiboard port
@@ -625,12 +635,6 @@ reply.
129 = /dev/smpte1 Second MIDI port, SMPTE timed
130 = /dev/smpte2 Third MIDI port, SMPTE timed
131 = /dev/smpte3 Fourth MIDI port, SMPTE timed
- block Modular RAM disk device
-
- This device number is provided for older kernels which
- did not have the modular RAM disk in the standard
- distribution. See major number 1. This assignment
- will be removed when the 2.0 kernel is released.
36 char Netlink support
0 = /dev/route Routing, device updates, kernel to user
@@ -710,6 +714,17 @@ reply.
0 = /dev/ttyI0 First virtual modem
...
63 = /dev/ttyI63 64th virtual modem
+ block Network block devices
+ 0 = /dev/nb0 First network block device
+ 1 = /dev/nb1 Second network block device
+ ...
+
+ Network Block Device is somehow similar to loopback
+ devices: If you read from it, it sends packet accross
+ network asking server for data. If you write to it, it
+ sends packet telling server to write. It could be used
+ to mounting filesystems over the net, swapping over
+ the net, implementing block device in userland etc.
44 char isdn4linux virtual modem - alternate devices
0 = /dev/cui0 Callout device corresponding to ttyI0
@@ -813,7 +828,158 @@ reply.
assigned official numbers, these ranges should be
used, in order to avoid conflicting with future assignments.
- 64-119 UNALLOCATED
+ 64 char ENskip kernel encryption package
+ 0 = /dev/enskip Communication with ENskip kernel module
+
+ 65 char Sundance "plink" Transputer boards
+ 0 = /dev/plink0 First plink device
+ 1 = /dev/plink1 Second plink device
+ 2 = /dev/plink2 Third plink device
+ 3 = /dev/plink3 Fourth plink device
+ 64 = /dev/rplink0 First plink device, raw
+ 65 = /dev/rplink1 Second plink device, raw
+ 66 = /dev/rplink2 Third plink device, raw
+ 67 = /dev/rplink3 Fourth plink device, raw
+ 128 = /dev/plink0d First plink device, debug
+ 129 = /dev/plink1d Second plink device, debug
+ 130 = /dev/plink2d Third plink device, debug
+ 131 = /dev/plink3d Fourth plink device, debug
+ 192 = /dev/rplink0d First plink device, raw, debug
+ 193 = /dev/rplink1d Second plink device, raw, debug
+ 194 = /dev/rplink2d Third plink device, raw, debug
+ 195 = /dev/rplink3d Fourth plink device, raw, debug
+
+ This is a commercial driver; contact James Howes
+ <jth@prosig.demon.co.uk> for information.
+
+ 66 char YARC PowerPC PCI coprocessor card
+ 0 = /dev/yppcpci0 First YARC card
+ 1 = /dev/yppcpci1 Second YARC card
+ ...
+
+ 67 char Coda network file system
+ 0 = /dev/cfs0 Coda cache manager
+
+ See http://www.coda.cs.cmu.edu for information about Coda.
+
+ 68 char CAPI 2.0 interface
+ 0 = /dev/capi20 Control device
+ 1 = /dev/capi20.00 First CAPI 2.0 application
+ 2 = /dev/capi20.01 Second CAPI 2.0 application
+ ...
+ 20 = /dev/capi20.19 19th CAPI 2.0 application
+
+ ISDN CAPI 2.0 driver for use with CAPI 2.0
+ applications; currently supports the AVM B1 card.
+
+ 69 char MA16 numeric accelerator card
+ 0 = /dev/ma16 Board memory access
+
+ 70 char SpellCaster Protocol Services Interface
+ 0 = /dev/apscfg Configuration interface
+ 1 = /dev/apsauth Authentication interface
+ 2 = /dev/apslog Logging interface
+ 3 = /dev/apsdbg Debugging interface
+ 64 = /dev/apsisdn ISDN command interface
+ 65 = /dev/apsasync Async command interface
+ 128 = /dev/apsmon Monitor interface
+
+ 71 char Computone IntelliPort II serial card
+ 0 = /dev/ttyF0 IntelliPort II board 0, port 0
+ 1 = /dev/ttyF1 IntelliPort II board 0, port 1
+ ...
+ 63 = /dev/ttyF63 IntelliPort II board 0, port 63
+ 64 = /dev/ttyF64 IntelliPort II board 1, port 0
+ 65 = /dev/ttyF65 IntelliPort II board 1, port 1
+ ...
+ 127 = /dev/ttyF127 IntelliPort II board 1, port 63
+ 128 = /dev/ttyF128 IntelliPort II board 2, port 0
+ 129 = /dev/ttyF129 IntelliPort II board 2, port 1
+ ...
+ 191 = /dev/ttyF191 IntelliPort II board 2, port 63
+ 192 = /dev/ttyF192 IntelliPort II board 3, port 0
+ 193 = /dev/ttyF193 IntelliPort II board 3, port 1
+ ...
+ 255 = /dev/ttyF255 IntelliPort II board 3, port 63
+
+ 72 char Computone IntelliPort II serial card - alternate devices
+ 0 = /dev/cuf0 Callout device corresponding to ttyF0
+ 1 = /dev/cuf1 Callout device corresponding to ttyF1
+ ...
+ 63 = /dev/cuf63 Callout device corresponding to ttyF63
+ 64 = /dev/cuf64 Callout device corresponding to ttyF64
+ 65 = /dev/cuf65 Callout device corresponding to ttyF65
+ ...
+ 127 = /dev/cuf127 Callout device corresponding to ttyF127
+ 128 = /dev/cuf128 Callout device corresponding to ttyF128
+ 129 = /dev/cuf129 Callout device corresponding to ttyF129
+ ...
+ 191 = /dev/cuf191 Callout device corresponding to ttyF191
+ 192 = /dev/cuf192 Callout device corresponding to ttyF192
+ 193 = /dev/cuf193 Callout device corresponding to ttyF193
+ ...
+ 255 = /dev/cuf255 Callout device corresponding to ttyF255
+
+ 73 char Computone IntelliPort II serial card - control devices
+ 0 = /dev/ip2ipl0 Loadware device for board 0
+ 1 = /dev/ip2stat0 Status device for board 0
+ 4 = /dev/ip2ipl1 Loadware device for board 1
+ 5 = /dev/ip2stat1 Status device for board 1
+ 8 = /dev/ip2ipl2 Loadware device for board 2
+ 9 = /dev/ip2stat2 Status device for board 2
+ 12 = /dev/ip2ipl3 Loadware device for board 3
+ 13 = /dev/ip2stat3 Status device for board 3
+
+ 74 char SCI bridge
+ 0 = /dev/SCI/0 SCI device 0
+ 1 = /dev/SCI/1 SCI device 1
+ ...
+
+ Currently for Dolphin Interconnect Solutions' PCI-SCI
+ bridge.
+
+ 75 char Specialix IO8+ serial card
+ 0 = /dev/ttyW0 First IO8+ port, first card
+ 1 = /dev/ttyW1 Second IO8+ port, first card
+ ...
+ 8 = /dev/ttyW8 First IO8+ port, second card
+ ...
+
+ 76 char Specialix IO8+ serial card - alternate devices
+ 0 = /dev/cuw0 Callout device corresponding to ttyW0
+ 1 = /dev/cuw1 Callout device corresponding to ttyW1
+ ...
+ 8 = /dev/cuw8 Callout device corresponding to ttyW8
+ ...
+
+ 77 char ComScire Quantum Noise Generator
+ 0 = /dev/qng ComScire Quantum Noise Generator
+
+ 78 char PAM Software's multimodem boards
+ 0 = /dev/ttyM0 First PAM modem
+ 1 = /dev/ttyM1 Second PAM modem
+ ...
+
+ 79 char PAM Software's multimodem boards - alternate devices
+ 0 = /dev/cum0 Callout device corresponding to ttyM0
+ 1 = /dev/cum1 Callout device corresponding to ttyM1
+ ...
+
+ 80 char Photometrics AT200 CCD camera
+ 0 = /dev/at200 Photometrics AT200 CCD camera
+
+ 81 char Brooktree Bt848 frame grabbers
+ 0 = /dev/bttv0 First Bt848 card
+ 1 = /dev/bttv1 Second Bt848 card
+ ...
+ 16 = /dev/bttvc0 Control for first Bt848 card
+ 17 = /dev/bttvc1 Control for second Bt848 card
+ ...
+ 32 = /dev/bttv-vbi0 VBI data of first Bt848 card
+ 33 = /dev/bttv-vbi1 VBI data of second Bt848 card
+ ...
+
+ 82-119 UNALLOCATED
120-127 LOCAL/EXPERIMENTAL USE
@@ -824,9 +990,7 @@ reply.
255 RESERVED
-
-
- ADDITIONAL /dev DIRECTORY ENTRIES
+ **** ADDITIONAL /dev DIRECTORY ENTRIES
This section details additional entries that should or may exist in
the /dev directory. It is preferred that symbolic links use the same
@@ -894,3 +1058,106 @@ Non-transient sockets and named pipes may exist in /dev. Common entries are:
/dev/printer socket lpd local socket
/dev/log socket syslog local socket
/dev/gpmdata socket gpm mouse multiplexer
+
+
+ **** TERMINAL DEVICES
+
+Terminal, or TTY devices are a special class of character devices. A
+terminal device is any device that could act as a controlling terminal
+for a session; this includes virtual consoles, serial ports, and
+pseudoterminals (PTYs).
+
+All terminal devices share a common set of capabilities known as line
+diciplines; these include the common terminal line dicipline as well
+as SLIP and PPP modes.
+
+All terminal devices are named similarly; this section explains the
+naming and use of the various types of TTYs. Note that the naming
+conventions include several historical warts; some of these are
+Linux-specific, some were inherited from other systems, and some
+reflect Linux outgrowing a borrowed convention.
+
+A hash mark (#) in a device name is used here to indicate a decimal
+number without leading zeroes.
+
+ Virtual consoles and the console device
+
+Virtual consoles are full-screen terminal displays on the system video
+monitor. Virtual consoles are named /dev/tty#, with numbering
+starting at /dev/tty1; /dev/tty0 is the current virtual console.
+/dev/tty0 is the device that should be used to access the system video
+card on those architectures for which the frame buffer devices
+(/dev/fb*) do not exist (including the x86). Do not use /dev/console
+for this purpose.
+
+The console device, /dev/console, is the device to which system
+messages should be sent, and on which logins should be permitted in
+single-user mode. /dev/console should be a symbolic link to either
+/dev/tty0, a specific virtual console such as /dev/tty1, or to a
+serial port primary (tty*, not cu*) device, depending on the
+configuration of the system.
+
+ Serial ports
+
+Serial ports are RS-232 serial ports and any device which simulates
+one, either in hardware (such as internal modems) or in software (such
+as the ISDN driver.) Under Linux, each serial ports has two device
+names, the primary or callin device and the alternate or callout one.
+Each kind of device is indicated by a different letter. For any
+letter X, the names of the devices are /dev/ttyX# and /dev/cux#,
+respectively; for historical reasons, /dev/ttyS# and /dev/ttyC#
+correspond to /dev/cua# and /dev/cub#. In the future, it should be
+expected that multiple letters will be used; all letters will be upper
+case for the "tty" device and lower case for the "cu" device.
+
+The names /dev/ttyQ# and /dev/cuq# are reserved for local use.
+
+The alternate devices provide for kernel-based exclusion and somewhat
+different defaults than the primary devices. Their main purpose is to
+allow the use of serial ports with programs with no inherent or broken
+support for serial ports. For programs with proper knowledge of
+serial port operation, their use should probably be avoided.
+
+Arbitration of serial ports is provided by the use of lock files with
+the names /var/lock/LCK..ttyX#. The contents of the lock file should
+be the PID of the locking process as an ASCII number.
+
+It is common practice to install links such as /dev/modem
+which point to serial ports. In order to ensure proper locking in the
+presence of these links, it is recommended that software chase
+symlinks and lock all possible names; additionally, it is recommended
+that a lock file be installed with the corresponding alternate
+device. In order to avoid deadlocks, it is recommended that the locks
+are acquired in the following order, and released in the reverse:
+
+ 1. The symbolic link name, if any (/var/lock/LCK..modem)
+ 2. The "tty" name (/var/lock/LCK..ttyS2)
+ 3. The alternate device name (/var/lock/LCK..cua2)
+
+In the case of nested symbolic links, the lock files should be
+installed in the order the symlinks are resolved.
+
+Under no circumstances should an application hold a lock while waiting
+for another to be released. In addition, applications which attempt
+to create lock files for the corresponding alternate device names
+should take into account the possibility of being used on a non-serial
+port TTY, for which no alternate device would exist.
+
+ Pseudoterminals (PTYs)
+
+Pseudoterminals, or PTYs, are used to create login sessions or provide
+other capabilities requiring a TTY line dicipline (including SLIP or
+PPP capability) to arbitrary data-generation processes. Each PTY has
+a master side, named /dev/pty[p-za-e][0-9a-f], and a slave side, named
+/dev/tty[p-za-e][0-9a-f]. The kernel arbitrates the use of PTYs by
+allowing each master side to be opened only once.
+
+Once the master side has been opened, the corresponding slave device
+can be used in the same manner as any TTY device. The master and
+slave devices are connected by the kernel, generating the equivalent
+of a bidirectional pipe with TTY capabilities.
+
+The entire namespace /dev/[pt]ty[p-za-o][0-9a-z] should be considered
+reserved for the future use of PTYs. Should more than 936 PTYs ever
+become a necessity, we will likely adopt a System V-like scheme by
+which PTYs use a subdirectory of /dev.