[PATCH] New Modem Manager Plugin for GCT Semiconductor's GDM724X usb devices
wkang77 at gmail.com
Wed Aug 14 04:01:24 PDT 2013
Thank you so much for the review.
> I'll assume each ethernet device (eg lteXpdnX) can support one EPS
> bearer at a time, correct? If that's the case, then is there any way to
> tell the modem at attach time which port to use? Or does the modem use
> one port for IPv4 and one for IPv6 and not tell which port it's going to
> use except through %GCTNETCFG?
Yes, each network interface is to be used for a single bearer. It can
be IPv4, IPv6 or both at the same time (e.g. Verizon). Unfortunately,
the network interface gets chosen by the modem firmware and MM needs
to know which one is to be used. This is because of the IMS pdn, which
optionally gets connected automatically. The order of PDN connections
determines which NIC is assigned accordingly. Therefore there is no
other way for MM to know which NIC to use.
> What the code is currently relying on is the modem firmware *and kernel*
> to always map the same data port to the same USB interface number,
> which is fine. But then what the ModemManager plugin should do is to
> read the USB interface number from the kernel, and use *that* to
> determine which data port is which (and cache that number on each data
> port at probe time, instead of doing it each dial).
The modem has only 2 USB interfaces, one for NICs and the other for
TTYs (AT port, and monitoring port). It is not the case anymore, but
the original interfaces were designed to have as much similarities
with CDC ethernet and acm. Each interface is therefore multiplexed.
One USB interface is used by all 4 NICs requiring the kernel driver to
have an index for network packets. The same goes for the AT port and
I am not quite sure if I explained what you asked for. Please let me
know if not.
More information about the ModemManager-devel