В этом разделе освещены вопросы о работе последовательных адаптеров во FreeBSD. Протоколы PPP и SLIP рассматриваются в разделе Работа в сети.
В процессе своей загрузки ядро FreeBSD будет пытаться найти последовательные порты, с поддержкой которых оно было откомпилировано. Вы можете повнимательней присмотреться к выдаваемым сообщениям либо выполнить такую команду после того, как система запустилась и работает:
% dmesg | grep -E "^sio[0-9]"
Вот пример вывода вышеуказанной команды:
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A
Здесь присутствуют два последовательных порта. Первый находится на IRQ 4, использует порт ввода/вывода 0x3f8 и построен на микросхеме UART типа 16550A. Второй использует тот же тип микросхемы, но находится на IRQ 3 и использует адрес порта ввода/вывода 0x2f8. Внутренние модемы выглядят точно также, как последовательные порты, за исключением того, что модем к ним ''подключен'' всегда.
В ядро GENERIC встроена поддержка двух последовательных портов, с теми же IRQ и адресами портов ввода/вывода, как указано в примере выше. Если эти настройки не соответствуют вашим, или если вы добавили внутренние модемы, или у вас больше последовательных портов, чем описано в ядре, просто переконфигурируйте ядро. За дополнительной информацией обратитесь к разделу о построении ядра.
Посмотрите ответ на предыдущий вопрос.
Третий последовательный порт, sio2 (посмотрите справку по sio(4)), который в DOS называется COM3), обозначается как /dev/cuad2 для устройств, выполняющих исходящие звонки, и /dev/ttyd2 для устройств, принимающих входящие звонки. Какая разница между этими двумя классами устройств?
Вы должны использовать ttydX для входящих соединений. При открытии /dev/ttydX в блокирующем режиме, процесс будет ожидать неактивности соответствующего устройства cuadX, а затем появления сигнала о наличии несущей. При открытии устройства cuadX он проверяет, что последовательный порт не используется уже устройством ttydX. Если порт доступен, он ''похищает'' его у устройства ttydX. Также устройство cuadX не следит за наличием несущей. С такой схемой работы и модемом, находящимся в режиме автоответа, вы можете позволить пользователям входить в систему и в то же время можете осуществлять исходящие звонки, а система позаботится о возможных конфликтах.
Повторим ещё раз: информация о конфигурировании ядра содержится в разделе, посвящённом этому вопросу. Для многопортовых последовательных адаптеров добавьте в файл device.hints(5) по строке sio(4) на каждый порт. Но IRQ должен быть указан только у одного порта. Все порты на адаптере должны использовать одно и то же значение IRQ. Для обеспечения согласованности используйте для указания IRQ последний последовательный порт. Также укажите следующую опцию в файле конфигурации ядра:
COM_MULTIPORT
В следующем примере указано содержимое /boot/device.hints для 4-портового последовательного адаптера AST на IRQ 12:
hint.sio.4.at="isa" hint.sio.4.port="0x2a0" hint.sio.4.flags="0x701" hint.sio.5.at="isa" hint.sio.5.port="0x2a8" hint.sio.5.flags="0x701" hint.sio.6.at="isa" hint.sio.6.port="0x2b0" hint.sio.6.flags="0x701" hint.sio.7.at="isa" hint.sio.7.port="0x2b8" hint.sio.7.flags="0x701" hint.sio.7.irq="12"
Флаги указывают, что управляющий порт имеет младший номер устройства 7 (0x700), и все порты совместно используют один и тот же номер IRQ (0x001).
Пока нет. Вы должны назначить уникальный IRQ для каждого адаптера.
Смотрите раздел Руководства FreeBSD, посвящённый последовательным соединениям.
Ознакомьтесь с разделом Руководства FreeBSD, посвящённого входящим соединениям.
Информацию по этому вопросы можно найти в разделе Терминалы Руководства FreeBSD.
Скорее всего, в вашей системе программы tip(1) и cu(1) могут получить доступ к каталогу /var/spool/lock только из-под пользователя uucp и членов группы dialer. Вы можете использовать группу dialer для управления доступом к вашему модему или удалённым системам. Достаточно добавить пользователя в группу dialer.
Вы можете разрешить всем пользователям вашей системы запускать tip(1) и cu(1), выполнив команды:
# chmod 4511 /usr/bin/cu # chmod 4511 /usr/bin/tip
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Смотрите этот ответ в Руководстве FreeBSD.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.