Question about modemamanger and usage of qmi_wwan instead of simcom_wwan for sim7600

Hi,

I’ve seen the usage of simcom_wwan instead of qmi_wwan is adviced when using the simcom SIM7600 module.

https://www.waveshare.com/w/upload/4/46/Simcom_wwan.zip

I had contact with Simcom about this and they answered that it’s recommended to use this driver instead of the qmi_wwan one. I was wondering if Balena could clarify this for me a bit.

Kind regards,

Martijn

Hello @neonlink

I have user the simcom7600g on my balenaFin and it worked well without needing any special driver. Could you please confirm what hardware are you using and what balenaOS + supervisor versions?

Thanks

Hello @neonlink is this working for you now?

Let us know if that’s the case or how we can help you more :slight_smile:

Hi @mpous Yes it’s working in my project. But i’m doubting about signal stability over a long period. I’m using mqtt python lib which requires a stable connection. My environment monitors availabilty of the device. Sometimes it has issues with stability of signal on specific locations, which restarts modemmanger or reboots device. It’s not often but happens. I am wondering if this could be on a network level or driver level, or hardware level. It’s difficult to conclude something i’ve noticed .

Could you please confirm the simcom_wwan or qmi_wwan versions you are running? What device are you using?

We will try to reproduce!

Thanks

qmi_wwan

  • Raspberry Pi 3 (using 64bit OS)
  • balenaOS 2.65.0+rev1
  • supervisor 12.2.11

@neonlink what pi hat are you using to connect the simcom modem? Thanks

raspberry pi 3b and raspberry pi 3b+

@neonlink did you try to upgrade the balenaOS to the latest version?

On the other hand what hat are you using to connect the modem? Thanks!

Thanks for the answer.

The devices are on a 4G connection in a not very easily accessible closed environment. When I do a update of the OS I want to do this controlled manner and with a very good reason.

Could you tell me what yocto changes github changes are done to see the possible output it could have when updating?

Just to summerize serveral issues came up during a 2 year running devices.

  • Supervisor container was too dependend of having the correct clock set, which resulted in specific cases containers didn’t start for sometimes more than 24 hours. Digged through the Yocto code on github and found that it should be fixed now.

  • Mobile providers differ from each other. Some providers have a more stable connection than other ones, which surprised me.

  • Had issues with nationwide outage of Vodafone NL. That was a pain in the ass. Which resulted in very weird behaviour of modemmanager.

Things we’ve done to fix these problems:

  • Issues with versions of Simcom firmware. One even it was impossible to get LTE working and only 2G

  • modemmanager disabled services in containers to avoid conflicts between modemmanager on OS and container

  • Use bash command to validate if modem still exists together with validating if device is still connected in a interval of 30 seconds. This combined with power off on GitHub - mvp/uhubctl: uhubctl - USB hub per-port power control and reset modemmanger resulted in fast recovery of connection

  • Checking internet connection if above fails. And checking internet connection every 15 minutes next to this process.

  • listen to Modemmanager bus for statusses that where communicated to the cloud together with signal quality monitoring to check if there are environment influences, badly connected or positioned antennas.

  • We monitor retry recieve, sent of data supplied by modemmanager, which gives us insight in stability of connection. y axis megabytes usage x axis week in time examples:

balenaOS 2.65.0+rev1
supervisor 12.2.11

Example of less stable connection with 67% signal quality on LTE

80% signal quality LTE which is accepable

62% signal quality on LTE reached 305 mb without retry. This one in the center of large city in The Netherlands which is a big difference between this one and above examples.

All on same mobile provider, but different locations. I’m updating to latest on local test devices to see what the impact 2.80+rev1