[GH-ISSUE #859] [Bug]: Failed to get AMS mapping table when printing with External Spool (X1C) #584

Closed
opened 2026-05-06 12:31:08 +02:00 by BreizhHardware · 7 comments

Originally created by @S0liter on GitHub (Mar 31, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/859

Originally assigned to: @maziggy on GitHub.

Bug Description

When sending a print job to a Bambu Lab X1C using the External Spool (AMS is connected, but empty), the printer fails to start and displays an error:

  • 10 or so min stay in "Waiting for heatbed temperature"
  • [07FF-8012] Failed to get AMS mapping table; please select 'Resume' to retry.

Expected Behavior

The print job should initialize and start automatically using the specified mapping for the External Spool.

Steps to Reproduce

Select a model for printing in Bambuddy.

Ensure the printer (X1C) is configured to use the External Spool (no AMS or AMS ignored).

Map the required filament to the External Spool.

Send the print job to the printer.

The printer starts the "Waiting for heatbed temperature" phase but then stops with the "Failed to get AMS mapping table" error.

Printer Model

X1 Carbon

Bambuddy Version

v0.2.3b1-daily.20260331

Printer Firmware Version

01.11.02.00

Installation Method

Docker

Operating System

Linux (Other)

Relevant Logs / Support Package

2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] AMS dict fields: {'ams_exist_bits': '1', 'ams_exist_bits_raw': '1', 'cali_id': 0, 'cali_stat': 0, 'insert_flag': True, 'power_on_flag': True, 'tray_exist_bits': '0', 'tray_is_bbl_bits': '0', 'tray_now': '254', 'tray_pre': '254', 'tray_read_done_bits': '0', 'tray_reading_bits': '0', 'tray_tar': '0', 'unbind_ams_stat': 0, 'version': 1899}
2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] tray_now updated: 254
2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Merged AMS data: 1 new units, 1 total
2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] AMS 0 info=0x1001 -> extruder 0
2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ams_extruder_map: {'0': 0}
2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ams_status: 258 (main=1, sub=2)
2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Received command response: push_status
2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] device.extruder.state=524289 (switch_state bits 12-14: 0)
2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] info.temp direct: 31°C (heater OFF)
2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ctc_info keys: ['temp']
2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Chamber heating calculated: target=0.0, current=31.0, heating=False, respect_local=False
2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Chamber temp updated to: 31.0, target: 0.0, heating: False
2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] HMS data received: [{'attr': 134180864, 'code': 131080}]
2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] print_error: 134184978 (0x07ff8012) -> short_code=07FF_8012```

### Screenshots

_No response_

### Additional Context

_No response_

### Checklist

- [x] I have searched existing issues to ensure this bug hasn't already been reported
- [x] I am using the latest version of Bambuddy
- [x] My printer is set to LAN Only mode
- [x] My printer has Developer Mode enabled
Originally created by @S0liter on GitHub (Mar 31, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/859 Originally assigned to: @maziggy on GitHub. ### Bug Description When sending a print job to a Bambu Lab X1C using the External Spool (AMS is connected, but empty), the printer fails to start and displays an error: - 10 or so min stay in "Waiting for heatbed temperature" - [07FF-8012] Failed to get AMS mapping table; please select 'Resume' to retry. ### Expected Behavior The print job should initialize and start automatically using the specified mapping for the External Spool. ### Steps to Reproduce Select a model for printing in Bambuddy. Ensure the printer (X1C) is configured to use the External Spool (no AMS or AMS ignored). Map the required filament to the External Spool. Send the print job to the printer. The printer starts the "Waiting for heatbed temperature" phase but then stops with the "Failed to get AMS mapping table" error. ### Printer Model X1 Carbon ### Bambuddy Version v0.2.3b1-daily.20260331 ### Printer Firmware Version 01.11.02.00 ### Installation Method Docker ### Operating System Linux (Other) ### Relevant Logs / Support Package ```2026-03-31 17:48:11,415 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Received gcode_state: PAUSE, gcode_file: /data/Metadata/plate_1.gcode, subtask_name: cover 2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] AMS dict fields: {'ams_exist_bits': '1', 'ams_exist_bits_raw': '1', 'cali_id': 0, 'cali_stat': 0, 'insert_flag': True, 'power_on_flag': True, 'tray_exist_bits': '0', 'tray_is_bbl_bits': '0', 'tray_now': '254', 'tray_pre': '254', 'tray_read_done_bits': '0', 'tray_reading_bits': '0', 'tray_tar': '0', 'unbind_ams_stat': 0, 'version': 1899} 2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] tray_now updated: 254 2026-03-31 17:48:11,416 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Merged AMS data: 1 new units, 1 total 2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] AMS 0 info=0x1001 -> extruder 0 2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ams_extruder_map: {'0': 0} 2026-03-31 17:48:11,417 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ams_status: 258 (main=1, sub=2) 2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Received command response: push_status 2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] device.extruder.state=524289 (switch_state bits 12-14: 0) 2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] info.temp direct: 31°C (heater OFF) 2026-03-31 17:48:11,418 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] ctc_info keys: ['temp'] 2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Chamber heating calculated: target=0.0, current=31.0, heating=False, respect_local=False 2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] Chamber temp updated to: 31.0, target: 0.0, heating: False 2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] HMS data received: [{'attr': 134180864, 'code': 131080}] 2026-03-31 17:48:11,419 DEBUG [backend.app.services.bambu_mqtt] [[SERIAL]] print_error: 134184978 (0x07ff8012) -> short_code=07FF_8012``` ### Screenshots _No response_ ### Additional Context _No response_ ### Checklist - [x] I have searched existing issues to ensure this bug hasn't already been reported - [x] I am using the latest version of Bambuddy - [x] My printer is set to LAN Only mode - [x] My printer has Developer Mode enabled
BreizhHardware 2026-05-06 12:31:08 +02:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@NoahTingey commented on GitHub (Mar 31, 2026):

I believe this was fixed in the latest daily https://github.com/maziggy/bambuddy/releases/tag/v0.2.3b1-daily.20260331

Edit: Just realized you said you're on this daily. My bad.

<!-- gh-comment-id:4163319486 --> @NoahTingey commented on GitHub (Mar 31, 2026): ~~I believe this was fixed in the latest daily https://github.com/maziggy/bambuddy/releases/tag/v0.2.3b1-daily.20260331~~ Edit: Just realized you said you're on this daily. My bad.
Author
Owner

@S0liter commented on GitHub (Mar 31, 2026):

I was hoping this #854 fix would help me too, but unfortunately it didn't.

<!-- gh-comment-id:4165003895 --> @S0liter commented on GitHub (Mar 31, 2026): I was hoping this #854 fix would help me too, but unfortunately it didn't.
Author
Owner

@maziggy commented on GitHub (Apr 1, 2026):

Please upload a support package -> https://wiki.bambuddy.cool/features/system-info/?h=debug#enable-debug-logging

<!-- gh-comment-id:4168022046 --> @maziggy commented on GitHub (Apr 1, 2026): Please upload a support package -> https://wiki.bambuddy.cool/features/system-info/?h=debug#enable-debug-logging
Author
Owner

@S0liter commented on GitHub (Apr 1, 2026):

My bad.
bambuddy-support-20260401-154209.zip

<!-- gh-comment-id:4169912884 --> @S0liter commented on GitHub (Apr 1, 2026): My bad. [bambuddy-support-20260401-154209.zip](https://github.com/user-attachments/files/26406229/bambuddy-support-20260401-154209.zip)
Author
Owner

@maziggy commented on GitHub (Apr 1, 2026):

Thanks for the support package! Unfortunately debug logging was enabled after the print was already running, so the logs don't capture the actual MQTT command that was sent to the printer. We need to see the exact start_print payload to diagnose this.

The #854 fix handles the case where all filament slots map to external spool by setting use_ams=false. Your case is different — your X1C has an AMS connected but empty (ams_exist_bits=1, tray_exist_bits=0). The firmware likely still tries to query the AMS mapping table during filament loading because it sees the AMS hardware is present, even with use_ams=false.

Could you help narrow this down?

  1. Enable debug logging before starting the print, then reproduce the issue and upload a new support package. I need to see the Sending print command: log line.
  2. Does the same file print successfully from BambuStudio with the same External Spool mapping?
  3. Does it work if you physically disconnect the AMS (or power it off) and print from Bambuddy?

This will tell us whether it's a Bambuddy command issue we can fix, or an X1C firmware quirk when AMS is present but empty.

<!-- gh-comment-id:4170066911 --> @maziggy commented on GitHub (Apr 1, 2026): Thanks for the support package! Unfortunately debug logging was enabled after the print was already running, so the logs don't capture the actual MQTT command that was sent to the printer. We need to see the exact start_print payload to diagnose this. The #854 fix handles the case where all filament slots map to external spool by setting use_ams=false. Your case is different — your X1C has an AMS connected but empty (ams_exist_bits=1, tray_exist_bits=0). The firmware likely still tries to query the AMS mapping table during filament loading because it sees the AMS hardware is present, even with use_ams=false. Could you help narrow this down? 1. Enable debug logging before starting the print, then reproduce the issue and upload a new support package. I need to see the Sending print command: log line. 2. Does the same file print successfully from BambuStudio with the same External Spool mapping? 3. Does it work if you physically disconnect the AMS (or power it off) and print from Bambuddy? This will tell us whether it's a Bambuddy command issue we can fix, or an X1C firmware quirk when AMS is present but empty.
Author
Owner

@S0liter commented on GitHub (Apr 1, 2026):

This was my first experience with bambuddy, after installation I was impressed by the functionality and immediately added the printer that was nearby (X1C). Before that I always used BambuStudio with an external spool AMS did not affect it in any way (disabled, empty or full).
The printer firmware version has not changed since using BambuStudio.

By the way, I started logging before printing, now I do it again, and again there is no start_print command in the logs.

Probably the debug log output is limited by the number of lines or size.
From the third time I managed to get these lines, without expecting an AMS error.

2026-04-01 17:59:20,570 INFO [backend.app.services.bambu_ftp] FTP mode cached for [IP]: prot_p
2026-04-01 17:59:20,605 INFO [backend.app.main] Registered expected print: printer=1, file=Без_назви.3mf, archive=9, ams_mapping=[254]
2026-04-01 17:59:20,606 INFO [backend.app.services.printer_manager] PRINT COMMAND: printer=1, file=Без_назви.3mf, caller=background_dispatch.py:529:_process_job
2026-04-01 17:59:20,607 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] All filament slots use external spool — setting use_ams=False
2026-04-01 17:59:20,607 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] Sending print command: {"print": {"sequence_id": "20000", "command": "project_file", "param": "Metadata/plate_1.gcode", "url": "ftp://\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438.3mf", "file": "\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438.3mf", "md5": "", "bed_type": "auto", "timelapse": false, "bed_leveling": true, "auto_bed_leveling": 1, "flow_cali": false, "vibration_cali": false, "layer_inspect": false, "use_ams": false, "cfg": "0", "extrude_cali_flag": 0, "extrude_cali_manual_mode": 0, "nozzle_offset_cali": 2, "subtask_name": "\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438", "profile_id": "0", "project_id": "0", "subtask_id": "0", "task_id": "0", "ams_mapping": [-1], "ams_mapping2": [{"ams_id": 254, "slot_id": 0}]}}
2026-04-01 17:59:20,626 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] Captured ams_mapping from print command: [-1]

bambuddy-support-20260401-175933.zip

<!-- gh-comment-id:4170760097 --> @S0liter commented on GitHub (Apr 1, 2026): This was my first experience with bambuddy, after installation I was impressed by the functionality and immediately added the printer that was nearby (X1C). Before that I always used BambuStudio with an external spool AMS did not affect it in any way (disabled, empty or full). The printer firmware version has not changed since using BambuStudio. By the way, I started logging before printing, now I do it again, and again there is no start_print command in the logs. Probably the debug log output is limited by the number of lines or size. From the third time I managed to get these lines, without expecting an AMS error. ```2026-04-01 17:59:20,567 INFO [backend.app.services.bambu_ftp] FTP upload complete: /Без_назви.3mf (120129 bytes in 0.2s, 694 KB/s) 2026-04-01 17:59:20,570 INFO [backend.app.services.bambu_ftp] FTP mode cached for [IP]: prot_p 2026-04-01 17:59:20,605 INFO [backend.app.main] Registered expected print: printer=1, file=Без_назви.3mf, archive=9, ams_mapping=[254] 2026-04-01 17:59:20,606 INFO [backend.app.services.printer_manager] PRINT COMMAND: printer=1, file=Без_назви.3mf, caller=background_dispatch.py:529:_process_job 2026-04-01 17:59:20,607 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] All filament slots use external spool — setting use_ams=False 2026-04-01 17:59:20,607 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] Sending print command: {"print": {"sequence_id": "20000", "command": "project_file", "param": "Metadata/plate_1.gcode", "url": "ftp://\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438.3mf", "file": "\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438.3mf", "md5": "", "bed_type": "auto", "timelapse": false, "bed_leveling": true, "auto_bed_leveling": 1, "flow_cali": false, "vibration_cali": false, "layer_inspect": false, "use_ams": false, "cfg": "0", "extrude_cali_flag": 0, "extrude_cali_manual_mode": 0, "nozzle_offset_cali": 2, "subtask_name": "\u0411\u0435\u0437_\u043d\u0430\u0437\u0432\u0438", "profile_id": "0", "project_id": "0", "subtask_id": "0", "task_id": "0", "ams_mapping": [-1], "ams_mapping2": [{"ams_id": 254, "slot_id": 0}]}} 2026-04-01 17:59:20,626 INFO [backend.app.services.bambu_mqtt] [[SERIAL]] Captured ams_mapping from print command: [-1] ``` [bambuddy-support-20260401-175933.zip](https://github.com/user-attachments/files/26413568/bambuddy-support-20260401-175933.zip)
Author
Owner

@maziggy commented on GitHub (Apr 2, 2026):

I was able to reproduce the issue on my X1C. Thanks for reprting this!

Available/Fixed in branch dev and available with the next release or daily build. PLease let me know if it works for you now.


If you find Bambuddy useful, please consider giving it a on GitHub — it helps others discover the project!

<!-- gh-comment-id:4175251698 --> @maziggy commented on GitHub (Apr 2, 2026): I was able to reproduce the issue on my X1C. Thanks for reprting this! Available/Fixed in branch dev and available with the next release or daily build. PLease let me know if it works for you now. ----- If you find Bambuddy useful, please consider giving it a ⭐ on [GitHub](https://github.com/maziggy/bambuddy) — it helps others discover the project!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy#584
No description provided.