From: Dobrica Pavlinusic Date: Tue, 31 Jan 2012 10:29:30 +0000 (+0100) Subject: force AT$QCDMG from command-line X-Git-Url: http://git.rot13.org/?p=huawei.git;a=commitdiff_plain;h=refs%2Fheads%2Fmaster force AT$QCDMG from command-line --- diff --git a/qcdm.pl b/qcdm.pl index 03b20e2..57125b4 100755 --- a/qcdm.pl +++ b/qcdm.pl @@ -53,7 +53,8 @@ sub crc { -my $device = shift @ARGV || $ENV{DEVICE} || '/dev/ttyUSB2'; # last device! control port! +my $device = $ARGV[0] || $ENV{DEVICE} || '/dev/ttyUSB2'; # last device! control port! +my $at_qcdmg = $ARGV[1]; # force AT$QCDMG from command-line my $port = Device::SerialPort->new( $device ) || die "$device: $!"; $port->baudrate(115200) || die "fail $device baudrate"; @@ -73,10 +74,12 @@ $port->read_const_time(3000); # 1 s read timeout while ( my $drain = $port->input ) { warn "# drain $drain\n"; + $at_qcdmg = 1; +} +if ( $at_qcdmg ) { $port->write('AT$QCDMG' . "\r"); - warn "DIAG mode: ", $port->read(2), $port->input; # OK+cr/lf - + warn "DIAG mode: ", $port->read(9 + 3); # echo, OK+cr/lf } my $diag = {