How can I make ModemManager work right?
Jeonghum Joh
oosaprogrammer at gmail.com
Mon May 4 03:06:41 UTC 2020
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/81a9a1bc/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logread.log
Type: application/octet-stream
Size: 62110 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20200504/81a9a1bc/attachment-0001.obj>
More information about the ModemManager-devel
mailing list