Re: Modem Initialization

2011-04-18 Thread Vincenzo Romano
2011/4/15 Dan Williams d...@redhat.com:
 On Fri, 2011-04-15 at 12:37 +0200, Vincenzo Romano wrote:
 2011/4/14 Dan Williams d...@redhat.com:
  On Thu, 2011-04-14 at 16:20 +0200, Vincenzo Romano wrote:
  2011/4/14 Aleksander Morgado aleksan...@lanedo.com:
  
 Where on earth happens the modem initialization in NetWorkmanager?
 My interest is for GSM/3G modems as well as for POTS/ISDN modems.
 I've tried to browse the source code but it's quite difficult.

   
What I've found so far is that the initialization is done in the 
modemmanager.
It looks like it's hardcoded, which looks quite weird to me.
I do need to make some extra optional initialization: is there any
hook for such a
need?
   
ModemManager has some generic setup steps, plus 'plugins' for each
modem/vendor known to make things differently. If your modem needs
specific AT commands during initialization, you'll probably need to
develop a new plugin for it.
   
Cheers,
  
   Among other things, I'd need to harvest the localization information 
   (AT+CREG)
   from GSM/3G modems. 99.999% of such modems implement it but I don't see
   how to do it.
  
   Any idea?
  
   I believe the generic plugin already harvests location area code and
   cell ID whenever available in the AT+CREG? reply. Although I never tried
   it myself, you can possibly use the GetLocation() method in the
   org.freedesktop.ModemManager.Modem.Location interface (once enabled with
   the Enable() method).
  
   Cheers!
 
  That sounds great. But also needs that I have to write my own D-Bus
  code in order
  to enable and retrieve the localization data (lac/ci).
 
  Ok, what exactly are you trying to do here?  If you can explain that,
  then maybe we can say what the best course of action here is.  What
  specific initialization commands do you need to send?
 
  Yes, MM exposes location information via the D-Bus interface, because
  that's how *all* of MM's interaction with the system works, via D-Bus.
 
  And, finally, for the other things I need to do there's no way at all.
 
  Such as?  What kinds of things do you need to do?
 
  Dan
 
  I've given a look at the modemmanager code and there seems to be no
  hook available
  to send AT commands before the connection or after it ended.

 For mobile boradband I need to get some network related infos,
 localization (LAC+CI) among them.
 What I understand is that I need to write a D-BUS client to ask
 the modem manager to gather the infos on my behalf.

 That's correct.  There's a python example of this in ModemManager's
 test/location.py script that enables location services on the modem and
 reports the LAC/CI for you.  That should give you an idea of the D-Bus
 interfaces required to get the LAC/CI out.  Note that the SIM PIN must
 have been entered, and the modem enabled, before location services can
 work, because no modem will register with the network until it's (a) PIN
 unlocked and (b) powered up.  Regardless of whether MM is used or not.

 But for POTS and ISDN modem I just need to make some specific
 initialization which apperas to be not possible at all.

 ModemManager does not (yet) handle POTS modems and will ignore them.
 Nor does MM handle ISDN since ISDN doesn't really look like a modem and
 doesn't get configured like one either.  ISDN would probably be handled
 by NetworkManager instead.


Hi.
Neither in ModemManager-0.4 nor in NetworkManager-0.8.3.999 there's
any location.py.
Could you please tell me where can I read such a piece software?
That looks promising, though.
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


GNOME 3, NM 8.9 and Wireless as System connections

2011-04-18 Thread pec...@gmail.com
Hi people!

While testing Fedora 15 with GNOME 3, I encountered strange problem:
1) On gnome3.org Live CD system, which I installed on USB Flash,
Network Manager manages connection old way - as user-level initialized
wireless connection with AP. It finds that AP has security, asks for
secret and everything works nicely;
2) However on freshly installed Fedora 15 Beta RC2 system it tries to
handle this connection as System connection (as new default for NM).
In result of this (or another issue I haven't understood yet) it
doesn't find any security for AP (it says so in /var/log/messages) and
tries to handle it as encrypted connection, which obviously fails;

Is there any idea what could be wrong, what I should debug or look
after? I have /var/log/messages from both systems. Both systems have
nearly identical setup - same kernel (except one on hard disk being
PAE), same modules loaded, nothing unusual except those facts
mentioned above.

Cheers and thanks for any tips in advance,
have a nice day,
Peter.
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


Re: [Mbm-devel] Modem-/NetworkManager support for modems not using PPP

2011-04-18 Thread Torgny Johansson
Hi Marius!

On Sat, Apr 16, 2011 at 2:57 PM, Marius Kotsbak
marius.kots...@gmail.com wrote:
 Hi!

 There seems to be now quite a bit of modems appearing now that does not
 support the old method of using PPP protocol on the same tty device as
 the AT commands are sent, or it is not recommended for higher HSPA+ and
 LTE modems because of performance limitations of the PPP/tty layer.
 Those devices typically accept AT commands at one interface and use
 another interface for the network traffic (including first a DHCP query).

 One example is the Samsung GT-B3730 I'm currently developing drivers for:

 https://github.com/mkotsbak/Samsung-GT-B3730-linux-driver

 It seems to be the same case for LG VL600 4G (LTE):

 http://ubuntuforums.org/showpost.php?p=10589647postcount=17

 https://github.com/balrog-kun/LG-VL600-utils

 The Ericsson Mobile Broadband Modules (I have an F5521gw based modem)
 seems to offer both the old ACM ports and support USB WCM / CDC NCM /
 CDC Ethernet protocols for higher performance:

 http://www.thinkwiki.org/wiki/Ericsson_F3507g_Mobile_Broadband_Module#Connecting_to_the_net_via_CDC_Ethernet_interface

 http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM#Prerequisites

 http://cateee.net/lkddb/web-lkddb/USB_NET_CDC_NCM.html

 I wonder if support for this has been implemented or thought about in
 Modem-/NetworkManager. We probably need a flag for a modem manager
 module to tell that it does not use PPP and require to get IP address
 using DHCP instead.

Yes, support for using the cdc_ncm interface in ModemManger is already
available. The same goes for the older ericsson modules using the
cdc_ether interface. No need for PPP anymore.

You may have to add your vid/pid to the
/lib/udev/rules.d/77-mm-ericsson-mbm.rules
(.../plugins/77-mm-ericsson-mbm.rules if you have the MM sources
checked out) file to get ModemManager to recognize it (then run sudo
udevadm control --reload-rules and restart modemmanager).

Regards
Torgny
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


Re: Modem Initialization

2011-04-18 Thread Vincenzo Romano
2011/4/18 Vincenzo Romano vincenzo.rom...@notorand.it:
 2011/4/18 Vincenzo Romano vincenzo.rom...@notorand.it:
 2011/4/15 Dan Williams d...@redhat.com:
 On Fri, 2011-04-15 at 12:37 +0200, Vincenzo Romano wrote:
 2011/4/14 Dan Williams d...@redhat.com:
  On Thu, 2011-04-14 at 16:20 +0200, Vincenzo Romano wrote:
  2011/4/14 Aleksander Morgado aleksan...@lanedo.com:
  
 Where on earth happens the modem initialization in 
 NetWorkmanager?
 My interest is for GSM/3G modems as well as for POTS/ISDN 
 modems.
 I've tried to browse the source code but it's quite difficult.

   
What I've found so far is that the initialization is done in the 
modemmanager.
It looks like it's hardcoded, which looks quite weird to me.
I do need to make some extra optional initialization: is there any
hook for such a
need?
   
ModemManager has some generic setup steps, plus 'plugins' for each
modem/vendor known to make things differently. If your modem needs
specific AT commands during initialization, you'll probably need to
develop a new plugin for it.
   
Cheers,
  
   Among other things, I'd need to harvest the localization information 
   (AT+CREG)
   from GSM/3G modems. 99.999% of such modems implement it but I don't 
   see
   how to do it.
  
   Any idea?
  
   I believe the generic plugin already harvests location area code and
   cell ID whenever available in the AT+CREG? reply. Although I never 
   tried
   it myself, you can possibly use the GetLocation() method in the
   org.freedesktop.ModemManager.Modem.Location interface (once enabled 
   with
   the Enable() method).
  
   Cheers!
 
  That sounds great. But also needs that I have to write my own D-Bus
  code in order
  to enable and retrieve the localization data (lac/ci).
 
  Ok, what exactly are you trying to do here?  If you can explain that,
  then maybe we can say what the best course of action here is.  What
  specific initialization commands do you need to send?
 
  Yes, MM exposes location information via the D-Bus interface, because
  that's how *all* of MM's interaction with the system works, via D-Bus.
 
  And, finally, for the other things I need to do there's no way at all.
 
  Such as?  What kinds of things do you need to do?
 
  Dan
 
  I've given a look at the modemmanager code and there seems to be no
  hook available
  to send AT commands before the connection or after it ended.

 For mobile boradband I need to get some network related infos,
 localization (LAC+CI) among them.
 What I understand is that I need to write a D-BUS client to ask
 the modem manager to gather the infos on my behalf.

 That's correct.  There's a python example of this in ModemManager's
 test/location.py script that enables location services on the modem and
 reports the LAC/CI for you.  That should give you an idea of the D-Bus
 interfaces required to get the LAC/CI out.  Note that the SIM PIN must
 have been entered, and the modem enabled, before location services can
 work, because no modem will register with the network until it's (a) PIN
 unlocked and (b) powered up.  Regardless of whether MM is used or not.

 But for POTS and ISDN modem I just need to make some specific
 initialization which apperas to be not possible at all.

 ModemManager does not (yet) handle POTS modems and will ignore them.
 Nor does MM handle ISDN since ISDN doesn't really look like a modem and
 doesn't get configured like one either.  ISDN would probably be handled
 by NetworkManager instead.


 Hi.
 Neither in ModemManager-0.4 nor in NetworkManager-0.8.3.999 there's
 any location.py.
 Could you please tell me where can I read such a piece software?
 That looks promising, though.

 Found!
 It's not in the official distribution :-(
 It's here: http://cgit.freedesktop.org/ModemManager/ModemManager/tree/test

The only thing I've got so far is:

~ ./location.py
Traceback (most recent call last):
  File ./location.py, line 32, in module
proxy = bus.get_object(MM_DBUS_SERVICE, sys.argv[1])
IndexError: list index out of range


I'm not a Python programmer but it looks like there's a missing
argument (the 1st one?) in the command line.
Could you please direct me to where I can get more details about this program?
I need also to understand whether this service can be requested with
the modem being online or needs to
be required *before* going online.

Thanks a lot again.
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


Help with NM DBus API

2011-04-18 Thread David Rothlisberger
Hi,

I'm looking for some insight into how to use the NM DBus API. (I've
poked around a bit in the libnm-util and network-manager-applet
sources but my small brain is none the wiser.)

I have a single *system* connection (no user connections) and I want
to change the settings of this system connection.

Just looking at the interfaces, it seems I need to call
NetworkManagerSettings.ListConnections() on the
NetworkManagerSystemSettings service (this is NM 0.7/0.8) to get the
path of the connection object; and then call
NetworkManagerSettings.Connection.Update( ... ) on this object, with
the new settings. If this method call returns successfully (i.e. no
error, as it has no out arguments), what does it mean -- that the
connection is now active, or merely that the settings have been
applied (potentially disconnecting the connection)? Which signals
should I register for, to know when the new settings have successfully
taken effect?

My experiments sending some messages with D-Feet indicate that calling
Update() on the System Connection isn't allowed (Read-only
connections may not be modified) -- or is this merely a configuration
issue around DBus permissions?

Finally, any tips on tools for sending DBus messages? dbus-send
doesn't support nested containers (which are required by
Connection.Update()) and I haven't had much luck sending nested
container parameters with D-Feet either. Perhaps bindings to a
language like Python will be the way to go for quick exploration.

Many thanks,

David Röthlisberger
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list


RE: Help with NM DBus API

2011-04-18 Thread Jos Collin-ERS,HCLTech
 Just looking at the interfaces, it seems I need to call
 NetworkManagerSettings.ListConnections() on the
 NetworkManagerSystemSettings service (this is NM 0.7/0.8) to get the
 path of the connection object; and then call
 NetworkManagerSettings.Connection.Update( ... ) on this object, with
 the new settings. If this method call returns successfully (i.e. no
 error, as it has no out arguments), what does it mean -- that the
 connection is now active, or merely that the settings have been
 applied (potentially disconnecting the connection)?
This will just update your new settings for that connection. It won't make the 
connection active.

 Which signals
 should I register for, to know when the new settings have successfully
 taken effect?
org.freedesktop.NetworkManagerSettings.Connection.Updated

 My experiments sending some messages with D-Feet indicate that calling
 Update() on the System Connection isn't allowed (Read-only
 connections may not be modified) -- or is this merely a configuration
 issue around DBus permissions?
You should have root permissions to modify the Network Manager System Settings.

 Perhaps bindings to a
 language like Python will be the way to go for quick exploration.
Yes, this would be a better option. See the samples.
http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/python

::DISCLAIMER::
---

The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
It shall not attach any liability on the originator or HCL or its affiliates. 
Any views or opinions presented in
this email are solely those of the author and may not necessarily reflect the 
opinions of HCL or its affiliates.
Any form of reproduction, dissemination, copying, disclosure, modification, 
distribution and / or publication of
this message without the prior written consent of the author of this e-mail is 
strictly prohibited. If you have
received this email in error please delete it and notify the sender 
immediately. Before opening any mail and
attachments please check them for viruses and defect.

---
___
networkmanager-list mailing list
networkmanager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list