LINUX.ORG.RU

Lg [Duos] переключение между sim програмнно


0

1

Может кто знает как можно переключаться с помощью ussd запросов с одной сим на другую, может АТ команды или еще как-то. Телефон подключен удаленно через блутуз к машине с linux-ом и asteriskom.

Обшарил почти весь гугл не могу найти как это сделать.:(

Заранее всем спасибо.



Последнее исправление: Dema (всего исправлений: 1)

>с помощью ussd запросов

Никак.

может АТ команды

Это ближе к истине.

Обшарил почти весь гугл

Надо искать datasheet на нужный gsm-модем, там должен быть список поддерживаемых AT-команд.

Это если там один модем.

Но разве их там не два? Тогда просто должно появиться 2 устройства в /dev, и ничего переключать не нужно.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

нашел я АТ команды, а дальше то что?

Заранее спасибо.

p.s.я еще новичек в этом, не судите строго

Dema
() автор топика
Ответ на: комментарий от Dema

>нашел я АТ команды, а дальше то что?

Если в телефоне один модем, то там, наверное, должна быть команда для переключения SIM-карт. Если 2 модема (одновременно можно работать с 2 картами), то ничего переключать не надо, уже должно быть 2 разных устройства в /dev (возможно, есть какие-то настройки в телефоне при подключении по bluetooth, их вряд ли можно поменять с компьютера).

p.s.я еще новичек в этом, не судите строго

Я вообще телефон с 2-мя симками в глаза не видел, если что =).

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

где оно здесь?

linux:/dev # ls

.udev dm-0 fd0u1920 log md11 md24 md9 pts snd tty17 tty3 tty42 tty55 ttyS1 usbdev1.2_ep82 vcsa XOR dri fd0u360 loop0 md12 md25 mem random stderr tty18 tty30 tty43 tty56 ttyS2 usbdev1.2_ep83 vcsa1 adsp dsp fd0u720 loop1 md13 md26 mixer root stdin tty19 tty31 tty44 tty57 ttyS3 usbdev2.1_ep00 vcsa10 agpgart fd fd0u800 loop2 md14 md27 net route stdout tty2 tty32 tty45 tty58 ttyS4 usbdev2.1_ep81 vcsa2 audio fd0 fd0u820 loop3 md15 md28 network_latency rtc tty tty20 tty33 tty46 tty59 ttyS5 vcs vcsa3 blog fd0u1040 fd0u830 loop4 md16 md29 network_throughput rtc0 tty0 tty21 tty34 tty47 tty6 ttyS6 vcs1 vcsa4 bsg fd0u1120 full loop5 md17 md3 null sda tty1 tty22 tty35 tty48 tty60 ttyS7 vcs10 vcsa5 bus fd0u1440 fuse loop6 md18 md30 oldmem sda1 tty10 tty23 tty36 tty49 tty61 urandom vcs2 vcsa6 console fd0u1600 fwmonitor loop7 md19 md31 parport0 sda2 tty11 tty24 tty37 tty5 tty62 usbdev1.1_ep00 vcs3 vcsa7 core fd0u1680 hpet lp0 md2 md4 perfmonctl sda3 tty12 tty25 tty38 tty50 tty63 usbdev1.1_ep81 vcs4 vcsa9 cpu fd0u1722 initctl mapper md20 md5 port sg0 tty13 tty26 tty39 tty51 tty7 usbdev1.2_ep00 vcs5 watchdog cpu_dma_latency fd0u1743 input md0 md21 md6 ppp shm tty14 tty27 tty4 tty52 tty8 usbdev1.2_ep02 vcs6 xconsole device-mapper fd0u1760 kmem md1 md22 md7 psaux skip tty15 tty28 tty40 tty53 tty9 usbdev1.2_ep03 vcs7 zero disk fd0u1840 kmsg md10 md23 md8 ptmx snapshot tty16 tty29 tty41 tty54 ttyS0 usbdev1.2_ep81 vcs9

Dema
() автор топика
Ответ на: где оно здесь? от Dema

>Телефон подключен удаленно через блутуз к машине с linux-ом и asteriskom.

где оно здесь?

Обычно это /dev/rfcomm[0-9]*, если по bluetooth подключено. Телефон точно подключён? Что-то с ним при этом можно сделать с компьютера? Как подключал? И да, подключать надо его модем ещё через rfcomm или blueman.

gentoo_root ★★★★★
()
Ответ на: комментарий от Dema

>Можно позвонить через него, счет проверить. Он подключен:

Странно он как-то подключён. Через что? (какая программа?) Может, девайс rfcomm появляется только, когда надо (при наборе номера, например)?

Я всегда подключал так:

rfcomm bind hci0 $BT_MAC_ADDRESS

Появлялся нужный /dev/rfcomm0, через который можно посылать AT-команды, звонить, подключаться к интернету через PPP и т.п.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

сделал

rfcomm bind hci0 00:1B:DC:0F:34:1E

появился в /dev : rfcomm0

как дальше через него посылать?

с консоли астера?

mobile rfcomm 380636844289 «AT команда»

так?

Dema
() автор топика
Ответ на: сделал от Dema

>как дальше через него посылать?

Я запускал ‘cat /dev/rfcomm0’ на одной консоли, чтобы видеть весь траффик через модем, а на другой консоли посылал команды так: ‘echo -ne 'AT\r' > /dev/rfcomm0’.

gentoo_root ★★★★★
()
Ответ на: комментарий от Dema

>он не приконекчен?

Возможно. Попробуй полностью отключить asterisk, потом отключиться (‘rfcomm release’) и попробовать ещё раз забиндить. После команды ‘cat /dev/rfcomm0’ должно произойти соединение, мой телефон показывает это.

Если не получится, можно ещё раз отключиться (‘rfcomm release’), а подключиться не через bind, а через connect, тогда должно сразу соединиться с телефоном, но у меня так не работал ‘cat /dev/rfcomm0’.

Ах да, чуть не забыл: телефон и компьютер должны быть сопряжены (paired) через bluetooth. Сопряжение можно сделать, например, через blueman, gnome-bluetooth или bluedevil (или даже с консоли через dbus-send).

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

linux:rfcomm # rfcomm connect 0 10:F9:EE:9C:21:DE

Connected /dev/rfcomm0 to 10:F9:EE:9C:21:DE on channel 1

Press CTRL-C for hangup

сработало

в другой консоли пишу:

echo -ne 'AT\r' > /dev/rfcomm0

ничгео не выводит

Dema
() автор топика
Ответ на: комментарий от Dema

>сработало

Значит, он таки подключён и работает. Если коннектить через rfcomm connect, то AT-команды не получится посылать (ответ, по крайней мере, не видно).

Теперь его надо отключить через rfcomm release, а подключать через rfcomm bind, и делать cat /dev/rfcomm0. По-другому у меня не получалось посылать команды. Почему-то бывает, что не всегда срабатывает, надо попробовать несколько раз или перезагрузиться, если не получается. А ещё надо, чтобы телефон не занимали другие приложения, а только команда cat.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

что-то вышло:)

Делаю cat /dev/rfcomm0

Смотрю в другой терминал, а там следующий вид:

^^^^J^J^O^J^J^JJ^J^J^J^J^CUSD=1,«*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^J^CUSD=1,»*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^J^CUSD=1,«*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^J^CUSD=1,»*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^J^CUSD=1,«*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*11J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,»*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^J^J^J^CUSD=1,«*1J^J^J^J^J^J^J^^JJ^^^^J^J^O^J^J^JJ^^C-bash: [3729: 1] tcsetattr: Interrupted system call

Dema
() автор топика
Ответ на: что-то вышло:) от Dema

Законнектилось, но, наверное, какая-то другая программа пытается тоже его использовать, посылая в модем AT-команды (и, кстати, не получая ответ). Надо убить все другие программы для работы с модемом (это может быть и modem-manager, и asterisk), потом запустить только cat. Ничего из порта не должно сыпаться, пока не отправишь AT-команду через echo. После отправки команд не должно быть много выхлопов, а только ответ на команду.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

спасбио большое тебе!!!

Отключил астер и все остальное вроде, но выхлопов также много и таких же...

Dema
() автор топика
Ответ на: спасбио большое тебе!!! от Dema

>выхлопов также много и таких же...

Такие же точно? Там видны куски команды 'AT+CUSD=1,*111#', посылающей USSD-запрос по номеру *111# (наверное, конца нет), который обычно проверяет состояние счёта. Видимо, не всё поотключал.

gentoo_root ★★★★★
()
Ответ на: такое вот чудо лезит от Dema

>такое вот чудо лезит

Это плохо. Такое я не победил. С телефоном у меня нормально всё работает, а с dial-up-модемом тоже бесконечно повторялся выхлоп, хотя pppd работал нормально. Но здесь можно прочитать ответ ‘OK’, значит, всё работает, можно слать команды, только ответ трудно прочитать, но можно, если это всё писать в файл или в less. Но главное, что коннект есть, и можно писать в модем.

Можно ещё попробовать какую-нибудь программу типа minicom, возможно, выхлоп будет более чёткий.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

>С телефоном у меня нормально всё работает

так и у меня ж с телефоном,lg a230 подключен,это с ним я обмениваюсь этими АТ командами

Dema
() автор топика
Ответ на: комментарий от gentoo_root

Как командой АТ переключиться с одной симки на другую в этом дуосе

главная цель

Dema
() автор топика
Ответ на: комментарий от Dema

так и у меня ж с телефоном,lg a230 подключен,это с ним я обмениваюсь этими АТ командами

Да, вроде, всё работает, но выхлопа не должно быть много, а должно быть просто аккуратное ‘OK’ один раз.

Как командой АТ переключиться с одной симки на другую в этом дуосе

Я думал, ты в даташите это нашёл…

Для какого-то модема нагуглилось такое:

http://shop.digitalangel.ru/lib/ws/GSM_modem_Multi-SIM-2_manual_rev01.pdf

Управление модемом осуществляется стандартными АТ-командами. Дополнительные команды отправляются только на скорости 19200 бит/с дважды. Это необходимо, чтобы в режиме передачи данных не происходило ложных приемов команд. Передачу данных рекомендуется настраивать на другую скорость – например, 115200 бит/сек.

Дополнительные команды:

ПЕРЕЗАГРУЗКА МОДЕМА. Формат (длина 6 символов): @RESET. Команда применяется для перезагрузки модема, при этом активная SIM-карта не меняется.

СМЕНИТЬ SIM КАРТУ Формат (длина 6 символов): @_SWAP. Команда применяется для смены активной SIM-карты. При выполнении команды происходит перезагрузка модема.

ВЫБРАТЬ SIM1 Формат (длина 6 символов): @SIM_1. Команда применяется для активации SIM-карты 1. При выполнении команды происходит перезагрузка модема.

ВЫБРАТЬ SIM2 Формат (длина 6 символов): @SIM_2. Команда применяется для активации SIM-карты 2.

Так что и в твоём даташите должны быть нужные команды.

gentoo_root ★★★★★
()
Ответ на: комментарий от Dema

>это ж ты модем переключаешь а мне надо телефон переключить между двумя симками.

Ничё, что в телефоне тоже gsm-модем? Найди на него даташит, прочитай, найди в нём нужные команды. Они телефоноспецифичны.

gentoo_root ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.