Hi Lars,

Can this be done using g_timeout instead?

This was indeed not the first solution I tried. But I used the l_timeout_
thing that is used all over in quectel.c. I could not get this to work
in a way I was satisfied with. When I send a SIGTERM to the ofono
process close_serial is called but the timeout_callback never fires

It seems this is because you call ofono_modem_set_powered(..., FALSE) in close_serial(). What you should be doing is delaying this until your gpio operation is complete.

and thus the modem does not power off. This is why I then tried usleep
and this works reliably.
Just to be sure I tried with g_timeout and this is the same like
l_timeout. The callback is not called.

See above, l_timeout / g_timeout won't matter here... The driver needs to tell the core when it is done powering up / powering down. This is accomplished by returning -EINPROGRESS from .enable/.disable and calling ofono_modem_set_powered() once the operation completes.

Regards,
-Denis
_______________________________________________
ofono mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to