I tried to use the onofo python scripts directly. For a one-step USSD request from the shell everything looks good, the data is output to the console:
~$ /usr/share/ofono/scripts/initiate-ussd /ril_1 "*100#"
State: idle
USSD: Current: 235.79, Limit: 300
But if a dialog is required, the answer appears on the screen, asks you to enter the number of USSD menu item, and press the button. If I click the button, the window closes and the script crashes with the following errors:
~$ /usr/share/ofono/scripts/initiate-ussd /ril_1 "*222#"
State: idle
Traceback (most recent call last):
File "/usr/share/ofono/scripts/initiate-ussd", line 35, in <module>
result = ussd.Initiate(ussdstring, timeout=100)
File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.ofono.Error.Failed: Operation failed
So there is USSD processing in the system. Only for some reason it does not work. For example, there is no possibility to "call" a number beginning with an asterisk "*".
Is there any way to get this program code to work completely?