Есть модем и есть необходимость проверить его работоспособность. Для этого я использую обычный модемный кабель для COM порта. С его помощью подключаю модем к компьютеру, который имеет минимум один последовательный порт RS232. Далее, в операционной системе Debian (Wheezy), проверяю наличие последовательных устройств командой (вывод здесь и далее выделен курсивом)...
am@ampc:~$ ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
Как можно видеть, в моей системе имеется четыре COM порта с номерами 1-4. Однако не все они физически присутствуют в аппаратуре компьютера. Чтобы выделить их обратимся за помощью к dmesg
am@ampc:~$ dmesg|grep ttyS
[ 1.411838] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.436712] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Вывод команды показывает, что в компьютере физически присутствует один последовательный порт ttyS0 (COM1) с назначенным ему системой адресом ввода/вывода и номером прерывания.
Теперь нужна программа для осуществления коммуникации по последовательному порту. Я раньше активно использовал minicom, но роясь в пакетах дистрибутива Wheezy натолкнулся на Cutecom is a graphical serial terminal, like minicom - т.е. графический последовательный терминал, подобный minicom. Его я и поставил.
Настройки программы Cutecom вполне понятны и очевидны. Но чтобы сеанс связи с модемом состоялся необходимо отметить два момента. Во-первых, если работа ведется не из под root, рабочего пользователя надо добавить в дополнительную группу dialout
usermod -a -G dialout <user>
причем саму команду выполнить от имени суперпользователя. Распечатать текущего пользователя можно командой id. Во-вторых, в настройках программы Cutecom установить Select the line end termination в значение CR line end. Теперь в поле Input набираем команду AT, жмем <Enter> и в поле вывода лицезреем ответ OK. Если этого не произошло, тогда готовьтесь к перебору возможных причин. Это может быть например:
- Не рабочий кабель (как ни странно, это первое что необходимо проверить! Очень часто кабель выглядит целым, но реально это не так. И начните с разъемов!
- Кабель рабочий, но не правильно распаян. Здесь гугл в помощь...
- Выбрана скорость обмена не соответствующая той, на которую настроен модем. Тоже в отношении других параметров. Как выход можно сбросить модем к заводским настройкам, а можно воспользоваться утилитой автоопределения настроек модема (в затруднительных ситуациях мне неоднократно помогала Lers.ModemTune. Также можно поюзать gsmport38x. Обе программы для ОС Windows).