Boron LTE- support

Thanks, BDub! That really helps to know – and makes sense after watching endless debug output.

Reuben @Hologram has a compatible explanation – the SIM may have had data written to its blacklist at some point. https://community.hologram.io/t/hologram-sim-not-working-on-particle-boron/2507/8?u=michaelm

I’ll try to get you the AT+CGDCONT= value as soon as I can get the NB 1500 back online. Right now, none of my formerly fine-working Hologram SIM’s will connect with the Arduino NB1500. I let them “rest” all weekend, too – completely powered down.

The Cat-M1 world is strange. Could not connect with my Hologram SIM’s last night at all, after days of being powered down. Tried again this morning, same thing. After 30 minutes powered down, connected with no issue.

There is no AT+CGDCONT= command explicitly called, unless there is something hidden in the SIM that I and the debug mode are not seeing.

Connected as:
AT+CEREG?
+CEREG: 0,5

You can try issuing a AT+CGDCONT?\r\n to see what the current setting is. I’m not familiar with how the Arduino NB1500 makes it’s connection to the tower… but I imagine it’s similar to how we do it.

1 Like

Also you might want to take hologram’s own advice on how to clear the FPLMN list on their SIM: https://help.hologram.io/hologram-iot-sim-card/advanced-troubleshooting/how-do-i-clear-the-fplmn-list

1 Like

Hey, BDub,

Hugely useful information – thank you!

CGDCONT status below.

YES! There was indeed information written to the Forbidden Zone of Forbidden Providers. Cleared.

Connected just fine today, then checked:
AT+CGDCONT?
+CGDCONT: 1,“IP”,“hologram”,“10.155.172.215”,0,0,0,0

Check the Blacklist:
AT+CRSM=176,28539,0,0,12
+CRSM: 144,0,“130184FFFFFFFFFFFFFFFFFF”

Clear the Blacklist:
at+crsm=214,28539,0,0,12,“FFFFFFFFFFFFFFFFFFFFFFFF”
+CRSM: 144,0,""

Verify empty Blacklist:
AT+CRSM=176,28539,0,0,12
+CRSM: 144,0,“FFFFFFFFFFFFFFFFFFFFFFFF”

Definitely going to be reading up on SIM technology / settings. Thanks for pointing me in the right direction.

Also, put me down on this wishlist: “AT command passthrough mode” app for Electron and Boron. Really makes this type of work easy and fast after the Arduino “SARA pass-through” sketch is loaded. especially for those of us who grew up on “speaking Hayes” since way too long ago. :slight_smile:

UPDATE: Mar 7, AM: All SIM’s working well today. Lesson learned: Don’t willy-nilly switch SIM’s among devices; lest the Cellular Tower Gods grow angry.

1 Like

All working great here in New Zealand. Spark (our telco) has just rolled out the IoT comms and after following the 3rd party sim guide The Boron LTE connects and works great. Looking forward to a better coverage as the existing 3G network range was not great.

1 Like

Michael, this is fantastic!

Question, after getting the Boron on the network with the Hologram SIM, were you able to send/receive SMS messages? If so, can you share the code?

I’m really curious if anyone in this thread knows what interactions the Boron is having with the Particle Cloud after it’s configured with the Hologram SIM?

It seems a little silly to pay BOTH Hologram AND Particle for cellular access. And Particle charges 3 per month per device when you go over 100 devices. Has any one in this thread disabled access to Particle Cloud so that fee wouldn’t be occurring?

You can just deactivate the particle-SIM in the console if you don’t want to use it and use your third-party SIM instead, that works fine. Particle doesn’t charge you for deactivated SIMs.

The link to this has changed. It’s now https://support.hologram.io/hc/en-us/articles/360035697373-How-do-I-clear-the-FPLMN-list-

1 Like

@ParticleD,

I am stuck with a “flashing green” Hologram SIM in my Boron. I have tried the configuration code above and wonder if I shoudl clear the FPLMN list. On the link you provided, Hologram said these steps should be completed manually. So, how do I get the AT commands to the modem on the Boron? Do I put them into a sketch using the Cellular.command() line or is there a way to open a serial connection with the modem itself.

Thanks,

Chip

Cellular.Command() is the way to do it.

@picsil,

Thank you. So, after Cellular.on() and before the three Cellular.command() lines in the sketch above, I would insert:

Cellular.command("AT+COPS=0\r\n");  // Set minimal function
Cellular.command("at+crsm=214,28539,0,0,12,\"FFFFFFFFFFFFFFFFFFFFFFFF\"\r\n");

Had to insert the \ before the " in the second command - hope that is right.

Following the instructions here.


********************** Edit - Don’t follow these instructions **************
These two commands effectively bricked the Boron and created another piece of e-waste which the world does not need. I will try again to follow the original instructions once I get a replacement SIM and go buy another Boron .


Chip

1 Like

@michaelm,

Why no Particle.connect() at the end of Setup()?

Thanks,

Chip

Hi Chip, Here’s a little snippet I made? found? copied? as a utility to flip back and forth, and it worked successfully at the time. Not sure if the commands have already been covered, but I was pleased with the process notes so I didn’t have to remember LOL. Probably old news at this point.

// Use this firmware for switching back and forth between the builtiin Particle SIM and a 3rd party SIM like Hologram

#include "Particle.h"
#include "dct.h"

SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {
// Steps for switching from built-in particle SIM to Hologram SIM
// a. Leave SIM slot empty, power up, setup and claim device as usual
// b. Set to final Device OS level by sending application/tinker firmware (not this firmware!) down with desired OS version targeted
// c. Compile and download application/tinker firmware to local drive.  This will be used for CLI firmware update.
// d. Send this firmware to device.  After it reboots it will be breathing white (cell off).
// e. Disconnect power and insert Hologram SIM
// f. Connect/power up with USB cable, and put into DFU mode (hold Mode, tap Reset, release Mode once flashing yellow) 
// g. Run particle flash --usb firmware.bin
// Device should reboot and reconnect 
// If moving providers, you may need to do a Network Reset on device.  Hold Mode button until dark blue flash changes to rapid flash and release, then Reset device.
    
//    Cellular.setActiveSim(EXTERNAL_SIM);
//    Cellular.setCredentials("hologram");

    // This clears the setup done flag on brand new devices so it won't stay in listening mode
//    const uint8_t val = 0x01;
//    dct_write_app_data(&val, DCT_SETUP_DONE_OFFSET, 1);

    // This is just so you know the operation is complete
//    pinMode(D7, OUTPUT);
//    digitalWrite(D7, HIGH);
    

// Steps for switching back to internal Particle SIM
// a. Compile and download application/tinker firmware to local drive at the current firmware level of the device.
// d. Send the firmware below (remark out the lines above) to device.  After it reboots it will be flashing green.
// e. Disconnect power and remove Hologram SIM
// f. Connect/power up with USB cable, and put into DFU mode (hold Mode, tap Reset, release Mode once flashing yellow) 
// g. Run particle flash --usb firmware.bin
// Device should reboot and reconnect
// If moving providers, you may need to do a Network Reset on device.  Hold Mode button until dark blue flash changes to rapid flash and release, then Reset device.

    Cellular.setActiveSim(INTERNAL_SIM);
    Cellular.clearCredentials();

    // This is just so you know the operation is complete
    pinMode(D7, OUTPUT);
    digitalWrite(D7, HIGH);
}

void loop() {
}

1 Like

Chip, can you elaborate on the Boron becoming bricked? I’ve used those commands successfully before and didn’t have a problem. What behavior are you seeing on the bricked Boron?

@picsil,

Sure, I made the changes to the sketch to add the two commands to clear the “do not call” list. I put the device into DFU mode and flashed the Boron successfully but the device got stuck in DFU mode. This sent me on a search of the community site where I found this thread.

I followed the instructions to reflash the bootloader and System part 1 but, the RGB LED went out and the device is now unresponsive. If I try to reflash the bootloader now, I get this error:

cmcclell-OSX:0.11.2-adhoc6ea4372.0 chipmc$ bin/openocd -f interface/cmsis-dap.cfg -f target/nrf52-particle.cfg \
> -c  "adapter_khz 1000" \
> -c "transport select swd" \
> -c "init" \
> -c "program /Users/chipmc/Downloads/boron-bootloader@1.4.4.bin 0xf4000 verify reset" \
> -c "exit"
Open On-Chip Debugger 0.10.0+dev-00920-g6ea43726 (2019-07-09-20:03)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
adapter speed: 1000 kHz

Warn : Transport "swd" was already selected
swd
Info : CMSIS-DAP: SWD  Supported
Info : CMSIS-DAP: FW Version = 1.10
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x2ba01477
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints
Error: nrf52.cpu -- clearing lockup after double fault
Polling target nrf52.cpu failed, trying to reexamine
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread 
xPSR: 00000000 pc: 0x000265d4 msp: 0x00001000
** Programming Started **
Info : nRF52840-QIAA(build code: C0) 1024kB Flash
Warn : using fast async flash loader. This is currently supported
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg/nrf52.cfg to disable it
** Programming Finished **
** Verify Started **
** Verified OK **
** Resetting Target **
Error: nrf52.cpu -- clearing lockup after double fault
target halted due to debug-request, current mode: Handler HardFault
xPSR: 0x01000003 pc: 0xfea7f7fe msp: 0x00000fd8
Polling target nrf52.cpu failed, trying to reexamine
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints

So, not sure what else to try. Suggestions welcome.

Chip

That’s something I haven’t experienced, though I have had to reflash the bootloader on a few test Borons. Maybe @rickkas7 has some ideas on what may be happening?

You may also need to flash the softdevice. It’s included in the same place as the other release binaries. It gets flashed to address 0x0.

@rickkas7,

Thanks for the tip. I was able to recover the Boron but not with the SoftDevice that comes with deviceOS@1.4.4. The softdevice that worked for me was the one referenced in the documentation here:

Download s140_nrf52_6.0.0_softdevice.hex, then use a -c option like:

-c program /Users/rickk/Downloads/s140_nrf52_6.0.0_softdevice.hex verify reset
This is not necessary in most cases.

This softdevice brought back my bricked Boron.

Thanks,

Chip

1 Like