FIT File Upload
i143723345.zip Zip file contains sample Coros generated .fit file and the modified version created by running the fit-file-faker script.
Prerequisites
Source Platform
COROS
Other Platform (if applicable)
No response
Problem Description
When processing FIT files from a Coros Dura, the activity uploads to Garmin Connect successfully but no gear is assigned. Inspecting the original and modified files shows that Fit-File-Faker successfully rewrites the file_id record but only partially rewrites device_info the product and product_name fields are never updated, leaving Coros branding intact. Garmin Connect uses device_info for gear association, so nothing gets assigned.
For comparison, files from a Hammerhead Karoo 2 process correctly and show the expected Garmin device in Garmin Connect.
Original vs Modified device_info:
[file_id]
manufacturer: 294 → garmin ✅ rewritten correctly
garmin_product: → 3122 ✅ rewritten correctly
[device_info]
manufacturer: 294 → garmin ✅ partially rewritten
product_name: COROS DURA ❌ NOT rewritten (parser aborted)
← FitParseError: Invalid field size 1 for type 'uint32' (expected a multiple of 4)
Command Used
fit-file-faker i143723345.fit --upload
Error Output (if any)
No errors or warnings during processing. The only warning is the expected HTTP 409 conflict on re-upload because this activity was previously uploaded:
INFO Processing "i143723345.fit"
INFO Activity timestamp is "2026-04-26T12:25:37"
INFO Saving modified data to "i143723345_modified.fit"
INFO Uploading "i143723345_modified.fit" using garth
WARNING ❌ Received HTTP conflict (activity already exists)
The root cause looks to be a silent parse failure inside device_info. The Coros Dura writes a non-standard field with an invalid size for its declared type (uint32 with size 1 instead of 4), causing the parser to abort mid-record without surfacing an error.
fit-file-faker Version
2.1.5 (released 2026-04-26)
Operating System
Windows
Additional Context
Source device: Coros Dura
Target device config: Garmin Edge 830
Attached: i143723345.fit (original) and i143723345_modified.fit (Fit-File-Faker output) for direct comparison
FIT File Upload
i143723345.zip Zip file contains sample Coros generated .fit file and the modified version created by running the fit-file-faker script.
Prerequisites
Source Platform
COROS
Other Platform (if applicable)
No response
Problem Description
When processing FIT files from a Coros Dura, the activity uploads to Garmin Connect successfully but no gear is assigned. Inspecting the original and modified files shows that Fit-File-Faker successfully rewrites the file_id record but only partially rewrites device_info the product and product_name fields are never updated, leaving Coros branding intact. Garmin Connect uses device_info for gear association, so nothing gets assigned.
For comparison, files from a Hammerhead Karoo 2 process correctly and show the expected Garmin device in Garmin Connect.
Original vs Modified device_info:
[file_id]
manufacturer: 294 → garmin ✅ rewritten correctly
garmin_product: → 3122 ✅ rewritten correctly
[device_info]
manufacturer: 294 → garmin ✅ partially rewritten
product_name: COROS DURA ❌ NOT rewritten (parser aborted)
← FitParseError: Invalid field size 1 for type 'uint32' (expected a multiple of 4)
Command Used
Error Output (if any)
fit-file-faker Version
2.1.5 (released 2026-04-26)
Operating System
Windows
Additional Context
Source device: Coros Dura
Target device config: Garmin Edge 830
Attached: i143723345.fit (original) and i143723345_modified.fit (Fit-File-Faker output) for direct comparison