Аппаратный перезапуск модема (Watchdog таймер) iRZ MC52xxx
Модемы iRZ МС52iT, МС52iWDT и МС52PU имеют возможность принудительного перезапуска с помощью внешней программы. Функция реализуется путём восьмикратного поднятия-опускания сигнала DTR в течение заданного времени. Рекомендуемые значения: 0.5 сек импульс, 0.5 сек пауза.
Для Windows мы написали специальную программку для перезагрузки: Dtr8x
Для Linux можно использовать следующий Perl-скрипт:
---------------------------DTR8X.pl----------------------------------------
#!/usr/bin/perl -w
# yum install perl-Device-SerialPort # Fedora
# apt-get install libdevice-serialport-perl # Debian
# ./DTR8X.pl /dev/ttyUSB0 # syntax
use Device::SerialPort;
my $device = '/dev/ttyS0'; # default device
my $milliseconds = 500; # 0.5s delay
my $count = 8;
$device = $ARGV[0] if ($#ARGV == 0); # get device from command line
my $port=new Device::SerialPort($device) || die "new($device): $! ";
for (my $i = 0; $i <= $count; $i++) { $port->pulse_dtr_off($milliseconds); }
Для обоих операционных систем подойдет скрипт на Python:
import serial
import time
s = serial.Serial()
s.port = 'com2'
s.timeout = 2
s.open()
s.setDTR(False)
for i in range(8):
s.setDTR(True)
time.sleep(0.5)
s.setDTR(False)
time.sleep(0.5)