Доступ к последовательным устройствам
В Unix-системах доступ к последовательным портам осуществляется через специальные файлы, расположенные в директории /dev. Для каждого последовательного порта предусмотрено два файла, каждый из которых принадлежит своему классу. В зависимости от выбранного файла устройство будет вести себя по-разному. Первый тип файлов необходим, когда порт используется для входящих соединений; эти файлы имеют основной номер 4 и именуются как ttyS0, ttyS1 и так далее. Файлы второго типа используются для исходящих соединений и имеют названия вроде cua0 с основным номером 5. Младшие номера для обоих классов файлов совпадают.
Если ваш модем подключен к порту, обозначенному как COM2, то его младший номер будет равен 65. Проверьте список доступных последовательных устройств в директории /dev. В выводе команды должны отображаться основные и младшие номера устройств:
$ ls -l /dev/cua*
crw-rw-rw- 1 root root 5, 64 Nov 30 19:31 /dev/cua0
crw-rw-rw- 1 root root 5, 65 Nov 30 22:08 /dev/cua1
crw-rw-rw- 1 root root 5, 66 Oct 28 11:56 /dev/cua2
crw-rw-rw- 1 root root 5, 67 Mar 19 1992 /dev/cua3
Если необходимых файлов устройств нет, их можно создать, став суперпользователем:
# mknod -m 666 /dev/cua1 c 5 65
# chown root.root /dev/cua1
Некоторые пользователи создают символическую ссылку /dev/modem на файл устройства модема для удобства. Тем не менее, если одни программы используют ссылку, а другие — реальное имя файла устройства, это может вызвать конфликты из-за использования файлов блокировки. По соглашению, имя файла блокировки для cua1 будет LCK..cua1. Использование разных имен файлов устройств для одного и того же порта может привести к тому, что программы попытаются использовать устройство одновременно, что сделает их неработоспособными.