Huawei E8278: already online but failed NDISDUP

Dan Williams dcbw at redhat.com
Thu May 26 15:51:46 UTC 2016


On Tue, 2016-05-24 at 10:56 -0600, Daniel Drake wrote:
> Hi,
> 
> I'm trying to get this Huawei E8278s-603 modem working. USB
> descriptors after modeswitch:
> https://gist.github.com/dsd/12ca05b7d804b69e4572f4aa10497583#file-usb
> -descriptor-after-mode-switch
> 
> Testing with ModemManager git master from today and NM-1.2.2.
> ModemManager detects it, but after configuring a connection, it
> immediately fails to connect.
> 
> This modem is actually more of a WWAN router: it creates a wifi
> network, runs a DHCP server, acts as a gateway there, etc. You do not
> even need to connect it to a computer, instead you can just connect
> it
> to any USB power source and then clients can get online via the wifi
> network.

For Huawei devices it's called "HiLink" mode, and quite a few devices
have it.  Other OEMs are starting to do this as well.  I think
ModemManager should recognize these devices instead of completely
ignoring them, since it can be useful to send SMS, get connection
properties (LTE, HSPA, signal, etc) even when the device is configured
as a USB ethernet device.

So with that in mind, the question is how to figure out that the device
is capable of HiLink/ethernet mode and expose that somehow to
connection managers.

If you could run these commands on cdc-wdmX or whatever other serial
port the device exposes, what are the results?

AT^U2DIAG?
AT^U2DIAG=?

Dan

> But in this case I would like to get connected over USB.
> 
> Under Windows it seems to be driven entirely as a USB-ethernet
> device,
> I can't find any hints of any modem-like functionality in the shipped
> software. The adapter is given an IP in the 192.168.1.x subnet. If
> the
> connection is down, SIM is disconnected, etc, all http requests get
> redirected to a web interface at http://192.168.1.1 where modem-like
> functions can be managed (APN config, etc).
> 
> Under Linux the appropriate huawei_cdc_ncm interface gets created,
> but
> also some serial ports, and ModemManager seems more interested in
> driving this as a modem. Here are the logs from plugin:
> https://gist.github.com/dsd/12ca05b7d804b69e4572f4aa10497583#file-deb
> ug-log-when-modem-is-plugged-in
> 
> At this point the modem is actually online (the APN details were
> previously set in the router's web interface): the LED state
> indicates
> that, and if I manually bring up the cdc network interface and run a
> DHCP client, I get a (local) IP and can get online.
> 
> But I'm not able to make this work with NetworkManager/ModemManager.
> ModemManager wants me to configure the APN details etc, so I do, but
> then it fails immediately when connecting:
> https://gist.github.com/dsd/12ca05b7d804b69e4572f4aa10497583#file-deb
> ug-log-when-trying-to-connect
> 
> AT^NDISDUP=1,1 returns "ERROR" and that seems to halt the process.
> 
> Strangely, if I try NDISDUP with a different call ID
> (AT^NDISDUP=2,1),
> I get an ^NDISSTAT report showing that it's now connected, but then
> the device immediately disappears from the USB bus, reconnects, and
> we're back to square 1.
> https://gist.github.com/dsd/12ca05b7d804b69e4572f4aa10497583#file-deb
> ug-log-when-sending-ndisdup-with-call-id-2
> 
> Same if I wait for the connection to be dropped due to inactivity
> (which I can observe on the LED state), and do NDISDUP=1,1 - now the
> response is no longer "ERROR", instead it is more positive like in
> the
> above log, but again the device goes away right after...
> 
> Any thoughts? How can we make this device work?
> Remember that it is actually already online - we just need to make
> NM/MM believe that.
> Is there a way we can detect this kind of device and just drive it as
> simple ethernet?
> 
> Thanks
> Daniel
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


More information about the ModemManager-devel mailing list