For creating devices in the device directory see
Creating Devices In the /dev directory
Devices in Linux have major and minor numbers. Each serial port may have 2 possible names in the /dev directory: ttyS and cua. Their drivers behave slightly differently. The cua device is deprecated and will not be used in the future. See the Modem-HOWTO section: "The cua Device".
Dos/Windows use the COM name while the setserial
program uses
tty00, tty01, etc. Don't confuse these with dev/tty0, dev/tty1, etc.
which are used for the console (your PC monitor) but are not serial
ports. The dos names (COM1, etc.) and IO address is shown below for
the "standard" case (but yours could be different).
set- IO
dos serial major minor major minor address
COM1 tty00 /dev/ttyS0 4, 64; /dev/cua0 5, 64 3F8
COM2 tty01 /dev/ttyS1 4, 65; /dev/cua1 5, 65 2F8
COM3 tty02 /dev/ttyS2 4, 66; /dev/cua2 5, 66 3E8
COM4 tty03 /dev/ttyS3 4, 67; /dev/cua3 5, 67 2E8
Note that all distributions should come with ttyS devices (and cua
devices until cua is finally abolished). You can
verify this by typing:
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*
On some installations, two extra devices will be created,
/dev/modem
for your modem and /dev/mouse
for your
mouse. Both of these are symbolic links to the appropriate
device in /dev
which you specified during the
installation (unless you have a bus mouse, then /dev/mouse
will point to the bus mouse device).
There has been some discussion on the merits of /dev/mouse
and /dev/modem
. The use of these links is discouraged. In
particular, if you are planning on using your modem for dialin you may
run into problems because the lock files may not work correctly if you
use /dev/modem
. Use them if you like, but be sure they
point to the right device. However, if you change or remove this
link, some applications might need reconfiguration.
For board addresses, and IRQs, look at the rc.serial
or /etc/rc.boot/0setserial
that comes with the setserial
program. It has a lot of detail on multiport boards, including I/O
addresses and device names.
If you don't have a device, you will have to create it with the
mknod
command. Example, suppose you needed to create devices
for ttyS0
:
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
You can use the MAKEDEV
script, which lives in /dev
.
See the man page for it. This simplifies the making of devices. For
example, if you needed to make the devices for ttyS0
you
would type:
linux# cd /dev
linux# ./MAKEDEV ttyS0
This handles the devices creation and should set the correct permissions.