Страница 57 из 65 11.8. Как сделать вход через модем?Похоже, что вы хотите стать Internet-провайдером, да? Сначала вам необходимо подключить к системе один или несколько модемов, которые могут работать в режиме автоответа. Модем должен держать сигнал наличия несущей, только когда она присутствует. Он должен вешать трубку и переинициализировать, когда сигнал готовности устройства DTE (DTR) меняет состояние из включенного на выключенный. Должно использоваться аппаратное (RTS/CTS) управление потоком или вовсе отсутст вовать. Ещё он должен работать на постоянной скорости с портом компьютера, но (что удобно для звонящих) с согласованием скорости передачи с другим модемом. Для большинства модемов, поддерживающих набор команд Hayes, следующая последов ательность команд выполнит эти настройки и сохранит их в энергонезависимой памяти: AT &C1 &D3 &K3 &Q6 S0=1 &W
Информация о том, как сделать эти настройки без обращения к терминальным программам MS-DOS, содержится в разделе о посылке AT-команд. Затем опишите модем в файле /etc/ttys. В нём перечислены все порты, с которых операционная система ожидает входа пользователей. Добавьте строку, которая в ыглядит как эта: ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
В этой строке указано, что ко второму последовательному порту (/dev/ttyd1) подключен модем на скорости 57600 bps без контроля по чётности (std.57600, что берётся из файла /etc/gettytab). Тип терминала для этого порта определён как dialup. Порт включен (on) и небезопасен (insecure), что означает, что попытки в ойти в систему пользователем root с этого порта будут отвергнуты. Для портов, обслуживающих входящие звонки, как этот, используйте устройства вида ttydX. Использование слова dialup в качестве имени терминала является обычной практикой. Многие пользователи включают в свои файлы .profile или .login скрипты для задания реального типа терминала, если начальным является тип dialup. В примере порт описан небезопасным. Чтобы войти пользователем root на этом порту, вам нужно сначала войти обычным пользователем, а затем командой su стать пользователем root. Если порт имеет атрибут secure, то пользователь root может входить с этого порта непосредственно. После модифицирования /etc/ttys, вам нужно послать сигнал потери связи или HUP процессу init: # kill -HUP 1
Это заставит процесс init снова прочитать файл /etc/ttys. Процесс init запустит процессы getty для всех портов с характеристикой on. Вы можете проверить, доступны ли входы с конкретного порта, выполнив команду % ps -ax | grep '[t]tyd1'
Вы должны увидеть нечто вроде следующего: 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 11.9. Как подключить терминал к FreeBSD?Если вы собираетесь использовать другой компьютер в качестве терминала для FreeBSD, соедините их последовательные порты нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его документации. Затем модифицируйте файл /etc/ttys описанным выше способом. Например, если вы подключаете терминал WYSE-50 к пятому последовательному порту, используйте такую строчку: ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
В этом примере описан порт на /dev/ttyd4, имеющий терминал wyse50, подключенный на скорости 34800 bps без контроля по четности (std.38400 из /etc/gettytab) и разрешён непосредственный вход пользователя root (secure). 11.10. Почему не удаётся запустить tip или cu?Скорее всего, в вашей системе запуск программ tip и cu разрешён только пользов ателю uucp и членам группы dialer. Вы можете использовать группу dialer для управления доступом к вашему модему или удалённым системам. Достаточно добавить пользователя в группу dialer. Вы можете разрешить всем пользователям вашей системы запускать tip и cu, в ыполнив команды: # chmod 4511 /usr/bin/cu # chmod 4511 /usr/bin/tip 11.11. Мой модем Hayes не поддерживается---что можно сделать?На самом деле страница Справочника о программе tip устарела. Модемы Hayes поддерживаются системой. Просто добавьте at=hayes в ваш файл /etc/remote. Драйвер модемов Hayes не достаточно умён, чтобы поддерживать некоторые из новых возможностей современных модемов---сообщения типа BUSY, NO DIALTONE или CONNECT 115200 будут приводить его в замешательство. Вы должны выключить вывод таких сообщений при использовании программы tip (командой ATX0&W). Кроме того, значение таймаута по умолчанию для программы tip равен 60 секундам. Ваш модем должен использовать меньшее значение, иначе tip будет думать, что у в ас проблемы со связью. Попробуйте ATS7=45&W. На самом деле tip в том виде, каком поставляется, не поддерживает модемы Hayes полностью. Решением является редактирование файла tipconf.h в каталоге /usr/src /usr.bin/tip/tip. Чтобы это сделать, вам нужен дистрибутив исходных текстов системы. Замените строку #define HAYES 0 на #define HAYES 1. Затем выполните команды make и make install. После этих действий всё работает замечательно. 11.12. Как я должен ввести эти AT-команды?Создайте так называемое "прямое" описание в вашем файле /etc/remote. Например, если ваш модем подключен к первому последовательному порту, /dev/cuaa0, сделайте такую строку: cuaa0:dv=/dev/cuaa0:br#19200:pa=none
Укажите максимальную скорость обмена с портом, поддерживаемую модемом в параметре br. Затем выполните команду tip cuaa0 и вы подключитесь к модему. Если в вашей системе нет устройства /dev/cuaa0, сделайте следующее: # cd /dev # sh MAKEDEV cuaa0
Или используйте cu, войдя администратором, с такими параметрами: # cu -lline -sspeed
где line - это имя последовательного порта (например, /dev/cuaa0), а speed - скорость работы модема с портом (например, 57600). После ввода AT-команд, наберите ~. для завершения работы. |