**** BEGIN LOGGING AT Thu Oct 15 02:59:56 2009 Oct 15 15:42:24 i'm assuming that the calypso code in plugins/phonesim.c is for the openmoko version of phonesim? it's got the more permissive parser, properly powering up the modem, and disabling echo Oct 15 16:27:31 argh Oct 15 16:27:39 so openmoko phonesim doesn't support SMS Oct 15 16:27:48 great Oct 15 16:30:22 dilinger: It is for Openmoko using ser2net. And SMS and phonebook, I never bothered to add it. Oct 15 16:31:42 holtmann: do you have an ETA on the phonesim release, or should we attempt to make phonesim SMS work w/ 'moko's phonesim Oct 15 16:31:45 ? Oct 15 16:32:41 If you wanna make Openmoko using ser2net work with phonesim driver, be my guest. I couldn't be bothered since I was working on the muxer pieces and the modem functionality. Oct 15 16:32:53 i don't _want_ to Oct 15 16:33:08 but we desperately need something that works and doesn't require special hardware Oct 15 16:33:47 phonesim is ready to go, but I am not getting to the final pieces until next week. Too much travel to do. So earliest Wednesday next if my jetlag is not killing me. Which almost always happens when flying to Japan. Oct 15 16:34:52 oh, kernel summit? Oct 15 16:36:08 Only Linux Symposium Japan. Missing the kernel by one day. Happens. Oct 15 16:40:39 i completely spaced and missed the entire kernel summit discussion this year Oct 15 17:41:35 * courmisch back from server crash Oct 15 18:20:42 holtmann: Will the HFP support into ofono be only the audio gateway side? Oct 15 19:31:29 padovan: We will see. Not sure yet. Oct 15 19:44:49 holtmann: Right. So, In your opinion what's the best solution to do the hands free side? We are looking to that here. Oct 15 19:47:23 padovan: We will see what works out best. Current idea is to try oFono as general handsfree device. Oct 15 19:51:51 holtmann: Would it be another driver? Using BlueZ API? Oct 15 19:59:02 I don't really see the point of doing the other side Oct 15 19:59:20 or rather Oct 15 19:59:30 the other side sounds more like a plugin than a driver to me Oct 15 20:04:04 courmisch: where do you think it should be done, if not on ofono? a separated lib? Oct 15 20:07:10 I just don't see it being a driver Oct 15 20:07:53 if you want to make a HFP-capable cellular device with ofono... Oct 15 20:08:06 ...you'll need a driver for whatever the cellular modem is Oct 15 20:08:25 not for the BT audio gateway Oct 15 20:13:34 yes, but I'm talking about the hands free side, not the audio gateway. Oct 15 20:25:08 where is balrog? :) Oct 15 20:25:46 padovan: FYI, we're doing handsfree client in oFono, not the AG role Oct 15 20:26:00 padovan: AG role ofono plugin is already in BlueZ Oct 15 20:30:18 dilinger: You can safely add phonebook and sms drivers to calypso phonesim magic Oct 15 20:31:01 But you need to make sure that GTA0X is CFUN=1 first and wait ~10 secs Oct 15 20:35:45 denkenz: humm, right. Oct 15 20:36:36 padovan: The initial patch is on the ML already I think Oct 15 20:36:49 padovan: Feel free to help review it :) Oct 15 20:37:19 denkenz: yes, I'll do that. Oct 15 21:33:07 denkenz: hm, so going back to our conversation from a week ago regarding a timeout for powering up the modem.. Oct 15 21:33:49 denkenz: so we send Powered=true and wait 30s for a PropertyChanged SubscriberNumbers=[...] signal Oct 15 21:34:00 that's.. less than ideal Oct 15 21:34:36 if there are no subscriber numbers, we don't want to wait the entire 30s Oct 15 21:35:03 also, if it's particularly slow hardware, 30s might not be long enough Oct 15 21:35:56 denkenz: what was your suggestion for working around this? Oct 15 21:36:28 i thought it was listening for the PropertyChanged Powered=true signal, but that happens well before the SimManager stuff is initialized Oct 15 21:36:34 at least, that's what dbus-monitor is seeing Oct 15 21:37:25 i could listen for PropertyChanged Interfaces=[..., "org.ofono.SimManager"], as long as there's always going to be a SimManager interface Oct 15 21:37:37 but if there's any kind of error, that's not guaranteed Oct 15 21:37:40 aw, he ran away :) Oct 15 22:13:56 dilinger: I already told you Oct 15 22:14:06 dilinger: Listen for Interfaces property on Modem interface Oct 15 22:14:19 dilinger: That will tell you when a SimManager arrives Oct 15 22:14:31 dilinger: Some modems (e.g. HFP) might not even have a SIM Manager Oct 15 22:14:46 denkenz: that doesn't work; SimManager appears well before SubscriberNumbers Oct 15 22:15:12 Yes, but there is no guarantee SubscriberNumbers will be there Oct 15 22:15:16 That is an optional field on the SIM Oct 15 22:15:40 Note that CDMA modems don't even have a SIM Oct 15 22:15:43 i realize that, but optional or not; i want to know whether or not it's been scanned for Oct 15 22:15:51 that's fine Oct 15 22:16:21 Why do you need that? Oct 15 22:17:43 i want to know the phone number Oct 15 22:18:06 But that's the point, you're not guaranteed Oct 15 22:18:08 i also want to know if ofono *doesn't* know the phone number Oct 15 22:18:29 No, there are too many details there Oct 15 22:18:33 if it knows it, i want the number. if it doesn't know it, i want to know that it doesn't (as soon as it's check for the number) Oct 15 22:18:45 E.g. whether the field does not exist, is there but empty, is there but invalid Oct 15 22:19:16 there are two details i want Oct 15 22:19:28 You're trying to rely on something that isn't meant to be used this way Oct 15 22:19:30 1) is the phone finished scanning for capabilities/interfaces/etc Oct 15 22:19:34 2) is there a phone number? Oct 15 22:19:46 pinning down #1 is the part i'm having trouble w/ Oct 15 22:19:52 forget about the phone number for the moment Oct 15 22:20:02 how do i know that ofono is done scanning for everything? Oct 15 22:20:09 http://pastebin.com/m6af9d772 Oct 15 22:20:26 note that the SimManager interface appears well before SubscriberNumbers is ever set Oct 15 22:20:48 Yeah, that's fine Oct 15 22:20:58 Properties can be changed at any time Oct 15 22:21:26 Remember, subscriber number can be changed by the app too Oct 15 22:21:26 as an ofono client, i'm assuming that there's no ordering guarantees wrt the appearance of interfaces; likewise, an interface might not even appear for a certain driver Oct 15 22:21:26 I suspect your design is simply broken :) Oct 15 22:21:30 so keeping an eye on the interfaces isn't an option Oct 15 22:21:34 the design is basic Oct 15 22:21:45 i want a signal that says "done probing" Oct 15 22:21:59 Which we can't give you, since every interface does things its own way Oct 15 22:22:15 Even more, the modem driver can take away interfaces too Oct 15 22:22:24 So there is no 'initialized' state that you want Oct 15 22:22:49 then can we have a specific interface only added to the interfaces array after it has finished poking at the hardware? Oct 15 22:23:18 again, oFono doesn't even know ;) Oct 15 22:23:24 That's simply not how it works Oct 15 22:24:24 But as I said, using SubscriberNumbers for anything other than display/set is a bad idea Oct 15 22:24:50 The SIM area can be overwritten, and can even be changed while the SIM is removed and inserted into another phone Oct 15 22:24:57 The only thing you can rely on not to change is the IMSI and the ICCID Oct 15 22:25:50 that's perfectly okay Oct 15 22:26:06 if it changes, so long as it raises a signal Oct 15 22:28:35 Again, you're not guaranteed to get an interface on a given modem, the interface might go away, so the only way to know reliably is to look for Interfaces property on Modem interface Oct 15 22:29:10 Within an interface it might already work the way you want, e.g. SubscriberNumbers will get emitted with an empty set Oct 15 22:32:38 This is not something I would rely on though :) Oct 15 22:39:57 sigh Oct 15 22:40:36 You have to convince me there's an actual use case there Oct 15 22:41:45 any kind of ofono gui or client is going to want to know when it's safe to provide the user w/ any kind of interface after having powered up the modem Oct 15 22:42:18 And they can, by use of Interfaces property Oct 15 22:42:18 modem powers up; client waits for the internal machinations to happen (waiting in a CONNECTING state) Oct 15 22:43:10 That is actually wrong, the UI should be available once the interface is Oct 15 22:43:13 at the point at which it's done probing, the client can then look at what interfaces exist, and decide if the power up was "successful" (for some value of success hinging upon necessary interfaces existing and/or properties) Oct 15 22:43:16 If anything important happens, oFono will tell you Oct 15 22:44:01 No, the logic is not in the UI, the logic is in the daemon Oct 15 22:44:04 so what happens if the client issues a power up, and then immediately tries to send an SMS (because it's queued, or because the user has clicked a button to send an SMS)? Oct 15 22:44:21 if the SmsManager interface doesn't exist at that point, we fail Oct 15 22:44:40 Sure, but you know immediately anyway Oct 15 22:45:01 And its your own damn fault for letting the SMS app startup with no interface to use :) Oct 15 22:45:06 yes, but we don't know what to do at that point Oct 15 22:45:19 will SmsManager be available 3 seconds from now? Oct 15 22:45:26 will it never be available? Oct 15 22:45:41 if the modem is still powering up, it's fine to just wait a few seconds and then retry Oct 15 22:46:10 For a desktop UI, simply gray out options that are not available Oct 15 22:46:20 if we don't know the state of the modem/ofono, we don't know what to do. does the client need to implement a queue for *all* potential commands and delay things for interfaces that aren't there? Oct 15 22:46:21 For a Mobile UI, there are many assumptions you can make Oct 15 22:47:03 It is fine to simply tell the user functionality is not available Oct 15 22:47:20 and if it's not a UI? Oct 15 22:47:31 oFono does not know if/when the driver will be loaded Oct 15 22:47:46 Case in point, look at the calypso phonebook/sms drivers Oct 15 22:48:00 There's simply nothing the core can tell you Oct 15 22:49:00 http://logs.nslu2-linux.org/livelogs/ofono.txt Oct 15 22:49:03 oops Oct 15 23:02:49 denkenz: do you mind if I reply out of thread for the hfp patch? I wasn't in the list and I don't the message-id. Oct 15 23:15:15 denkenz: what makes the most sense to me would be to have each interface set an Initialized=True property once they're done scanning; we don't necessarily want clients waiting around indefinitely if there's no sim Oct 15 23:15:48 denkenz: would you be amenable to a patch that added that sort of thing? Oct 15 23:20:12 what actually happens if a sim is removed/inserted while ofono is running? Oct 15 23:20:34 does ofono rescan for info? Oct 16 02:23:02 padovan: That's fine Oct 16 02:23:42 dilinger: I'm against initialized, it adds too much unnecessary complexity Oct 16 02:24:36 dilinger: We haven't done SIM removal yet, but most likely it will result in every 'post-sim' atom being removed Oct 16 02:24:52 dilinger: And SimManager atom being completely reinitialized Oct 16 02:25:27 dilinger: And strictly speaking oFono can rescan for info, since we have OTA upgrades to the SIM **** ENDING LOGGING AT Fri Oct 16 02:59:57 2009