Skip to main content

impOS Release 46

Current version: 46.12

New Features And Improvements

The primary role of impOS 46 is to add generic Quectel modem support to the imp006 module. This support centers on using the modem as a host for the imp006’s Internet connection and extends to making Global Navigation by Satellite Services (GNSS) functionality available via the imp API GNSS methods introduced in impOS 44 where the module itself supports it.

Modems Supported In This Release

It should be noted that Quectel produces a very wide range of modules, not all of which have been tested — or can be tested — with impOS 46. We have fully tested this release with these modems:

Additionally, basic functionality checks have also been made with these modems:

If you developing imp006-based hardware with these latter modules, or other Quectel modules not listed here, please let us know what if any issues you encounter.

Quectel Modem BG96 BG95-M3 EG21-G EG25 EG91-NA EC25-E
Full Support
Basic Support
2G (EDGE/GPRS)
3G (UMTS/HSPA)
LTE Cat 1
LTE Cat 4
LTE Cat M1
impOS GNSS API Supported

Note Fully supported modems have been tested using all the Radio Access Technologies they work with.

Key Developer Guides

Versions

The current release is 46.6 (see Release Notes and Known Issues).

impOS Version Naming

Electric Imp versions impOS™ releases as follows: odd-numbered major versions are pre-releases and even-numbered major versions are production-quality releases. As such, impOS 46 builds on impOS 45.4, which was not made available on general release. For information on changes and bug-fixes implemented in the various minor releases of impOS 45, please see the relevant release notes. This document will focus on changes made following the release of impOS 46.

imp Support

impOS 46 targets the imp006 module only — it supports hardware not available on earlier imps, which will not receive impOS 46 for this reason.

Release Notes

46.12

  • Add support for W25Q128JV SPI flash.
  • Data changes for specific customers only.

46.11

  • Not released.

46.10

  • Data changes for specific customers only; no functional changes.

46.9

  • Not released.

46.8

  • Data changes for specific customers only; no functional changes.

46.7

  • Bug fixes
    • Correct build process for private cloud customers.

46.6

  • Non-customer-facing changes only.

46.5

  • Non-customer-facing changes only.

46.4

  • Bug fixes
    • Fix inconsistent read of IMSI/ICCID and subsequent selection of APN on Quectel EG21.

46.3

  • Bug fixes
    • Reinstate disabling of NB-IoT on BG96 (regression in 43.1).
    • Improve resilience in the face of buggy/compromised modems.

46.2

  • Bug fixes
    • Fix imp.net.info()’s connectedssid value, which was returning the empty string on certain WiFi networks.
    • Fix initial joining of WiFi networks offering 802.11r “Fast Roaming” (regression in 41.16).

46.1

  • Bug fixes
    • Prevent rare cases in which the imp ignores incoming network data.
    • Fix potential heap corruption on particular sizes of network packet.

46.0

Note This release branches from impOS 45.4, so please see the 45 release notes for earlier changes.

Known Issues

  • Some versions of the Quectel BG95 modem’s firmware are problematic. Versions before 01.011.01.011 do not handle USB reset correctly and should not be used. Version 01.016.01.016 has been seen to crash when using GNSS and should not be used in solutions where GNSS functionality is required. Quectel modems other than BG95 are not affected by either issue.
  • imp.net.open() will reject any Network Interface Configuration (NIC) containing proxy, static network and/or WiFi configurations when it addresses an interface which is already in use — even if the new NIC exactly matches the one that is already in use. Until this issue is addressed, please include NICs with only an interface key when re-calling imp.net.open().
  • Squirrel strings containing NULs (bytes equal to zero) do not compare correctly in relative comparisons (<= etc.) even though they do in equality comparisons (== and !=). This has been the case in all impOS releases made thus far.