Re: SAT support in oFono

2011-01-24 Thread Aki Niemi
Hi Lasse,

2011/1/24 Lasse Kunnasluoto lasse.kunnaslu...@tieto.com:
 Let us set aside the the merits of the use cases for these features for
 the moment ;)  Implementing Call control by USIM is fairly
 straightforward to do in the core.  However, no modem manufacturer
 currently allows us to have full control over this feature.  It is
 implemented in the firmware and every vendor does this differently.  So
 for now support of this feature is in the realm of the modem driver.

 okay, so assuming this is how it is going stay. Even modem handles
 these, ofono should deliver possible AlphaId SIM may give in a response
 to call control envelope. I did not see if this is implemented. Or is it
 dropped since it is not tested in GCF..

I think enabling these types of modems would require the stk driver
API be able to give a bit of context to a proactive command. For
example, indicating that a send SMS proactive command is for
information purposes only, and that the SMS has been sent by the
modem.

Also some sort of feature negotiation between core and the stk drivers
might be needed for instance for indicating whether the modem takes
care of call control or not.

The ISI modems are another variation on this topic, as there you need
to use a specific request type to create calls with SIM toolkit turned
off (= no call control). With the default request type and
implementation, the call service would actually send the call control
requests back towards the stk driver. This would likely cause the
voicecall driver to be different, say, between the isiusb and n900
plugins.

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 1/6] gprs-provision: add driver API header

2011-01-24 Thread Aki Niemi
Hi Jukka,

2011/1/24 Jukka Saunamaki jukka.saunam...@nokia.com:
 Then how about something like this: Lets make provisioning API
 synchronous (so that plugins do not need to care about SIM or other
 safety).
 In stead, if in gprs atom ofono_gprs_register() we notice the need for
 provisioning,  ofono_sim_read(SPN) is called there. All issues would be
 localised there. Provisioning modules would be called with MCC,MNC,SPN
 as parameters.

I think this is a better approach. It would reduce the role of the
provisioning plugins to database abstraction only, which is
essentially what they are.

I think the provisioning atom/plugins also should not be modem
specific, but just created once for all modems to use.

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 1/6] gprs-provision: add driver API header

2011-01-24 Thread Aki Niemi
Hi Denis,

2011/1/21 Denis Kenzior denk...@gmail.com:
 How exactly are you guaranteeing that 'nothing bad should happen'?
 There is no cancellation mechanism that I see.  Not to mention that the
 current ofono_sim_read API is not even safe either.  For exactly the
 same reasons.

This is a problem with all users of ofono_sim_read() at the moment. I
suppose if the atoms get removed at different times, it may happen
that after the gprs atom is gone, the SIM atom is still calling its
read callback.

Seems like we need some sort of cancellation API to ofono_sim_read(),
or use Jukka's approach of a request object, perhaps with a
GDestroyNotify parameter, or simply change the way atoms are created
and removed so that this could be handled inside the SIM atom.

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: SAT support in oFono

2011-01-24 Thread Marcel Holtmann
Hi Lasse,

   I am checking what is the level of SAT/STK support in ofono and have a 
   couple of questions. The current implementation contains support for 
   basic STK commands, like menus, inputs, calls, sms and so on. In TODO, 
   there is only REFRESH command on the list.
   
   Is there plans or ideas to extend the support in oFono Core with more 
   complex STK features like (3GPP TS 31.111):
   - Call control by USIM
   - MO SMS Control by USIM
  
  Let us set aside the the merits of the use cases for these features for
  the moment ;)  Implementing Call control by USIM is fairly
  straightforward to do in the core.  However, no modem manufacturer
  currently allows us to have full control over this feature.  It is
  implemented in the firmware and every vendor does this differently.  So
  for now support of this feature is in the realm of the modem driver.
  
 okay, so assuming this is how it is going stay. Even modem handles
 these, ofono should deliver possible AlphaId SIM may give in a response
 to call control envelope. I did not see if this is implemented. Or is it
 dropped since it is not tested in GCF..

show us modem hardware where this is needed. At some point we just had
to be realistic here in what can be tested with real hardware. And thus
is really required to be supported and what makes sense in a smartphone
environment.

   - BIP (Bearer independent protocol), including commands like OPEN 
   CHANNEL, CLOSE CHANNEL, SEND/RECEIVE DATA
 BIP is on many operators' wish list of supported SAT features. Even it
 is optional in 3GPP, some market areas will probably require BIP. I
 don't have an example to give right now.

I think the important phrase is wish list. So far nobody could really
showed me the exact use case for BIP. I am actually really interested in
understanding what the operators wanna use it for. I prefer to have hard
facts here and not just wish list and probably. If this is not a
requirement for certification and the operator is not actually using
such a feature at all, then why bother. Feel free to convince me
otherwise here.

While we can certainly look into supporting BIP at some point, but from
where I am standing it is pretty clear; first get all mandatory STK
features sorted out, before trying to work on optional ones.

   - Extend support in PROVIDE LOCAL INFO
  
  What support are you looking for?  Most of the information that is asked
  by provide local info is implemented in the modem firmware.  We have
  only included support for items which are not covered by the firmware.
  
 If aiming GCF approval support should contain: IMEI, location info,
 network measurementsBCCH channel list, timing advance, access
 technology, IMEISV, Inter-frequency UTRAN measurements. As you said
 these are often handled by modem, but isn't possible that modem can be
 configured in a way it leaves the full control of SAT to the host?
 Although certain AT command based modems would require proprietary
 commands to fetch all the needed information. So in that sense it is
 more logical for modem to handle these commands what requires low level
 interfaces.

What we have seen so far is that all of these are handled by the modem.
If the modem has all information available, then why bother waking up
the host CPU for this. It does make a lot of sense to keep the host CPU
asleep if possible. I am pretty pragmatic here; if we have to support a
modem that does not handle these, then we have to do it.

So if you have more information about other modem types, please let us
know. And patches are always welcome.

   - EVENT DOWNLOAD / SET UP EVENT LIST
   
  
  Again, which ones are you looking for?  oFono explicitly ignores the
  following two events as these make no sense in the smartphone context:
  
  - Idle Screen Available
  - User Activity
  
 It looks like  Idle Screen Available and User Activity  User Activity
 are mandatory features in 3GPP TS 31.124, chapter 3.4 Applicability
 table. Rest of the sub-features are listed there. 

Don't they depend on the STK profile that you are using?

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: SAT support in oFono

2011-01-24 Thread Marcel Holtmann
Hi Aki,

  Let us set aside the the merits of the use cases for these features for
  the moment ;)  Implementing Call control by USIM is fairly
  straightforward to do in the core.  However, no modem manufacturer
  currently allows us to have full control over this feature.  It is
  implemented in the firmware and every vendor does this differently.  So
  for now support of this feature is in the realm of the modem driver.
 
  okay, so assuming this is how it is going stay. Even modem handles
  these, ofono should deliver possible AlphaId SIM may give in a response
  to call control envelope. I did not see if this is implemented. Or is it
  dropped since it is not tested in GCF..
 
 I think enabling these types of modems would require the stk driver
 API be able to give a bit of context to a proactive command. For
 example, indicating that a send SMS proactive command is for
 information purposes only, and that the SMS has been sent by the
 modem.

we have this kind of information coming from most modems. Question is
just what to do with it. If the modem already send the SMS for example,
then why bother the host CPU with that kind of information.

You can check ofono_stk_proactive_command_handled_notify() for example
which does this right now.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: ppp problem

2011-01-24 Thread Marcel Holtmann
Hi,

 I have got a problem about 3G connectrion from ofono, does anyone have
 idea to resolve it? 
 The  modem is huawei EM560. 
 
 Here is the log:
 
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 Path
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 Registered
 ofonod[940]:
 plugins/udev.c:add_modem() 
 /devices/pci:00/:00:00.7/usb1/1-1/1-1.2/1-1.2:2.1/tty/ttyACM0 (huawei)
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 ModemRegistered
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 PcuiRegistered
 ofonod[940]: plugins/udev.c:add_huawei() add_huaweiingg by hyq
 ofonod[940]: plugins/udev.c:add_huawei() name =OFONO_HUAWEI_TYPE by
 hyq
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 Modem
 ofonod[940]: src/modem.c:set_modem_property() m odem 0x8d49058
 property ModemRegistered
 ofonod[940]: plugins/udev.c:add_huawei() after ofono_modem_register by
 hyq ppp=1 pcui=0
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 Path
 ofonod[940]:
 plugins/udev.c:add_modem() 
 /devices/pci:00/:00:00.7/usb1/1-1/1-1.2/1-1.2:2.3/tty/ttyACM1 (huawei)
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 ModemRegistered
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 PcuiRegistered
 ofonod[940]: plugins/udev.c:add_huawei() add_huaweiingg by hyq
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 HasVoice
 ofonod[940]: plugins/udev.c:add_huawei() after ofono_modem_register by
 hyq ppp=1 pcui=0
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 Path
 ofonod[940]:
 plugins/udev.c:add_modem() 
 /devices/pci:00/:00:00.7/usb1/1-1/1-1.2/1-1.2:2.7/tty/ttyACM2 (huawei)
 ofonod[940]: src/modem.c:g et_modem_property() modem 0x8d49058
 property ModemRegistered
 ofonod[940]: src/modem.c:get_modem_property() modem 0x8d49058 property
 PcuiRegistered
 ofonod[940]: plugins/udev.c:add_huawei() name =OFONO_HUAWEI_TYPE by
 hyq
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 Pcui
 ofonod[940]: src/modem.c:set_modem_property() modem 0x8d49058 property
 PcuiRegistered
 
 [root@localhost test]# ./activate-context 
 Entering new phase: 1
 Entering new phase: 3
 Entering new phase: 4
 ofonod[815]: drivers/atmodem/gprs-context.c:ppp_connect() 
 ofonod[815]: IP: 0.0.0.0
 ofonod[815]: DNS: 0.0.0.0, 0.0.0.0
 ofonod[815]: src/gprs.c:pri_activate_callback() 0xa063660 ppp0

no idea what goes wrong here, but the network or your modem firmware
basically tells you that the IP address is not set.

Run with OFONO_PPP_DEBUG=1 and see if it gives you more details.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH 1/2] Expose voice call direction synchronously (fix MeeGo #12717)

2011-01-24 Thread Rémi Denis-Courmont
Currently, the call direction can only be inferred from the signals.
This adds a property to keep it visible also from GetCalls().
---
 src/voicecall.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/voicecall.c b/src/voicecall.c
index 7e2b3f0..d454d9d 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -352,7 +352,7 @@ static void append_voicecall_properties(struct voicecall *v,
const char *callerid;
const char *timestr;
const char *name;
-   ofono_bool_t mpty;
+   ofono_bool_t mpty, originated;
dbus_bool_t emergency_call;
 
status = call_status_to_string(call-status);
@@ -391,6 +391,10 @@ static void append_voicecall_properties(struct voicecall 
*v,
timestr);
}
 
+   originated = call-direction == CALL_DIRECTION_MOBILE_ORIGINATED;
+   ofono_dbus_dict_append(dict, Originated, DBUS_TYPE_BOOLEAN,
+   originated);
+
if (g_slist_find_custom(v-vc-multiparty_list,
GINT_TO_POINTER(call-id), call_compare_by_id))
mpty = TRUE;
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH 2/2] Document voicecall direction

2011-01-24 Thread Rémi Denis-Courmont
---
 doc/voicecall-api.txt |5 +
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/doc/voicecall-api.txt b/doc/voicecall-api.txt
index 047b8cb..2feb215 100644
--- a/doc/voicecall-api.txt
+++ b/doc/voicecall-api.txt
@@ -102,6 +102,11 @@ Properties string LineIdentification [readonly]
Contains the Name Identification information returned
by the network, if present.
 
+   boolean Originated [readonly]
+
+   Indicates whether the call was mobile-originated
+   (true) or mobile-terminated (false).
+
boolean Multiparty [readonly]
 
Contains the indication if the voice call is part
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: SAT support in oFono

2011-01-24 Thread Jukka Saunamaki
Hello

- BIP (Bearer independent protocol), including commands like OPEN 
CHANNEL, CLOSE CHANNEL, SEND/RECEIVE DATA
  BIP is on many operators' wish list of supported SAT features. Even it
  is optional in 3GPP, some market areas will probably require BIP. I
  don't have an example to give right now.
 
 I think the important phrase is wish list. So far nobody could really
 showed me the exact use case for BIP. I am actually really interested in
 understanding what the operators wanna use it for. I prefer to have hard
 facts here and not just wish list and probably. If this is not a
 requirement for certification and the operator is not actually using
 such a feature at all, then why bother. Feel free to convince me
 otherwise here.

Sorry, still quite anecdotal, but I heard about a case related to RFC
payment system, where operator wants to use BIP for loading payment
application into SIM (I guess SMS-PP-data-download was not good enough
for that). Also, at least some NFC plans use Smart Card Web Server
(SCWS), that needs at least part of BIP.

--Jukka


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH 1/3] Use pkglibdir where applicable

2011-01-24 Thread Rémi Denis-Courmont
---
 Makefile.am |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 9933e32..f941a19 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -366,7 +366,7 @@ BUILT_SOURCES = $(local_headers)
 
 CLEANFILES = src/builtin.h $(BUILT_SOURCES) $(rules_DATA)
 
-plugindir = $(libdir)/ofono/plugins
+plugindir = $(pkglibdir)/plugins
 
 if MAINTAINER_MODE
 build_plugindir = $(abs_top_srcdir)/plugins/.libs
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH 2/3] Use dist_ prefix as applicable

2011-01-24 Thread Rémi Denis-Courmont
---
 Makefile.am |   12 +---
 1 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index f941a19..1f09c11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,17 +25,17 @@ local_headers = $(foreach file,$(pkginclude_HEADERS) \
 if DATAFILES
 dbusconfdir = @DBUS_CONFDIR@
 
-dbusconf_DATA = src/ofono.conf
+dist_dbusconf_DATA = src/ofono.conf
 
 if SYSTEMD
 systemdunitdir = @SYSTEMD_UNITDIR@
 
-systemdunit_DATA = src/ofono.service
+dist_systemdunit_DATA = src/ofono.service
 endif
 
 confdir = $(sysconfdir)/ofono
 
-conf_DATA =
+dist_conf_DATA =
 
 statedir = $(localstatedir)/lib/ofono
 
@@ -244,7 +244,7 @@ builtin_modules += phonesim
 builtin_sources += plugins/phonesim.c
 
 if DATAFILES
-conf_DATA += plugins/phonesim.conf
+dist_conf_DATA += plugins/phonesim.conf
 endif
 endif
 
@@ -477,9 +477,7 @@ testdir = $(pkglibdir)/test
 test_SCRIPTS = $(test_scripts)
 endif
 
-conf_files = src/ofono.conf plugins/phonesim.conf
-
-EXTRA_DIST = src/genbuiltin $(conf_files) $(udev_files) \
+EXTRA_DIST = src/genbuiltin $(udev_files) \
$(doc_files) $(test_scripts)
 
 dist_man_MANS = doc/ofonod.8
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH 3/3] Support for pkg-config

2011-01-24 Thread Rémi Denis-Courmont
---
 .gitignore  |1 +
 Makefile.am |   10 --
 ofono.pc.in |   10 ++
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 ofono.pc.in

diff --git a/.gitignore b/.gitignore
index 7cfb1d9..59308be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@ install-sh
 libtool
 ltmain.sh
 missing
+ofono.pc
 stamp-h1
 autom4te.cache
 
diff --git a/Makefile.am b/Makefile.am
index 1f09c11..e8570f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,6 +21,9 @@ local_headers = $(foreach file,$(pkginclude_HEADERS) \
$(nodist_pkginclude_HEADERS), \
include/ofono/$(notdir $(file)))
 
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = ofono.pc
+
 
 if DATAFILES
 dbusconfdir = @DBUS_CONFDIR@
@@ -364,7 +367,7 @@ src_ofonod_LDFLAGS = -Wl,--export-dynamic \
 
 BUILT_SOURCES = $(local_headers)
 
-CLEANFILES = src/builtin.h $(BUILT_SOURCES) $(rules_DATA)
+CLEANFILES = src/builtin.h ofono.pc $(BUILT_SOURCES) $(rules_DATA)
 
 plugindir = $(pkglibdir)/plugins
 
@@ -477,7 +480,7 @@ testdir = $(pkglibdir)/test
 test_SCRIPTS = $(test_scripts)
 endif
 
-EXTRA_DIST = src/genbuiltin $(udev_files) \
+EXTRA_DIST = src/genbuiltin ofono.pc.in $(udev_files) \
$(doc_files) $(test_scripts)
 
 dist_man_MANS = doc/ofonod.8
@@ -572,5 +575,8 @@ include/ofono/%.h: include/%.h
$(AM_V_at)$(MKDIR_P) include/ofono
$(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$ $@
 
+%.pc: %.pc.in $(builddir)/config.status
+   $(AM_V_GEN)$(SHELL) ./config.status --file=$@ /dev/null
+
 clean-local:
@$(RM) -rf include/ofono
diff --git a/ofono.pc.in b/ofono.pc.in
new file mode 100644
index 000..19f12e6
--- /dev/null
+++ b/ofono.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+plugindir=${libdir}/@PACKAGE@/plugins
+includedir=@includedir@
+
+Name: oFono
+Description: oFono - Open Source Telephony
+Version: @VERSION@
+Cflags: -I${includedir}
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


SMS agent interface

2011-01-24 Thread oleg.zhurakivskyy

Hello,

If you aren't too busy, could you please check and comment on SMS agent 
interface? (the patches were sent on December 29th, maybe they were just missed 
somehow). Thanks!

Regards,
Oleg
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 1/3] Use pkglibdir where applicable

2011-01-24 Thread Marcel Holtmann
Hi Remi,

  Makefile.am |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

patch has been applied. Thanks.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: SAT support in oFono

2011-01-24 Thread Lasse Kunnasluoto
Hi Marcel,

On Mon, 2011-01-24 at 12:49 +0200, Marcel Holtmann wrote:
 Hi Lasse,
 
I am checking what is the level of SAT/STK support in ofono and have a 
couple of questions. The current implementation contains support for 
basic STK commands, like menus, inputs, calls, sms and so on. In TODO, 
there is only REFRESH command on the list.

Is there plans or ideas to extend the support in oFono Core with more 
complex STK features like (3GPP TS 31.111):
- Call control by USIM
- MO SMS Control by USIM
   
   Let us set aside the the merits of the use cases for these features for
   the moment ;)  Implementing Call control by USIM is fairly
   straightforward to do in the core.  However, no modem manufacturer
   currently allows us to have full control over this feature.  It is
   implemented in the firmware and every vendor does this differently.  So
   for now support of this feature is in the realm of the modem driver.
   
  okay, so assuming this is how it is going stay. Even modem handles
  these, ofono should deliver possible AlphaId SIM may give in a response
  to call control envelope. I did not see if this is implemented. Or is it
  dropped since it is not tested in GCF..
 
 show us modem hardware where this is needed. At some point we just had
 to be realistic here in what can be tested with real hardware. And thus
 is really required to be supported and what makes sense in a smartphone
 environment.
 
Understand. Sorry, cannot give an example of such HW. But if we would
follow the 31.111 literally the alpha id should be displayed to user. 

- BIP (Bearer independent protocol), including commands like OPEN 
CHANNEL, CLOSE CHANNEL, SEND/RECEIVE DATA
  BIP is on many operators' wish list of supported SAT features. Even it
  is optional in 3GPP, some market areas will probably require BIP. I
  don't have an example to give right now.
 
 I think the important phrase is wish list. So far nobody could really
 showed me the exact use case for BIP. I am actually really interested in
 understanding what the operators wanna use it for. I prefer to have hard
 facts here and not just wish list and probably. If this is not a
 requirement for certification and the operator is not actually using
 such a feature at all, then why bother. Feel free to convince me
 otherwise here.
Main use case is that operator can update the SAT applet on the SIM
remotely. Operators cannot really advertise or productize usage of BIP
before enough terminals support it. SCWS introduces new ways of using
SAT, you could build better UIs using a web browser to access SIM
applets. This is the use case Jukka Saunamaki mentioned.

 
 While we can certainly look into supporting BIP at some point, but from
 where I am standing it is pretty clear; first get all mandatory STK
 features sorted out, before trying to work on optional ones.
 
What is the 3GPP release you are aiming in STK support? Release 99, 4, 5
6,7? As it defines what is mandatory to support and to be tested in GCF.

- Extend support in PROVIDE LOCAL INFO
   
   What support are you looking for?  Most of the information that is asked
   by provide local info is implemented in the modem firmware.  We have
   only included support for items which are not covered by the firmware.
   
  If aiming GCF approval support should contain: IMEI, location info,
  network measurementsBCCH channel list, timing advance, access
  technology, IMEISV, Inter-frequency UTRAN measurements. As you said
  these are often handled by modem, but isn't possible that modem can be
  configured in a way it leaves the full control of SAT to the host?
  Although certain AT command based modems would require proprietary
  commands to fetch all the needed information. So in that sense it is
  more logical for modem to handle these commands what requires low level
  interfaces.
 
 What we have seen so far is that all of these are handled by the modem.
 If the modem has all information available, then why bother waking up
 the host CPU for this. It does make a lot of sense to keep the host CPU
 asleep if possible. I am pretty pragmatic here; if we have to support a
 modem that does not handle these, then we have to do it.
 
 So if you have more information about other modem types, please let us
 know. And patches are always welcome.
 
- EVENT DOWNLOAD / SET UP EVENT LIST

   
   Again, which ones are you looking for?  oFono explicitly ignores the
   following two events as these make no sense in the smartphone context:
   
   - Idle Screen Available
   - User Activity
   
  It looks like  Idle Screen Available and User Activity  User Activity
  are mandatory features in 3GPP TS 31.124, chapter 3.4 Applicability
  table. Rest of the sub-features are listed there. 
 
 Don't they depend on the STK profile that you are using?
 
No. If a terminal claims to support USAT and be compliant with 3GPP e.g.
Rel-7 or any other, certain features become mandatory, depending 

Re: Problem configuring Longsung U6300

2011-01-24 Thread Вячеслав Крот
21.01.2011 18:26, Вячеслав Крот пишет:
 Hello, all.
 I have a little question - which driver should I use for modem Longsung
 U6300 based on Qualcomm MSM6290? I know that Huawei uses qualcomm chips,
 so I tried to add udev rule like for huawei modem, but it did not work.
 list-modes shows modem (online=0, powered=0, lockdown=0), but
 enable-modem fails  with timeout exception. vendorId - 1c9e, productId -
 9603.
 Could you help me, please?
 ___
 ofono mailing list
 ofono@ofono.org
 http://lists.ofono.org/listinfo/ofono

   
On irc channel ZTE driver was proposed and it works quite good.
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: SAT support in oFono

2011-01-24 Thread Marcel Holtmann
Hi Lasse,

 I am checking what is the level of SAT/STK support in ofono and have 
 a couple of questions. The current implementation contains support 
 for basic STK commands, like menus, inputs, calls, sms and so on. In 
 TODO, there is only REFRESH command on the list.
 
 Is there plans or ideas to extend the support in oFono Core with more 
 complex STK features like (3GPP TS 31.111):
 - Call control by USIM
 - MO SMS Control by USIM

Let us set aside the the merits of the use cases for these features for
the moment ;)  Implementing Call control by USIM is fairly
straightforward to do in the core.  However, no modem manufacturer
currently allows us to have full control over this feature.  It is
implemented in the firmware and every vendor does this differently.  So
for now support of this feature is in the realm of the modem driver.

   okay, so assuming this is how it is going stay. Even modem handles
   these, ofono should deliver possible AlphaId SIM may give in a response
   to call control envelope. I did not see if this is implemented. Or is it
   dropped since it is not tested in GCF..
  
  show us modem hardware where this is needed. At some point we just had
  to be realistic here in what can be tested with real hardware. And thus
  is really required to be supported and what makes sense in a smartphone
  environment.
  
 Understand. Sorry, cannot give an example of such HW. But if we would
 follow the 31.111 literally the alpha id should be displayed to user. 

I have not tested this by myself, but judging from the code we do inform
the STK agent even about commands handled by the modem. You checked up
on the agent callback DisplayActionInformation, do you?

 - BIP (Bearer independent protocol), including commands like OPEN 
 CHANNEL, CLOSE CHANNEL, SEND/RECEIVE DATA
   BIP is on many operators' wish list of supported SAT features. Even it
   is optional in 3GPP, some market areas will probably require BIP. I
   don't have an example to give right now.
  
  I think the important phrase is wish list. So far nobody could really
  showed me the exact use case for BIP. I am actually really interested in
  understanding what the operators wanna use it for. I prefer to have hard
  facts here and not just wish list and probably. If this is not a
  requirement for certification and the operator is not actually using
  such a feature at all, then why bother. Feel free to convince me
  otherwise here.
 Main use case is that operator can update the SAT applet on the SIM
 remotely. Operators cannot really advertise or productize usage of BIP
 before enough terminals support it. SCWS introduces new ways of using
 SAT, you could build better UIs using a web browser to access SIM
 applets. This is the use case Jukka Saunamaki mentioned.

As mentioned SMS-PP-data-download is not good enough for what reason?

  While we can certainly look into supporting BIP at some point, but from
  where I am standing it is pretty clear; first get all mandatory STK
  features sorted out, before trying to work on optional ones.
  
 What is the 3GPP release you are aiming in STK support? Release 99, 4, 5
 6,7? As it defines what is mandatory to support and to be tested in GCF.

I think it will be 7 or later, but it does depend a little bit on what
hardware we will test it.

 - EVENT DOWNLOAD / SET UP EVENT LIST
 

Again, which ones are you looking for?  oFono explicitly ignores the
following two events as these make no sense in the smartphone context:

- Idle Screen Available
- User Activity

   It looks like  Idle Screen Available and User Activity  User Activity
   are mandatory features in 3GPP TS 31.124, chapter 3.4 Applicability
   table. Rest of the sub-features are listed there. 
  
  Don't they depend on the STK profile that you are using?
  
 No. If a terminal claims to support USAT and be compliant with 3GPP e.g.
 Rel-7 or any other, certain features become mandatory, depending on
 certain conditions, like the HW capability, e.g. do you have a display,
 keypad etc. To check what is mandatory and what not in various 3GPP
 releases, you can check 3GPP TS 31.124, Table B.1. Conditions are in
 Table A.1.
 
 31.124 is for 3G. Equivalent for 2G is 51.010-4

I let the people that are currently working GCF pre-certification worry
about the details here. Feel free to provide any feedback that you might
have on this topic.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: Problem configuring Longsung U6300

2011-01-24 Thread Marcel Holtmann
Hi,

  I have a little question - which driver should I use for modem Longsung
  U6300 based on Qualcomm MSM6290? I know that Huawei uses qualcomm chips,
  so I tried to add udev rule like for huawei modem, but it did not work.
  list-modes shows modem (online=0, powered=0, lockdown=0), but
  enable-modem fails  with timeout exception. vendorId - 1c9e, productId -
  9603.
  Could you help me, please?

 On irc channel ZTE driver was proposed and it works quite good.

we can either re-use ZTE driver or write a new one for these. However
until I have access to these devices it becomes pretty hard.

I tried to buy some of these while being in Japan last time, but they
always try to tie you into contracts. We do have a proper collection for
North America and European specific models, but I do like to get a set
of Asian examples. So if anybody wants to donate some of these, please
let us know.

Adding support for these dongles is pretty simple once you figured out
their quirks since all Qualcomm ones are broken one way or another. They
all use outdated firmware. At least that is my experience.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH v5] ifx: Adding modem selftest for Infineon modem

2011-01-24 Thread Robertino Benis
Infineon modem selftest, during ifx_enable().
Two steps trigger, with timeout. In case one
fails, modem will not power up.

---
 plugins/ifx.c |  128 
 1 files changed, 109 insertions(+), 19 deletions(-)

diff --git a/plugins/ifx.c b/plugins/ifx.c
index 0d31167..efbf6b6 100644
--- a/plugins/ifx.c
+++ b/plugins/ifx.c
@@ -72,6 +72,8 @@
 #define GPRS3_DLC   4
 #define AUX_DLC 5
 
+#define IFX_SETUP_TIMEOUT  10
+
 static char *dlc_prefixes[NUM_DLC] = { Voice: , Net: , GPRS1: ,
GPRS2: , GPRS3: , Aux:  };
 
@@ -89,7 +91,7 @@ struct ifx_data {
guint dlc_poll_count;
guint dlc_poll_source;
guint dlc_init_source;
-   guint mux_init_timeout;
+   guint cmd_setup_timeout;
guint frame_size;
int mux_ldisc;
int saved_ldisc;
@@ -100,6 +102,9 @@ struct ifx_data {
int audio_loopback;
struct ofono_sim *sim;
gboolean have_sim;
+   gboolean rtc_gti_selftest_timeout;
+   gboolean dev_ver_selftest_timeout;
+   gboolean mux_setup_timeout;
 };
 
 static void ifx_debug(const char *str, void *user_data)
@@ -434,10 +439,17 @@ error:
 static void setup_internal_mux(struct ofono_modem *modem)
 {
struct ifx_data *data = ofono_modem_get_data(modem);
+   GIOFlags flags;
int i;
 
DBG();
 
+   flags = g_io_channel_get_flags(data-device) | G_IO_FLAG_NONBLOCK;
+   g_io_channel_set_flags(data-device, flags, NULL);
+
+   g_io_channel_set_encoding(data-device, NULL, NULL);
+   g_io_channel_set_buffered(data-device, FALSE);
+
data-mux = g_at_mux_new_gsm0710_basic(data-device, data-frame_size);
if (data-mux == NULL)
goto error;
@@ -474,14 +486,17 @@ static void mux_setup_cb(gboolean ok, GAtResult *result, 
gpointer user_data)
int fd;
 
DBG();
+   data-mux_setup_timeout = FALSE;
 
-   if (data-mux_init_timeout  0) {
-   g_source_remove(data-mux_init_timeout);
-   data-mux_init_timeout = 0;
+   if (data-cmd_setup_timeout  0) {
+   g_source_remove(data-cmd_setup_timeout);
+   data-cmd_setup_timeout = 0;
}
 
-   g_at_chat_unref(data-dlcs[AUX_DLC]);
-   data-dlcs[AUX_DLC] = NULL;
+   if (data-dlcs[AUX_DLC]) {
+   g_at_chat_unref(data-dlcs[AUX_DLC]);
+   data-dlcs[AUX_DLC] = NULL;
+   }
 
if (!ok)
goto error;
@@ -519,26 +534,89 @@ error:
ofono_modem_set_powered(modem, FALSE);
 }
 
-static gboolean mux_timeout_cb(gpointer user_data)
+static gboolean cmd_setup_timeout_cb(gpointer user_data)
 {
struct ofono_modem *modem = user_data;
struct ifx_data *data = ofono_modem_get_data(modem);
 
-   ofono_error(Timeout with multiplexer setup);
+   if (data-rtc_gti_selftest_timeout)
+   ofono_error(ERROR:IFX Selftest
+   at@rtc:rtc_gti_test_verify_32khz()-TIMEOUT);
+   else if (data-dev_ver_selftest_timeout)
+   ofono_error(ERROR:IFX Selftest
+   at@vers:device_version_id()-TIMEOUT);
+   else if (data-mux_setup_timeout)
+   ofono_error(ERROR:IFX Mux setup-TIMEOUT);
 
-   data-mux_init_timeout = 0;
+   data-cmd_setup_timeout = 0;
 
-   g_at_chat_unref(data-dlcs[AUX_DLC]);
-   data-dlcs[AUX_DLC] = NULL;
+   if (data-dlcs[AUX_DLC]) {
+   g_at_chat_unref(data-dlcs[AUX_DLC]);
+   data-dlcs[AUX_DLC] = NULL;
+   }
 
-   g_io_channel_unref(data-device);
-   data-device = NULL;
+   if (data-device) {
+   g_io_channel_unref(data-device);
+   data-device = NULL;
+   }
 
ofono_modem_set_powered(modem, FALSE);
 
return FALSE;
 }
 
+static void dev_ver_selftest_cb(gboolean ok, GAtResult *result,
+   gpointer user_data)
+{
+   struct ofono_modem *modem = user_data;
+   struct ifx_data *data = ofono_modem_get_data(modem);
+
+   data-dev_ver_selftest_timeout = FALSE;
+
+   if (!ok) {
+   ofono_error(ERROR:IFX Selftest at@vers:device_version_id()
+   -FAILED);
+
+   if (data-dlcs[AUX_DLC]) {
+   g_at_chat_unref(data-dlcs[AUX_DLC]);
+   data-dlcs[AUX_DLC] = NULL;
+   }
+
+   if (data-device) {
+   g_io_channel_unref(data-device);
+   data-device = NULL;
+   }
+
+   ofono_modem_set_powered(modem, FALSE);
+   }
+}
+
+static void rtc_gti_selftest_cb(gboolean ok, GAtResult *result,
+   gpointer user_data)
+{
+   struct ofono_modem *modem = user_data;
+   struct ifx_data *data = ofono_modem_get_data(modem);
+
+   data-rtc_gti_selftest_timeout = FALSE;
+
+   if (!ok) {
+   

Re: [PATCH v5] ifx: Adding modem selftest for Infineon modem

2011-01-24 Thread Marcel Holtmann
Hi Robertino,

 Infineon modem selftest, during ifx_enable().
 Two steps trigger, with timeout. In case one
 fails, modem will not power up.

snip
 
 + flags = g_io_channel_get_flags(data-device) | G_IO_FLAG_NONBLOCK;
 + g_io_channel_set_flags(data-device, flags, NULL);
 +
 + g_io_channel_set_encoding(data-device, NULL, NULL);
 + g_io_channel_set_buffered(data-device, FALSE);
 +

have you actually tested this patch. Your re-base of the patch is wrong
again. It will not work like this.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 1/7] src: Introduced enum called_number_type

2011-01-24 Thread Denis Kenzior
Hi George,

 +/* 24.008 Section 10.5.4.7 Called party BCD number */
 +enum called_number_type {
 + CALLED_NUMBER_TYPE_UNKNOWN = 0,
 + CALLED_NUMBER_TYPE_INTERNATIONAL = 1,
 + CALLED_NUMBER_TYPE_NATIONAL = 2,
 + CALLED_NUMBER_TYPE_NETWORK_SPECIFIC = 3,
 + CALLED_NUMBER_TYPE_DEDICATED_ACCESS = 4,
 + CALLED_NUMBER_TYPE_RESERVED = 7
 +};
 +

This isn't going to work.  Your patches basically break all voice call
drivers that we have.  I refer you to stemodem ecav_notify function or
the calypsomodem cpi parser.  The number type is not handled properly there.

27.007 uses three main ton/npi combinations:

unknown / unknown (128)
unknown / isdn (129)
international / isdn (145)

If you want to be pedantic, then define an enum something like this:

enum number_type {
NUMBER_TYPE_UNKNOWN,
NUMBER_TYPE_UNKNOWN_ISDN,
NUMBER_TYPE_INTERNATIONAL_ISDN,
};

And just handle these three appropriately.

Alternatively decompose the value into the appropriate bit-fields and
compare the bit-field values.  E.g. bits 1..4 - npi.  Bits 5..7 - ton
and define enums for them appropriately.  This will still be a messier
solution than assigning the values 128/129 (in fact 27.007 recommends
assigning these values anyway).

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH] stk: change timeout from 10 to 3mintues

2011-01-24 Thread Denis Kenzior
Hi Jeevaka,

On 01/21/2011 12:04 PM, Jeevaka Badrappan wrote:
 ---
  src/stk.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 

Patch has been applied, thanks.

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH] sim: check if lock is locked after code input attempt

2011-01-24 Thread Denis Kenzior
Hi Jussi,

On 01/17/2011 05:34 AM, Jussi Kangas wrote:
 Hi again,
 
 This is third attempt to fix the problem where PUK required information
 is not shown correctly after user tries to change pin code too many
 times with wrong passwords. Basically solution is pretty much as in
 original made by Marit Henriksen except it does not do the sim interface
 initialization anymore and it goes to PRE_SIM state if PUK is required
 except in case of PIN2. Fix is also extended to pin locking and pin
 unlocking.  
 
 Br,
 -Jussi
 
 ---
  src/sim.c |   47 +++
  1 files changed, 47 insertions(+), 0 deletions(-)
 
 diff --git a/src/sim.c b/src/sim.c
 index d627647..00f0463 100644
 --- a/src/sim.c
 +++ b/src/sim.c
 @@ -622,6 +622,45 @@ static void sim_locked_cb(struct ofono_sim *sim,
 gboolean locked)
   sim_pin_retries_check(sim);
  }
  
 +static void fail_reason_check_cb(const struct ofono_error *error,
 + enum ofono_sim_password_type pin_type,
 + void *data)
 +{
 + struct ofono_sim *sim = data;
 + DBusConnection *conn = ofono_dbus_get_connection();
 + const char *path = __ofono_atom_get_path(sim-atom);
 + struct ofono_modem *modem = __ofono_atom_get_modem(sim-atom);
 + const char *pin_name;
 +
 + if (sim-pin_type != pin_type) {
 + sim-pin_type = pin_type;
 + pin_name = sim_passwd_name(pin_type);
 +
 + if (pin_type != OFONO_SIM_PASSWORD_NONE 
 + password_is_pin(pin_type) == FALSE)
 + pin_type = puk2pin(pin_type);
 +
 + if (pin_type != OFONO_SIM_PASSWORD_INVALID)
 + sim-locked_pins[pin_type] = TRUE;
 +
 + ofono_dbus_signal_property_changed(conn, path,
 + OFONO_SIM_MANAGER_INTERFACE,
 + PinRequired, DBUS_TYPE_STRING,
 + pin_name);
 +
 + if ((sim-state != OFONO_SIM_STATE_READY) ||
 +((sim-locked_pins[pin_type] == TRUE)  (

Please don't mix tabs and spaces for indentation

 +  pin_type == OFONO_SIM_PASSWORD_SIM_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHSIM_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHFSIM_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHNET_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHNETSUB_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHSP_PIN ||
 +  pin_type == OFONO_SIM_PASSWORD_PHCORP_PIN)))
 + ofono_modem_reset(modem);

So I'm mostly happy with this approach except that ofono_modem_reset is
too big of a hammer to use here.  We need something that drops us back
to pre-sim state without having to re-power on the device (which is what
reset does).

Can you try using sim_inserted / sim_removed or maybe even be smarter
and do 90% of what sim removal does but without affecting information
which is already read.  So things like EFiccid, EFpl/EFlp, EFecc, etc.

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 2/3] Use dist_ prefix as applicable

2011-01-24 Thread Marcel Holtmann
Hi Remi,

  Makefile.am |   12 +---
  1 files changed, 5 insertions(+), 7 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
 index f941a19..1f09c11 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -25,17 +25,17 @@ local_headers = $(foreach file,$(pkginclude_HEADERS) \
  if DATAFILES
  dbusconfdir = @DBUS_CONFDIR@
  
 -dbusconf_DATA = src/ofono.conf
 +dist_dbusconf_DATA = src/ofono.conf

there was a reason why I did not do this. I need to figure out what it
was or if it is something that doesn't apply to ofono.git tree.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH 3/3] Support for pkg-config

2011-01-24 Thread Marcel Holtmann
Hi Remi,

  .gitignore  |1 +
  Makefile.am |   10 --
  ofono.pc.in |   10 ++
  3 files changed, 19 insertions(+), 2 deletions(-)
  create mode 100644 ofono.pc.in
 
 diff --git a/.gitignore b/.gitignore
 index 7cfb1d9..59308be 100644
 --- a/.gitignore
 +++ b/.gitignore
 @@ -20,6 +20,7 @@ install-sh
  libtool
  ltmain.sh
  missing
 +ofono.pc
  stamp-h1
  autom4te.cache
  
 diff --git a/Makefile.am b/Makefile.am
 index 1f09c11..e8570f8 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -21,6 +21,9 @@ local_headers = $(foreach file,$(pkginclude_HEADERS) \
   $(nodist_pkginclude_HEADERS), \
   include/ofono/$(notdir $(file)))
  
 +pkgconfigdir = $(libdir)/pkgconfig
 +pkgconfig_DATA = ofono.pc
 +
  
  if DATAFILES
  dbusconfdir = @DBUS_CONFDIR@
 @@ -364,7 +367,7 @@ src_ofonod_LDFLAGS = -Wl,--export-dynamic \
  
  BUILT_SOURCES = $(local_headers)
  
 -CLEANFILES = src/builtin.h $(BUILT_SOURCES) $(rules_DATA)
 +CLEANFILES = src/builtin.h ofono.pc $(BUILT_SOURCES) $(rules_DATA)
  
  plugindir = $(pkglibdir)/plugins
  
 @@ -477,7 +480,7 @@ testdir = $(pkglibdir)/test
  test_SCRIPTS = $(test_scripts)
  endif
  
 -EXTRA_DIST = src/genbuiltin $(udev_files) \
 +EXTRA_DIST = src/genbuiltin ofono.pc.in $(udev_files) \
   $(doc_files) $(test_scripts)
  
  dist_man_MANS = doc/ofonod.8
 @@ -572,5 +575,8 @@ include/ofono/%.h: include/%.h
   $(AM_V_at)$(MKDIR_P) include/ofono
   $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$ $@
  
 +%.pc: %.pc.in $(builddir)/config.status
 + $(AM_V_GEN)$(SHELL) ./config.status --file=$@ /dev/null
 +

I do wanna keep this in sync with ConnMan actually. In ConnMan we create
this one via configure.ac script. So I think we should do the same here
as well.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono