LINUX.ORG.RU

NetworkManager - отправка USSD


0

1

Узнал, что NetworkManager предоставляет через DBus интерфейс для управления модемом. Помимо запроса информации там присутствуют функции для отправки USSD-запросов, управления СМС (оправка, получение, управление сохранёнными) и контактами на SIM-карте. Решил написать программу, которая предоставила бы доступ ко всем этим функциям модема. Информация о модеме (Физическое устройство, IMEI, IMSI, название сети, уровень сигнала и т. п.) запрашивается нормально, но отправка USSD не работает. Пишет ошибку:

GDBus.Error:org.freedesktop.ModemManager.Modem.General: Could not parse USSD reply "

Модем нормально определяется NetworkManager и подключиться получается. В чём может быть дело?

★★★★★

В более или менее современных GSM-телефонах стандартные AT-команды поддерживаются частично. Часто даже принятые SMS не получается извлечь.

mannaz
()
Ответ на: комментарий от Turbid

Сам не пробовал, но готовый скрипт нормально это делает. Но не нравится то, что для этого потребуются root-привилегии (либо изменение прав доступа на /dev/ttyUSB2) для приложения, и если соединение установлено, то устройство будет занято и недоступно для моей программы. Использование же NetworkManager позволит обойти эти ограничения, к тому же переложить ответственность за совместимость с конкретными устройствами на разработчиков NetworkManager вместо того, чтобы реализовывать всё самому. Тем более раз есть API, которое предоставляет доступ ко всем функциям каким только нужно, то почему бы его не использовать.

Если что я пользуюсь USB-модемом, а не телефоном в режиме модема.

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

>Сам не пробовал, но готовый скрипт нормально это делает. Но не нравится то, что для этого потребуются root-привилегии (либо изменение прав доступа на /dev/ttyUSB2) для приложения, и если соединение установлено, то устройство будет занято и недоступно для моей программы.

а текущий пользователь есть в группе dialout или чего там в вашем дистрибутиве?

Turbid ★★★★★
()

>NetworkManager предоставляет через DBus интерфейс для управления модемом

Обана, а где это? Можно примерчик?

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

>В более или менее современных GSM-телефонах стандартные AT-команды поддерживаются частично.

Ага, мне пришлось писать патч к modemmanager, потому что он посылал команду ATZ с какими-то хитрыми параметрами, один из которых мой телефон не хавал и говорил ERROR.

gentoo_root ★★★★★
()

Сегодня пришло обновление для ModemManager.

Теперь при запросе USSD ошибка происходит не мгновенно, а с задержкой (то есть он всё таки что-то отправляет и с сетью общается) и текст ошибки уже иной:

GDBus.Error:org.freedesktop.ModemManager.Modem.General: USSD terminated by network.

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