Немного о модемах.| Версия для печати | Новости Линукс Портала
Практически все современные модемы теперь поддерживают PnP. Конечно, если у вас сразу при установки все определилось и распихалось по своим местам, то хорошо, ну а если нет, то надо брать в руки напильник и обрабатывать паровоз пока не получится самолет. Первое, что надо сделать - разобраться с портом на котором работает Ваш модем и прерываниями (IRQ) которые он использует. Лучше всего когда модем имеет перемычки (джамперы) которыми выставляете необходимый порт и IRQ, и тем самым отключаете PnP. Вы можете также отключить PnP в BIOS вашего компьютера. Если еще не снесли с компа свой Win, то можете посмотреть на каком порту и прерывании сидит модем, и установить это параметры в Linux, попробуйте исполнить шаманский танец: загрузите Win, сконфигурируйте модем и посмотрите, сохраняются ли установки, когда вы загружаете Linux. Если нет, то: загрузите Win, сконфигурируйте модем и затем сделайте горячую загрузку Linux так, чтобы установки сохранились. Вы можете сделать это загрузчиком loadlin. возьмите инструментальные средства PnP с Слетует сразу учесть, что в Linux порты нумеруются с 0, а не с 1 как в DOS. Так порту СОМ1 в DOS (Windows) будет соответствовать ttyS0 в Linux. Ну а если Вам не повезло, и в наличии только уродец категории "Winmodem", то без шаманского бубна и сайта никак не обойтись. 1. Создание ttyS устройств в /dev Если у вас нет устройства, то вы должны будете создать его командой mknod. Например, предположим, что вам нужно создать устройство ttyS0: Вы можете использовать скрипт MAKEDEV, который лежит в /dev. Он упрощает создание устройств. Например, если вам нужно создать устройств ttyS0, то linux# ./MAKEDEV ttyS0 и должны установить правильные права доступа. 2 Общение с модемом Используйте kermit, minicom или другую программу связи, чтобы проверить установку, прежде, чем вы перейдете к более сложным вещам типа SLIP или PPP. Вы можете найти последнюю версию kermit на Например, надо сказать, что ваш модем был на ttyS3, и его быстродействие было 115200 бит\сек. Вы должны были бы сделать следующее: C-Kermit 6.0.192, 6 Sep 96, for Linux Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New York. Default file-transfer mode is BINARY Type ? or HELP for help. /dev/ttyS3, 115200 bps Connecting to /dev/ttyS3, speed 115200. The escape character is Ctrl-\ (ASCII 28, FS) Type the escape character followed by C to get back, or followed by ? to see other options. Если ваш модем отвечает на команды AT, то вы можете считать, что ваш модем на Linux стороне работает правильно. Теперь попробуйте позвонить на другой модем, напечатав: где 7654321 - номер телефона. Используйте ATDP вместо ATDT, если у вас номер набирается пульсом. Если обращение проходит, то ваш модем работает. Чтобы вернуться к подсказке kermit, нажав клавишу Ctrl, нажмите клавишу наклонной черты влево, затем отпустите клавишу Ctrl, и нажимите клавишу C: Это было только тест с использованием примитивного дозвона "вручную". Нормальный способ состоит в том, чтобы позволить kermit звонить с помощью встроенной базы данных модемов и возможностями автоматическими набора, например, для модема USRobotics (USR): C-Kermit 6.0.192, 6 Sep 1997, for Linux Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New York. Type ? or HELP for help Device=/dev/ttyS3, modem=usr, speed=115200 Call completed. Connecting to /dev/ttyS3, speed 115200 The escape character is Ctrl-\ (ASCII 28, FS). Type the escape character followed by C to get back, or followed by ? to see other options. Welcome to ... Когда вы делаете исходящий звонок вашим модемом, установите быстродействие последовательного порта самым высоким, которое поддерживает ваш модем (обычно это не более 115200 бит\сек). This is not the same as the "advertised" speed of the modem such as 56K. 3 Настройка модема на исходящие звонки Для использования модема только для исходящих звонков, вы можете сконфигурировать ваш модем. Если вы предполагаете использовать ваш модем для входящих звонков, вы должны настроить ваш модем на то же самое быстродействие, которое вы предполагаете указать в getty. Однако, большинство модемов сегодня устанавливает свое быстродействие автоматически на одинаковое быстродействие, используя команды модема. Таким образом, getty, запущенный на скорости 115200, автоматически установит модем на это быстродействие, когда getty пошлет init строку на последовательный порт, на котором установлен модем. Вообще, фабричные значения по умолчанию, которые дают возможность исправления ошибок и аппаратного модемом, проконсультируйтесь с руководством по вашему модему для этих установок. 4. Аппаратное управление потоком данных Если ваш модем поддерживает аппаратное управление потоком данных (RTS/CTS), я строго рекомендую вам его использовать. Это особенно важно для модемов, которые поддерживают сжатие данных. Сначала, вы должны разрешить RTS/CTS управление потоком данных на последовательном порту непосредственно. Это лучше всего выполнять при запуске, например, в /etc/rc.d/rc.local или /etc/rc.d/rc.serial. Удостоверьтесь, что эти файлы выполняются из главного файла rc.sysinit! Вы должны сделать следующее для каждого последовательного порта, на котором вы Если не разрешено по умолчанию, то также разрешите RTS/CTS на вашем модеме. В этом вам может помочь ваша программа связи. Проконсультируйтесь с руководством по вашему модему, если необходимо, и затем сохраните настройку вашего модем, если ваш модем поддерживает сохранение профилей. 5. Настройка последовательных портов на более высокие скорости Обычно вы только устанавливаете скорость параметром, заданным в getty или меню вашей коммуникационной программы (или в конфигурационном файле). Если по некоторым причинам, это не работает для высоких скоростей, то имеется spd_vhi, задаваемыми в setserial, установка 38400 фактически даст скорость 57600 (spd_hi) или 115200 (spd_vhi). Удостоверьтесь, что для более высоких скоростей у вас имеется по крайней мере 16550A UARTS. Существуют некоторые предлагаемые скорости: · Если у вас 28.8К (V.34), 33.6К (V.34) или 56К (V.90) модем, используйте 115200 бит\сек. · Если у вас 14400 бит\сек (V.32bis) модем со сжатием данных V.42bis, используйте 57600 бит\сек. Если вы используете setserial, то потестируйте его команды сперва в командной строке, а затем, когда убедитесь, что все работает, поместите их в /etc/rc.d/rc.serial или /etc/rc. d/rc.local или /etc/rc.boot/0setserial так, чтобы они выполнялись при загрузке системы. Удостоверьтесь, что вы используете правильный путь для setserial и правильное имя устройства. Вы можете проверить 6. lock файлы (файлы блокировки) Файл блокировки - это просто файл, говорящий, что указанное устройство в настоящее время занято (используется). Они хранятся в /usr/spool/uucp или /var/lock. В Linux файлы блокировки именуются LCK.name, где name - это или имя устройства, или имя UUCP сайта. Некоторые процессы создают эти файлы блокировки для того, чтобы иметь монопольный доступ к устройству. Например, если вы делаете исходящий звонок вашим модемом, появится файл блокировки, сообщая другим процессам, что кто-то уже использует модем. Файл блокировки в основном содержат PID процесса, который занял устройство. Большинство программ проверяют наличие файла блокировки, и пытаются определить, является ли эта блокировка все еще допустимой, производя в таблице процессов поиск процесса, который блокировал устройство. Если определяется, что файл блокировки действителен, то программа (возможно) заканчивает работу. Если нет, то некоторые программы удаляют устаревший файл блокировки, и используют устройство, создавая собственный файл блокировки. Другие программы только завершают работу и сообщают вам, что устройство занято процессом. Опубликовал: Дата: 01.08.2003 постоянный адрес статьи: http://linuxportal.ru/entry.php/P108_0_3_0/