Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как проверить счет на usb модеме?  (Прочитано 50880 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #15 : 16 Июля 2009, 11:14:48 »
убрал уже через vodafone utilite
Kubuntu

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #16 : 22 Июля 2009, 12:14:23 »
вообщем есть результат для модема HUAWEI E219 / E220:

1. необходимо поставить minicom (apt-get install minicom)
2. настроить его на модем minicom -s (последовательный порт /dev/ttyUSB1, скорость 460800), сохранить настройки.
3. запустить скрипт ./utel *100#


ну и собственно скрипт:
#!/bin/bash
#
# ----------EXAMPLES----------
#
# ./utel *100#
# ./utel *111*код_пополнения#
# ----------------------------
#
SCR=/tmp/ussdscp
OST=/tmp/lastcheck
echo -n $1 > $OST
PARCEL=$(perl -e '@a=split(//,unpack("b*",`cat /tmp/lastcheck`)); for ($i=7; $i < $#a; $i+=8) { $a[$i]="" } print uc(unpack("H*", pack("b*", join("", @a))))."\n"')
(
echo 'send "ATZ"'>$SCR
echo 'send ""' >>$SCR
echo "send \"AT+CUSD=1,$PARCEL,15\"">>$SCR
echo 'expect {'>>$SCR
echo '"\"," ! killall -9 minicom'>>/$SCR
echo '   }'>>$SCR
echo '! killall -9 minicom'>>$SCR
minicom -w -S $SCR -C $OST >/dev/null 2>&1
) >/dev/null 2>&1
reset
grep '".*"' $OST | sed -e "s/\(.*\"\)\(.*\)\(\".*\)/\\2/" > $SCR
perl -e '@a=split(//,unpack("b*", pack("H*",`cat /tmp/ussdscp`))); for ($i=6; $i < $#a; $i+=7) {$a[$i].="0" } print pack("b*", join("", @a))."
"'
echo ""
unlink $OST
unlink $SCR
Kubuntu

Оффлайн Alex2000

  • Активист
  • *
  • Сообщений: 317
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #17 : 22 Июля 2009, 18:00:37 »
Зачем столько букв?
cat /usr/bin/balans
#!/bin/bash
cat /dev/ttyUSB2 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB0 ; sleep 3; kill %cat
Аналогично для пополнения, только вместо *100# будет *111*$1#

Оффлайн xkool

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1459
  • do not love my brain
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #18 : 22 Июля 2009, 19:21:53 »
Зачем столько букв?
cat /usr/bin/balans
#!/bin/bash
cat /dev/ttyUSB2 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB0 ; sleep 3; kill %cat
Аналогично для пополнения, только вместо *100# будет *111*$1#
В случае Huawei,такой вариант не проходит.
Лучше маленький доллар, чем большое спасибо.

Оффлайн Alex2000

  • Активист
  • *
  • Сообщений: 317
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #19 : 24 Июля 2009, 22:26:53 »
Зачем столько букв?
cat /usr/bin/balans
#!/bin/bash
cat /dev/ttyUSB2 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB0 ; sleep 3; kill %cat
Аналогично для пополнения, только вместо *100# будет *111*$1#
В случае Huawei,такой вариант не проходит.
Это как раз для Huawei E169, про который ты и спрашивал. Все работает, если модем не подключен к интернет, иначе напишет, что порт занят.

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #20 : 25 Июля 2009, 01:05:55 »
вообщем есть результат для модема HUAWEI E219 / E220:

1. в случае этого модема есть только ttyUSB0 & ttyUSB1;
2. ответ приходит в кодировке UCS-2 поэтому нужен парсер;
3. можно пользоваться когда модем подключен к инету.
Kubuntu

Оффлайн zipchik

  • Участник
  • *
  • Сообщений: 147
  • ubuntu 9.04
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #21 : 27 Июля 2009, 17:52:42 »
stanislav@stanislav-desktop:~$ cat /usr/bin/balans
#!/bin/bash
cat /dev/ttyUSB0 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB1 ; sleep 3; kill %cat
stanislav@stanislav-desktop:~$
_________________________________________________________________
я новичок в убунте....
некак не могу проверить счет....
_____
#!/bin/bash
#
# ----------EXAMPLES----------
#
# ./utel *100#
# ./utel *111*код_пополнения#
# ----------------------------
#
SCR=/tmp/ussdscp
OST=/tmp/lastcheck
echo -n $1 > $OST
PARCEL=$(perl -e '@a=split(//,unpack("b*",`cat /tmp/lastcheck`)); for ($i=7; $i < $#a; $i+=8) { $a[$i]="" } print uc(unpack("H*", pack("b*", join("", @a))))."\n"')
(
echo 'send "ATZ"'>$SCR
echo 'send ""' >>$SCR
echo "send \"AT+CUSD=1,$PARCEL,15\"">>$SCR
echo 'expect {'>>$SCR
echo '"\"," ! killall -9 minicom'>>/$SCR
echo '   }'>>$SCR
echo '! killall -9 minicom'>>$SCR
minicom -w -S $SCR -C $OST >/dev/null 2>&1
) >/dev/null 2>&1
reset
grep '".*"' $OST | sed -e "s/\(.*\"\)\(.*\)\(\".*\)/\\2/" > $SCR
perl -e '@a=split(//,unpack("b*", pack("H*",`cat /tmp/ussdscp`))); for ($i=6; $i < $#a; $i+=7) {$a[$i].="0" } print pack("b*", join("", @a))."
"'
echo ""
unlink $OST
unlink $SCR   
_____________
тоже пробывал

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #22 : 27 Июля 2009, 19:17:32 »
вот ещё нашел один скипт, работает тоже хорошо, но получает ответ в необработанном виде, парсер нашел только такой как в примере выше, поэтому сделал такой скрипт.

необходимо установить пакет python-serial
распаковать и запускать ./decode.sh

если кто шарит в python и perl и может дописать скрипт на python - будет здорово.

там не работает перекодировка в функции str2byte
« Последнее редактирование: 31 Июля 2009, 23:57:37 от stan »
Kubuntu

Оффлайн zipchik

  • Участник
  • *
  • Сообщений: 147
  • ubuntu 9.04
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #23 : 28 Июля 2009, 19:16:08 »
Тоже не пашет... вот блин!
тот кто создал ету тему, у него получаццо етой командой "cat /dev/ttyUSB2 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB0 ; sleep 3; kill %cat"
а у меня нет... пробывал когда в инете ... и когда не в инете....

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #24 : 29 Июля 2009, 12:25:16 »
Тоже не пашет... вот блин!
тот кто создал ету тему, у него получаццо етой командой "cat /dev/ttyUSB2 & echo AT+CUSD=1,*100#,15 > /dev/ttyUSB0 ; sleep 3; kill %cat"
а у меня нет... пробывал когда в инете ... и когда не в инете....

а у тебя модем-то хоть какой?
Kubuntu

Оффлайн zipchik

  • Участник
  • *
  • Сообщений: 147
  • ubuntu 9.04
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #25 : 29 Июля 2009, 18:53:20 »
е219
оператор ютел...
я пробывал вставлять лайф и там проверят, не хочет...

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #26 : 29 Июля 2009, 22:33:58 »
у меня все такое же, Ubuntu 9.04, ядро стандартное.
проверь, что номера устройства у тебя такие как у меня, и твой пользователь в группе dialout

вот мой вывод:

[13776.064132] usb 2-2: new full speed USB device using uhci_hcd and address 3
[13776.221433] usb 2-2: configuration #1 chosen from 1 choice
[13776.242772] option 2-2:1.0: GSM modem (1-port) converter detected
[13776.242994] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
[13776.275128] option 2-2:1.1: GSM modem (1-port) converter detected
[13776.275321] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1

$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 2009-07-29 20:59 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 2009-07-29 20:58 /dev/ttyUSB1

$ groups
stan adm dialout cdrom plugdev lpadmin admin sambashare
Kubuntu

Оффлайн zipchik

  • Участник
  • *
  • Сообщений: 147
  • ubuntu 9.04
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #27 : 29 Июля 2009, 22:49:53 »
stanislav@stanislav-desktop:~$ dialout
bash: dialout: команда не найдена
stanislav@stanislav-desktop:~$ dialout --help
bash: dialout: команда не найдена
stanislav@stanislav-desktop:~$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 2009-07-29 21:44 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 2009-07-29 21:40 /dev/ttyUSB1
stanislav@stanislav-desktop:~$ groups
stanislav adm dialout cdrom plugdev lpadmin admin sambashare
stanislav@stanislav-desktop:~$
____________________________
я ламер в линуксе полный)
_________________________
как твой скрипт тот большой окрывать над?
токо обоснуй что да как... я просто очень плохо в Ubuntu шарю....

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #28 : 30 Июля 2009, 00:03:44 »
ах воно оно что...

тогда не советую использовать тот большой скрипт... для него надо правильно minicom настроить и сперва установить.

советую использовать тот скрипт, что я дал в аттачменте:
1. распаковать все файлы любым удобным  способом.
2. в терминале зайти в папку куда распаковал
3. дать права на выполнение в свойствах файлов
4. открыть терминал и зайти с помощью команды cd в эту папку
5. запустить команду ./decode.sh
Kubuntu

Оффлайн zipchik

  • Участник
  • *
  • Сообщений: 147
  • ubuntu 9.04
    • Просмотр профиля
Re: Как проверить счет на usb модеме?
« Ответ #29 : 30 Июля 2009, 00:05:29 »
а как что и какими командами делать?

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.