How can I make ModemManager work right?

Jeonghum Joh oosaprogrammer at gmail.com
Mon May 4 06:28:16 UTC 2020


Hello Alexander,

>From the log file I uploaded/attached, I found one problem.
Our modem talks with a specific settings - /dev/ttyUSB1, baudrate:115200,
parity:none, data:8, stop:1, flow:xon_xoff.
But ModemManager tried with baudrate 57600 only.

Can I change baudrate and other settings to fit to mine?
If so, where can I configure these parameters?

Thank you very much in advance!

Jeonghum



2020년 5월 4일 (월) 오후 12:06, Jeonghum Joh <oosaprogrammer at gmail.com>님이 작성:

> Hello, Alexander
>
> Thank you for the reply message.
>
> I retested my linux box with your recommendation and got a log message.
> I attach the log file in this email but I wonder if the attached file can
> be uploaded to the maillist also..
>
> I used the device path you suggested -
> "/sys/devices/platform/1a0c0000.usb/usb2/2-1 ".
> And I added "--debug" at the last of command in the file
> /etc/init.d/modemmanager as shown below:
>
> procd_set_param command /usr/sbin/ModemManager --debug
>
> And I rebooted my linux box and wait some time and got this log file via a
> command below:
>
> "logread > logread.log"
>
> When I invoke mmcli commands, it spits out an error message:
>
> root at LEDE:~# mmcli -L
> error: couldn't create manager: Timeout was reached
>
> root at LEDE:~# mmcli -m 0
> error: couldn't create manager: Timeout was reached
>
> Could you figure out what went wrong?
>
> Thank you very much in advance!
> Jeonghum
>
> 2020년 4월 30일 (목) 오전 12:33, Aleksander Morgado <aleksander at aleksander.es>님이
> 작성:
>
>> Hey,
>>
>> See comments below.
>>
>> >
>> > I am newbie in the ModemManager world.
>> > I am developing a router which has 5G Modem as one of WAN I/F.
>> >
>> > The WAN I/F works now with a modem vender's CM software.
>> > But we want our product to be independent from specific modem H/W.
>> > So I guessed utilizing ModemManager would be beneficial than utilizing
>> modem vender specific CM software.
>> > So I am now trying to use ModemManager.
>> > I've just firstly tried applying ModemManager instead of vender
>> specific CM. And of course, this first trial failed.
>> >
>> > I will let you know my testing environment. Could you please give some
>> advice to me about what to do next?
>> >
>> > ==== Testing environment ====
>> >
>> > Target Model        : MediaTek MT7622 AC4300rfb1 board
>> > Firmware Version : LEDE Reboot 17.01-SNAPSHOT unknown / LuCI
>> > Kernel Version      : 4.4.124
>> > Modem                 : HUCOM HM-900
>> > ModemManager
>> > Version                 : 1.12.8
>> > menuconfig          : (QMI on, MBIM off)
>>
>> Did you enable libqmi? and CONFIG_MODEMMANAGER_WITH_QMI?
>>
>> > git clone URL        :
>> https://github.com/openwrt/packages/tree/master/net/modemmanager
>> >
>>
>> If you're running openwrt, you should better use the official openwrt
>> packaging, which doesn't use that github URL, it uses the official
>> release tarball instead.
>>
>> > Noted Device Files : Those files and paths are noted/watched
>> > qmichannel                                            : /dev/cdc-wdm0
>> > usbnet_adapter                                      :
>> /sys/class/net/wwan0
>> > /sys/bus/usb/devices/2-1/manufacturer : QCOM
>> > /sys/bus/usb/devices/2-1/idVendor        :05C6
>> > /sys/bus/usb/devices/2-1/idProduct       :90db
>> > /sys/bus/usb/devices/2-1/speed             :5000
>> > /sys/bus/usb/devices/2-1/product          :SDXPRAIRIE-MTP _SN:B02CE51B
>> > /sys/bus/usb/devices/2-1/version           :3.20
>> > /sys/bus/usb/devices/2-1:1.2/net/wwan0
>> > /sys/bus/usb/devices/2-1:1.2/net/wwan0/device/driver
>> > /sys/bus/usb/devices/2-1:1.2/net/wwan0/device
>> > /sys/bus/usb/devices/2-1:1.2/usbmisc/cdc-wdm0
>> > /sys/devices/platform/1a0c0000.usb/usb2/2-1/2-1:1.2
>>
>> Ok, so this is a QMI modem and correctly detected by the kernel it seems?
>> Once the modem is exposed in the system, is it also detected by
>> ModemManager itself?
>> Could you setup /etc/init.d/modemmanager to launch the daemon with
>> --debug?
>> Does the modem info show when you run "mmcli -m 0" ?
>>
>> >
>> > Kernel modules watched via lsmod
>> > cdc_wdm                 8821  1 qmi_wwan
>> > qmi_wwan                6252  0
>> > usbcore               153512 20
>> option,usb_wwan,qmi_wwan,cdc_ncm,cdc_ether,usbserial,usbnet,usblp,cdc_wdm,cdc_acm,usb_storage,xhci_mtk,xhci_plat_hcd,xhci_pci,xhci_hcd,uhci_hcd,ohci_platform,ohci_hcd,ehci_platform,ehci_hcd
>> > usbnet                 19027  3 qmi_wwan,cdc_ncm,cdc_ether
>> >
>> > Above is original environment.
>> > On this circumstances, I disabled CM provided from modem provider :
>> hucom-cm
>> > And I added one configuration section into the bottom of
>> /etc/config/network :
>> > config interface 'broadband'
>> >         option device
>> '/sys/devices/platform/1a0c0000.usb/usb2/2-1/2-1:1.2'
>>
>> I believe the correct device path is
>> '/sys/devices/platform/1a0c0000.usb/usb2/2-1'.
>>
>>
>> >         option proto 'modemmanager'
>> >         option apn '5g-internet.sktelecom.com'
>> >         option username ''
>> >         option password ''
>> >         option pincode ''
>> >         option lowpower '1'
>> >
>> > Under these settings, I confirmed that
>> > - hucom-cm is disabled
>> > - ModemManager is alive
>> >  4430 root      229m D    /usr/sbin/ModemManager
>> >
>> > The wwan0 is not shown from ifconfig and ping 8.8.8.8 fails saying
>> Network is unreachable.
>> > So, My first trying to utilize MM seemed to be failed.
>> >
>> > Originally hucom-cm sets bridge mode like shown below:
>> > BRIDGE_MODE_FILE : /sys/module/qmi_wwan/parameters/bridge_mode
>> > BRIDGE_IPV4_FILE    : /sys/module/qmi_wwan/parameters/bridge_ipv4
>>
>> Do you know why that connection manager sets that up?
>>
>> > But under ModemManager these files are not shown.
>> >
>> > And I've found many plugin libraries under /usr/lib/ModemManager:
>> > libmm-plugin-altair-lte.so     libmm-plugin-mtk.so
>> libmm-plugin-thuraya.so
>> >
>>
>> Yes, there are lots of vendor-specific plugins. But if your device is
>> QMI based, you're probably fine with the generic plugin for now.
>>
>> > Could someone help me?
>> >
>> > Do I need to look deeper into ModemManager?
>>
>> See the comments above. You should at least run MM with --debug to see
>> all the inner messages sent/received to/from the modem.
>>
>> > Do I need to implement new plugin library for our product?
>>
>> Maybe. It depends on whether the generic QMI implementation is enough or
>> not.
>>
>> > Or do I need to forget about ModemManager?
>> >
>>
>> That is up to you :D
>>
>> > My already given hucom-cm anyway works. It brings data via wwan0 and
>> establish network interface wwan0.
>> > Problem is that hucom-cm sets up firewall rules and routing settings
>> redundantly and unnecessarily. So I can make it not to do these unneeded
>> settings. This way would be good approach I believe.
>>
>> ModemManager doesn't do any of those things, it just integrates with
>> the standard netifd in openwrt and netifd is the one doing the real
>> management of the connection.
>>
>> > But we'd like to make our product indepecntant from specific modem. I
>> guessed that opensource ModemManager infrastructure would give us some sort
>> of independence from specific modem and in other words it would give some
>> abstraction..
>>
>> Yes, that is the main purpose of ModemManager. One API to rule them all!
>>
>> >
>> > I am not sure of anything. Could someone give me some light so that I
>> can find the best way to go?
>> >
>>
>> Hope my answers above will help you.
>>
>> > Additional question : If I write our own logic as a plugin library of
>> ModemManager, wouldn't it necessarily have to stick to GPL? Can we apply
>> commercial license for the plugin?
>> >
>>
>> You cannot use a commercial license for the plugin; the plugin would
>> need to be GPL, as the ModemManager daemon sources.
>>
>> Cheers!
>>
>> --
>> Aleksander
>> https://aleksander.es
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20200504/b33e2602/attachment.htm>


More information about the ModemManager-devel mailing list