RG255C-GL GPS Coordinates

Hello,

I have the AT commands manual for RG255C Quectel_RG255C_Series&RM255C-GL_AT_Commands_Manual_V1.0.0_Preliminary_20231218.pdf and I am looking for a way to get the GPS coordinates. The manual does not contain any GPS related commands such as AT+QGPSLOC. But I see under key features that “Multi-constellation GNSS receiver available for applications requiring fast and accurate fixes in any environment (optional)” is optional. How can I check if my unit has the GNSS receiver?

The modem has only 1 AT series line, which is currently used for data connection (pppd). Is there another recommended way to get the GPS coordinates without AT commands?

Many thanks in advance,
Remus.

You can just read the NMEA log from the GPS port.
You should enable the GPS first with AT+QGPS=1.

1 Like

Thank you for your fast reply.

GPS is turned on:

at+qgps?                                                                                     
                                                                                             
+QGPS: 1                                                                                     
                                                                                             
OK

But I see no data coming on /dev/ttyUSB0 nor /dev/ttyUSB1 (which one is the GPS port? ttyUSB0 or ttyUSB1?)

I’ll recheck antenna connectivity and place my device outdoors but I have a question related to this. If there is no antenna connected is there any data coming out the GPS port? Something that would indicate no or poor signal?

ttyUSB1 should be the GPS port.
Just check whether we can see the NMEA log from the GPS port.
Please also check
AT+QGPSCFG=“outport”

1 Like

Hello again,

I rechecked the antenna and everything seems ok hardware wise. The antenna is positioned outdoors. I also tried AT+QGPSLOC=1 and keep getting CME ERROR 516 (location not fixed).

I’m just wondering, here 5G RedCap RG255C series | Quectel it says that the “Multi-constellation GNSS receiver available for applications requiring fast and accurate fixes in any environment (optional)” is optional. Do you know what that means? Could it be that my modem unit does not have the GNSS receiver? Do I need to order a different variant that has it? How can I check if the GNSS receiver is present in my unit?

Many thanks again!

Could you show how you connect the GNSS antenna?

CME ERROR 516 (location not fixed) means that the location is not fixed.
Let’s the NMEA log first.

1 Like

Antenna connection to the modem module:

The GNSS antenna is placed outside the window:

Trying to get data through /dev/ttyUSB1:

cat /dev/ttyUSB1 > nmea.log

The file nmea.log stays with 0 bytes even after 10 minutes:

-rw-rw-r-- 1 admin admin       0 Jan  2 12:22 nmea.log

I tried a few more AT commands (I haven’t connected the pppd daemon for data):

at+qgpscfg="outport"
+QGPSCFG: "outport",usbnmea

OK

at+qgps?
+QGPS: 1

OK

at+qgpsloc?
+CME ERROR: 516

at+qgpscfg="nmeasrc",1
OK
at+qgpsgnmea="gga"
+QGPSGNMEA: $GPGGA,,,,,,0,,,,,,,,*66

OK

Not sure why there are no NMEA logs on /dev/ttyUSB1.

Some more info from dmesg just to make sure things look fine:

[   58.400489] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[   64.449042] option 1-1:1.0: GSM modem (1-port) converter detected
[   64.449209] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[   64.449291] option 1-1:1.1: GSM modem (1-port) converter detected
[   64.449383] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[   64.449457] option 1-1:1.2: GSM modem (1-port) converter detected
[   64.449543] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2

I’m loading a generic linux driver for the modem via command:

echo "2c7c 0316" > /sys/bus/usb-serial/drivers/option1/new_id

lsusb:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2c7c:0316 Quectel Wireless Solutions Co., Ltd. RG255C-GL
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Adding current firmware:

at+qgmr
RG255CGLABR01A04M4G_01.001.01.001

Please try

AT+QGPSPOWER?
AT+QGPSPOWER=1
1 Like

it returns an error:

at
OK
AT+QGPSPOWER?
ERROR
AT+QGPSPOWER=1
ERROR
at
OK

We are able to get the GPS coordinates now through AT commands (we changed the GPS antenna and it gets a fixture now):

at+qgpsloc=1
+QGPSLOC: ...

OK

However, I am not getting the NMEA logs on /dev/ttyUSB1. I did issue the at+qgpscfg="outport" command. Is there anything else needed to get the NMEA logs?

How did you set the outport?

1 Like
at+qgpscfg="outport"
+QGPSCFG: "outport",usbnmea

OK

What is the Firmware version?

1 Like

1 Like

My firmware version is:

at+qgmr
RG255CGLABR01A04M4G_01.001.01.001

Is there a newer one?

Please try the RG255CGLABR01A08M4G_A0.001.A0.001.

I am getting an error when upgrading:

admin@fa-000326:~/qfirehose$ sudo ./QFirehose -f ../RG255CGLABR01A08M4G/
[000.000]: Version: QFirehose_Linux_Android_V1.4.17
[000.000]: Builded: Jan  6 2025 11:40:06
[000.000]: Find md5 check file <../RG255CGLABR01A08M4G/md5.txt>
[000.000]: md5 checking: ../RG255CGLABR01A08M4G/contents.xml pass
[000.001]: md5 checking: ../RG255CGLABR01A08M4G/update/abl.elf pass
[000.001]: md5 checking: ../RG255CGLABR01A08M4G/update/aop_devcfg.mbn pass
[000.002]: md5 checking: ../RG255CGLABR01A08M4G/update/aop.mbn pass
[000.002]: md5 checking: ../RG255CGLABR01A08M4G/update/apdp.mbn pass
[000.032]: md5 checking: ../RG255CGLABR01A08M4G/update/boot.img pass
[000.034]: md5 checking: ../RG255CGLABR01A08M4G/update/cmnlib.mbn pass
[000.034]: md5 checking: ../RG255CGLABR01A08M4G/update/cpucp.elf pass
[000.034]: md5 checking: ../RG255CGLABR01A08M4G/update/devcfg.mbn pass
[000.034]: md5 checking: ../RG255CGLABR01A08M4G/update/firehose/partition_complete_p2K_b128K.mbn pass
[000.035]: md5 checking: ../RG255CGLABR01A08M4G/update/firehose/patch_p2K_b128K.xml pass
[000.040]: md5 checking: ../RG255CGLABR01A08M4G/update/firehose/prog_firehose_sdx35.elf pass
[000.041]: md5 checking: ../RG255CGLABR01A08M4G/update/firehose/rawprogram_nand_p2K_b128K_update.xml pass
[000.041]: md5 checking: ../RG255CGLABR01A08M4G/update/fw_ipa_gsi_5.2_le.elf pass
[000.042]: md5 checking: ../RG255CGLABR01A08M4G/update/km41_32.mbn pass
[000.042]: md5 checking: ../RG255CGLABR01A08M4G/update/multi_qti.mbn pass
[000.233]: md5 checking: ../RG255CGLABR01A08M4G/update/NON-HLOS.ubi pass
[000.233]: md5 checking: ../RG255CGLABR01A08M4G/update/partition.mbn pass
[000.233]: md5 checking: ../RG255CGLABR01A08M4G/update/partition_nand.xml pass
[000.250]: md5 checking: ../RG255CGLABR01A08M4G/update/qdsp6m.qdb pass
[000.251]: md5 checking: ../RG255CGLABR01A08M4G/update/qupv3fw.elf pass
[000.316]: md5 checking: ../RG255CGLABR01A08M4G/update/recoveryfs.ubi pass
[000.316]: md5 checking: ../RG255CGLABR01A08M4G/update/shrm.elf pass
[000.587]: md5 checking: ../RG255CGLABR01A08M4G/update/sysfs.ubi pass
[000.593]: md5 checking: ../RG255CGLABR01A08M4G/update/tz.mbn pass
[000.604]: md5 checking: ../RG255CGLABR01A08M4G/update/uefi.elf pass
[000.605]: md5 checking: ../RG255CGLABR01A08M4G/update/usrdata.ubi pass
[000.606]: md5 checking: ../RG255CGLABR01A08M4G/update/xbl_config.elf pass
[000.608]: md5 checking: ../RG255CGLABR01A08M4G/update/xbl_ramdump.elf pass
[000.612]: md5 checking: ../RG255CGLABR01A08M4G/update/xbl_s_nand.melf pass
[000.612]: Totals checking 30 files md5 value, 0 file fail!
[000.613]: find 'prog_firehose_sdx35.elf'
[000.613]: find_firehose_mbn prog_firehose_sdx35.elf
[000.613]: [1] /sys/bus/usb/devices/1-1 2c7c/316/515
[000.613]: qusb_read_speed_atime speed: 480, st_atime: 20250106_09:39:38
[000.613]: P: /dev/bus/usb/001/002 idVendor=2c7c idProduct=0316
[000.613]: C: /dev/bus/usb/001/002 bNumInterfaces: 3
[000.613]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=30
[000.613]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: I: If#= 1 Alt= 0 #EPs= 2 Cls=ff Sub=00 Prot=00
[000.613]: E: Ad=82 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: E: Ad=02 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: I: If#= 2 Alt= 0 #EPs= 3 Cls=ff Sub=ff Prot=40
[000.613]: E: Ad=84 Atr=03 MxPS= 10 Ivl=9ms
[000.613]: E: Ad=83 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: E: Ad=03 Atr=02 MxPS= 512 Ivl=0ms
[000.613]: tmp=/sys/bus/usb/devices/usb1/../driver, driver=../../../../../bus/platform/drivers/xhci-hcd
[000.613]: qusb_noblock_open port_name = /dev/ttyUSB0
[003.618]: poll_wait events=POLLIN msec=3000 timeout
[003.618]: qfirehose.c detect_and_judge_module_version 251 fail
[004.619]: poll_wait events=POLLIN msec=1000 timeout
[004.619]: switch to 'Emergency download mode'
[004.623]: successful, wait module reboot
[005.625]: P: /dev/bus/usb/001/003 idVendor=05c6 idProduct=9008
[005.625]: C: /dev/bus/usb/001/003 bNumInterfaces: 1
[005.625]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=11
[005.625]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[005.625]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[005.625]: tmp=/sys/bus/usb/devices/usb1/../driver, driver=../../../../../bus/platform/drivers/xhci-hcd
[005.625]: <=== Q_SAHARA_ONE
[005.625]: Q_SAHARA_TWO ===>
[005.632]: <=== Q_SAHARA_EIGHTEEN
[005.632]: 0x0000000d 0x00000000 0x00000000
[010.839]: inf[0] ep_in -1/4096, errno = 110 (Connection timed out), timeout=5000
[010.839]: qusb_noblock_read read=0, errno: 110 (Connection timed out)
[010.839]: qusb_noblock_read cur=0, min_size=1
[010.839]: Sahara protocol error
[010.839]: Upgrade module failed.

I see in the release notes that it requires firehose 1.4.18 but the latest one on github.com is 1.4.17. Could that be the issue? Where could I get QFirehose 1.4.18 from?
I cloned and built QFirehose from GitHub - nippynetworks/qfirehose: Quectel qfirehose utility to upgrade modems using the firehose protocol branch main.

Running the update command again gives:

[013.719]: qfirehose.c detect_and_judge_module_version 251 fail

Could you send me QFirehose 1.4.18? I’ve only found 1.4.17 publicly available. Thank you!

QFirehose_Linux_and_Android_V1.4.19.zip (292.0 KB)
QFirehose_Linux_and_Android_V1.4.20.zip (178.4 KB)
QFirehose_Linux_and_Android_V1.4.21.zip (178.2 KB)

1 Like

What is the kernel version?

1 Like