* GSM Modem management? @ 2015-05-14 19:44 John Whitmore 2015-05-14 20:20 ` Dan Williams 0 siblings, 1 reply; 4+ messages in thread From: John Whitmore @ 2015-05-14 19:44 UTC (permalink / raw) To: netdev Chances are that I'm in the wrong place here, "Linux" networking having so many parts, many of which aren't in the kernel, that being said this might be considered the centre of it all, so I thought I'd start here and see if somebody would point me in a direction that was better placed to answer some of my queries. I'm working on a mobile system, RaspberryPi based, which has two 4G USB Dongles for communications to the Internet. Both dongles are the same make and model but have different service provider sims. The idea being that if one has no coverage hopefully the other does have some degree of connectivity. I started by connecting up to the internet using network-manager-gnome for a single dongle. Unfortunately when I started a ping test after a couple of ping messages it crashed the whole raspbian system without any message going to /var/log/messages. Totally locked up. Having failed with the Network-manager I used wvdial to establish a connection and that is as happy as larry, pinging away. My questions are to do with how to manage two identical Dongles. At present when usb-modeswitch ejects them, from CD Drive, into modem configuration, when "qmi_wwan" assignes a network name. I'd like to assign udev rules to assign carrier based names to the network interfaces. I'm not sure if udev will interfere with qmi_wwan? That is possibly the easy part. I then want to attach some logic to manage the connections in a very basic manner and perhaps display connectivity information to the user on the desktop. Could somebody tell me where this functionality would be added? I assume that ppp has no idea about GSM signal strength. It'd be great if a simple user space program could monitor DBus and bring up or drop the connections as conditions change, but I guess that might be asking for a little bit much. So if not ppp what sub-system controls the Modem? Thanks for any help. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GSM Modem management? 2015-05-14 19:44 GSM Modem management? John Whitmore @ 2015-05-14 20:20 ` Dan Williams 2015-05-14 21:34 ` John Whitmore 0 siblings, 1 reply; 4+ messages in thread From: Dan Williams @ 2015-05-14 20:20 UTC (permalink / raw) To: John Whitmore; +Cc: netdev On Thu, 2015-05-14 at 20:44 +0100, John Whitmore wrote: > Chances are that I'm in the wrong place here, "Linux" networking having so many > parts, many of which aren't in the kernel, that being said this might be > considered the centre of it all, so I thought I'd start here and see if > somebody would point me in a direction that was better placed to answer some > of my queries. > > I'm working on a mobile system, RaspberryPi based, which has two 4G USB > Dongles for communications to the Internet. Both dongles are the same make and > model but have different service provider sims. The idea being that if one has > no coverage hopefully the other does have some degree of connectivity. I > started by connecting up to the internet using network-manager-gnome for a > single dongle. Unfortunately when I started a ping test after a couple of ping > messages it crashed the whole raspbian system without any message going to > /var/log/messages. Totally locked up. Odd, are these dongles using AT commands or are they using one of the proprietary protocols like QMI, MBIM, or QCDM? It's highly unlikely that NetworkManager + ModemManager would be crashing your system when using plain AT commands, but there have in the past been driver problems with QMI and MBIM. Can you give specifics on the dongles? > Having failed with the Network-manager I used wvdial to establish a connection > and that is as happy as larry, pinging away. Are you using PPP as the mechanism here? Unless you have very low bandwidth requirements I'd recommend using the pseudo-ethernet interface provided by the modem (which often also requires using a proprietary protocol like QMI or MBIM to control it) since this gives much higher throughput especially with HSPA+ and LTE. > My questions are to do with how to manage two identical Dongles. At present > when usb-modeswitch ejects them, from CD Drive, into modem configuration, when > "qmi_wwan" assignes a network name. I'd like to assign udev rules to assign > carrier based names to the network interfaces. I'm not sure if udev will > interfere with qmi_wwan? Aha, so you are using Qualcomm-based dongles :) So NetworkManager + ModemManager will natively try to use QMI + ethernet on these dongles just like Windows does, because that provides the most flexibility and speed. So the crashes/hangs you were experiencing may be due to driver issues in the qmi_wwan and cdc_wdm modules. What kernel version are you using here too? > That is possibly the easy part. I then want to attach some logic to manage the > connections in a very basic manner and perhaps display connectivity > information to the user on the desktop. Could somebody tell me where this > functionality would be added? I assume that ppp has no idea about GSM signal > strength. It'd be great if a simple user space program could monitor DBus and > bring up or drop the connections as conditions change, but I guess that might > be asking for a little bit much. So if not ppp what sub-system controls the > Modem? It all depends on the modem itself and what it supports. We've tried to develop ModemManager as single system service that works with all kinds of modems and insulates you from these kind of issues. The end result is that nothing in the Linux kernel itself provides this kind of management; the kernel only provides interfaces to the modem's firmware and its up to userspace to figure out what protocols the modem speaks (AT, QMI, MBIM, QCDM, etc) and to talk those protocols to the modem. Dan ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GSM Modem management? 2015-05-14 20:20 ` Dan Williams @ 2015-05-14 21:34 ` John Whitmore 2015-05-15 14:27 ` Dan Williams 0 siblings, 1 reply; 4+ messages in thread From: John Whitmore @ 2015-05-14 21:34 UTC (permalink / raw) To: Dan Williams; +Cc: netdev On Thu, May 14, 2015 at 03:20:36PM -0500, Dan Williams wrote: > On Thu, 2015-05-14 at 20:44 +0100, John Whitmore wrote: > > Chances are that I'm in the wrong place here, "Linux" networking having so many > > parts, many of which aren't in the kernel, that being said this might be > > considered the centre of it all, so I thought I'd start here and see if > > somebody would point me in a direction that was better placed to answer some > > of my queries. > > > > I'm working on a mobile system, RaspberryPi based, which has two 4G USB > > Dongles for communications to the Internet. Both dongles are the same make and > > model but have different service provider sims. The idea being that if one has > > no coverage hopefully the other does have some degree of connectivity. I > > started by connecting up to the internet using network-manager-gnome for a > > single dongle. Unfortunately when I started a ping test after a couple of ping > > messages it crashed the whole raspbian system without any message going to > > /var/log/messages. Totally locked up. > > Odd, are these dongles using AT commands or are they using one of the > proprietary protocols like QMI, MBIM, or QCDM? It's highly unlikely > that NetworkManager + ModemManager would be crashing your system when > using plain AT commands, but there have in the past been driver problems > with QMI and MBIM. Can you give specifics on the dongles? > Thanks a million for that! I've never played with GSM Dongles before, so I'd never heard of anything but AT being used. That is a great help. Dongle is a Huawei E398. It's a LTE/UMTS/GSM Modem/Networkcard according to "lsusb" and comes in as 12d1:1505 and then after usb_modeswitch 12d1:1506. Given that "Networkcard" all those protocols you mentioned are probably what's being used. > > Having failed with the Network-manager I used wvdial to establish a connection > > and that is as happy as larry, pinging away. > > Are you using PPP as the mechanism here? Unless you have very low > bandwidth requirements I'd recommend using the pseudo-ethernet interface > provided by the modem (which often also requires using a proprietary > protocol like QMI or MBIM to control it) since this gives much higher > throughput especially with HSPA+ and LTE. > Yes when I use wvdial it brings them up using a ppp0 interface. I should go back to the network-manager and keep an eye on the modem manager. Didn't realise that service was in there so again thanks a million. > > My questions are to do with how to manage two identical Dongles. At present > > when usb-modeswitch ejects them, from CD Drive, into modem configuration, when > > "qmi_wwan" assignes a network name. I'd like to assign udev rules to assign > > carrier based names to the network interfaces. I'm not sure if udev will > > interfere with qmi_wwan? > > Aha, so you are using Qualcomm-based dongles :) So NetworkManager + > ModemManager will natively try to use QMI + ethernet on these dongles > just like Windows does, because that provides the most flexibility and > speed. So the crashes/hangs you were experiencing may be due to driver > issues in the qmi_wwan and cdc_wdm modules. What kernel version are you > using here too? Latest for the RaspberryPi, I think, 3.18.13 on a RPi Vesion 2. It's not what came with raspbian but I built the latest. > > > That is possibly the easy part. I then want to attach some logic to manage the > > connections in a very basic manner and perhaps display connectivity > > information to the user on the desktop. Could somebody tell me where this > > functionality would be added? I assume that ppp has no idea about GSM signal > > strength. It'd be great if a simple user space program could monitor DBus and > > bring up or drop the connections as conditions change, but I guess that might > > be asking for a little bit much. So if not ppp what sub-system controls the > > Modem? > > It all depends on the modem itself and what it supports. We've tried to > develop ModemManager as single system service that works with all kinds > of modems and insulates you from these kind of issues. The end result > is that nothing in the Linux kernel itself provides this kind of > management; the kernel only provides interfaces to the modem's firmware > and its up to userspace to figure out what protocols the modem speaks > (AT, QMI, MBIM, QCDM, etc) and to talk those protocols to the modem. > > Dan > Thanks so much for taking the time to educate me! I have to look into all this and more protocols then I knew existed. I'll have a look into the modem manager as that's probably something I've done incorrectly. John ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GSM Modem management? 2015-05-14 21:34 ` John Whitmore @ 2015-05-15 14:27 ` Dan Williams 0 siblings, 0 replies; 4+ messages in thread From: Dan Williams @ 2015-05-15 14:27 UTC (permalink / raw) To: John Whitmore; +Cc: netdev On Thu, 2015-05-14 at 22:34 +0100, John Whitmore wrote: > On Thu, May 14, 2015 at 03:20:36PM -0500, Dan Williams wrote: > > On Thu, 2015-05-14 at 20:44 +0100, John Whitmore wrote: > > > Chances are that I'm in the wrong place here, "Linux" networking having so many > > > parts, many of which aren't in the kernel, that being said this might be > > > considered the centre of it all, so I thought I'd start here and see if > > > somebody would point me in a direction that was better placed to answer some > > > of my queries. > > > > > > I'm working on a mobile system, RaspberryPi based, which has two 4G USB > > > Dongles for communications to the Internet. Both dongles are the same make and > > > model but have different service provider sims. The idea being that if one has > > > no coverage hopefully the other does have some degree of connectivity. I > > > started by connecting up to the internet using network-manager-gnome for a > > > single dongle. Unfortunately when I started a ping test after a couple of ping > > > messages it crashed the whole raspbian system without any message going to > > > /var/log/messages. Totally locked up. > > > > Odd, are these dongles using AT commands or are they using one of the > > proprietary protocols like QMI, MBIM, or QCDM? It's highly unlikely > > that NetworkManager + ModemManager would be crashing your system when > > using plain AT commands, but there have in the past been driver problems > > with QMI and MBIM. Can you give specifics on the dongles? > > > > Thanks a million for that! I've never played with GSM Dongles before, so I'd > never heard of anything but AT being used. That is a great help. Dongle is a > Huawei E398. It's a LTE/UMTS/GSM Modem/Networkcard according to "lsusb" and > comes in as 12d1:1505 and then after usb_modeswitch 12d1:1506. Given that > "Networkcard" all those protocols you mentioned are probably what's being used. I got your mail on ModemManager-devel and responded there too, just a quick follow-up here. So you're actually using a QMI-native device, but using it in PPP mode with wvdial. It looks from your logs like the modem is crashing and dropping off the USB bus. We should try QMI+net to see if that will work better than PPP. > > > Having failed with the Network-manager I used wvdial to establish a connection > > > and that is as happy as larry, pinging away. > > > > Are you using PPP as the mechanism here? Unless you have very low > > bandwidth requirements I'd recommend using the pseudo-ethernet interface > > provided by the modem (which often also requires using a proprietary > > protocol like QMI or MBIM to control it) since this gives much higher > > throughput especially with HSPA+ and LTE. > > > > Yes when I use wvdial it brings them up using a ppp0 interface. I should go > back to the network-manager and keep an eye on the modem manager. Didn't > realise that service was in there so again thanks a million. > > > > My questions are to do with how to manage two identical Dongles. At present > > > when usb-modeswitch ejects them, from CD Drive, into modem configuration, when > > > "qmi_wwan" assignes a network name. I'd like to assign udev rules to assign > > > carrier based names to the network interfaces. I'm not sure if udev will > > > interfere with qmi_wwan? > > > > Aha, so you are using Qualcomm-based dongles :) So NetworkManager + > > ModemManager will natively try to use QMI + ethernet on these dongles > > just like Windows does, because that provides the most flexibility and > > speed. So the crashes/hangs you were experiencing may be due to driver > > issues in the qmi_wwan and cdc_wdm modules. What kernel version are you > > using here too? > > Latest for the RaspberryPi, I think, 3.18.13 on a RPi Vesion 2. It's not what > came with raspbian but I built the latest. Given that you're using ModemManager 0.5 (without QMI) or wvdial, kernel version and driver issues in qmi_wwan or cdc-wdm won't be the cause of the problems here and could be the solution :) Anyway, lets follow up on ModemManager-devel. Thanks! Dan > > > > > That is possibly the easy part. I then want to attach some logic to manage the > > > connections in a very basic manner and perhaps display connectivity > > > information to the user on the desktop. Could somebody tell me where this > > > functionality would be added? I assume that ppp has no idea about GSM signal > > > strength. It'd be great if a simple user space program could monitor DBus and > > > bring up or drop the connections as conditions change, but I guess that might > > > be asking for a little bit much. So if not ppp what sub-system controls the > > > Modem? > > > > It all depends on the modem itself and what it supports. We've tried to > > develop ModemManager as single system service that works with all kinds > > of modems and insulates you from these kind of issues. The end result > > is that nothing in the Linux kernel itself provides this kind of > > management; the kernel only provides interfaces to the modem's firmware > > and its up to userspace to figure out what protocols the modem speaks > > (AT, QMI, MBIM, QCDM, etc) and to talk those protocols to the modem. > > > > Dan > > > > Thanks so much for taking the time to educate me! I have to look into all this > and more protocols then I knew existed. I'll have a look into the modem > manager as that's probably something I've done incorrectly. > > John ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-05-15 14:27 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-14 19:44 GSM Modem management? John Whitmore 2015-05-14 20:20 ` Dan Williams 2015-05-14 21:34 ` John Whitmore 2015-05-15 14:27 ` Dan Williams
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).