Skip to Content

SN Command — Serial Number

Query the device’s electronic serial number (SN), assigned during manufacturing for hardware traceability.


What is it for?

The SN command allows you to obtain the manufacturing identifier for:

  • 📋 Warranty management — Equipment registration and validation
  • 🔍 Traceability — Tracking from manufacturing
  • Validation — Verify original Rinho products
  • 🔧 Technical support — Identification in RMA tickets
  • 📊 Inventory — Hardware control

The SN is unique for each device and does not change even if the cellular module is replaced.


Syntax

ActionCommandResponse
QueryQSNRSN xxx...xxx (24 hex characters)

Practical Examples

Basic query

>QSN< >RSNEFCDAB286F240000000000EA;ID=974862;*6D< // SN: EFCDAB286F240000000000EA

SN breakdown

BytesContent
0-5Chip MAC reversed (mac[5]..mac[0])
6-10Fixed padding, 0x00
11XOR checksum of bytes 0-10

For RSNEFCDAB286F240000000000EA: the first 6 bytes (EF CD AB 28 6F 24) are the MAC 24:6F:28:AB:CD:EF read in reverse, the next 5 bytes are zero padding, and the last byte (EA) is the checksum.


The SN is not ASCII text

Unlike what a breakdown “by model” suggests, the SN is always derived from the chip’s MAC (reversed) plus padding and checksum, regardless of the device model. There is no variant where the SN encodes the model name in ASCII.

If an SN seems to spell out text (for example, something similar to 53504944...), it’s a coincidence of the MAC bytes, not an encoded text field. Don’t interpret it as ASCII.


SN vs IMEI — Differences

CharacteristicSN (Serial Number)IMEI
IdentifiesDevice hardwareCellular module
FormatHexadecimal (24 chars)Decimal (15 digits)
Assigned byRinho manufacturerModem manufacturer
Main useTraceability, warrantiesMobile operators
Changes if…NeverModem is replaced
CommandQSNQIMEI

After replacing a cellular module, the SN remains the same but the IMEI changes.


Verify the Checksum

The last byte of the SN is an XOR of the previous 11 bytes. It’s used to detect transcription errors when copying the SN by hand, not to decode text.

# Python sn_hex = "EFCDAB286F240000000000EA" b = bytes.fromhex(sn_hex) checksum = 0 for x in b[:11]: checksum ^= x assert checksum == b[11], "Corrupt or mistyped SN"
# PowerShell $sn = "EFCDAB286F240000000000EA" $bytes = [byte[]]::new($sn.Length / 2) for ($i = 0; $i -lt $sn.Length; $i += 2) { $bytes[$i/2] = [Convert]::ToByte($sn.Substring($i, 2), 16) } $checksum = 0 for ($i = 0; $i -lt 11; $i++) { $checksum = $checksum -bxor $bytes[$i] } $checksum -eq $bytes[11] # True if the SN is valid

Use Cases

Technical support registration

// 1. Query SN >QSN< >RSNEFCDAB286F240000000000EA;ID=974862;*6D< // 2. Query IMEI >QIMEI< >RIMEI865851037974862;ID=974862;*4D< // Data for ticket: // - SN: EFCDAB286F240000000000EA // - IMEI: 865851037974862

Verify modem replacement

// Before replacement >QSN< >RSNEFCDAB286F240000000000EA;ID=974862;*6D< // Same SN ✓ >QIMEI< >RIMEI865851037974862;ID=974862;*4D< // Old IMEI // After replacement >QSN< >RSNEFCDAB286F240000000000EA;ID=974862;*6D< // Same SN ✓ >QIMEI< >RIMEI865851038012345;ID=974862;*5A< // New IMEI ✓

Compatibility

ModelMinimum Version
Rinho Spiderv1.03.00
Rinho Ultralitev1.03.00
Rinho Minitrackv1.03.00
Rinho C3v1.03.00
Rinho C5v1.03.00
Rinho Spider IOTv1.00.00
Rinho Smart IOTv1.00.00
Rinho Zero IOTv1.00.00

See Also

Last updated