**** BEGIN LOGGING AT Mon Nov 08 02:59:57 2010 Nov 08 10:33:59 Can anyone help me to understand "How atoms are enabled/disabled for a particular modem?" Nov 08 11:45:37 How atoms are enabled/disabled for a particular modem? Nov 08 12:05:19 trashead: look at the plugin Nov 08 14:10:52 [sushil@sofos test]$ ./enable-modem Traceback (most recent call last): File "./enable-modem", line 14, in path = modems[0][0] IndexError: list index out of range Nov 08 14:11:13 Can anyone help me in running ./enable-modem for phonesim...? Nov 08 14:11:25 I've already copy pasted the error! Nov 08 14:11:57 Anyone here? Nov 08 14:12:33 what does list-modems say? Nov 08 14:13:08 Don't know! Nov 08 14:13:18 Should I try to print Nov 08 14:14:35 ? Nov 08 14:17:22 you have no modems that ofono detects Nov 08 14:17:51 I've compiled the phonesim.. Nov 08 14:17:58 If you want phonesim, I suggest you look at plugins/phonesim.conf Nov 08 14:18:20 Where should I put the phonesim.conf? Nov 08 14:18:43 I've already placed it under /etc/phonesim.conf Nov 08 14:19:08 And install that into the $prefix/etc/ofono directory, where prefix is what you passed into --sysconfdir while running configure Nov 08 14:19:33 If you're using ./bootstrap-configure that is /etc. If you're configuring yourself, then that is likely /usr/local/etc/ofono Nov 08 14:19:49 I ran ./bootstrap-configure Nov 08 14:20:52 And have you configured phonesim.conf properly? Nov 08 14:22:06 And the phonesim.conf is already present there! Nov 08 14:22:07 [phonesim] Address=127.0.0.1 Port=12345 Nov 08 14:22:18 Cat command output I've pasted... Nov 08 14:22:28 All 3 lines are uncommented! Nov 08 14:27:01 Then try restarting ofonod Nov 08 14:30:18 Thanks its working... Nov 08 14:58:30 Can anyone help me understand how to enable/disable atoms for a particular modem? Nov 08 15:12:32 The driver controls which atoms are enabled Nov 08 15:13:10 so look into any driver in plugins/ and look for the ofono_{atom}_create calls Nov 08 16:46:39 denkenz: if BDN is enabled in EFust/EFest, don't we need to check EFbdn still? Nov 08 16:46:56 EFbdn is only read if it is enabled in EFsst now Nov 08 16:47:31 AFAIK the 3G specs only mention EFust / EFest for checking the enablement Nov 08 16:47:43 The EFbdn has to be checked for the 2G case Nov 08 16:48:25 Is there a specific case you're concerned about? Nov 08 16:48:27 denkenz: ok, i'm a little confused about 2G vs. 3G Nov 08 16:48:41 31.102 should be 3g, right? Nov 08 16:48:50 Well, just check the flow between 31.102 (3g) and 51.011 / 11.11 (2G) Nov 08 16:49:08 The 2G specs talk about making sure that EFbdn / EFfdn is not invalidated Nov 08 16:49:20 Or was it EFadn, one of those :) Nov 08 16:51:55 I suppose we could be extra pedantic and make sure that EFbdn / EFfdn are *actually* on the SIM Nov 08 16:53:40 denkenz: no, i guess you're right. i was just worried that there was a difference between 2g and 3g initialisation in sim.c Nov 08 16:55:35 denkenz: should there be an internal api so other atoms (like sms or cb) can check if a capability is active? (like sms download or cb download) Nov 08 16:56:08 You mean through EFest or something? Nov 08 16:56:26 yeah Nov 08 16:57:03 the SMS download envelope should be sent if it's active in EFsst/EFust/EFest only Nov 08 16:57:19 Sounds like a good idea Nov 08 16:57:30 I think the sim already exposes sst / est tables AFAIK Nov 08 16:57:51 If not, feel free to suggest something Nov 08 16:58:20 ah yes, it does, i didn't check include/sim.h, only src/ofono.h Nov 08 16:59:03 it exposes the CPHS service table anyway Nov 08 16:59:17 not the EFsst/EFust thing, it seems Nov 08 16:59:54 Yeah, so lets add those Nov 08 16:59:59 ok Nov 08 17:00:15 Or do a direct lookup if the service numbers are the same between 2G & 3G Nov 08 17:00:37 But doesn't look like they are Nov 08 17:00:53 yes, looks like they are different Nov 08 17:01:46 to save calls maybe the api should be is_capability_active(sim, ust_constant, est_constant, sst_constant) Nov 08 17:02:38 I think you can skip the est constant Nov 08 17:02:50 That's only needed for BDN/FDN Nov 08 17:03:07 ah right Nov 08 17:15:29 balrog-k1n: "If there are only watches with non-NULL Nov 08 17:15:29 callback, it'll call all of them and not reset application." Nov 08 17:15:48 what's the purpose of this one? Nov 08 17:18:01 denkenz: it first tries to see if we have change handlers for all the files that changed Nov 08 17:18:28 if there is any that is not handled, we recreate all the atoms and this way take the change into account Nov 08 17:19:06 hmm, can't we assume that if it isn't handled, then ignore it? (flushing the cache anyway) Nov 08 17:19:27 like if EFest had changed for example, we probably have no way to handle that other than recreate atoms Nov 08 17:19:45 denkenz: if a file can be ignored than we can just not watch it at all Nov 08 17:21:09 Hmm, so EFest is a bizarre case Nov 08 17:21:44 or if the card suddenly says that EFphase changed Nov 08 17:22:23 I'm pretty sure that most of these would be done as a UICC reset, not just a file change notification Nov 08 17:24:06 But yes, the SIM can change the EFbdn / EFfdn status based on a STK refresh Nov 08 17:25:14 However, we can't assume that we have control of the terminal response, e.g. the "not reset application" part Nov 08 17:25:35 We might just get a SATN and that's it Nov 08 17:30:58 denkenz: if we "reset application" we're always safe because everything gets reinitialised Nov 08 17:31:20 yeah, I know, reset is basically sim remove, sim insert Nov 08 17:31:27 i gotta go, let's talk about it later Nov 08 17:32:02 sure, you know where to find me ;) Nov 08 17:35:39 balrog-k1n: Actually I think I just got what you're trying to accomplish, and I think your approach is the right one, but lets talk about it a bit more Nov 08 17:47:25 denkenz: In which situations we will want a silent modem reset? Nov 08 17:47:44 padovan: Basically if the modem firmware shits itself Nov 08 17:48:07 The user should not be presented with a PIN basically Nov 08 17:48:54 The oFono task is pretty straight forward, just need to re-init the atoms Nov 08 17:49:37 Do we monitor firmware behaviour already? to know when call the reset? Nov 08 17:50:44 i.e., how does oFono trigger the reset? Nov 08 17:51:00 padovan: The modem will have an unsolicited notification of some sort Nov 08 17:51:08 either through an AT command, or GPIO or something Nov 08 17:51:26 so the driver just needs to inform the core of this Nov 08 17:52:17 Basically the core needs to reset its state and try to get back to the original state Nov 08 17:52:33 so if e.g. the modem was online, then after the 'silent reset' we need to try to get back to the online state Nov 08 17:54:42 the driver notification to the core is not done yet, right? Nov 08 17:56:35 Nope Nov 08 17:56:50 That's where the magic has to happen basically Nov 08 17:58:48 denkenz: going to dublin for conf? Nov 08 17:58:59 mikeleib: yep Nov 08 17:59:21 awesome Nov 08 17:59:29 denkenz: want to talk to peeps about ofono-qt bindings? Nov 08 17:59:53 sure Nov 08 17:59:57 sooper Nov 08 18:00:07 * mikeleib forwards thread to denkenz Nov 08 18:44:30 denkenz: state 4 is "incoming"? Nov 08 18:47:08 hmph. Nov 08 19:06:33 pessi: I didn't look into the patch, just making sure the terminology was consistent Nov 08 19:07:57 denkenz: I'll do s/alerting/incoming/ Nov 08 19:09:22 hmhmh... if driver returns CME error 14 to cpin? is it up to driver or core to retry? Nov 08 19:12:23 error 14 is sim not ready? Nov 08 19:14:02 sim busy Nov 08 19:14:26 zte returns it initially but retry works Nov 08 19:14:45 Right now my feeling is that it should be the driver Nov 08 19:14:58 On most 'sane' hardware the insertion notification tells us when the sim is ready Nov 08 19:15:07 so CPIN? returning CME errors should not happen Nov 08 19:15:29 If this becomes a burden, then we can consider moving it into the core Nov 08 19:15:33 most hardware is insane Nov 08 19:16:38 I know, but the hacks are also all different Nov 08 19:23:45 denkenz: I still don't have enough info about the reset trigger. Who in the driver will list such unsolicited notification? How to if that is really unsolicited? Nov 08 19:24:03 I'm completely lost on that. Nov 08 19:24:51 padovan: I have to go back to the docs to figure out how this works, but for now just assume the driver "knows" Nov 08 19:25:04 padovan: It doesn't really matter how Nov 08 19:25:27 I think it is a GPIO line trigger Nov 08 19:26:40 denkenz: ok, so you prefer to have the reset stuff in the core first than in the drivers? Nov 08 19:26:54 yeah, the core is the interesting part Nov 08 19:27:04 For the driver, feel free to invent something Nov 08 19:27:06 e.g. with phonesim Nov 08 19:27:43 just add a button which sends some message and resets everything Nov 08 19:28:47 Ok. Nov 08 19:50:46 Getting crowded in here Nov 08 19:52:53 denkenz: about the tty support, how is the interaction between the dbus interface and the modem? Nov 08 19:53:19 denkenz: i mean, how to talk to modem to enable/disable the tty? Nov 08 19:55:26 demarchi: Same was as any other atom talking to the driver Nov 08 19:56:07 demarchi: A good example would be set_online on the modem driver, or set_fast_dormancy on the radio settings driver Nov 08 19:57:20 For that one radio_settings atom is a good starting point btw Nov 08 19:57:47 We essentially just want an atom with query & set tty methods Nov 08 19:58:01 denkenz: humn.. thanks, i'm starting to look at it Nov 08 20:02:11 denkenz: during reset, all atom need to be removed. Is that a complete remove of the atom like the modem remove we have today? Nov 08 20:02:38 and then we have to probe everything again? Nov 08 20:03:11 padovan: I think so, we need to assume that we have to re-power up the modem and re-online it Nov 08 20:03:26 assuming that was the old state Nov 08 20:04:08 The atom probing is not a big deal actually, atoms will get re-added by the virtual of set_powered and set_online Nov 08 20:04:23 s/virtual/virtue Nov 08 20:05:36 maybe later on we can play tricks with optimizations, but for now it seems the safest approach Nov 08 20:42:41 denkenz: ok, should not be hard, I'll start with reset button in phonesim. Trigger it in the phonesim plugin and the reset everything in the core. **** ENDING LOGGING AT Tue Nov 09 02:59:57 2010