d-link dwm 157 B1 - mbim

2016-04-20 Thread Thomas Schäfer
Hi,

I have some problems with this modem.

But step by step.

First of all, I don't know if it works this way at all, because windows (xp) 
doesn't use the mbim-mode. The device is there, but the dialer from d-link 
uses only  the serial port.

The first problem is the initialisation. Despite usb_modeswitch seems to 
produce the same device ID as the windows driver does, it doesn't work this 
way.

"SIM" missing.

To identify this problem I attached:
dmesg.txt.xz
mbimcli.txt.xz
mmcli-m-0.txt.xz
mm-log.txt.xz

The SIM is inside and working (under windows).

Using a dualboot notebook avoids the sim problem by booting windows before.

Then mm recognizes the modem and is able to make a connection.

Here is the second problem. The connection is completely unusable.

mm-log-after-win.txt.xz

Maybe somebody has ideas.

It is not urgent. The device is quite old and 2G/3G-only. Maybe it is part of 
a class of problems :-)

Regards
Thomas



mbimcli.txt.xz
Description: application/xz


dmesg.txt.xz
Description: application/xz


mmcli-m-0.txt.xz
Description: application/xz


mm-log.txt.xz
Description: application/xz


mm-log-after-win.txt.xz
Description: application/xz
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Configuring network on Sierra EM7455: Lenovo x260

2016-04-20 Thread Joshua Deare
On Wed, Apr 20, 2016 at 10:10 AM, Aleksander Morgado
 wrote:
> On Wed, Apr 20, 2016 at 7:06 PM, Joshua Deare  wrote:
>> Thanks for the clarification there. I don't use NetworkManager, I've
>> had bad experiences in the past so I just use netctl for all my
>> things. But I found my issue. I was falling back to use the /24 net
>> prefix I'm used to on a typical home network rather that the /29
>> prefix. So I was calculating my broadcast address incorrectly.
>> Realizing this and changing to use the proper broadcast address got me
>> pinging out just great! I'll just script together something to scrape
>> the mmcli output and configure the iface.
>
> Please share your script once you have it, more people may be interested in 
> it.
>
>> I know this isn't the
>> libmbim mailing list, but do you know if there would be interested in
>> a patch against the mbim-network script to allow for iface management?
>
> You mean to setup the static IP configuration instead of DHCP? If so,
> yes yes yes ;)

Yep! That's the plan. I figured it would be pretty useful to some folks.

>
> --
> Aleksander
> https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Configuring network on Sierra EM7455: Lenovo x260

2016-04-20 Thread Aleksander Morgado
On Wed, Apr 20, 2016 at 7:06 PM, Joshua Deare  wrote:
> Thanks for the clarification there. I don't use NetworkManager, I've
> had bad experiences in the past so I just use netctl for all my
> things. But I found my issue. I was falling back to use the /24 net
> prefix I'm used to on a typical home network rather that the /29
> prefix. So I was calculating my broadcast address incorrectly.
> Realizing this and changing to use the proper broadcast address got me
> pinging out just great! I'll just script together something to scrape
> the mmcli output and configure the iface.

Please share your script once you have it, more people may be interested in it.

> I know this isn't the
> libmbim mailing list, but do you know if there would be interested in
> a patch against the mbim-network script to allow for iface management?

You mean to setup the static IP configuration instead of DHCP? If so,
yes yes yes ;)

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Configuring network on Sierra EM7455: Lenovo x260

2016-04-20 Thread Joshua Deare
Thanks for the clarification there. I don't use NetworkManager, I've
had bad experiences in the past so I just use netctl for all my
things. But I found my issue. I was falling back to use the /24 net
prefix I'm used to on a typical home network rather that the /29
prefix. So I was calculating my broadcast address incorrectly.
Realizing this and changing to use the proper broadcast address got me
pinging out just great! I'll just script together something to scrape
the mmcli output and configure the iface. I know this isn't the
libmbim mailing list, but do you know if there would be interested in
a patch against the mbim-network script to allow for iface management?

On Wed, Apr 20, 2016 at 2:16 AM, Aleksander Morgado
 wrote:
> On Wed, Apr 20, 2016 at 6:14 AM, Joshua Deare  wrote:
>>
>> At this point I would think everything would be okay. But when I do this:
>> $ ip addr show wwp0s20f0u3i12
>> 2: wwp0s20f0u3i12:  mtu 1500 qdisc noop
>> state DOWN group default qlen 1000
>> link/ether c6:e0:06:16:32:5c brd ff:ff:ff:ff:ff:ff
>>
>> the device isn't up and/or configured. Am I mistaken that ModemManager
>> takes responsibility for configuring the interface? If I
>> $ ip link set wwp0s20f0u3i12 up
>> then the interface goes into an unknown state. If I also take steps to
>> manually configure the static IP for the interface with iproute2 then
>> I still can't ping out. Ideas here? I'm suffering from "oh I'm so
>> close" syndrome.
>
> ModemManager won't configure the network interface, no. It will expose
> in the Bearer object what to do; in this case it's requesting to set
> the static IP configuration, which you need to do manually. Which are
> the exact iproute2 commands you're using to try to configure the wwan?
>
> But, I believe there may be a quicker way to get you working, if
> you're using NetworkManager, are you? If you're using NetworkManager,
> you just need to run the FCC auth command via cli, and then let the
> MM/NM pair work together to bring up the connection; no need to
> manually create the bearer and all that.
>
>
> --
> Aleksander
> https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: mbim Bearer reports IP_METHOD_DHCP when namesservers are missing

2016-04-20 Thread Dan Williams
On Wed, 2016-04-20 at 17:13 +0200, Andreas Fett wrote:
> Hi,
> 
> any news on this one?
> 
> On 03/12/15 17:54, Dan Williams wrote:
> > 
> > For IPv6 MM should report "DHCP" if there is *any* information
> > missing
> > (DNS or Gateway) because that may have to be acquired via SLAAC or
> > DHCPv6.  MM should also fill in any information it already has,
> > even if
> > it sets DHCP as the method, since this information may not be able
> > to
> > be retrieved from SLAAC or DHCPv6.  Also sometimes there is an
> > IPv6LL
> > address that should be assigned to the modem before performing
> > SLAAC/DHCPv6 which needs to be reported in the IP config.
> > 
> > For IPv4 though, I think MM should only require an IP address to
> > report
> > STATIC; clients already have to handle missing gateway and DNS
> > servers
> > since some modems don't give those (or give wrong ones) so this
> > wouldn't be any different.
> I could provide a patch für v4 case in the mbim-bearer if that would
> be
> sufficient for a start...

Does the following patch work for you?

Dan
From 57a648b25e44a650172bb88d9abb1a5c99770fee Mon Sep 17 00:00:00 2001
From: Dan Williams 
Date: Wed, 20 Apr 2016 11:09:13 -0500
Subject: [PATCH] bearer-mbim: fine-tune bearer IP method reporting

v4: modems/providers may not return DNS servers and not all modems
support DHCP, so lack of DNS servers should not indicate a bearer
IP method of "DHCP".  IP config daemon/scripts already have to handle
missing DNS anyway.

v6: IPv6 requires SLAAC or DHCPv6 as part of the specification, so for
now we assume modems will support it.  Provide all the info the modem
sent, but if there is any missing information use an IP method of
"DHCP" to indicate that info should be obtained via SLAAC/DHCPv6.  Only
use an IP method of "STATIC" when all basic properties are given by
the modem.
---
 src/mm-bearer-mbim.c | 66 ++--
 1 file changed, 43 insertions(+), 23 deletions(-)

diff --git a/src/mm-bearer-mbim.c b/src/mm-bearer-mbim.c
index baf419d..02d27fe 100644
--- a/src/mm-bearer-mbim.c
+++ b/src/mm-bearer-mbim.c
@@ -413,14 +413,13 @@ ip_configuration_query_ready (MbimDevice *device,
 ctx->ip_type == MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6) {
 ipv4_config = mm_bearer_ip_config_new ();
 
-/* We assume that if we have IP and DNS, we can setup static */
+/* We assume that if we have an IP we can use static configuration.
+ * Not all modems or providers will return DNS servers or even a
+ * gateway, and not all modems support DHCP either. The IP management
+ * daemon/script just has to deal with this...
+ */
 if (ipv4configurationavailable & MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_ADDRESS &&
-ipv4configurationavailable & MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS &&
-ipv4addresscount > 0 &&
-ipv4dnsservercount > 0) {
-gchar **strarr;
-guint i, n;
-
+ipv4addresscount > 0) {
 mm_bearer_ip_config_set_method (ipv4_config, MM_BEARER_IP_METHOD_STATIC);
 
 /* IP address, pick the first one */
@@ -441,8 +440,15 @@ ip_configuration_query_ready (MbimDevice *device,
 g_free (str);
 g_object_unref (addr);
 }
+} else
+mm_bearer_ip_config_set_method (ipv4_config, MM_BEARER_IP_METHOD_DHCP);
+
+/* DNS */
+if (ipv4configurationavailable & MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS &&
+ipv4dnsservercount > 0) {
+gchar **strarr;
+guint i, n;
 
-/* DNS */
 strarr = g_new0 (gchar *, ipv4dnsservercount + 1);
 for (i = 0, n = 0; i < ipv4dnsservercount; i++) {
 addr = g_inet_address_new_from_bytes ((guint8 *)&ipv4dnsserver[i], G_SOCKET_FAMILY_IPV4);
@@ -452,8 +458,7 @@ ip_configuration_query_ready (MbimDevice *device,
 }
 mm_bearer_ip_config_set_dns (ipv4_config, (const gchar **)strarr);
 g_strfreev (strarr);
-} else
-mm_bearer_ip_config_set_method (ipv4_config, MM_BEARER_IP_METHOD_DHCP);
+}
 
 /* MTU */
 if (ipv4configurationavailable & MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_MTU)
@@ -465,30 +470,28 @@ ip_configuration_query_ready (MbimDevice *device,
 if (ctx->ip_type == MBIM_CONTEXT_IP_TYPE_IPV6 ||
 ctx->ip_type == MBIM_CONTEXT_IP_TYPE_IPV4V6 ||
 ctx->ip_type == MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6) {
+gboolean address_set = FALSE;
+gboolean gateway_set = FALSE;
+gboolean dns_set = FALSE;
+
 ipv6_config = mm_bearer_ip_config_new ();
 
-/* We assume that if we have IP and DNS, we can setup static */
 if (ipv6configu

Re: mbim Bearer reports IP_METHOD_DHCP when namesservers are missing

2016-04-20 Thread Andreas Fett
Hi,

any news on this one?

On 03/12/15 17:54, Dan Williams wrote:
> For IPv6 MM should report "DHCP" if there is *any* information missing
> (DNS or Gateway) because that may have to be acquired via SLAAC or
> DHCPv6.  MM should also fill in any information it already has, even if
> it sets DHCP as the method, since this information may not be able to
> be retrieved from SLAAC or DHCPv6.  Also sometimes there is an IPv6LL
> address that should be assigned to the modem before performing
> SLAAC/DHCPv6 which needs to be reported in the IP config.
> 
> For IPv4 though, I think MM should only require an IP address to report
> STATIC; clients already have to handle missing gateway and DNS servers
> since some modems don't give those (or give wrong ones) so this
> wouldn't be any different.

I could provide a patch für v4 case in the mbim-bearer if that would be
sufficient for a start...

Andreas




signature.asc
Description: OpenPGP digital signature
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Voice support methods in contemporary modems

2016-04-20 Thread Marcin Szewczyk
On Fri, Mar 11, 2016 at 04:10:24PM -0600, Dan Williams wrote:
> On Fri, 2016-03-11 at 19:17 +0100, Marcin Szewczyk wrote:
> > [...] I am working on a phone-like device that could make a voice
> > call and sometimes send some data over the internet. I am confused,
> > probably because most of documentation on voice modems is from
> > another century.

> There are a couple different classes of devices here.
> 
> First you have typical dongles and mPCI/mPCIE/M.2 cards that use USB.
> Not all of these devices support voice calls though. But the ones
> that do typically expose a normal serial port (eg, ttyUSB3 or
> whatever) that speaks PCM audio. [...] One example is the Huawei
> K3520 USB dongle; many other Huawei dongles have voice support too.
> 
> But the modems usually found in embedded devices or phones have much
> different audio call routing, often because they don't use the main
> CPU for audio processing due to power/battery concerns.  In these
> cases the modem itself handles the audio and is directly connected to
> the DAC/ADC. [...]

My colleague had found a versatile device suitable for embedded
solutions. I have tested its EVB version. I thought it might be
interesting for anybody that finds this thread.

A Simcomm 7100E chip has LTE and comes in 3 versions:
- as a chip,
- as a mPCIe card,
- as a development board (EVB).

> The QMI and MBIM commands are only used to set up the voice calls, but
> don't have any relationship to audio routing.  That would be modem
> dependent. Some have specific pins/lines for the audio, others direct
> it over USB, etc.

> It does look like some mPCI devices do support I2S on the same pins,
> but I have no idea if any of this is standard.
> 
> http://www.telit.com/index.php?eID=tx_nawsecuredl&u=0&g=0&t=1457821946&;
> hash=9f7b2671f9068c04d6ca770e04187bedbdf4e7b5&file=downloadZone/1VV0301
> 006_xE910_Mini_PCIe_Adapter_HW_USER_GUIDE_r10.pdf
> 
> http://www.eltech.spb.ru/files/item/MC8704.pdf

The chip by itself can send and receive digital audio through:
- PCM pins; on mPCIe it uses odd 45-51 pins -- same as the mentioned Telit
  and Sierra modems,
- ttyUSB after issuing an AT command; it works with PCM 16bit, 8kHz,
  Mono, LE.

Additionally when using the EVB, mPCIe (probably) or a self-developed
board with an added codec (ADC/DAC) it can send/receive analog audio
through 1 of 3 channels selected with AT commands. On electrical level
selection is done using I2C communication with the codec (WM8960 on the
EVB).

Manufacturer's website:
http://simcomm2m.com/En/module/detail.aspx?id=86

Russian (distributor's?) website with lots of documentation:
http://mt-system.ru/catalog/besprovodnye-reshenija/gsm-moduli-simcom/linejka-modulej-i-dokumentacija/sim7100e-pci-e

The chip is supported in newer kernels via the option module. Older
kernels are easily patchable:
https://github.com/torvalds/linux/commit/3158a8d416f4e1b79dcc867d67cb50013140772c

Establishing a data connection worked with pppd and Modem Manager 1.5.
Voice connections probably require some simtech plugin patching. I
haven't debugged it sufficiently yet.

-- 
Marcin Szewczyk
http://wodny.org
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Configuring network on Sierra EM7455: Lenovo x260

2016-04-20 Thread Aleksander Morgado
On Wed, Apr 20, 2016 at 6:14 AM, Joshua Deare  wrote:
>
> At this point I would think everything would be okay. But when I do this:
> $ ip addr show wwp0s20f0u3i12
> 2: wwp0s20f0u3i12:  mtu 1500 qdisc noop
> state DOWN group default qlen 1000
> link/ether c6:e0:06:16:32:5c brd ff:ff:ff:ff:ff:ff
>
> the device isn't up and/or configured. Am I mistaken that ModemManager
> takes responsibility for configuring the interface? If I
> $ ip link set wwp0s20f0u3i12 up
> then the interface goes into an unknown state. If I also take steps to
> manually configure the static IP for the interface with iproute2 then
> I still can't ping out. Ideas here? I'm suffering from "oh I'm so
> close" syndrome.

ModemManager won't configure the network interface, no. It will expose
in the Bearer object what to do; in this case it's requesting to set
the static IP configuration, which you need to do manually. Which are
the exact iproute2 commands you're using to try to configure the wwan?

But, I believe there may be a quicker way to get you working, if
you're using NetworkManager, are you? If you're using NetworkManager,
you just need to run the FCC auth command via cli, and then let the
MM/NM pair work together to bring up the connection; no need to
manually create the bearer and all that.


-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel