X-Git-Url: http://git.rot13.org/?p=huawei.git;a=blobdiff_plain;f=at-chat.pl;h=a9a8756563627f7f01a960c9b9434d43ed22514d;hp=0fc9411ea1c7b5c3ae2e63cd9c838614528b4e16;hb=a9d46f9399516b6a48cb12bffd812024a802a264;hpb=b2b2dbbcabf3c0ca4d0216abedd323934bf721eb diff --git a/at-chat.pl b/at-chat.pl index 0fc9411..a9a8756 100755 --- a/at-chat.pl +++ b/at-chat.pl @@ -5,7 +5,7 @@ use strict; use Device::SerialPort; use Data::Dump qw(dump); -my $device = $ENV{DEVICE} || '/dev/ttyUSB0'; +my $device = $ENV{DEVICE} || shift @ARGV || '/dev/ttyUSB0'; my $port = Device::SerialPort->new( $device ) || die "$device: $!"; $port->baudrate(115200) || die "fail $device baudrate"; @@ -56,7 +56,9 @@ c 'ATZ' => 'reset'; c 'ATI' => 'info'; -c 'AT+CGMI' => 'manufacturer'; +c 'AT+CPIN?' => 'SIM pin'; + +my $manufacturer = c 'AT+CGMI' => 'manufacturer'; c 'AT+CGMM' => 'model'; @@ -74,6 +76,10 @@ c 'AT+CNUM' => 'MSISDN'; c 'AT+CLCK=?' => 'facility lock'; +if ( $manufacturer =~ m/Huawei/i ) { + +print "# Huawei\n"; + c 'AT^HWVER' => 'hardware version'; c 'AT^CVOICE?' => 'is voice enabled?'; @@ -82,6 +88,17 @@ c 'AT^DDSETEX=?' => 'voice output'; c 'AT^SYSINFO' => 'sys info'; +} elsif ( $manufacturer =~ m/ZTE/i ) { + +print "# ZTE\n"; + +c 'AT+GMR' => 'revision'; + +c 'AT+GCI?' => '?'; + +c 'AT+ZOPRT?' => '?'; + +} $port->close || die "can't close port $!";