Environment
- Traccar:
traccar/traccar:latest (Docker)
- OS: Linux (Docker Compose)
- Timezone: Europe/London
- Router: TP-LINK Deco. Port 5030 forwarded for TCP and UDP connections
Tracker
- Model: Micodus MP90G-SA
- Firmware: unknown (factory)
- Transport: TCP
- Server:
track.example.com
- Ports tested: 5030
- SIM: working (device connects repeatedly)
Docker Compose
services:
traccar:
image: traccar/traccar:latest
container_name: traccar
ports:
- "8082:8082"
- "5055:5055"
- "5030:5030"
volumes:
- ./logs:/opt/traccar/logs
- ./data:/opt/traccar/data
- ./traccar.xml:/opt/traccar/conf/traccar.xml
restart: unless-stopped
Traccar configuration (traccar.xml)
<properties>
<entry key='config.default'>./conf/default.xml</entry>
<entry key='database.driver'>org.h2.Driver</entry>
<entry key='database.url'>jdbc:h2:./data/database</entry>
<entry key='database.user'>sa</entry>
<entry key='database.password'></entry>
<entry key='osmand.port'>5055</entry>
<entry key='tlt2h.enable'>true</entry>
<entry key='tlt2h.port'>5030</entry>
<entry key='database.registerUnknown'>true</entry>
<entry key="logger.org.traccar.protocol">TRACE</entry>
<entry key="logger.level">ALL</entry>
</properties>
The traccar.xml file is confirmed to be mounted and read inside the container.
What works
- Traccar UI loads correctly
- Traccar Client devices work and show positions
- MP90G connects repeatedly over TCP
- Raw hex packets are logged
What does not work
- MP90G device never appears in the UI
- No device ID is extracted
- No authentication or position decode
- No protocol decode logs even at TRACE level
Logs (MP90G connection)
INFO: [T84919026] connected
INFO: [T84919026: tlt2h < 92.40.169.75]
7e0100002d01917571262402000022044e37303434344d503930475f45445f53543930390000000000003537313236323402d4c1423537313931d97e
Only raw hex appears. There is no decoded output at any log level.
The device repeats this every ~60 seconds.
I've manually added a device using the IMEI, device ID, and device ID with leading zero, and none of these appear in the UI.
Response from SMS VERSION# command
ID:19175712624
IMEI:862667088150332
ICCID:8944200204760040094F
VERSION:MP90G(70SALASA)_V_1.0 2025/09/01
Response from SMS STATUS# command
BATTERY:73%
INTERNET:SUCCESS
NET:4G,HIGH
GPS:FIXED,18
MODE:1:10,60
SPEED:0KM/H
SENSOR:OFF,LEVEL:2
STATE:DISARM
Does anyone have any ideas, please? Happy to share other information as needed
Amazing! Thanks Anton!
For anyone who arrives here, it uses the huabao protocol on port 5015. The device ID in Traccar is the ID returned from the "VERSION#" SMS, padded with a single leading zero.
Environment
traccar/traccar:latest(Docker)Tracker
track.example.comDocker Compose
services: traccar: image: traccar/traccar:latest container_name: traccar ports: - "8082:8082" - "5055:5055" - "5030:5030" volumes: - ./logs:/opt/traccar/logs - ./data:/opt/traccar/data - ./traccar.xml:/opt/traccar/conf/traccar.xml restart: unless-stoppedTraccar configuration (
traccar.xml)<properties> <entry key='config.default'>./conf/default.xml</entry> <entry key='database.driver'>org.h2.Driver</entry> <entry key='database.url'>jdbc:h2:./data/database</entry> <entry key='database.user'>sa</entry> <entry key='database.password'></entry> <entry key='osmand.port'>5055</entry> <entry key='tlt2h.enable'>true</entry> <entry key='tlt2h.port'>5030</entry> <entry key='database.registerUnknown'>true</entry> <entry key="logger.org.traccar.protocol">TRACE</entry> <entry key="logger.level">ALL</entry> </properties>The
traccar.xmlfile is confirmed to be mounted and read inside the container.What works
What does not work
Logs (MP90G connection)
Only raw hex appears. There is no decoded output at any log level.
The device repeats this every ~60 seconds.
I've manually added a device using the IMEI, device ID, and device ID with leading zero, and none of these appear in the UI.
Response from SMS VERSION# command
Response from SMS STATUS# command
Does anyone have any ideas, please? Happy to share other information as needed