Имеется разлоченный 3G модем от velcom (предварительно настроен АТ командами в режим - модем) в котором использую сим карту от life. Интернет соеденение подхватилось без проблем (ОС ubuntu gnu/linux 12.04), но возникла необходимость просмотра баланса и остаток траффика при помощи ussd запросов. Гуглив и воспользовавшись поиском на данном сайте наткнулся на вот такой скрипт:
Код: Выделить всё
#!/usr/bin/perl
# ussd.pl --- USSD messaging via GSM modem
# Created: 03 Jul 2010
# ver 0.2
use warnings;
use strict;
my $PORT = '/dev/ttyUSB3';
do {
open my $modem, '+<', $PORT or die $!;
print $modem 'AT+CUSD=1,',
substr(encode_text7( shift ), 2),
",15\r\n"
or die $!;
while ( <$modem> ) {
if ( /^\+CUSD:/ ) {
die "USSD ERROR\n" if /\+CUSD: 2/;
print /^\+CUSD: 0,"([^"]+)/
? decode_text7("FF$1")
: "Unknown message: $_";
last;
}
}
} while @ARGV;
# hi mtve
sub decode_text7 {
pack '(b*)*',
unpack 'C/(a7)',
pack 'C a*',
unpack 'C b*',
pack 'H*', $_[0]
}
sub encode_text7 {
uc
unpack 'H*',
pack 'C b*',
length $_[0],
join '',
unpack '(b7)*', $_[0];
}
1. В терминале из под рута в дирректории /usr/sbin создаю файл 3g-ussd.pl
2. В этот файл добавляю текст скрипта и сохраняю
3. Далее опять таки из под рута выполняю команду 3g-ussd.pl
4. Вылетает ошибка: Permission denied
Код: Выделить всё
sponlin@work:~$ sudo su
[sudo] password for sponlin:
root@work:/home/sponlin# gedit /usr/sbin/3g-ussd.pl
root@work:/home/sponlin# 3g-ussd.pl
bash: /usr/sbin/3g-ussd.pl: Permission denied
root@work:/home/sponlin#