On Mon, 11 Jun 2012 16:00:23 +0200, Guillaume Zajac wrote:
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
> 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
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
Could you also give us your AT log and more particulary the
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
> I found by looking in include/netreg.h that it should be up to
> plugin to
> implement CSQ polling, however I can't find how it is supposed to be
> 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
strength change, unless I explicitly call the custom function I added
to force polling of the strength.
Thanks for your support.