diff options
Diffstat (limited to 'Documentation/devices.txt')
-rw-r--r-- | Documentation/devices.txt | 311 |
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. |