Tnx again 4 your patience Denis,
2013/3/27 Denis Kenzior <[email protected]> > Hi Marco, > > <snip> > > > 2) in enable fnc the modem is powered but The sim is not >> ready so >> sometimes It hangs up...Do I have to to poll the sim status >> until is >> ready , or the driver will do that by itself ? >> >> >> oFono never polls for anything. It is the driver's >> responsibility to do that in the best possible way for the >> hardware. Also, powering on the modem is separate from the sim >> being ready. The general flow is this: >> >> -Enable modem >> -Wait for the modem to power on and use ofono_modem_set_powered >> when that happens successfully / fails. >> - Figure out if the SIM is inserted and signal using >> ofono_sim_inserted_notify. Do this step only once the SIM is >> ready to be queried for its PIN status and perform any I/O on >> SIM files that are always accessible (e.g. ICCID) >> >> >> Ok. If Sim not "ready" , sending a signal prematurely could stuck anyhow >> the stack ? 'cause it should explain a lot of thing.. >> >> > If you tell oFono core that the sim is inserted, the first thing it does > is read some sim files that are always available. e.g. ICCID, etc. Then it > proceeds to check the PIN. If the PIN query fails due to a sim busy > condition, then yes the init process will stall. This is considered a bug > in the driver. > > got it. > > >> >> 3) could u explain me what should I really do in virtual fnc >> set_online >> / post_online ? i tried to stub them but they have not never >> been called... >> >> >> oFono has 3 basic states: >> - Off >> - Radio Off, Sim On >> - Radio On, Sim On >> >> set_online turns radio on / off >> post_online populates the atoms that are available in radio 'On' >> state. >> >> >> This is what i thought but I do not understand why I don't see the trace >> log I put inside them...usually are called before pre_sim fn? are >> related to any signal i have to manage/post ? >> > > enable -> pre_sim, sim_inserted -> post_sim, set_online -> post_online. > Generally you do not call set_online before hitting the post_sim state. > > could I don't implement set_online if I don't need it? > <snip> > > > >> I've managing vendor URC for sim detection right now but i have >> problems.For instance if I remove it when ofonod is ready the Hilonc >> sends an URC to notify sim status changed but after that it reboots >> itself(2 sec later)... what i did is to notify the stack that the SIM >> has been removed and modem is powered off . I thought that after calling >> set_powered fnc the stack should have called my driver virtual disable >> function in order to properly close the MUX .. but it's not.. >> > > No, if you call ofono_modem_set_powered(modem, FALSE) it assumes that the > modem powered off due to an internally generated event (e.g. not oFono's > doing). The driver has to clean up properly in this case. The driver > disable() method is only called on oFono initiated power down requests. > > > mmh ok..so If the modem restarts it's my business to disable and enable again all the driver' stuff , right? > >> >> 5) I created and started the MUX as the first thing in >> enable fnc but is >> that right ? sometimes seems that the modem hangs up if just >> powered up. >> Put a delay but don't like it very much as a >> solution...moreover when I >> power up the modem all the URC have been lost 'cause the MUX >> has not >> been created yet.. >> >> >> That is what we do for most devices with a MUX, put it into MUX >> state right away after basic initialization. The devices we >> have can be queried for their state in addition to URCs, so it >> works out very well. >> >> right now i've been using custom URC in the first power up phase to >> understand modem status. I manually set them but theoretically I should >> check the values saved on the modem every power cycle. What I was >> thinking was to test every time the values saved and enabling them if >> they were not .After that I should call an AT+cfun=1,1 in order to reset >> the modem and force it to send me again the needed URCs . What do u think >> ? >> > > I do not see anything wrong with that strategy. Just keep in mind that > querying things you will be resetting (potentially) anyway is likely a > waste of time. Only query things that are required for the initialization > procedure. For the rest, simply set the setting you want. > > done today and it works. > Regards, > -Denis >
_______________________________________________ ofono mailing list [email protected] http://lists.ofono.org/listinfo/ofono
