Re: Modem Initialization
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
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
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/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
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
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