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

Reply via email to