Erschließung von LTE Cat M1 und NB1 mit dem Pycom FiPy

News from the trenches. Completely unsorted and unscanned. Just for your reference and quick access to what is currently happening upstream on this topic.

Just to let you know things are still in flux here – also on the carrier side.

1 Like

Wenn wir Pech haben müssen wir die Module nochmal einschicken um bestimmte Bänder freizuschalten

https://forum.pycom.io/topic/3843/important-news-regarding-cat-m1-and-nb-iot-cellular-range/8

@rskoniec @Eric-Waai No, you can’t upgrade it yourself. The band information is written in an area on the modem that can only be overwritten with a production programmer and proprietary software. It is the same modem as the previous modules

Dass es die Möglichkeit gibt, dass unsere Module übers RMA müssen, wenn wir das LTE-Modem nutzen wollen, ist schon eine zeitlang bekannt. @tonke hat glaube ich auch schon einmal versucht, das RMA-Verfahren einzuleiten, ich kenne jedoch nicht den aktuellen Stand.

Vielleicht können wir das genauer prüfen und möglichst früh mit den verbleibenden Modulen das RMA-Verfahren einleiten, falls nötig.

Recap

Introduction

There are discussions about whether the FiPy modules in our hands already support Band 8, which is assumed to be required for attaching to the Telekom network through iot.1nce.net in Germany.

Details

After the discussion at Important update regarding LTE modem updates | Pycom user forum dropped off in October 2018, @robert-hh reported success around March 2019, which we already cited above, see also Erschließung von LTE Cat M1 und NB1 mit dem Pycom FiPy - #32 by Andreas.

More details

When inspecting some modules on my desktop, it appears they are running the most recent CATM1-39529 firmware for the Sequans Modem to support CAT-M1.

If you want to switch to NB1 or upgrade to more recent firmware versions, Introduction will be the right place to follow.

DIY

We will outline some AT commands picked up from the Pycom Forum to enable you checking details with your modem. We are currently running

Pycom MicroPython 1.20.0.rc11 [v1.9.4-0a38f88] on 2019-05-14; FiPy with ESP32

First, check into a REPL.

$ make repl

Then, execute some Python commands.

Check modem capabilities

from network import LTE
lte = LTE()
lte.send_at_cmd('AT!="RRC:setDbgPerm full"')
print(lte.send_at_cmd('AT!="RRC:showcaps"'))

Output

== CAPS ====================================

  . access stratum: R13
  . catM          : 1
  . nb-IoT        : 0

-- EUTRA bands --
  . supported     : 28/20/13/12/8/5/4/3
  . board         : 3/4/5/8/12/13/20/28

So, this module well supports band 8, as lte.attach(band=8, apn="iot.1nce.net") also invokes without croaking. Otherwise, you might receive things like

>>> lte.attach(band=8, apn="iot.1nce.net")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: band 8 not supported

Check modem firmware version I

print(lte.send_at_cmd('AT!="showver"'))

Output

SYSTEM VERSION
==============
  FIRMWARE VERSION
    Bootloader0* : 5.1.1.0 [39529]
    Bootloader1  : NA
    Bootloader2  : NA
    NV Info      : 1.1,0,0
    Software     : 5.1.1.0 [39529] by robot-soft at 2018-09-28 16:07:40
    UE           : 5.0.0.0d
  COMPONENTS
    ZSP0         : 1.0.99-13616
    ZSP1         : 1.0.99-12355

OK

Check modem firmware version I

Also, this is the information presented by sqnsupgrade:

>>> import sqnsupgrade
>>> sqnsupgrade.info()

Output

<<< Welcome to the SQN3330 firmware updater [1.2.5] >>>
>>> FiPy with firmware version 1.20.0.rc11
Your modem is in application mode. Here is the current version:
UE5.0.0.0d
LR5.1.1.0-39529

IMEI: {redacted}

This output means that the modem is effectively running firmware CATM1-39529, which seems to be the most recent one for CAT-M1 as of 2019-07-17, see also Introduction.

Conclusion

Band 8 seems to be supported by the current configuration of the specific devices on my desktop, at least for CAT-M1. If CAT-NB1 would be the way to follow, we should revisit this.

2 Likes

@robert-hh and also others confirm everything should work with the newest board and the newest firmware.

But also, the hardware thing still holds true:

For me, it is actually reading “FiPy V1.2” – so all should be good if all FiPys around us come from the same batch already.

Please also be aware that

1 Like

Some more commands…

from network import LTE
lte = LTE()
lte.send_at_cmd('AT!="RRC:setDbgPerm full"')

Modem info

# Display DL SYNCHRO STATISTICS and SYSTEM FSM information
print(lte.send_at_cmd('AT!="showphy"'))
print(lte.send_at_cmd('AT!="fsm"'))

LTE driver appears to be stopped? | Pycom user forum

AT-based help

# Display list of supported AT commands
print(lte.send_at_cmd('AT+CLAC'))

# Display list of all Sequans specific commands
print(lte.send_at_cmd('AT!="help"'))

# How to use the AT-based help
print(lte.send_at_cmd('AT!="help help"'))

Important update regarding LTE modem updates | Pycom user forum

Examples

Some example commands at your service.

# Display network configuration
print(lte.send_at_cmd('AT!="ifconfig"'))

# Print network connections
print(lte.send_at_cmd('AT!="netstat"'))

# Show the system time
print(lte.send_at_cmd('AT!="showTime"'))

# Show the system logs
print(lte.send_at_cmd('AT!="showLogs"'))
print(lte.send_at_cmd('AT!="getLogs"'))
print(lte.send_at_cmd('AT!="printLogs"'))

# Print cpu information
print(lte.send_at_cmd('AT!="cpuinfo"'))

# Display memory status
print(lte.send_at_cmd('AT!="mem"'))

# Dump eCos tasks
print(lte.send_at_cmd('AT!="infoAllTask"'))

# List contents of directories in a tree-like format
print(lte.send_at_cmd('AT!="tree"'))

# Display current state
print(lte.send_at_cmd('AT!="state"'))

# Request to power on
print(lte.send_at_cmd('AT!="powerOn"'))

# Request to power off
print(lte.send_at_cmd('AT!="powerOff"'))

UCI options

>>> print(lte.send_at_cmd('AT!="help"'))

    UCI   show                   Show UCI options
    UCI   get                    Get UCI option
    UCI   set                    Set UCI option
    UCI   delete                 Delete UCI option

# Show UCI options
print(lte.send_at_cmd('AT!="UCI::show"'))

# Show value of specific UCI option
print(lte.send_at_cmd('AT!="UCI::get sqnsms.generic.moSmsType"'))

Moar

print(lte.send_at_cmd('AT!="CBE::showVersion"'))
print(lte.send_at_cmd('AT!="RRC::showCaps"'))
print(lte.send_at_cmd('AT!="L1P::getDebug"'))

External resources

1 Like

Habe erwartet, dass man per einfachen Software-Switch von CAT-M1 zu CAT-NB1 wechseln kann, @Ron sagte aber auch was von Modem-Firmwareupdate, weiß nicht, ob das immer sein muss, wenn man von CAT-M1 zu CAT-NB1 wechselt oder anders herum oder nur weil man in DE ein update für andere Kanäle braucht.

Bisher hatten @tonke und ich es so verstanden, dass man die Modem-Firmware je nach Betriebsart wechseln muss und dachten, das wäre bereits ins kollektive Bewusstsein übergegangen. Die drüben bei Erschließung von LTE Cat M1 und NB1 mit dem Pycom FiPy aufgeschnappten capabilities lassen auf entsprechendes schließen:

== CAPS ====================================

  . access stratum: R13
  . catM          : 1
  . nb-IoT        : 0

Im Pycom-Forum bei FiPy, NB-IoT, 1nce/ Telekom.de germany: fails, no band 8 support? | Pycom user forum finden sich allerdings Dumps von anderen, die zeigen, dass u.U. beide Varianten gleichzeitig unterstützt werden könnten. Who knows?

== CAPS ====================================
  . access stratum: R13
  . catM          : 1
  . nb-IoT        : 1

We just asked for clarification about dual-mode modem support at Connection to NB-IOT issues. How to get logs | Pycom user forum.

@robert-hh promptly answered our question. Thanks again!

Hm… stellt sich erst recht die Frage, wie andere dann im pycom-Forum dies hinbekommen haben:

Gedanken

Genau. Vielleicht haben die Entwickler bei Sequans die entsprechende auf eCos basierende Software-Implementierung aufgemöbelt und darin nun doch beide Modi zeitgleich ermöglicht. Wäre diese These an der Grenze zwischen Theorie und Praxis grundsätzlich denkbar?

Wir sollten diesem Ratschlag vermutlich folgen, die CATM1-39529 Firmware hinter uns lassen und die NB1-41019 Firmware aufspielen – v.a. vor dem Hintergrund, dass NB1 ohnehin schon zugänglicher zu sein scheint als M1. Vielleicht sehen wir dann mehr.

Vermutung: Vielleicht galt die Trennung nur für den Prototypen der Firmware Monarch LR-5.1.1.0. Mittlerweile scheint die Reisegruppe bei Monarch LR-6.0.0.0 angekommen zu sein – vielleicht aber auch nur in Form der Pycom-Kohorte als Betatester ;].

Direct download

https://software.pycom.io/downloads/sequans.html

Sequans CAT-M1 firmware

Sequans NB-IoT firmware


image

German is easy! – “Die Sonne scheint zu scheinen.”
Bananenprinzip – Wikipedia

1 Like

Updated documentation for LR6.0.0.0

Die Community scheint ebenfalls auf eine neue AT-command Referenz zu warten.

https://forum.pycom.io/topic/3736/documentation-of-monarch-platform

AT+CFUN fun

Updated documentation for LR6.0.0.0

A link to a historic version of a document at Pycom might give some clues

The latest Cat-M1 firmware is the following:

UE5.0.0.0d
LR5.1.1.0-36417

And this is the latest NB-IoT firmware:

UE6.0.0.0
LR6.0.0.0-37781

Sequans Monarch SQN3330 » Firmware upgrade @ Jul 19, 2018


There’s also a snippet how the modem maybe had to be initialized when operating in NB1 mode.

However, this documentation is from 2018 so it might well be outdated.

Hier wird beschrieben, wie man die Modem-Firmware über die SD-Karte aktualisieren kann und so wie betrachtet könnte das auch zur Laufzeit funktionieren. Trotzdem Miau – will man eigentlich nicht unbedingt so machen – oder doch!?

Auf jeden Fall ist es nach dem aktuellen Stand vermutlich noch nicht so einfach möglich (oder wird es niemals sein) wie die Betriebsart einer WiFi-Schnitte von STA auf AP oder umgekehrt umzustellen.

Die Anzahl der Alternativen ist sehr überschaubar, und jede hat jeweils ihre eigenen obstacles:

  • FOTA: geht hier sowieso nicht, nicht weiter nachdenken.

  • wenn Du erst den Provider / die Weltgregion / Funkbetriebsart einstellen mußt, damit das an Deinem Standort geht, kannst Du auch 2019 noch per XMODEM sogar 4G-Modems per USB oder per CDC ACM-Serieller flashen.

1 Like

JFYI: I ordered this week some FiPys from dutch distributor Antratek: All boards are v1.2 as printed on the board (although the label on each plastic box states incorecctly “v1.0”!).

1 Like