BX100 AT Command for SPI Error

Trying to configure the BX100 to use SPI. The AT command reference guides shows AT+SRSPI as the only command, but both set and read result in an error. Any help?

@dargaj,

I am assuming you are talking about the BX3100? I suspect that your firmware is not 2.5+
ati
BX310x
OK
at+cmgr
BX310x.2.5.0-2
OK
at
OK
at+srspi?
+SRSPI: 0,0
OK
at+srspi=1,1
OK

Couple of other things as they are not well documented.

SPI Frame:
command 2 bytes
payload_length 2 bytes
more 1 byte
reserved 3 bytes
payload 256 bytes

  • <command>
  • 0x0001: AT command
    • 0x0002: AT response
    • 0x0003: data (data mode)
    • 0xffff: dummy data
  • <payload_length>:
    • Length of the significant content in the payload
    • Range: 0-256
  • <more>:
    • For command=0x0002, if more=1 it indicates that the AT response is not complete and that another frame will be sent after this one
  • <payload>:
    • Payload is always 256 bytes long. The significant data could be less, <payload_length> indicate the length of the significant part of payload.
    • When sending a frame, the slave add 0 padding to the payload if necessary.
    • When receiving a frame, the slave will only process the data if <payload_length> and <payload> are coherent. Non significant part of <payload> is expected to be set to 0.

SPI “AT commands” differences from UART

  • To exit data mode, a frame with only the escape sequence must be sent to the slave. If the escape sequence is included in a data frame sent to the slave, it will not be detected.
  • When using AT+RST, the OK response may not be sent to the master (because the device is rebooting immediately afterwards, so there is not enough time for the response to be processed).

Hardware interface selection (UART/SPI)
If GPIO 17 is high when the module boots up, SPI will be selected, otherwise UART will be selected.

Regards

Matt

Thank you for your help. It does appear that firmware is my issue. If GPIO 17 is low at boot with the AT command still read the correct value. IE will AT+SRSPI? return something other than an error?

I downloaded the tool at https://source.sierrawireless.com/resources/airprime/software/bx310x-firmware-upgrade-tool/.
When executing command “BX31xxBlTest.exe com10 -v” I get BC310x bootloader version 1.0. but I expected version 2 as the folder I downloaded is BC310x FW Updater v2. Is this a known bug or do I only have version 1?

I tried to continue with the process anyway and it appeared the download was successful (completed update with 0) but when I check the version number with an AT command I still get the following result.

AT+CGMR
R1.3.0.201816011422.BX310x_1

@dargaj,

The unit you have is almost certainly too old to be upgraded (over a year old now) at one point in the project we had to switch to signed firmware (for security) and you unit was probably (almost certainly) built before this meaning it cannot accept signed firmware with the 2.5 release is.

Regards

Matt

Hi. We have same troubles with upgrading firmware. Is it mean that we can not upgrade our BX3100 anymore?

Regards

Alexander.

Alexander,

Correct , it cannot accept signed firmware which everything past 1.3.1 is.

Regards

Matt

Can you send us unsigned actual firmware? :slightly_smiling_face:
We bought Dev Kit in january and it was with old firmware.
Where we can buy modules with actual firmware?

Regards
Alexander.

There are no versions of newer firmware that are unsigned so unfortunately not.

We thought we had got all of the old units out of the distribution network, if you contact your distributor (which one did you use) to discuss with them.

Regards

Matt

I wrote to our distributor (CODICO), unfortunately you have cancelled contract with them.
Can we buy BX3100 directly from you or can you tell me which distributor have modules with new firmware?

Regards
Alexander.

@AlexanderK,

You can buy from any of our distributors.

https://www.sierrawireless.com/distributor-page/#/

Regards

Matt