Sierra MC7354: Drowning in "bearer verbose call end reason (6,36): [3gpp] regular-deactivation"
Einar Jón
tolvupostur at gmail.com
Tue Aug 21 16:05:44 UTC 2018
Thanks for that.
Info below
On Mon, 20 Aug 2018 at 23:31, Aleksander Morgado
<aleksander at aleksander.es> wrote:
>
> Hey,
>
> >
> > I am using the Sierra MC7354 modem, and we are getting unusual
> > disconnects on AT&T in the US. Vodafone is fine on the same modems,
> > and this only seems to happen on 4G. AT&T 3G seems to work.
> >
> > We start out connected, but after a bit of time we hit
> > "gsm-wcdma-regular-deactivation/[3gpp] regular-deactivation", and then
> > we're spamming the log file with those messages (up to 240 lines/sec).
> > Logs below.
> > Similar to this post, but seems mostly unrelated.
> > https://lists.freedesktop.org/archives/modemmanager-devel/2017-February/003988.html
> > We opening/closing PDP connections during this period, but there is no
> > connectivity.
> >
> > Questions:
> > 1) Any ideas what is happening?
>
> Nope
>
> > 2) should I be calling ifdown when I hit 'state changed (connected ->
> > registered)' ?
> >
>
> Are you using NetworkManager as well as ModemManager? Or how do you
> setup the network interface?
I'm using a Python script that listens to ModemManager events, and
reacts to them.
As it turns out, I think I really should be calling ifdown when I hit
'state changed (connected -> registered)'
> > We have been in touch with both Sierra and AT&T, but they say that
> > libQMI is unsupported. so there is not much help there.
> >
>
> Oh well. This is, I would say, NOT related to libqmi in any way. If
> they told you this, you should be able to recreate a small test using
> Sierra's SDK and see if/how it is reproduced. This is probably your
> best shot I'd say, given the type of problem.
True. I have more logs, and it turns out that we are just losing connection:
Aug 4 21:29:12 armxl ModemManager[944]: <info> bearer call end
reason (1): 'generic-unspecified'
Aug 4 21:29:12 armxl ModemManager[944]: <info> bearer verbose call
end reason (3,1028): [cm] (null)
Aug 4 21:29:12 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connected ->
registered)
Aug 4 21:29:12 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (registered ->
connecting)
Aug 4 21:29:12 armxl ModemManager[944]: <info> error: couldn't start
network: QMI protocol error (14): 'CallFailed'
Aug 4 21:29:12 armxl ModemManager[944]: <info> call end reason (3):
'generic-no-service'
Aug 4 21:29:12 armxl ModemManager[944]: <info> verbose call end
reason (3,2001): [cm] no-service
Aug 4 21:29:12 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connecting ->
registered)
If I don't call ifdown, we get into a weird state, where we get a new
IP address, but I don't bother to call ifup on that new IP address, so
the handshake isn't finalized.
So the modem requests another IP address every 40-50 seconds, while
looping through these states:
<lots of "regular-deactivation" lines deleted>
Aug 4 22:10:33 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connected ->
registered)
Aug 4 22:10:33 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (registered ->
connecting)
Aug 4 22:10:33 armxl ModemManager[944]: <info> Address: 10.192.XX.YY/30
Aug 4 22:10:34 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connecting ->
connected)
Aug 4 22:10:48 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connected ->
registered)
Aug 4 22:10:49 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (registered ->
connecting)
Aug 4 22:10:49 armxl ModemManager[944]: <info> Address: 10.192.YY.ZZ/29
Aug 4 22:10:49 armxl ModemManager[944]: <info> Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (connecting ->
connected)
So note to self:
Always call ifdown when I hit 'state changed (connected -> "any other state")'
> > Setup
> > Sierra MC7354 modem
> > ModemManager 1.6.2
> > libQmi 1.16.0
> > Arm linux - kernel 3.14
> >
> > I'm using buildroot, so upgrading libQmi (to 1.18.0 or 1.20.0) and
> > ModemManager (to 1.6.8 or 1.8.0) would be doable. Are there any
> > additional benefits in the newer versions regarding this issue?
>
> Well, those versions are extremely old. Please upgrade to the newest
> ones and retry, to avoid any possible issue that may already have been
> fixed. Those upgrades should be 100% compatible.
Upgrade done, but it's unrelated.
Behaves the same on the new libs, but should be fixed by calling
ifdown. In testing as we speak.
--
Regards
Einar Jón
> --
> Aleksander
> https://aleksander.es
More information about the ModemManager-devel
mailing list