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
| Action | Command | Response |
|---|---|---|
| Query | QSN | RSN xxx...xxx (24 hex characters) |
Practical Examples
Basic query
>QSN<
>RSNEFCDAB286F240000000000EA;ID=974862;*6D< // SN: EFCDAB286F240000000000EASN breakdown
| Bytes | Content |
|---|---|
| 0-5 | Chip MAC reversed (mac[5]..mac[0]) |
| 6-10 | Fixed padding, 0x00 |
| 11 | XOR 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
| Characteristic | SN (Serial Number) | IMEI |
|---|---|---|
| Identifies | Device hardware | Cellular module |
| Format | Hexadecimal (24 chars) | Decimal (15 digits) |
| Assigned by | Rinho manufacturer | Modem manufacturer |
| Main use | Traceability, warranties | Mobile operators |
| Changes if… | Never | Modem is replaced |
| Command | QSN | QIMEI |
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 validUse 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: 865851037974862Verify 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
| Model | Minimum Version |
|---|---|
| Rinho Spider | v1.03.00 |
| Rinho Ultralite | v1.03.00 |
| Rinho Minitrack | v1.03.00 |
| Rinho C3 | v1.03.00 |
| Rinho C5 | v1.03.00 |
| Rinho Spider IOT | v1.00.00 |
| Rinho Smart IOT | v1.00.00 |
| Rinho Zero IOT | v1.00.00 |
See Also
- IMEI Query - Modem IMEI
- Configure ID - Equipment identifier
- VR Command - Firmware version