BG96 Firmware for PSM

Hello, I have been using the BG96 module specifically the STEVAL-STMODLTE board. I have tried using the AT+QCFG=“psm/urc”,1 and AT+QCFG=“psm/enter”,1 commands, but it seems that my current firmware does not support these commands, even though the BG96 AT Commands Manual v2.1 does support them. Can you guide me on how to update the firmware?
Thank you~

1 Like

HI,
What is your current firmware version? Use AT+QGMR to find out.

ok, I checked, this is the response that I received from device
13:41:23:976] AT+QGMR␍␍␊

[13:41:23:976] BG96MAR02A06M1G␍␊

[13:41:23:976] ␍␊

[13:41:23:976] OK␍␊

Could you please give me your email? I will send the firmware package to you by email.

Thanks for your support! This is my email: tranthanhvinh.work@gmail.com

The new firmware version has been sent to you by email

okay, I received your email. Now, I don’t know how to update it for my device. I am using ubuntu 22.04. Thank you

Can you give me some instructions? Thank you very much

A piece of software that can help you upgrade your firmware on Ubuntu has been sent to you via email.

Thank you, I have received your software. I have executed it and obtained the following result:

localadmin@localadmin-MS-7846:~/Downloads/QFirehose_Linux_Android_V1.4.13$ ./QFirehose
[000.000]: Version: QFirehose_Linux_Android_V1.4.13
[000.000]: Builded: Feb 20 2023 11:07:41
[000.000]: Upgrade Quectel’s modules with Qualcomm’s firehose protocol.
[000.000]: Usage: ./QFirehose [options…]
[000.000]: -f [package_dir] Upgrade package directory path
[000.000]: -p [/dev/ttyUSBx] Diagnose port, will auto-detect if not specified
[000.000]: -s [/sys/bus/usb/devices/xx] When multiple modules exist on the board, use -s specify which module you want to upgrade
[000.000]: -e Erase All Before Download (will Erase calibration data, careful to USE)
[000.000]: -l [dir_name] Sync log into a file(will create qfirehose_timestamp.log)
[000.000]: -u [usbmon_log] Catch usbmon log and save to file (need debugfs and usbmon driver)
[000.000]: -n Skip MD5 check
[000.000]: -d Device Type, default nand, support emmc/ufs
localadmin@localadmin-MS-7846:~/Downloads/QFirehose_Linux_Android_V1.4.13$ ./QFirehose -f …/BG96MAR02A10M1G_01.102.01.102 -p
[000.000]: Version: QFirehose_Linux_Android_V1.4.13
[000.000]: Builded: Feb 20 2023 11:07:41
./QFirehose: option requires an argument – ‘p’
[000.001]: Find md5 check file <…/BG96MAR02A10M1G_01.102.01.102/md5.txt>
[000.001]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/contents.xml pass
[000.002]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/AU/Telstra/Telstra_Commercial/mcfg_sw.mbn pass
[000.002]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/China/Common/China_Common/mcfg_sw.mbn pass
[000.003]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/common/ROW/Commercial/mcfg_sw.mbn pass
[000.003]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/Korea/SKT/SKT_Commercial/mcfg_sw.mbn pass
[000.004]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/NA/ATT/Non_VoLTE/mcfg_sw.mbn pass
[000.005]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/mbn/NA/Verizon/Commercial/mcfg_sw.mbn pass
[000.075]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/sdk/Quectel_BG96_QuecOpen_SDK_Package_V2.10.1.4.zip pass
[000.076]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/acdb.mbn pass
[000.091]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/apps.mbn pass
[000.091]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/efs2apps.mbn pass
[000.092]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/ENPRG9x06.mbn pass
[000.092]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/firehose/partition_complete_p2K_b128K.mbn pass
[000.092]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/firehose/patch_p2K_b128K.xml pass
[000.093]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/firehose/prog_nand_firehose_9x06.mbn pass
[000.093]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/firehose/rawprogram_nand_p2K_b128K_update.xml pass
[000.094]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/mba.mbn pass
[000.095]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/NPRG9x06.mbn pass
[000.095]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/partition.mbn pass
[000.095]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/partition_nand.xml pass
[000.184]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/qdsp6sw.mbn pass
[000.185]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/rpm.mbn pass
[000.190]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/sbl1.mbn pass
[000.190]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/sec.dat pass
[000.192]: md5 checking: …/BG96MAR02A10M1G_01.102.01.102/update/tz.mbn pass
[000.192]: Totals checking 25 files md5 value, 0 file fail!
[000.192]: find ‘prog_nand_firehose_9x06.mbn’
[000.192]: find_firehose_mbn prog_nand_firehose_9x06.mbn
[000.192]: [1] /sys/bus/usb/devices/3-6 2c7c/296/0
[000.193]: qusb_read_speed_atime speed: 480, st_atime: 20230309_09:36:47
[000.193]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[001.193]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[002.193]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[003.193]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[004.194]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[005.194]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[006.194]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[007.194]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[008.195]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[009.195]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[010.195]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[011.195]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[012.196]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[013.196]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[014.196]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[015.197]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[016.197]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[017.197]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[018.198]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[019.198]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[020.198]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[021.198]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[022.199]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[023.199]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[024.199]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[025.200]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[026.200]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[027.200]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[028.201]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[029.201]: fail to open /dev/bus/usb/003/007, errno: 13 (Permission denied)
[030.201]: qfirehose.c main 412 fail

I don’t know why it is wrong. Can you help me? Thanks you~

I use module P-L496G-CELL02 (STEVAL-STMODLTE board) and try to update the firmware through the USB port.

You can run the following command to remount the file system and then burn it. Attached is the operation document.
mount -o rw,remount /

After updating the firmware, the commands AT+QCFG=“psm/urc”,1 and AT+QCFG=“psm/enter”,1 are no longer giving errors. But, after I publish data to the server, I can not make my device go to Power Saving Mode. I choose Threshold Value=1000, active time (T3324) is 30s and Periodic-TAU (T3412) is 40 minutes. So I don’t know where I am wrong. Please help me, thank you very much!~

[16:27:13:794] ␍␊

[16:27:13:794] RDY␍␊

[16:27:13:826] ␍␊

[16:27:13:826] +QSIMSTAT: 1,1␍␊

[16:27:13:877] ␍␊

[16:27:13:877] +CFUN: 1␍␊

[16:27:14:156] ␍␊

[16:27:14:156] +CPIN: READY␍␊

[16:27:14:159] ␍␊

[16:27:14:159] +QUSIM: 1␍␊

[16:27:14:320] ␍␊

[16:27:14:320] APP RDY␍␊

[16:27:14:378] ␍␊

[16:27:14:378] +QIND: SMS DONE␍␊

[16:27:19:839] ␍␊

[16:27:19:839] +CTZV: "+28"␍␊

[16:27:36:458] ATE1␍␍␊

[16:27:36:458] OK␍␊

[16:27:39:212] AT+QPSMS=1,“01100000”,“00000000”,“00000100”,"00001111"␍␍␊

[16:27:39:212] OK␍␊

[16:27:41:491] AT+QPSMS?␍␍␊

[16:27:41:491] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:27:41:491] ␍␊

[16:27:41:491] OK␍␊

[16:29:43:217] AT+CPSMS=1,“00000100”,"00001111"␍␍␊

[16:29:43:217] OK␍␊

[16:29:55:263] AT+<0xff>PSMS=?␍␍␊

[16:29:55:263] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:29:55:263] ␍␊

[16:29:55:263] OK␍␊

[16:30:06:543] AT+CPSMS=?␍␍␊

[16:30:06:543] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:30:06:543] ␍␊

[16:30:06:543] OK␍␊

[16:30:11:638] AT+QPSMS=?␍␍␊

[16:30:11:638] +QPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:30:11:638] ␍␊

[16:30:11:638] OK␍␊

[16:30:39:858] AT+QPSMS?␍␍␊

[16:30:39:858] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:30:39:858] ␍␊

[16:30:39:858] OK␍␊

[16:30:45:911] AT+CPSMS?␍␍␊

[16:30:45:911] +CPSMS: 1,“01100000”,“00000000”,"00001111"␍␊

[16:30:45:911] ␍␊

[16:30:45:911] OK␍␊

[16:31:19:427] AT&D0␍␍␊

[16:31:19:427] OK␍␊

[16:31:21:718] AT+QGMR␍␍␊

[16:31:21:718] BG96MAR02A10M1G_01.102.01.102␍␊

[16:31:21:718] ␍␊

[16:31:21:718] OK␍␊

[16:31:23:797] AT+CGSN␍␍␊

[16:31:23:797] 866425030110920␍␊

[16:31:23:797] ␍␊

[16:31:23:797] OK␍␊

[16:31:24:446] AT+QCFG=“nwscanmode”,0,1␍␍␊

[16:31:24:446] OK␍␊

[16:31:24:997] AT+QCFG=“iotopmode”,2,1␍␍␊

[16:31:24:997] OK␍␊

[16:31:25:582] AT+QCFG=“nwscanseq”,02,1␍␍␊

[16:31:25:588] OK␍␊

[16:31:26:188] AT+QMTCFG=“pdpcid”,0,1␍␍␊

[16:31:26:188] OK␍␊

[16:31:26:783] AT+QURCCFG=“urcport”,"uart1"␍␍␊

[16:31:26:783] OK␍␊

[16:31:27:368] AT+QCFG=“band”,f,400a0e189f,a0e189f␍␍␊

[16:31:27:373] OK␍␊

[16:31:27:947] AT+CGMM␍␍␊

[16:31:27:947] BG96␍␊

[16:31:27:947] ␍␊

[16:31:27:947] OK␍␊

[16:31:28:519] AT+COPS=0,0,“VN VINAPHONE”,0␍␍␊

[16:31:29:034] OK␍␊

[16:31:29:483] AT+CFUN=1␍␍␊

[16:31:29:483] OK␍␊

[16:31:29:939] AT+CREG=2␍␍␊

[16:31:29:939] OK␍␊

[16:31:30:339] AT+CGREG=2␍␍␊

[16:31:30:339] OK␍␊

[16:31:30:739] AT+CEREG=2␍␍␊

[16:31:30:739] OK␍␊

[16:31:31:161] AT+CCLK?␍␍␊

[16:31:31:161] +CCLK: "23/03/09,16:31:25+28"␍␊

[16:31:31:161] ␍␊

[16:31:31:161] OK␍␊

[16:31:31:539] AT+CTZR=1␍␍␊

[16:31:31:539] OK␍␊

[16:31:32:003] AT+CGMI␍␍␊

[16:31:32:003] Quectel␍␊

[16:31:32:003] ␍␊

[16:31:32:003] OK␍␊

[16:31:32:792] AT+QCFG=?␍␍␊

[16:31:32:792] +QCFG: “nwscanmode”,(0,1,3),(0,1)␍␊

[16:31:32:792] +QCFG: “nwscanseq”,(00-010203),(0,1)␍␊

[16:31:32:792] +QCFG: “servicedomain”,(1,2),(0,1)␍␊

[16:31:32:792] +QCFG: “roamservice”,(1,2,255),(0,1)␍␊

[16:31:32:792] +QCFG: “band”,(0-F),(0-7FFFFFFFFFFFFFFF),(0-7FFFFFFFFFFFFFFF),(0,1)␍␊

[16:31:32:792] +QCFG: “msc”,(0-2)␍␊

[16:31:32:792] +QCFG: “sgsn”,(0-2)␍␊

[16:31:32:814] +QCFG: “celevel”,(0-2)␍␊

[16:31:32:814] +QCFG: “pdp/duplicatechk”,(0,1)␍␊

[16:31:32:814] +QCFG: “iotopmode”,(0-2),(0,1)␍␊

[16:31:32:814] +QCFG: “nb1/bandprior”,<band_priority_seq>␍␊

[16:31:32:814] +QCFG: “psm/urc”,(0,1)␍␊

[16:31:32:814] +QCFG: “ledmode”,(0,1,3)␍␊

[16:31:32:814] +QCFG: “gpio”,,[,[,,]/[][,]]␍␊

[16:31:32:837] +QCFG: “airplanecontrol”,(0,1)␍␊

[16:31:32:837] +QCFG: “urc/ri/ring”,(“off”,“pulse”,“always”,“auto”,“wave”),(1-2000),(1-10000),(1-10000),(“off”,“on”),(1-5)␍␊

[16:31:32:837] +QCFG: “urc/ri/smsincoming”,(“off”,“pulse”,“always”),(1-2000),(1-5)␍␊

[16:31:32:837] +QCFG: “urc/ri/other”,(“off”,“pulse”),(1-2000),(1-5)␍␊

[16:31:32:858] +QCFG: “risignaltype”,(“respective”,“physical”)␍␊

[16:31:32:858] +QCFG: “urc/delay”,(0,1)␍␊

[16:31:32:858] +QCFG: “cmux/urcport”,(0-4)␍␊

[16:31:32:858] +QCFG: “ims”,(0-2)␍␊

[16:31:32:858] +QCFG: “apready”,(0,1),(0,1),(100-3000)␍␊

[16:31:32:858] +QCFG: “nccconf”,(0-1FF)␍␊

[16:31:32:858] +QCFG: “psm/enter”,(0,1)␍␊

[16:31:32:858] +QCFG: “simeffect”,(0,1)␍␊

[16:31:32:876] +QCFG: “lapiconf”,(0-2),(0,1)␍␊

[16:31:32:876] +QCFG: “snrscan”,(0-2)␍␊

[16:31:32:876] +QCFG: “irat/timer”,(5,300),(5,20)␍␊

[16:31:32:876] +QCFG: “uartcfg”,(0-15)␍␊

[16:31:32:876] +QCFG: “nasconfig”,(0-7FFF)␍␊

[16:31:32:876] +QCFG: “bip/auth”,(0-3)␍␊

[16:31:32:876] +QCFG: “cmux/flowctrl”,(0-1)␍␊

[16:31:32:876] ␍␊

[16:31:32:876] OK␍␊

[16:31:33:291] AT+CGMR␍␍␊

[16:31:33:291] BG96MAR02A10M1G␍␊

[16:31:33:291] ␍␊

[16:31:33:291] OK␍␊

[16:31:33:861] AT+QPSMCFG?␍␍␊

[16:31:33:861] +QPSMCFG:1000,4␍␊

[16:31:33:861] ␍␊

[16:31:33:861] OK␍␊

[16:31:51:038] AT+QCFG=“psm/urc”,1␍␍␊

[16:31:51:041] OK␍␊

[16:33:50:175] AT+QCFG=“psm/enter”,1␍␍␊

[16:33:50:175] OK␍␊

[16:35:21:321] AT+CCLK?␍␍␊

[16:35:21:321] +CCLK: "23/03/09,16:35:15+28"␍␊

[16:35:21:321] ␍␊

[16:35:21:321] OK␍␊

[16:35:36:034] AT+QMTCONN?␍␍␊

[16:35:36:034] OK␍␊

[16:35:39:595] AT+QMTCONN=0,“urn:lo:nsid:mqtt:866425030110920”,“json+device”,"8b83ce06c6c248b7b63ff2866ef807a0"␍␍␊

[16:35:39:595] ERROR␍␊

[16:36:51:727] AT+COPS=0,0,“VN VINAPHONE”,0␍␍␊

[16:36:51:732] OK␍␊

[16:36:58:774] AT+QMTCFG=“pdpcid”,0,1␍␍␊

[16:36:58:774] OK␍␊

[16:37:05:916] AT+QMTOPEN=0,“liveobjects.orange-business.com”,1883␍␍␊

[16:37:05:916] OK␍␊

[16:37:11:348] ␍␊

[16:37:11:348] +QMTOPEN: 0,0␍␊

[16:37:14:797] AT+QMTCONN=0,“urn:lo:nsid:mqtt:866425030110920”,“json+device”,"8b83ce06c6c248b7b63ff2866ef807a0"␍␍␊

[16:37:14:797] OK␍␊

[16:37:15:787] ␍␊

[16:37:15:787] +QMTCONN: 0,0,0␍␊

[16:37:29:397] AT+QMTSUB=0,1,“dev/cmd”,1␍␍␊

[16:37:29:397] OK␍␊

[16:37:30:404] ␍␊

[16:37:30:404] +QMTSUB: 0,1,0,1␍␊

[16:37:37:779] AT+CCLK?␍␍␊

[16:37:37:779] +CCLK: "23/03/09,16:37:31+28"␍␊

[16:37:37:779] ␍␊

[16:37:37:779] OK␍␊

[16:37:45:367] AT+QMTPUB=0,1,1,0,&dev/data",247␍␍␊

[16:37:45:367] > {“value”:{“FCnt”:1,“payload”:“09000600000301200081D1”,“deviceID”:“866425030110920”,“ICCID”:“89840200011215333921”,“type”:“4G”,“mqttServer”:“Orange”,“lte network”:{“lac”:“00”,“ci”:“0000”,“rssi”:0,“rsrx”:0,“sinr”:0,“rsrq”:0},“timestamp”:1677617648}}␍␊

[16:37:55:216] OK␍␊

[16:37:56:383] ␍␊

[16:37:56:383] +QMTPUB: 0,1,0␍␊

[16:38:07:585] AT+QCFG=“psm/enter”,1␍␍␊

[16:38:07:585] OK␍␊

[16:38:13:728] Q<0xad>CPSMS=1,“00000100”,"00001111"␍␍␊

[16:38:13:728] OK␍␊

[16:38:45:205] AT+CCLK?␍␍␊

[16:38:45:205] +CCLK: "23/03/09,16:38:39+28"␍␊

[16:38:45:205] ␍␊

[16:38:45:205] OK␍␊

[16:39:00:526] AT+QMTPUB=0,2,1,0,“dev/data”,259␍␍␊

[16:39:00:526] > {“value”:{“FCnt”:2,“payload”:“09020C001B01020B010101001801046C01”,“deviceID”:“866425030110920”,“ICCID”:“89840200011215333921”,“type”:“4G”,“mqttServer”:“Orange”,“lte network”:{“lac”:“00”,“ci”:“0000”,“rssi”:0,“rsrp”:0,“sinr”:0,“rsrq”:0},“timestamp”:1677617649}}␍␊

[16:39:08:782] OK␍␊

[16:39:09:944] ␍␊

[16:39:09:944] +QMTPUB: 0,2,0␍␊

[16:39:42:724] AT+QPSMCFG?␍␍␊

[16:39:42:724] +QPSMCFG:1000,4␍␊

[16:39:42:724] ␍␊

[16:39:42:724] OK␍␊

[16:39:52:943] AT+QCFG=“psm/urc”,1␍␍␊

[16:39:52:943] OK␍␊

[16:40:07:707] AT+QCFG=“psm/enter”,1␍␍␊

[16:40:07:707] OK␍␊

[16:40:10:487] AT+CPSMS=1,“00000100”,"00001111"␍␍␊

[16:40:10:487] OK␍␊

[16:41:15:765] AT+CPSMS=1␍␍␊

[16:41:15:765] OK␍␊

[16:41:22:198] AT+CPSMS=?␍␍␊

[16:41:22:198] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:41:22:198] ␍␊

[16:41:22:198] OK␍␊

[16:41:26:265] AT+CPSMS?␍␍␊

[16:41:26:265] +CPSMS: 1,“01100000”,“00000000”,"00001111"␍␊

[16:41:26:265] ␍␊

[16:41:26:265] OK␍␊

[16:41:37:659] AT+QPSMS?␍␍␊

[16:41:37:659] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:41:37:659] ␍␊

[16:41:37:659] OK␍␊ [16:27:13:794] ␍␊

[16:27:13:794] RDY␍␊

[16:27:13:826] ␍␊

[16:27:13:826] +QSIMSTAT: 1,1␍␊

[16:27:13:877] ␍␊

[16:27:13:877] +CFUN: 1␍␊

[16:27:14:156] ␍␊

[16:27:14:156] +CPIN: READY␍␊

[16:27:14:159] ␍␊

[16:27:14:159] +QUSIM: 1␍␊

[16:27:14:320] ␍␊

[16:27:14:320] APP RDY␍␊

[16:27:14:378] ␍␊

[16:27:14:378] +QIND: SMS DONE␍␊

[16:27:19:839] ␍␊

[16:27:19:839] +CTZV: "+28"␍␊

[16:27:36:458] ATE1␍␍␊

[16:27:36:458] OK␍␊

[16:27:39:212] AT+QPSMS=1,“01100000”,“00000000”,“00000100”,"00001111"␍␍␊

[16:27:39:212] OK␍␊

[16:27:41:491] AT+QPSMS?␍␍␊

[16:27:41:491] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:27:41:491] ␍␊

[16:27:41:491] OK␍␊

[16:29:43:217] AT+CPSMS=1,“00000100”,"00001111"␍␍␊

[16:29:43:217] OK␍␊

[16:29:55:263] AT+<0xff>PSMS=?␍␍␊

[16:29:55:263] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:29:55:263] ␍␊

[16:29:55:263] OK␍␊

[16:30:06:543] AT+CPSMS=?␍␍␊

[16:30:06:543] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:30:06:543] ␍␊

[16:30:06:543] OK␍␊

[16:30:11:638] AT+QPSMS=?␍␍␊

[16:30:11:638] +QPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:30:11:638] ␍␊

[16:30:11:638] OK␍␊

[16:30:39:858] AT+QPSMS?␍␍␊

[16:30:39:858] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:30:39:858] ␍␊

[16:30:39:858] OK␍␊

[16:30:45:911] AT+CPSMS?␍␍␊

[16:30:45:911] +CPSMS: 1,“01100000”,“00000000”,"00001111"␍␊

[16:30:45:911] ␍␊

[16:30:45:911] OK␍␊

[16:31:19:427] AT&D0␍␍␊

[16:31:19:427] OK␍␊

[16:31:21:718] AT+QGMR␍␍␊

[16:31:21:718] BG96MAR02A10M1G_01.102.01.102␍␊

[16:31:21:718] ␍␊

[16:31:21:718] OK␍␊

[16:31:23:797] AT+CGSN␍␍␊

[16:31:23:797] 866425030110920␍␊

[16:31:23:797] ␍␊

[16:31:23:797] OK␍␊

[16:31:24:446] AT+QCFG=“nwscanmode”,0,1␍␍␊

[16:31:24:446] OK␍␊

[16:31:24:997] AT+QCFG=“iotopmode”,2,1␍␍␊

[16:31:24:997] OK␍␊

[16:31:25:582] AT+QCFG=“nwscanseq”,02,1␍␍␊

[16:31:25:588] OK␍␊

[16:31:26:188] AT+QMTCFG=“pdpcid”,0,1␍␍␊

[16:31:26:188] OK␍␊

[16:31:26:783] AT+QURCCFG=“urcport”,"uart1"␍␍␊

[16:31:26:783] OK␍␊

[16:31:27:368] AT+QCFG=“band”,f,400a0e189f,a0e189f␍␍␊

[16:31:27:373] OK␍␊

[16:31:27:947] AT+CGMM␍␍␊

[16:31:27:947] BG96␍␊

[16:31:27:947] ␍␊

[16:31:27:947] OK␍␊

[16:31:28:519] AT+COPS=0,0,“VN VINAPHONE”,0␍␍␊

[16:31:29:034] OK␍␊

[16:31:29:483] AT+CFUN=1␍␍␊

[16:31:29:483] OK␍␊

[16:31:29:939] AT+CREG=2␍␍␊

[16:31:29:939] OK␍␊

[16:31:30:339] AT+CGREG=2␍␍␊

[16:31:30:339] OK␍␊

[16:31:30:739] AT+CEREG=2␍␍␊

[16:31:30:739] OK␍␊

[16:31:31:161] AT+CCLK?␍␍␊

[16:31:31:161] +CCLK: "23/03/09,16:31:25+28"␍␊

[16:31:31:161] ␍␊

[16:31:31:161] OK␍␊

[16:31:31:539] AT+CTZR=1␍␍␊

[16:31:31:539] OK␍␊

[16:31:32:003] AT+CGMI␍␍␊

[16:31:32:003] Quectel␍␊

[16:31:32:003] ␍␊

[16:31:32:003] OK␍␊

[16:31:32:792] AT+QCFG=?␍␍␊

[16:31:32:792] +QCFG: “nwscanmode”,(0,1,3),(0,1)␍␊

[16:31:32:792] +QCFG: “nwscanseq”,(00-010203),(0,1)␍␊

[16:31:32:792] +QCFG: “servicedomain”,(1,2),(0,1)␍␊

[16:31:32:792] +QCFG: “roamservice”,(1,2,255),(0,1)␍␊

[16:31:32:792] +QCFG: “band”,(0-F),(0-7FFFFFFFFFFFFFFF),(0-7FFFFFFFFFFFFFFF),(0,1)␍␊

[16:31:32:792] +QCFG: “msc”,(0-2)␍␊

[16:31:32:792] +QCFG: “sgsn”,(0-2)␍␊

[16:31:32:814] +QCFG: “celevel”,(0-2)␍␊

[16:31:32:814] +QCFG: “pdp/duplicatechk”,(0,1)␍␊

[16:31:32:814] +QCFG: “iotopmode”,(0-2),(0,1)␍␊

[16:31:32:814] +QCFG: “nb1/bandprior”,<band_priority_seq>␍␊

[16:31:32:814] +QCFG: “psm/urc”,(0,1)␍␊

[16:31:32:814] +QCFG: “ledmode”,(0,1,3)␍␊

[16:31:32:814] +QCFG: “gpio”,,[,[,,]/[][,]]␍␊

[16:31:32:837] +QCFG: “airplanecontrol”,(0,1)␍␊

[16:31:32:837] +QCFG: “urc/ri/ring”,(“off”,“pulse”,“always”,“auto”,“wave”),(1-2000),(1-10000),(1-10000),(“off”,“on”),(1-5)␍␊

[16:31:32:837] +QCFG: “urc/ri/smsincoming”,(“off”,“pulse”,“always”),(1-2000),(1-5)␍␊

[16:31:32:837] +QCFG: “urc/ri/other”,(“off”,“pulse”),(1-2000),(1-5)␍␊

[16:31:32:858] +QCFG: “risignaltype”,(“respective”,“physical”)␍␊

[16:31:32:858] +QCFG: “urc/delay”,(0,1)␍␊

[16:31:32:858] +QCFG: “cmux/urcport”,(0-4)␍␊

[16:31:32:858] +QCFG: “ims”,(0-2)␍␊

[16:31:32:858] +QCFG: “apready”,(0,1),(0,1),(100-3000)␍␊

[16:31:32:858] +QCFG: “nccconf”,(0-1FF)␍␊

[16:31:32:858] +QCFG: “psm/enter”,(0,1)␍␊

[16:31:32:858] +QCFG: “simeffect”,(0,1)␍␊

[16:31:32:876] +QCFG: “lapiconf”,(0-2),(0,1)␍␊

[16:31:32:876] +QCFG: “snrscan”,(0-2)␍␊

[16:31:32:876] +QCFG: “irat/timer”,(5,300),(5,20)␍␊

[16:31:32:876] +QCFG: “uartcfg”,(0-15)␍␊

[16:31:32:876] +QCFG: “nasconfig”,(0-7FFF)␍␊

[16:31:32:876] +QCFG: “bip/auth”,(0-3)␍␊

[16:31:32:876] +QCFG: “cmux/flowctrl”,(0-1)␍␊

[16:31:32:876] ␍␊

[16:31:32:876] OK␍␊

[16:31:33:291] AT+CGMR␍␍␊

[16:31:33:291] BG96MAR02A10M1G␍␊

[16:31:33:291] ␍␊

[16:31:33:291] OK␍␊

[16:31:33:861] AT+QPSMCFG?␍␍␊

[16:31:33:861] +QPSMCFG:1000,4␍␊

[16:31:33:861] ␍␊

[16:31:33:861] OK␍␊

[16:31:51:038] AT+QCFG=“psm/urc”,1␍␍␊

[16:31:51:041] OK␍␊

[16:33:50:175] AT+QCFG=“psm/enter”,1␍␍␊

[16:33:50:175] OK␍␊

[16:35:21:321] AT+CCLK?␍␍␊

[16:35:21:321] +CCLK: "23/03/09,16:35:15+28"␍␊

[16:35:21:321] ␍␊

[16:35:21:321] OK␍␊

[16:35:36:034] AT+QMTCONN?␍␍␊

[16:35:36:034] OK␍␊

[16:35:39:595] AT+QMTCONN=0,“urn:lo:nsid:mqtt:866425030110920”,“json+device”,"8b83ce06c6c248b7b63ff2866ef807a0"␍␍␊

[16:35:39:595] ERROR␍␊

[16:36:51:727] AT+COPS=0,0,“VN VINAPHONE”,0␍␍␊

[16:36:51:732] OK␍␊

[16:36:58:774] AT+QMTCFG=“pdpcid”,0,1␍␍␊

[16:36:58:774] OK␍␊

[16:37:05:916] AT+QMTOPEN=0,“liveobjects.orange-business.com”,1883␍␍␊

[16:37:05:916] OK␍␊

[16:37:11:348] ␍␊

[16:37:11:348] +QMTOPEN: 0,0␍␊

[16:37:14:797] AT+QMTCONN=0,“urn:lo:nsid:mqtt:866425030110920”,“json+device”,"8b83ce06c6c248b7b63ff2866ef807a0"␍␍␊

[16:37:14:797] OK␍␊

[16:37:15:787] ␍␊

[16:37:15:787] +QMTCONN: 0,0,0␍␊

[16:37:29:397] AT+QMTSUB=0,1,“dev/cmd”,1␍␍␊

[16:37:29:397] OK␍␊

[16:37:30:404] ␍␊

[16:37:30:404] +QMTSUB: 0,1,0,1␍␊

[16:37:37:779] AT+CCLK?␍␍␊

[16:37:37:779] +CCLK: "23/03/09,16:37:31+28"␍␊

[16:37:37:779] ␍␊

[16:37:37:779] OK␍␊

[16:37:45:367] AT+QMTPUB=0,1,1,0,&dev/data",247␍␍␊

[16:37:45:367] > {“value”:{“FCnt”:1,“payload”:“09000600000301200081D1”,“deviceID”:“866425030110920”,“ICCID”:“89840200011215333921”,“type”:“4G”,“mqttServer”:“Orange”,“lte network”:{“lac”:“00”,“ci”:“0000”,“rssi”:0,“rsrx”:0,“sinr”:0,“rsrq”:0},“timestamp”:1677617648}}␍␊

[16:37:55:216] OK␍␊

[16:37:56:383] ␍␊

[16:37:56:383] +QMTPUB: 0,1,0␍␊

[16:38:07:585] AT+QCFG=“psm/enter”,1␍␍␊

[16:38:07:585] OK␍␊

[16:38:13:728] Q<0xad>CPSMS=1,“00000100”,"00001111"␍␍␊

[16:38:13:728] OK␍␊

[16:38:45:205] AT+CCLK?␍␍␊

[16:38:45:205] +CCLK: "23/03/09,16:38:39+28"␍␊

[16:38:45:205] ␍␊

[16:38:45:205] OK␍␊

[16:39:00:526] AT+QMTPUB=0,2,1,0,“dev/data”,259␍␍␊

[16:39:00:526] > {“value”:{“FCnt”:2,“payload”:“09020C001B01020B010101001801046C01”,“deviceID”:“866425030110920”,“ICCID”:“89840200011215333921”,“type”:“4G”,“mqttServer”:“Orange”,“lte network”:{“lac”:“00”,“ci”:“0000”,“rssi”:0,“rsrp”:0,“sinr”:0,“rsrq”:0},“timestamp”:1677617649}}␍␊

[16:39:08:782] OK␍␊

[16:39:09:944] ␍␊

[16:39:09:944] +QMTPUB: 0,2,0␍␊

[16:39:42:724] AT+QPSMCFG?␍␍␊

[16:39:42:724] +QPSMCFG:1000,4␍␊

[16:39:42:724] ␍␊

[16:39:42:724] OK␍␊

[16:39:52:943] AT+QCFG=“psm/urc”,1␍␍␊

[16:39:52:943] OK␍␊

[16:40:07:707] AT+QCFG=“psm/enter”,1␍␍␊

[16:40:07:707] OK␍␊

[16:40:10:487] AT+CPSMS=1,“00000100”,"00001111"␍␍␊

[16:40:10:487] OK␍␊

[16:41:15:765] AT+CPSMS=1␍␍␊

[16:41:15:765] OK␍␊

[16:41:22:198] AT+CPSMS=?␍␍␊

[16:41:22:198] +CPSMS: (0-1),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits),(<Units(0-6)><TimerValue(0-31)> in bits),(<Units(0-2)><TimerValue(0-31)> in bits)␍␊

[16:41:22:198] ␍␊

[16:41:22:198] OK␍␊

[16:41:26:265] AT+CPSMS?␍␍␊

[16:41:26:265] +CPSMS: 1,“01100000”,“00000000”,"00001111"␍␊

[16:41:26:265] ␍␊

[16:41:26:265] OK␍␊

[16:41:37:659] AT+QPSMS?␍␍␊

[16:41:37:659] +QPSMS: 1,“0”,“0”,"30"␍␊

[16:41:37:659] ␍␊

[16:41:37:659] OK␍␊

Hello @tabor.tang-Q

Can I get also the firmware for BG96MAR02A06M1G?

Thank you!

@Viorel The firmware has been sent to you, please note to check.

1 Like

Received! Thank you! :hugs:

Hello @tabor.tang-Q – I also am certifying a BG96 product with Verizon and need the BG96MAR02A10M1G firmware. I am upgrading my BG96 from BG96MAR04A05M1G.

Can you please send the BG96MAR02A10M1G firmware file to my email also?

I would also like upgrade instructions – I am completing the upgrade with a Linux machine (Raspberry Pi). Can you send instructions to my email?

Thank you!

@brandoaire BG96R02 and BG96R03 are different baseline modules, the firmware is not universal, do you need the firmware of R04 or R02?

Hey there. Thanks for that information – I did not realize that there were multiple revisions of the same BG96 hardware.

The hardware that we are using has the firmware BG96MAR04A05M1G. I was able to find a listing within the Verizon portal that lists this version of firmware as certified (see below).

There are many different options for the BG96 to certify within Verizon’s portal:

You can see options for:

  • BG96
  • BG96 (3.0_M1)
  • BG96 (SST)
  • BG96_3.0M(C2)
  • BG96_3.0M1(DIAG)
  • BG96_3.0M1(TS)

How can I tell what revision of hardware I am using? I my modem firmware says, BG96MAR04A05M1G does that mean that I have a BG96_3.0M1(DIAG) module?

What are the differences between these modems?

Thanks

@brandoaire The latest version of your current module and related upgrade tools have been sent to you, please check.