-
Notifications
You must be signed in to change notification settings - Fork 52
14. Troubleshooting
Language: English. Chinese version: 14. Troubleshooting (中文)
This page is organized by symptom rather than by module. Many Trail Mate problems look like “the system is broken” when the real cause is that the target, protocol choice, resource layout, or board boundary was never aligned first.
If you plan to file an issue, it is worth walking through the relevant branch here before doing so.
- confirm that the environment matches the physical device, especially
T-LoRa-Pager SX1262versusSX1280 - use PlatformIO for the ESP32 and nRF52 handheld paths, and reserve ESP-IDF for
Tab5andT-Display P4 - if serial auto-detection is unstable, add
--upload-port COMxexplicitly
- try a USB cable that is known to carry data
- close any serial monitor, IDE, or host tool that may already hold the port
- on the large-screen IDF path, run
flashfirst and avoid chainingflash monitoron the first attempt
If the device never exposes a port at all, or the same port is unusable everywhere else too, start by treating it as a cable, driver, or serial-permission problem rather than as a map or protocol bug.
If the device neither receives nor transmits, start by suspecting the target, board radio variant, region, or carrier parameters.
If it can receive but not transmit, jump to the next section.
Trail Mate does not switch automatically between Meshtastic, MeshCore, and Reticulum. Confirm:
- which protocol role is active on the device
- whether the peer device or external host uses the same role
- for Reticulum, whether SD
config.jsonis valid, source reports SD, and at least one interface is ready - whether the contact has a complete identity hash plus encryption/signing public keys;
Address pendingis expected when only a destination hash is known - whether both sides match on the relevant parameter model
The matching parameters differ by role:
- Meshtastic mostly depends on
region,channel, andPSK - MeshCore depends more on preset, frequency, bandwidth, spread factor, and coding rate
-
LXMFandRNode Bridgedepend on RNode carrier settings
On boards with multiple radio variants, such as T-LoRa-Pager, a wrong environment often produces the exact symptom “the UI is fine but the radio is wrong”.
Board-level implementations already produce useful failure clues such as:
radio init failedSD init failedGPS init: FAIL
If the radio appears completely dead, those messages are more valuable than screenshots.
- confirm that the current protocol path actually allows transmit
- check whether power and region settings were changed into a bad combination
- check whether the device is on the wrong channel or using the wrong key
On MeshCore, the clearest stable path today is still text messaging. More complex app-data or control flows should not be assumed complete by default.
On the LXMF path, do not judge behavior using Meshtastic broadcast expectations. Reticulum and LXMF use announce, path, proof, link, and resource semantics that are not the same model.
Team traffic is not the same thing as ordinary broadcast traffic. Confirm:
- that the device actually supports Team, and is not a target such as
GAT562 - that team formation really completed
- that you are testing a Team path rather than an ordinary text path
Not every target does. Currently:
-
T-Watch S3hasHAS_GPS=0 -
GAT562,T-Deck,T-LoRa-Pager, andT-Deck Prodo have GPS paths
If the target does not include GPS, then “no fix” is not a fault inside the intended feature set.
Indoor space, partial sky view, or too little time after power-up can all look like hardware failure. Move outdoors into an open area, then use GNSS Sky Plot to check:
- whether satellites are visible
- whether any satellites are contributing to a fix
- whether a fix gradually forms
Then stop investigating the map or chat pages. Treat it as a board-level GPS initialization problem first.
Check these in order:
- is the SD card actually recognized
- is the directory really
/maps/base/{source}/{z}/{x}/{y}.{ext} - did the
satellitefolder accidentally use.png - does the selected layer actually have matching tiles
That usually means the GPS chain is fine and the resource directory is wrong.
-
KMLbelongs in/routes - track files belong in
/trackers - if the folders are missing, the relevant pages simply stay empty
If you prepared mbtiles, custom filenames, or a non-standard hierarchy, then you are outside the current device-side input format boundary already.
Input models differ a lot:
-
T-Deck: keyboard, touch, and trackball -
T-LoRa-Pager: knob, center key, and keyboard -
GAT562: 5-way joystick and two buttons -
T-Watch S3: mostly touch
Do not use one board’s interaction style to diagnose another board as “backward” or “wrong”.
If the directional inputs work but center press does not, the board documentation already suggests suspecting pin mapping or hardware first. That board has had history around joystick-center mapping.
Trail Mate maps the T-Deck trackball more like a directional or rotary navigation device than a general mouse cursor. That is normal.
On T-LoRa-Pager, if USB is still connected, the project currently blocks normal power-off and displays:
Unplug USB to power off
That behavior is better understood as board power policy than as a page-level bug.
On some screen-sleep paths, the first touch wakes the display without passing that touch through to the page as a normal interaction. If this happens, try again before assuming the UI is frozen.
Start with configuration checks:
- GPS update interval
- screen brightness and timeout
- whether BLE and high-frequency positioning remain enabled all the time
These issues are often more about settings than about the battery hardware itself.
Do not assume the build is incomplete immediately. Trail Mate hides pages according to capability and resource budget. Common cases include:
-
GAT562removingTeam,HostLink,SD, andCJK -
T-Watch S3currently lacking the GPS and SD route - large-screen IDF targets still being in bring-up or staged rollout
If one feature is missing only on one device, treat it as a target-boundary question first.
Logs are more important than screenshots when:
- the radio does not work at all
- GPS initialization fails
- SD initialization fails
- the target reboots abnormally at startup
- a feature disappears only on one hardware target
At minimum, record:
- board model and radio variant
- build target such as
tdeckortlora_pager_sx1262 - active protocol: Meshtastic, MeshCore, or Reticulum; for Reticulum, report whether the configuration source is SD, Cached, or Defaults
- whether region, preset, channel, PSK, or RNode carrier parameters were modified
- Reticulum configuration source, status message, and a redacted SD
config.json - whether an SD card is inserted and the directory structure is approximately correct
- the earliest relevant serial-log error line
If you have gone through the relevant branch here and are still stuck, avoid reporting only “does not work”. A more useful issue includes:
- the exact board and build target
- what operation you were performing
- what you expected
- what happened instead
- whether it reproduces reliably
- the most relevant log fragment
Most Trail Mate problems cannot be pinned down from one sentence such as “map is blank” or “message will not send”. The clearer the chain is described, the lower the maintenance cost becomes.
English
- Home
- 0. Why This Exists
- 1. Quick Start
- 2. Supported Hardware
- 3. Installation & Flashing
- 3.5 Configuration Guide
- 4. Protocols & Data
- 4.1 Reticulum, LXMF and RNode Bridge
- 5. Offline Maps
- 6. Trail Mate Center
- 7. Team Features
- 8. UI Overview
- 9. Build from Source
- 10. Codebase Overview
- 11. Architecture
- 12. Design Decisions
- 13. FAQ
- 14. Troubleshooting
- 15. Logging and Debugging
- 16. Roadmap
- 17. Contributing
- 18. License and Third-Party
- 19. GPS Setting Guide
中文
- Home (中文)
- 0. Why This Exists (中文)
- 1. Quick Start (中文)
- 2. Supported Hardware (中文)
- 3. Installation & Flashing (中文)
- 3.5 Configuration Guide (中文)
- 4. Protocols & Data (中文)
- 4.1 Reticulum, LXMF and RNode Bridge (中文)
- 5. Offline Maps (中文)
- 6. Trail Mate Center (中文)
- 7. Team Features (中文)
- 8. UI Overview (中文)
- 9. Build from Source (中文)
- 10. Codebase Overview (中文)
- 11. Architecture (中文)
- 12. Design Decisions (中文)
- 13. FAQ (中文)
- 14. Troubleshooting (中文)
- 15. Logging and Debugging (中文)
- 16. Roadmap (中文)
- 17. Contributing (中文)
- 18. License and Third-Party (中文)