Guillaume,
On Mon, 11 Jun 2012 16:00:23 +0200, Guillaume Zajac wrote:
Hi Audric,
On 07/06/2012 17:20, Audric Schiltknecht wrote:
Hi guys,
I am currently developing an ofono-based GSM control interface,
using a Sagem
Hilo modem (I wrote the appropriate plugin) with the atmodem driver.
I am having trouble with signal strength reporting. The terminal
does not report
signal strength by event. Hence, it is not possible to get the value
from Ofono,
since Ofono expects it to be updated on a +CIEV event. I implemented
a
new DBus method in the NetworkRegistration interface to force AT+CSQ
command and
update the property value, but this is clearly not a valid solution.
Do you know in modem specifications if Sagem is using a specific
signal strength notifications command?
If yes, then you should update in
drivers/atmodem/network-registration.c the at_creg_set_cb() function
to handle OFONO_VENDOR_SAGEM case.
Thus you can use register to the good comman notification.
According to the modem specification, the modem should use a standard
+CIEV
event to report signal strength.
However, I found that the strength is never notified as expected,
whereas it is correctly returned when using an AT+CSQ read command.
Moreover, the value returned in +CIEV is theoretically an integer in
the range 0-4,
when AT+CSQ returns a well more fine-grained value (integer between
0-31).
Could you also give us your AT log and more particulary the
"AT+CMER=3,0,0,1" answer?
Maybe, this configuration is not supported by your modem and you
should change it.
Indeed, mode 3 is not supported, and I modified the driver to use mode
1.
I found by looking in include/netreg.h that it should be up to the
plugin to
implement CSQ polling, however I can't find how it is supposed to be
done.
Indeed, the plugin has no access to the netreg atom nor structure,
so how is it
supposed to update one of these properties ?
Indeed, if you use it for instance with ConnMan signal strength
notification won't work or maybe I miss something.
I use my own DBus client, but the effect is the same: no notification
of signal
strength change, unless I explicitly call the custom function I added
in src/network.c
to force polling of the strength.
Thanks for your support.
Audric
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono