Thread (1 message) 1 message, 1 author, 2014-11-12

Re: Understanding what's going on when using a Huawei E173 USB 3G web-stick (UMTS/HSPA)

From: Sedat Dilek <hidden>
Date: 2014-11-12 13:21:59

On Tue, Nov 4, 2014 at 5:55 PM, Dan Williams [off-list ref] wrote:
On Tue, 2014-11-04 at 16:11 +0100, Sedat Dilek wrote:
quoted
Hi,

I wanted to understand what is going on the kernel-side when
connecting to the Internet via a Huawei E173 USB web-stick (3rd
Generation: UMTS / HSPA).

Especially the correlation between the diverse USB/NET kernel-drivers
and how the networking is setup.
[ Sitting in front of a foreign Windows machine ]

[ CC Aleksander ]

Hi Dan,

sorry for the late (and short) response.

AFAICS you have given a "skeleton" for a "usb-wwan-networking"
documentation :-).

Personally, I would like to take into account some kernel-config
options and some more things.
General overview:  there are many different types of WWAN devices and
they fall into a couple groups:

1) PPP-only via serial ports; IP packets are transmitted via a PPP
interface (eg, ppp0) created after sending some AT commands to the modem
over that serial port.  IP addressing happens via PPP's IPCP/IPV6CP
protocols.

2) Net interface with AT commands over serial ports: the modem provides
a 'net' interface that is activated with proprietary AT commands over a
serial port. IP addressing happens via either DHCP on that net interface
after the AT setup, or the IP/DNS details are queried via proprietary AT
commands.

3) Net interface with proprietary protocols: the modem provides a 'net'
interface that is activated via proprietary protocols (QMI, MBIM, CnS,
etc).  IP addressing happens either via DHCP on the net interface after
proprietary protocol setup, or the IP/DNS details are queried via
proprietary protocol commands.

It's often possible to know what category a device fits into, but even
devices from the same manufacturer with *the same model number* can fall
into different categories, because the firmware is different, or because
the firmware can switch between these categories using special commands.
As I have a ppp0 network-interface setup, I guess I have the example #1 here.

What about putting these examples into a section "General Overview:
WWAN devices".
quoted
I have tested a Ubuntu trusty kernel on my Ubuntu/precise system and
compared the configs to get the stuff run on 3.18-rc2+.
Beyond the "option" driver, I required usb_serial / usb_wwan to be
activated and some more ("cde-ether" or sth. sound similiar...).
( Currently, I am not sitting (it's a Windows machine) in front of my
machine, so I cannot send you my latest kernel-config. )

As usually I looked into Documentation directory.
So, my 1st question where do I get some informations in general on
this topic - usb [1] or net subdirectory (seen from kernel-side)?
I found a usb-serial kernel-doc [1].
( I have no Linux Git source so I cannot grep for patterns. )
None of those really have any information about WWAN specific setup, and
I fear that if documentation was added, it would be quickly out-of-date
because device manufacturers change things so frequently.
Anyway as said above a brief documentation would be nice.
Dunno placed below "networking" or "usb" - what is your POV?
quoted
The next mystery is what is network-manager doing in the background?
I have seen that modem-manager is invoked, but as said I would like to
understand the "internas" (means check the logs, turn on some
debugging kernel-space/user-space, etc.).
NetworkManager uses ModemManager for all WWAN control, NM only handles
the configuration storage and IP addressing parts of the setup.
ModemManager handles modem hardware detection, capability detection,
WWAN registration and setup, signal strength reporting, network
connection initiation, and bearer IP addressing method determination.
Hmm, as I have a GUI hiding what's going on behind the scenes :-), I
wanted to have a step-by-step understanding - not only in words - also
understanding my logs.

What about putting this section in sth. like a "(General Overview:)
Userland software".
If you want more information from ModemManager, you can run "mmcli
--help" or "mmcli --set-logging=debug".
That sort of information could be placed in a "Debugging (userland)" section.
Or at least with some links to what Alexander pointed to.

What sort of debugging can I do from kernel-side (-> "Debugging kernel-side")?
quoted
I am not sure but syncing with 3G network seems to take a while since
I really can connect to the Internet.
What do you mean by "syncing"?
"Syncing" means here setting up my Internet 3G (PPP) connection or
more precisely after I plugin my USB Internet-stick (usable in my
Linux OS) it takes some time to check for the next 2G/3G "attenna
tower" or "receiver/transmitter mast" (translation according to
<dict.leo.org>).
Checking my dmesg...
My eth0 is setup within 25secs and ready to receive/send from/to my
network-interface, whereas my PPP connection around 72secs.
As I have no automatic dialin selected in NM, I have to activate...
* 1st "mobile broadband"
* and then select the (provider) profile in a second step
So we are talking about 1 minute after login into my desktop, I can
live with that.
What I had in mind is... How can I accelerate/speedup (and establish)
an Internet 3G connection.

If you can give me your guidance, I am willing to write down a 1st
draft of a "usb-wwan-networking" documentation (currently I am really
busy with daily life and I hope I find some minutes).
I am looking for a "YES, I will." :-).

Regards.
- Sedat -
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help