Can't connect with NB-IoT (solved)

Hello,

I can’t connect to the NB-IoT network, im working with Arduino Leonardo + NB-IoT shield.
When i try the AT-commands tutorial (http://support.sodaq.com/sodaq-one/at/) it all works fine.
All the commands get a OK, and i get a connection.

When i try the example “nbIOT_Humidity_Temperature_AllThingsTalk” i can’t get a connection?
The error i get is:
SODAQ Temperature and Humidity AllThingsTalk Example

[rdResp]: timed out
[rdResp]: OK
[rdResp]: +NCONFIG:AUTOCONNECT,FALSE
Failed to connect!
0
0
00:00:00:00:
[rdResp]: +NCONFIG:CR_0354_0338_SCRAMBLING,FALSE
[rdResp]: +NCONFIG:CR_0859_SI_AVOID,FALSE
[rdResp]: OK
0
0
00:00:00:00:
[rdResp]: ERROR
0
0
00:00:00:00:
[rdResp]: ERROR
0
0
00:00:00:00:
[rdResp]: ERROR

and so on…

What is this problem?

Thanks in advanced,

Paul

@Paul93K

It looks like you use old firmware.
I have send you an email with instructions how to get the new firmware.

Kind regards,
Jan

Hi Jan,

Yes, i recieved the tool and firmware.
I’m using a Arduino Leonardo, and put the serial_passthrough sketch on it.

The tool can’t connect to the chip, Do i need another sketch or something?

Thanks for the software, firmware and help Jan!

Greetz,
Paul

Hi Paul,

Can you try the manual reset?
Use a jumper wire to connect the GND to the reset-pad (TP2)
See image: http://support.sodaq.com/sodaq-one/nb-iot-firmware-upgrade-using-usb-serial/

Kind regards,
Jan

Hello Jan,

I’ve tried the manual reset, with no result.
I’m using the Serial_passthrough from the library sodaq_nb_IOT (this is a different one then online) on the Arduino Leonardo attached to the NB-IoT shield.
#include <Arduino.h>

#if defined(ARDUINO_AVR_LEONARDO)
/* Arduino Leonardo + SODAQ NB-IoT Shield */
#define DEBUG_STREAM Serial
#define MODEM_STREAM Serial1
#define powerPin 7

#elif defined(ARDUINO_SODAQ_EXPLORER)
/* SODAQ Explorer + SODAQ NB-IoT Shield */
#define DEBUG_STREAM SerialUSB
#define MODEM_STREAM Serial
#define powerPin 7

#elif defined(ARDUINO_SAM_ZERO)
/* Arduino Zero / M0 + SODAQ NB-IoT Shield */
#define DEBUG_STREAM SerialUSB
#define MODEM_STREAM Serial1
#define powerPin 7

#elif defined(ARDUINO_SODAQ_AUTONOMO)
/* SODAQ AUTONOMO + SODAQ NB-IoT Bee */
#define DEBUG_STREAM SerialUSB
#define MODEM_STREAM Serial1
#define powerPin BEE_VCC
#define enablePin BEEDTR

#elif defined(ARDUINO_AVR_SODAQ_MBILI)
/* SODAQ MBILI + SODAQ NB-IoT Bee */
#define DEBUG_STREAM Serial
#define MODEM_STREAM Serial1
#define enablePin BEEDTR

#elif defined(ARDUINO_SODAQ_SARA)
/* SODAQ SARA */
#define DEBUG_STREAM SerialUSB
#define MODEM_STREAM Serial1
#define powerPin SARA_ENABLE
#define enablePin SARA_TX_ENABLE

#else
#error “Please use one of the listed boards or add your board.”
#endif

unsigned long baud = 9600; //start at 9600 allow the USB port to change the Baudrate

void setup()
{
#ifdef powerPin
// Turn the nb-iot module on
pinMode(powerPin, OUTPUT);
digitalWrite(powerPin, HIGH);
#endif

#ifdef enablePin
// Set state to active
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, HIGH);
#endif // enablePin

// Start communication
DEBUG_STREAM.begin(baud);
MODEM_STREAM.begin(baud);
}

// Forward every message to the other serial
void loop()
{
while (DEBUG_STREAM.available())
{
MODEM_STREAM.write(DEBUG_STREAM.read());
}

while (MODEM_STREAM.available())
{
DEBUG_STREAM.write(MODEM_STREAM.read());
}

#ifndef ARDUINO_AVR_SODAQ_MBILI
// check if the USB virtual serial wants a new baud rate
if (DEBUG_STREAM.baud() != baud) {
baud = DEBUG_STREAM.baud();
MODEM_STREAM.begin(baud);
}
#endif // !ARDUINO_AVR_SODAQ_MBILI
}

Thanks,
Paul