[GH-ISSUE #52] [Bug]: Unable to connect to virtual printer #21

Closed
opened 2026-05-06 12:24:52 +02:00 by BreizhHardware · 29 comments

Originally created by @pinionless on GitHub (Jan 3, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/52

Originally assigned to: @maziggy on GitHub.

Bug Description

I have tried from windows and from linux
Setup my server locally and on my docker machine

I get this error every time
Connect Bambuddy failed! [SN:00M09A391800001, code=-1]

Discovery works. Changed access code. Nothing worked.

Do I need cert installed on my machine so its trusted?
Never had an "untrusted cert error" Always -1 and logs are not very helpfull.

Expected Behavior

connects to virtual printer

Steps to Reproduce

1 install using docker compose
2 try to connect from orca slicer and bambu slicer

Printer Model

A1

Bambuddy Version

v0.1.6b5

Printer Firmware Version

01.07

Installation Method

Docker

Operating System

Linux (Ubuntu/Debian)

Relevant Logs


Screenshots

No response

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this bug hasn't already been reported
  • I am using the latest version of Bambuddy
  • My printer is set to LAN Only mode
Originally created by @pinionless on GitHub (Jan 3, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/52 Originally assigned to: @maziggy on GitHub. ### Bug Description I have tried from windows and from linux Setup my server locally and on my docker machine I get this error every time Connect Bambuddy failed! [SN:00M09A391800001, code=-1] Discovery works. Changed access code. Nothing worked. Do I need cert installed on my machine so its trusted? Never had an "untrusted cert error" Always -1 and logs are not very helpfull. ### Expected Behavior connects to virtual printer ### Steps to Reproduce 1 install using docker compose 2 try to connect from orca slicer and bambu slicer ### Printer Model A1 ### Bambuddy Version v0.1.6b5 ### Printer Firmware Version 01.07 ### Installation Method Docker ### Operating System Linux (Ubuntu/Debian) ### Relevant Logs ```shell ``` ### 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
Author
Owner

@k33v89 commented on GitHub (Jan 4, 2026):

Same problem here....

<!-- gh-comment-id:3707503702 --> @k33v89 commented on GitHub (Jan 4, 2026): Same problem here....
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

Did you guys follow the docs? For Docker based installations, network_mode host and certificate persistence is required. In addition you need some iptables rules as shown in frontend beside the virtual printer settings.

https://wiki.bambuddy.cool/features/virtual-printer/#docker-configuration

<!-- gh-comment-id:3707775357 --> @maziggy commented on GitHub (Jan 4, 2026): Did you guys follow the docs? For Docker based installations, network_mode host and certificate persistence is required. In addition you need some iptables rules as shown in frontend beside the virtual printer settings. https://wiki.bambuddy.cool/features/virtual-printer/#docker-configuration
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

Did you guys follow the docs? For Docker based installations, network_mode host and certificate persistence is required. In addition you need some iptables rules as shown in frontend beside the virtual printer settings.

https://wiki.bambuddy.cool/features/virtual-printer/#docker-configuration

  • wiki lists port 1990 (SSDP), application lists port 2021 (SSDP)
  • I have network mode host
  • I can see packets are getting to the APP on 8883
    I showed tcpdump to AI and it told me:
17:37:22 - Your PC (192.168.1.30) connects to port 8883 ✅
         - Server responds with TLS certificate (2174 bytes) ✅
         - Connection immediately closes with FIN, RST flags ❌
17:37:22 - Bambu Studio retries immediately
17:37:23 - Same thing happens again - connect, get cert, disconnect
  • this information in your wiki is incorrect:

bambuddy_vprinter:/app/virtual_printer # Persist certificates

virtual_printer folder is at /app/data/virtual_printer

So volumes: ./apps/bambuddy/data:/app/data is sufficient

<!-- gh-comment-id:3707939751 --> @pinionless commented on GitHub (Jan 4, 2026): > Did you guys follow the docs? For Docker based installations, network_mode host and certificate persistence is required. In addition you need some iptables rules as shown in frontend beside the virtual printer settings. > > https://wiki.bambuddy.cool/features/virtual-printer/#docker-configuration - wiki lists port 1990 (SSDP), application lists port 2021 (SSDP) - I have network mode host - I can see packets are getting to the APP on 8883 I showed tcpdump to AI and it told me: ``` 17:37:22 - Your PC (192.168.1.30) connects to port 8883 ✅ - Server responds with TLS certificate (2174 bytes) ✅ - Connection immediately closes with FIN, RST flags ❌ 17:37:22 - Bambu Studio retries immediately 17:37:23 - Same thing happens again - connect, get cert, disconnect ``` - this information in your wiki is incorrect: > bambuddy_vprinter:/app/virtual_printer # Persist certificates virtual_printer folder is at /app/**data**/virtual_printer So volumes: ./apps/bambuddy/data:/app/data is sufficient
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

Yes, already saw the wrong mounts. Will check today and let you know.

<!-- gh-comment-id:3707941804 --> @maziggy commented on GitHub (Jan 4, 2026): Yes, already saw the wrong mounts. Will check today and let you know.
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

Please use latest 0.1.6b6 release. Virtual printer module was completely refactored. Please follow the new detailed instructions in Wiki. There's now a help link in Virtual Printer tab.

<!-- gh-comment-id:3708200971 --> @maziggy commented on GitHub (Jan 4, 2026): Please use latest 0.1.6b6 release. Virtual printer module was completely refactored. Please follow the new detailed instructions in Wiki. There's now a help link in Virtual Printer tab.
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

.crt files on arch linux are not in the location listed in your wiki

I added printer cert somewhere... and run some tests

MQTT test

mosquitto_sub -h 192.168.1.100 -p 8883 --cafile "/etc/ssl/certs/ca-certificates.crt" -u "bblp" -P 12345678 -t "device/+/report"

{"print": {"sequence_id": "12", "command": "push_status", "msg": 0, "gcode_state": "IDLE", "gcode_file": "", "gcode_file_prepare_percent": "0", "subtask_name": "", "mc_print_stage": "", "mc_percent": 0, "mc_remaining_time": 0, "wifi_signal": "-44dBm", "print_error": 0, "print_type": "", "bed_temper": 25.0, "bed_target_temper": 0.0, "nozzle_temper": 25.0, "nozzle_target_temper": 0.0, "chamber_temper": 25.0, "cooling_fan_speed": "0", "big_fan1_speed": "0", "big_fan2_speed": "0", "heatbreak_fan_speed": "0", "spd_lvl": 1, "spd_mag": 100, "stg": [], "stg_cur": 0, "layer_num": 0, "total_layer_num": 0, "home_flag": 256, "hw_switch_state": 0, "online": {"ahb": false, "rfid": false, "version": 7}, "ams_status": 0, "sdcard": true, "storage": {"free": 1000000000, "total": 32000000000}, "upgrade_state": {"sequence_id": 0, "progress": "", "status": "", "consistency_request": false, "dis_state": 0, "err_code": 0, "force_upgrade": false, "message": "", "module": "", "new_version_state": 2, "new_ver_list": [], "ota_new_version_number": "", "ahb_new_version_number": ""}, "ipcam": {"ipcam_dev": "1", "ipcam_record": "enable", "timelapse": "disable", "resolution": "1080p", "mode_bits": 0}, "xcam": {"allow_skip_parts": false, "buildplate_marker_detector": true, "first_layer_inspector": true, "halt_print_sensitivity": "medium", "print_halt": true, "printing_monitor": true, "spaghetti_detector": true}, "lights_report": [{"node": "chamber_light", "mode": "on"}], "nozzle_diameter": "0.4", "nozzle_type": "hardened_steel"}}

SSL test 8883

openssl s_client -connect 192.168.1.100:8883
Connecting to 192.168.1.100
CONNECTED(00000003)
Can't use SSL_get_servername
depth=1 CN=Virtual Printer CA
verify return:1
depth=0 CN=03900A391800001
verify return:1
---
Certificate chain
 0 s:CN=03900A391800001
   i:CN=Virtual Printer CA
   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption
   v:NotBefore: Jan  4 17:11:52 2026 GMT; NotAfter: Jan  2 17:11:52 2036 GMT
 1 s:CN=Virtual Printer CA
   i:CN=Virtual Printer CA
   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption
   v:NotBefore: Jan  4 16:19:17 2026 GMT; NotAfter: Dec 30 16:19:17 2045 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDQTCCAimgAwIBAgIUA36pDjfGCQuLWKSUZVaz1YI6gc8wDQYJKoZIhvcNAQEL
BQAwHTEbMBkGA1UEAwwSVmlydHVhbCBQcmludGVyIENBMB4XDTI2MDEwNDE3MTE1
MloXDTM2MDEwMjE3MTE1MlowGjEYMBYGA1UEAwwPMDM5MDBBMzkxODAwMDAxMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtApzDVGUJUpQLSa3KqnPQF9+
W4yIVCh1hXP+Sm1CgNB9pjlOw2nmXVGfk0xeL+zEzgmXWXdJTuWD8IXi4JGMODIQ
hCudQbx5GC3sJzPJHd2W/4eLqKcmYMGZZt05bueIFXUqI0ZNhwh3mjL84bSQXJtY
hysQWWOwpOW60mOr9Yn/U+lVkXWczgFOh4EF9LJTwgKtqwv90P3huF5UjLQNzYeq
jClYTPQKNLKvM7MR1cM224PKryIqUzTVDl5YSWSUW2qD24YrB9G9BVaIYzTldTTA
MeDhRB1J8+FafjCJWf9Yvxsb1lbIuWRMcYL7EX2AcRX2z4bpr7l2rP0ec0rZnQID
AQABo3wwejAMBgNVHRMBAf8EAjAAMDsGA1UdEQQ0MDKCCWxvY2FsaG9zdIIIYmFt
YnVkZHmCDzAzOTAwQTM5MTgwMDAwMYcEwKgBZIcEfwAAATAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUA
A4IBAQCj9HYHKFX1ztjQCLP+/vuNPmHRenf7HDFEBXxfu1XqoTvLryaOI8o5H5Xw
xHEJ/rQral0pV61FStK1c2u+fFIzrjZ9Vj6v7d0NdOtyjkHoTT03XBdXXsUITxfe
IotGH256CSN92smWqQTDQT6HEcdqnAFvqs0bIUmgCXAZJQB495EHGivO8ihFOAiY
ODctBV0T2wHHi6UqBZOP7VTKss3765BG/fwN3HDmya/U0f+0+VqFNZcqNwolm7qs
rvUE95s5fIjwlK5lSSRXlfnFBjvQCbtoDiC/ybsvhEbumosY84qvKzpBAJFM+QaF
BLPSI70ZijS0xXCxWGAKdNaWuMJw
-----END CERTIFICATE-----
subject=CN=03900A391800001
issuer=CN=Virtual Printer CA
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: rsa_pss_rsae_sha256
Negotiated TLS1.3 group: X25519MLKEM768
---
SSL handshake has read 3240 bytes and written 1602 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 2048 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 0E60EABE5B50D7A36B634571F484F3E10F87D89ABDF3B96F60BBDC807F3F83CB
    Session-ID-ctx:
    Resumption PSK: 262EB05B38AECEF6F8BE904884DB9B125EFF7D21D7466AE8235C7EEB0EE32E95373A9E71181B8E2307D47805457E84B4
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 7a 46 7f c2 6c 67 a6 68-38 b2 25 ad 36 71 8d f2   zF..lg.h8.%.6q..
    0010 - 44 04 04 a6 ab aa 3d 60-61 61 4a 7b 20 8a 98 e9   D.....=`aaJ{ ...
    0020 - 51 4d cc d9 f5 10 79 39-a2 4f 76 96 ba ad f0 dc   QM....y9.Ov.....
    0030 - 5c 67 7d 3e 16 7d 3f 32-92 8e fa 8f f6 4c 24 c7   \g}>.}?2.....L$.
    0040 - ba 42 f7 07 a2 5e 78 45-3a 27 c3 9a ca ef 59 9d   .B...^xE:'....Y.
    0050 - dc fd 86 8e 95 4a 23 99-29 49 bd 5a b1 f2 53 68   .....J#.)I.Z..Sh
    0060 - 64 63 f0 95 a1 f1 b9 d8-f2 07 8a 9d f2 9f c0 26   dc.............&
    0070 - 4b 9f ea 56 7b e5 2d f0-14 50 a2 8b 56 e7 3a 88   K..V{.-..P..V.:.
    0080 - d7 a0 5f 3a 0c 97 79 63-f6 2c 4a d7 d6 91 f4 7c   .._:..yc.,J....|
    0090 - e4 ad dc 8e aa 46 00 85-05 ea 6e 41 53 64 a4 b0   .....F....nASd..
    00a0 - b6 be 3b c9 7c ac 42 61-21 69 5e be 5f 73 1e a1   ..;.|.Ba!i^._s..
    00b0 - c8 b8 44 ec bc 93 cc 2f-7b 92 d4 db b5 fc df 8e   ..D..../{.......
    00c0 - 1e 27 5e bb 4d bf aa 12-18 39 bb 9b 6b 36 f7 bd   .'^.M....9..k6..

    Start Time: 1767547379
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: F844C87B638DD5200861FF7B4DA9486123D050435E794EA4AE5EDDEE39396567
    Session-ID-ctx:
    Resumption PSK: 65AF312EB53419F81AFBE6725FCC2F1B75FC4068DF665175708321AB1D86AC474592EA2C904F36A6BD184CEEF93ED5D8
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 7a 46 7f c2 6c 67 a6 68-38 b2 25 ad 36 71 8d f2   zF..lg.h8.%.6q..
    0010 - 91 3b d8 3b 45 18 02 50-5f d4 79 bf 38 8f 1c 31   .;.;E..P_.y.8..1
    0020 - 85 fc 25 30 6b 8d aa 11-a7 9c ce cc 2c 36 5f d6   ..%0k.......,6_.
    0030 - 1b 9e ba 62 d6 0d 77 42-a3 c0 61 0e b9 4b d8 2a   ...b..wB..a..K.*
    0040 - ce cd 20 9d c4 a3 68 10-77 4e 89 7d da b1 4c 6b   .. ...h.wN.}..Lk
    0050 - 7b 30 8a 39 82 96 43 9c-90 8c 13 f9 dd 5c 27 29   {0.9..C......\')
    0060 - 22 66 16 69 38 c2 7a be-06 32 40 45 c7 40 f8 69   "f.i8.z..2@E.@.i
    0070 - 60 e7 e7 61 9a 2d 7a c2-ac 9a 54 62 3f 12 5d 4c   `..a.-z...Tb?.]L
    0080 - 8f 71 ab 95 4d 81 a6 cd-92 8b ae 2f dd 3d 10 19   .q..M....../.=..
    0090 - 2d 48 fd 60 22 76 c1 d9-aa 84 6b 22 b4 be ad 66   -H.`"v....k"...f
    00a0 - dd 43 80 23 0a ad a2 f3-28 3c 5f 7b c9 ae 4b 58   .C.#....(<_{..KX
    00b0 - 7c c8 79 17 91 c5 a7 ea-6f c0 8b 4a b3 5f 79 81   |.y.....o..J._y.
    00c0 - 2e 04 c8 55 3d 6a 73 64-16 79 80 9c 83 e4 1e 1d   ...U=jsd.y......

    Start Time: 1767547379
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

FTP test

curl --user bblp:12345678 ftps://192.168.1.100:990 -v
*   Trying 192.168.1.100:990...
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* SSL Trust Anchors:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / RSASSA-PSS
* Server certificate:
*   subject: CN=03900A391800001
*   start date: Jan  4 17:11:52 2026 GMT
*   expire date: Jan  2 17:11:52 2036 GMT
*   issuer: CN=Virtual Printer CA
*   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   subjectAltName: "192.168.1.100" matches cert's IP address!
* SSL certificate verified via OpenSSL.
* Established connection to 192.168.1.100 (192.168.1.100 port 990) from 192.168.1.30 port 37282
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< 220 Bambuddy Virtual Printer FTP ready
> USER bblp
< 331 Password required
> PASS 12345678
< 230 Login successful
> PBSZ 0
< 200 PBSZ=0
> PROT P
< 200 Protection level set to Private
> PWD
< 257 "/" is current directory
* Entry path is '/'
* Request has same path as previous transfer
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||56153|)
* Connecting to 192.168.1.100 (192.168.1.100) port 56153
*   Trying 192.168.1.100:56153...
* SSL reusing session with ALPN '-'
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
> TYPE A
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / UNDEF
* Server certificate:
*   subject: CN=03900A391800001
*   start date: Jan  4 17:11:52 2026 GMT
*   expire date: Jan  2 17:11:52 2036 GMT
*   issuer: CN=Virtual Printer CA
*   subjectAltName: "192.168.1.100" matches cert's IP address!
* SSL certificate verified via OpenSSL.
* Established 2nd connection to 192.168.1.100 (192.168.1.100 port 56153) from 192.168.1.30 port 41372
< 200 Type set to ASCII
> LIST
< 150 Opening data connection
* Maxdownload = -1
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):

Looks like I can connect to the sftp but I am not able to get a list of files from virtual printer this same way curl shows me a list of files on my A1

<!-- gh-comment-id:3708281514 --> @pinionless commented on GitHub (Jan 4, 2026): .crt files on arch linux are not in the location listed in your wiki I added printer cert somewhere... and run some tests MQTT test `mosquitto_sub -h 192.168.1.100 -p 8883 --cafile "/etc/ssl/certs/ca-certificates.crt" -u "bblp" -P 12345678 -t "device/+/report"` ```{"print": {"sequence_id": "12", "command": "push_status", "msg": 0, "gcode_state": "IDLE", "gcode_file": "", "gcode_file_prepare_percent": "0", "subtask_name": "", "mc_print_stage": "", "mc_percent": 0, "mc_remaining_time": 0, "wifi_signal": "-44dBm", "print_error": 0, "print_type": "", "bed_temper": 25.0, "bed_target_temper": 0.0, "nozzle_temper": 25.0, "nozzle_target_temper": 0.0, "chamber_temper": 25.0, "cooling_fan_speed": "0", "big_fan1_speed": "0", "big_fan2_speed": "0", "heatbreak_fan_speed": "0", "spd_lvl": 1, "spd_mag": 100, "stg": [], "stg_cur": 0, "layer_num": 0, "total_layer_num": 0, "home_flag": 256, "hw_switch_state": 0, "online": {"ahb": false, "rfid": false, "version": 7}, "ams_status": 0, "sdcard": true, "storage": {"free": 1000000000, "total": 32000000000}, "upgrade_state": {"sequence_id": 0, "progress": "", "status": "", "consistency_request": false, "dis_state": 0, "err_code": 0, "force_upgrade": false, "message": "", "module": "", "new_version_state": 2, "new_ver_list": [], "ota_new_version_number": "", "ahb_new_version_number": ""}, "ipcam": {"ipcam_dev": "1", "ipcam_record": "enable", "timelapse": "disable", "resolution": "1080p", "mode_bits": 0}, "xcam": {"allow_skip_parts": false, "buildplate_marker_detector": true, "first_layer_inspector": true, "halt_print_sensitivity": "medium", "print_halt": true, "printing_monitor": true, "spaghetti_detector": true}, "lights_report": [{"node": "chamber_light", "mode": "on"}], "nozzle_diameter": "0.4", "nozzle_type": "hardened_steel"}}``` SSL test 8883 ``` openssl s_client -connect 192.168.1.100:8883 Connecting to 192.168.1.100 CONNECTED(00000003) Can't use SSL_get_servername depth=1 CN=Virtual Printer CA verify return:1 depth=0 CN=03900A391800001 verify return:1 --- Certificate chain 0 s:CN=03900A391800001 i:CN=Virtual Printer CA a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption v:NotBefore: Jan 4 17:11:52 2026 GMT; NotAfter: Jan 2 17:11:52 2036 GMT 1 s:CN=Virtual Printer CA i:CN=Virtual Printer CA a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption v:NotBefore: Jan 4 16:19:17 2026 GMT; NotAfter: Dec 30 16:19:17 2045 GMT --- Server certificate -----BEGIN CERTIFICATE----- MIIDQTCCAimgAwIBAgIUA36pDjfGCQuLWKSUZVaz1YI6gc8wDQYJKoZIhvcNAQEL BQAwHTEbMBkGA1UEAwwSVmlydHVhbCBQcmludGVyIENBMB4XDTI2MDEwNDE3MTE1 MloXDTM2MDEwMjE3MTE1MlowGjEYMBYGA1UEAwwPMDM5MDBBMzkxODAwMDAxMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtApzDVGUJUpQLSa3KqnPQF9+ W4yIVCh1hXP+Sm1CgNB9pjlOw2nmXVGfk0xeL+zEzgmXWXdJTuWD8IXi4JGMODIQ hCudQbx5GC3sJzPJHd2W/4eLqKcmYMGZZt05bueIFXUqI0ZNhwh3mjL84bSQXJtY hysQWWOwpOW60mOr9Yn/U+lVkXWczgFOh4EF9LJTwgKtqwv90P3huF5UjLQNzYeq jClYTPQKNLKvM7MR1cM224PKryIqUzTVDl5YSWSUW2qD24YrB9G9BVaIYzTldTTA MeDhRB1J8+FafjCJWf9Yvxsb1lbIuWRMcYL7EX2AcRX2z4bpr7l2rP0ec0rZnQID AQABo3wwejAMBgNVHRMBAf8EAjAAMDsGA1UdEQQ0MDKCCWxvY2FsaG9zdIIIYmFt YnVkZHmCDzAzOTAwQTM5MTgwMDAwMYcEwKgBZIcEfwAAATAdBgNVHSUEFjAUBggr BgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUA A4IBAQCj9HYHKFX1ztjQCLP+/vuNPmHRenf7HDFEBXxfu1XqoTvLryaOI8o5H5Xw xHEJ/rQral0pV61FStK1c2u+fFIzrjZ9Vj6v7d0NdOtyjkHoTT03XBdXXsUITxfe IotGH256CSN92smWqQTDQT6HEcdqnAFvqs0bIUmgCXAZJQB495EHGivO8ihFOAiY ODctBV0T2wHHi6UqBZOP7VTKss3765BG/fwN3HDmya/U0f+0+VqFNZcqNwolm7qs rvUE95s5fIjwlK5lSSRXlfnFBjvQCbtoDiC/ybsvhEbumosY84qvKzpBAJFM+QaF BLPSI70ZijS0xXCxWGAKdNaWuMJw -----END CERTIFICATE----- subject=CN=03900A391800001 issuer=CN=Virtual Printer CA --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: rsa_pss_rsae_sha256 Negotiated TLS1.3 group: X25519MLKEM768 --- SSL handshake has read 3240 bytes and written 1602 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Protocol: TLSv1.3 Server public key is 2048 bit This TLS version forbids renegotiation. Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) --- --- Post-Handshake New Session Ticket arrived: SSL-Session: Protocol : TLSv1.3 Cipher : TLS_AES_256_GCM_SHA384 Session-ID: 0E60EABE5B50D7A36B634571F484F3E10F87D89ABDF3B96F60BBDC807F3F83CB Session-ID-ctx: Resumption PSK: 262EB05B38AECEF6F8BE904884DB9B125EFF7D21D7466AE8235C7EEB0EE32E95373A9E71181B8E2307D47805457E84B4 PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 7200 (seconds) TLS session ticket: 0000 - 7a 46 7f c2 6c 67 a6 68-38 b2 25 ad 36 71 8d f2 zF..lg.h8.%.6q.. 0010 - 44 04 04 a6 ab aa 3d 60-61 61 4a 7b 20 8a 98 e9 D.....=`aaJ{ ... 0020 - 51 4d cc d9 f5 10 79 39-a2 4f 76 96 ba ad f0 dc QM....y9.Ov..... 0030 - 5c 67 7d 3e 16 7d 3f 32-92 8e fa 8f f6 4c 24 c7 \g}>.}?2.....L$. 0040 - ba 42 f7 07 a2 5e 78 45-3a 27 c3 9a ca ef 59 9d .B...^xE:'....Y. 0050 - dc fd 86 8e 95 4a 23 99-29 49 bd 5a b1 f2 53 68 .....J#.)I.Z..Sh 0060 - 64 63 f0 95 a1 f1 b9 d8-f2 07 8a 9d f2 9f c0 26 dc.............& 0070 - 4b 9f ea 56 7b e5 2d f0-14 50 a2 8b 56 e7 3a 88 K..V{.-..P..V.:. 0080 - d7 a0 5f 3a 0c 97 79 63-f6 2c 4a d7 d6 91 f4 7c .._:..yc.,J....| 0090 - e4 ad dc 8e aa 46 00 85-05 ea 6e 41 53 64 a4 b0 .....F....nASd.. 00a0 - b6 be 3b c9 7c ac 42 61-21 69 5e be 5f 73 1e a1 ..;.|.Ba!i^._s.. 00b0 - c8 b8 44 ec bc 93 cc 2f-7b 92 d4 db b5 fc df 8e ..D..../{....... 00c0 - 1e 27 5e bb 4d bf aa 12-18 39 bb 9b 6b 36 f7 bd .'^.M....9..k6.. Start Time: 1767547379 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: no Max Early Data: 0 --- read R BLOCK --- Post-Handshake New Session Ticket arrived: SSL-Session: Protocol : TLSv1.3 Cipher : TLS_AES_256_GCM_SHA384 Session-ID: F844C87B638DD5200861FF7B4DA9486123D050435E794EA4AE5EDDEE39396567 Session-ID-ctx: Resumption PSK: 65AF312EB53419F81AFBE6725FCC2F1B75FC4068DF665175708321AB1D86AC474592EA2C904F36A6BD184CEEF93ED5D8 PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 7200 (seconds) TLS session ticket: 0000 - 7a 46 7f c2 6c 67 a6 68-38 b2 25 ad 36 71 8d f2 zF..lg.h8.%.6q.. 0010 - 91 3b d8 3b 45 18 02 50-5f d4 79 bf 38 8f 1c 31 .;.;E..P_.y.8..1 0020 - 85 fc 25 30 6b 8d aa 11-a7 9c ce cc 2c 36 5f d6 ..%0k.......,6_. 0030 - 1b 9e ba 62 d6 0d 77 42-a3 c0 61 0e b9 4b d8 2a ...b..wB..a..K.* 0040 - ce cd 20 9d c4 a3 68 10-77 4e 89 7d da b1 4c 6b .. ...h.wN.}..Lk 0050 - 7b 30 8a 39 82 96 43 9c-90 8c 13 f9 dd 5c 27 29 {0.9..C......\') 0060 - 22 66 16 69 38 c2 7a be-06 32 40 45 c7 40 f8 69 "f.i8.z..2@E.@.i 0070 - 60 e7 e7 61 9a 2d 7a c2-ac 9a 54 62 3f 12 5d 4c `..a.-z...Tb?.]L 0080 - 8f 71 ab 95 4d 81 a6 cd-92 8b ae 2f dd 3d 10 19 .q..M....../.=.. 0090 - 2d 48 fd 60 22 76 c1 d9-aa 84 6b 22 b4 be ad 66 -H.`"v....k"...f 00a0 - dd 43 80 23 0a ad a2 f3-28 3c 5f 7b c9 ae 4b 58 .C.#....(<_{..KX 00b0 - 7c c8 79 17 91 c5 a7 ea-6f c0 8b 4a b3 5f 79 81 |.y.....o..J._y. 00c0 - 2e 04 c8 55 3d 6a 73 64-16 79 80 9c 83 e4 1e 1d ...U=jsd.y...... Start Time: 1767547379 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: no Max Early Data: 0 --- read R BLOCK ``` FTP test ``` curl --user bblp:12345678 ftps://192.168.1.100:990 -v * Trying 192.168.1.100:990... * TLSv1.3 (OUT), TLS handshake, Client hello (1): * SSL Trust Anchors: * CAfile: /etc/ssl/certs/ca-certificates.crt * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS change cipher, Change cipher spec (1): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / RSASSA-PSS * Server certificate: * subject: CN=03900A391800001 * start date: Jan 4 17:11:52 2026 GMT * expire date: Jan 2 17:11:52 2036 GMT * issuer: CN=Virtual Printer CA * Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption * Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption * subjectAltName: "192.168.1.100" matches cert's IP address! * SSL certificate verified via OpenSSL. * Established connection to 192.168.1.100 (192.168.1.100 port 990) from 192.168.1.30 port 37282 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): < 220 Bambuddy Virtual Printer FTP ready > USER bblp < 331 Password required > PASS 12345678 < 230 Login successful > PBSZ 0 < 200 PBSZ=0 > PROT P < 200 Protection level set to Private > PWD < 257 "/" is current directory * Entry path is '/' * Request has same path as previous transfer > EPSV * Connect data stream passively < 229 Entering Extended Passive Mode (|||56153|) * Connecting to 192.168.1.100 (192.168.1.100) port 56153 * Trying 192.168.1.100:56153... * SSL reusing session with ALPN '-' * TLSv1.3 (OUT), TLS handshake, Client hello (1): > TYPE A * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS change cipher, Change cipher spec (1): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / UNDEF * Server certificate: * subject: CN=03900A391800001 * start date: Jan 4 17:11:52 2026 GMT * expire date: Jan 2 17:11:52 2036 GMT * issuer: CN=Virtual Printer CA * subjectAltName: "192.168.1.100" matches cert's IP address! * SSL certificate verified via OpenSSL. * Established 2nd connection to 192.168.1.100 (192.168.1.100 port 56153) from 192.168.1.30 port 41372 < 200 Type set to ASCII > LIST < 150 Opening data connection * Maxdownload = -1 * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): ``` Looks like I can connect to the sftp but I am not able to get a list of files from virtual printer this same way curl shows me a list of files on my A1
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

"not able to get a list of files from virtual printer"??? What are you trying to do?

<!-- gh-comment-id:3708293653 --> @maziggy commented on GitHub (Jan 4, 2026): "not able to get a list of files from virtual printer"??? What are you trying to do?
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

Perhaps you misunderstood the feature?

The Virtual Printer feature allows Bambuddy to emulate a Bambu Lab printer on your network. This enables you to send prints directly from Bambu Studio or Orca Slicer to Bambuddy, even without a physical printer connected.

<!-- gh-comment-id:3708295041 --> @maziggy commented on GitHub (Jan 4, 2026): Perhaps you misunderstood the feature? The Virtual Printer feature allows Bambuddy to emulate a Bambu Lab printer on your network. This enables you to send prints directly from Bambu Studio or Orca Slicer to Bambuddy, even without a physical printer connected.
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

"not able to get a list of files from virtual printer"??? What are you trying to do?

just testing why cant connect to virtual printer from Slicer. I still have error -1
It seams like the certificate is working in all of the test

Only the ftp test hangs and does not produce file list like in a real printer.

<!-- gh-comment-id:3708296666 --> @pinionless commented on GitHub (Jan 4, 2026): > "not able to get a list of files from virtual printer"??? What are you trying to do? just testing why cant connect to virtual printer from Slicer. I still have error -1 It seams like the certificate is working in all of the test Only the ftp test hangs and does not produce file list like in a real printer.
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

The virtual printer thing is quite tricky. Did you exactly followed the new docs which I've updated today?

https://wiki.bambuddy.cool/features/virtual-printer/

Replacing the certificate in your slicer is essential!!!

<!-- gh-comment-id:3708298989 --> @maziggy commented on GitHub (Jan 4, 2026): The virtual printer thing is quite tricky. Did you exactly followed the new docs which I've updated today? https://wiki.bambuddy.cool/features/virtual-printer/ Replacing the certificate in your slicer is essential!!!
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

Was the wiki made by ClaudeCode?? This might be a hallucination.
From New Docs:
Bambu Studio: ~/.local/share/BambuStudio/resources/cert/printer.cer
OrcaSlicer: ~/.local/share/OrcaSlicer/resources/cert/printer.cer

I could not find printer.cer file

I think I have a Virtual Printer .pam file somewhere on the system

There is a prompt starting Slicer on Linux, you can see it here.
https://github.com/OrcaSlicer/OrcaSlicer/issues/5333

They both force "/etc/ssl/certs/ca-certificates.crt". Pressing NO in the prompt will close the slicer.

So I run all the tests above to check if my cert is working.
It looks like I can connect to MQTT and to SFTP and the certificate is working fine.

IDK why its still failing with error =-1

I will try from my windows laptop if I find some time this week.
And I will maybe try an Appimage of OrcaSlicer.

From Orca Logs:


  19 │ [warning]   2026-01-04 18:05:00.252375[Thread 0x00007fa4d0ddb6c0]:[Orca Updater]: online version=1.10.1.1, current_version=1.10.1.1, no need to download

  20 │ [error] 2026-01-04 18:05:01.255895[Thread 0x00007fa74b9ccec0]:send_message_to_printer error: network_agent=0x55d028eda690, ret=-4, dev_id=03900A391800001, json_str={"pushing":{"command":"pushall","push_target":1,"sequence_id":"20000

     │ ","version":1}}, qos=0

  21 │ [error] 2026-01-04 18:05:01.255919[Thread 0x00007fa74b9ccec0]:publish_json: {"pushing":{"command":"pushall","push_target":1,"sequence_id":"20000","version":1}} code: -4

  22 │ [error] 2026-01-04 18:05:01.255932[Thread 0x00007fa74b9ccec0]:send_message_to_printer error: network_agent=0x55d028eda690, ret=-4, dev_id=03900A391800001, json_str={"info":{"command":"get_version","sequence_id":"20001"}}, qos=1

  23 │ [error] 2026-01-04 18:05:01.255936[Thread 0x00007fa74b9ccec0]:publish_json: {"info":{"command":"get_version","sequence_id":"20001"}} code: -4

This might be part of the issue.

1 │ [warning]   2026-01-04 18:04:57.608382[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_del_subscribe
   2 │ [warning]   2026-01-04 18:04:57.608520[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_update_cert

   3 │ [warning]   2026-01-04 18:04:57.608532[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_install_device_cert
<!-- gh-comment-id:3708313428 --> @pinionless commented on GitHub (Jan 4, 2026): Was the wiki made by ClaudeCode?? This might be a hallucination. From New Docs: `Bambu Studio: ~/.local/share/BambuStudio/resources/cert/printer.cer` `OrcaSlicer: ~/.local/share/OrcaSlicer/resources/cert/printer.cer` I could not find printer.cer file I think I have a Virtual Printer .pam file somewhere on the system There is a prompt starting Slicer on Linux, you can see it here. https://github.com/OrcaSlicer/OrcaSlicer/issues/5333 They both force "/etc/ssl/certs/ca-certificates.crt". Pressing NO in the prompt will close the slicer. So I run all the tests above to check if my cert is working. **It looks like I can connect to MQTT and to SFTP and the certificate is working fine.** IDK why its still failing with error =-1 I will try from my windows laptop if I find some time this week. And I will maybe try an Appimage of OrcaSlicer. From Orca Logs: ```18 │ [error] 2026-01-04 18:04:59.964739[Thread 0x00007fa74b9ccec0]:connect_server error: network_agent=0x55d028eda690, ret=-2 19 │ [warning] 2026-01-04 18:05:00.252375[Thread 0x00007fa4d0ddb6c0]:[Orca Updater]: online version=1.10.1.1, current_version=1.10.1.1, no need to download 20 │ [error] 2026-01-04 18:05:01.255895[Thread 0x00007fa74b9ccec0]:send_message_to_printer error: network_agent=0x55d028eda690, ret=-4, dev_id=03900A391800001, json_str={"pushing":{"command":"pushall","push_target":1,"sequence_id":"20000 │ ","version":1}}, qos=0 21 │ [error] 2026-01-04 18:05:01.255919[Thread 0x00007fa74b9ccec0]:publish_json: {"pushing":{"command":"pushall","push_target":1,"sequence_id":"20000","version":1}} code: -4 22 │ [error] 2026-01-04 18:05:01.255932[Thread 0x00007fa74b9ccec0]:send_message_to_printer error: network_agent=0x55d028eda690, ret=-4, dev_id=03900A391800001, json_str={"info":{"command":"get_version","sequence_id":"20001"}}, qos=1 23 │ [error] 2026-01-04 18:05:01.255936[Thread 0x00007fa74b9ccec0]:publish_json: {"info":{"command":"get_version","sequence_id":"20001"}} code: -4 ``` This might be part of the issue. ```1 │ [warning] 2026-01-04 18:04:57.608382[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_del_subscribe 1 │ [warning] 2026-01-04 18:04:57.608382[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_del_subscribe 2 │ [warning] 2026-01-04 18:04:57.608520[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_update_cert 3 │ [warning] 2026-01-04 18:04:57.608532[Thread 0x00007fa74b9ccec0]:get_network_function, can not find function bambu_network_install_device_cert ```
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

Also, I was never able to add the virtual printer by IP address(and code) by itself
I had to add it from the discovered list or the "manual" way with serial number + IP

It shows up in the list as "online" but its impossible to connect

<!-- gh-comment-id:3708320351 --> @pinionless commented on GitHub (Jan 4, 2026): Also, I was never able to add the virtual printer by IP address(and code) by itself I had to add it from the discovered list or the "manual" way with serial number + IP It shows up in the list as "online" but its impossible to connect
Author
Owner

@maziggy commented on GitHub (Jan 4, 2026):

Show me the output of /api/v1/settings/virtual-printer

<!-- gh-comment-id:3708323653 --> @maziggy commented on GitHub (Jan 4, 2026): Show me the output of /api/v1/settings/virtual-printer
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

{"enabled":true,"access_code_set":true,"mode":"queue","model":"N2S","status":{"enabled":true,"running":true,"mode":"queue","name":"Bambuddy","serial":"03900A391800001","model":"N2S","model_name":"A1","pending_files":0}}

<!-- gh-comment-id:3708329640 --> @pinionless commented on GitHub (Jan 4, 2026): ```{"enabled":true,"access_code_set":true,"mode":"queue","model":"N2S","status":{"enabled":true,"running":true,"mode":"queue","name":"Bambuddy","serial":"03900A391800001","model":"N2S","model_name":"A1","pending_files":0}}```
Author
Owner

@pinionless commented on GitHub (Jan 4, 2026):

For anyone that have an issue connecting with the virtual printer here is my small script that watches local folder and uploads files saved there to the Bambuddy sftp.
So you can just press "Export plate sliced file" and save it in the "watched folder"

You can add "--insecure" to the curl command to avoid having to copy printer cert from the server.

requires inotify-tools and curl

print_later.sh

#!/bin/bash

# --- CONFIGURATION ---
WATCH_DIR="/home/pinion/3D Print/PrinterQueue"
PRINTER_IP="192.168.1.100"
SERIAL="03900A391800001"
USER="bblp"
PASS="12345678"

# Ensure the directory exists
mkdir -p "$WATCH_DIR"

echo "Monitoring: $WATCH_DIR"

# --- MONITORING LOOP ---
inotifywait -m "$WATCH_DIR" -e close_write -e moved_to --format '%f' |
    while read -r FILE_NAME; do

        # Ignore empty lines or temp files
        [[ -z "$FILE_NAME" ]] && continue

        # Filter for .gcode and .3mf files
        if [[ "$FILE_NAME" =~ \.(gcode|3mf)$ ]]; then

            # Reconstruct the full path for the local file
            FULL_PATH="$WATCH_DIR/$FILE_NAME"

            echo -e "\n------------------------------------------------"
            echo "EVENT: $FILE_NAME"
            echo "STEP 1: Uploading to FTPS..."

            # If you need --insecure, add it AFTER the URL or before -T.
            curl -T "$FULL_PATH" \
                 --user "$USER:$PASS" \
                 "ftps://$PRINTER_IP:990/$FILE_NAME"

            if [ $? -eq 0 ]; then
                echo "SUCCESS: File uploaded to /sdcard/$FILE_NAME"
                rm "$FULL_PATH" && echo "Local file deleted."
            else
                echo "Upload failed. Check connectivity to $PRINTER_IP."
            fi
            echo "------------------------------------------------"
        fi
    done
<!-- gh-comment-id:3708403873 --> @pinionless commented on GitHub (Jan 4, 2026): For anyone that have an issue connecting with the virtual printer here is my small script that watches local folder and uploads files saved there to the Bambuddy sftp. So you can just press "Export plate sliced file" and save it in the "watched folder" You can add "--insecure" to the curl command to avoid having to copy printer cert from the server. requires inotify-tools and curl print_later.sh ``` #!/bin/bash # --- CONFIGURATION --- WATCH_DIR="/home/pinion/3D Print/PrinterQueue" PRINTER_IP="192.168.1.100" SERIAL="03900A391800001" USER="bblp" PASS="12345678" # Ensure the directory exists mkdir -p "$WATCH_DIR" echo "Monitoring: $WATCH_DIR" # --- MONITORING LOOP --- inotifywait -m "$WATCH_DIR" -e close_write -e moved_to --format '%f' | while read -r FILE_NAME; do # Ignore empty lines or temp files [[ -z "$FILE_NAME" ]] && continue # Filter for .gcode and .3mf files if [[ "$FILE_NAME" =~ \.(gcode|3mf)$ ]]; then # Reconstruct the full path for the local file FULL_PATH="$WATCH_DIR/$FILE_NAME" echo -e "\n------------------------------------------------" echo "EVENT: $FILE_NAME" echo "STEP 1: Uploading to FTPS..." # If you need --insecure, add it AFTER the URL or before -T. curl -T "$FULL_PATH" \ --user "$USER:$PASS" \ "ftps://$PRINTER_IP:990/$FILE_NAME" if [ $? -eq 0 ]; then echo "SUCCESS: File uploaded to /sdcard/$FILE_NAME" rm "$FULL_PATH" && echo "Local file deleted." else echo "Upload failed. Check connectivity to $PRINTER_IP." fi echo "------------------------------------------------" fi done ```
Author
Owner

@maziggy commented on GitHub (Jan 5, 2026):

OK, let's debug it in detail....

Make sure you are on the latest version 0.1.6b6 and enable debug logging (https://wiki.bambuddy.cool/getting-started/installation/?h=debug#development-settings). Then test and send me the complete logs.

<!-- gh-comment-id:3709125314 --> @maziggy commented on GitHub (Jan 5, 2026): OK, let's debug it in detail.... Make sure you are on the latest version 0.1.6b6 and enable debug logging (https://wiki.bambuddy.cool/getting-started/installation/?h=debug#development-settings). Then test and send me the complete logs.
Author
Owner

@maziggy commented on GitHub (Jan 5, 2026):

In addition you need to find the printer.cer file from BambuStudio and replace the certificate as explained in documentation. Before this is not done, it doesn't makes sense to debug further. Without the correct slicer certificate it cannot work.

<!-- gh-comment-id:3709143555 --> @maziggy commented on GitHub (Jan 5, 2026): In addition you need to find the printer.cer file from BambuStudio and replace the certificate as explained in documentation. Before this is not done, it doesn't makes sense to debug further. Without the correct slicer certificate it cannot work.
Author
Owner

@maziggy commented on GitHub (Jan 5, 2026):

If you use branch 0.1.6b7 you could use the new "export debug logs" function.

https://wiki.bambuddy.cool/features/system-info/#support-bundle

<!-- gh-comment-id:3709490139 --> @maziggy commented on GitHub (Jan 5, 2026): If you use branch 0.1.6b7 you could use the new "export debug logs" function. https://wiki.bambuddy.cool/features/system-info/#support-bundle
Author
Owner

@pinionless commented on GitHub (Jan 5, 2026):

I don't know why and how but today it works. PC restarts? server restart? who knows :)

<!-- gh-comment-id:3712090102 --> @pinionless commented on GitHub (Jan 5, 2026): I don't know why and how but today it works. PC restarts? server restart? who knows :)
Author
Owner

@FoxxMD commented on GitHub (Feb 9, 2026):

I am having the same issue as @pinionless . Also on arch linux. Orcaslicer built from source. I've added bbl_ca.crt to my certs and can succefully run the same individual test openssl s_client ... . Running bambuddy with docker network_mode host and iptables redirecting for sftp. Also getting -1 error

<!-- gh-comment-id:3872568167 --> @FoxxMD commented on GitHub (Feb 9, 2026): I am having the same issue as @pinionless . Also on arch linux. Orcaslicer built from source. I've added `bbl_ca.crt` to my certs and can succefully run the same individual test `openssl s_client ...` . Running bambuddy with docker network_mode host and iptables redirecting for sftp. Also getting -1 error
Author
Owner

@maziggy commented on GitHub (Feb 9, 2026):

Please use branch 0.1.9b and send me a support package -> https://wiki.bambuddy.cool/features/system-info/?h=debug#enable-debug-logging

A screenshot from Settings -> Virtual Printer would also be helpful.

<!-- gh-comment-id:3872876873 --> @maziggy commented on GitHub (Feb 9, 2026): Please use branch 0.1.9b and send me a support package -> https://wiki.bambuddy.cool/features/system-info/?h=debug#enable-debug-logging A screenshot from Settings -> Virtual Printer would also be helpful.
Author
Owner

@FoxxMD commented on GitHub (Feb 9, 2026):

Image

Attached is the support bundle. It's a 10 second window where all I did was attempt to connect to the virtual printer using orceslicer and received the -1 error

Image

bambuddy-support-20260209-133127.zip

Something else I noticed: it looks like the wrong IP is being used for generating for the cert and for starting SSDP server. I have several interfaces on this host. The Main LAN interface ens18 is bound on 192.168.0.0/24 but the cert/server is using another interface enp0s19 that is for a private subnet not accessible from the LAN 192.168.99.0/24. Is there a way to specify what interface to use?

bambuddy-1  | 2026-02-09 13:15:47,067 INFO [backend.app.services.virtual_printer.manager] Checking virtual printer directories in /app/data/virtual_printer
bambuddy-1  | 2026-02-09 13:15:47,075 INFO [backend.app.services.virtual_printer.manager] Starting virtual printer (was disabled)
bambuddy-1  | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.manager] Starting virtual printer services (mode=print_queue)...
bambuddy-1  | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.certificate] Deleted printer certificate (CA preserved)
bambuddy-1  | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.certificate] Generating certificates for virtual printer (serial: 01P00A391800001)...
bambuddy-1  | 2026-02-09 13:15:47,107 INFO [backend.app.services.virtual_printer.certificate] Using existing CA certificate (expires in 7299 days)
bambuddy-1  | 2026-02-09 13:15:47,129 INFO [backend.app.services.virtual_printer.certificate] Generating printer certificate with CN=01P00A391800001, local IP: 192.168.99.3
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate] Generated certificate chain at /app/data/virtual_printer/certs
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate]   CA: CN=Virtual Printer CA
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate]   Printer: CN=01P00A391800001
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.manager] Generated certificate for serial: 01P00A391800001
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.manager] Virtual printer 'Bambuddy' started (serial: 01P00A391800001)
bambuddy-1  | 2026-02-09 13:15:47,131 INFO [root] Virtual printer started (model=C12)
bambuddy-1  | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Starting virtual printer SSDP server: Bambuddy (01P00A391800001)
bambuddy-1  | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] SSDP server listening on port 2021, advertising IP: 192.168.99.3
bambuddy-1  | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Virtual printer: Bambuddy (01P00A391800001) model=C12
bambuddy-1  | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Sent initial SSDP NOTIFY announcement
bambuddy-1  | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ftp_server] Starting virtual printer implicit FTPS on port 9990
bambuddy-1  | 2026-02-09 13:15:47,133 INFO [backend.app.services.virtual_printer.ftp_server] FTP SSL context created with standard settings
bambuddy-1  | 2026-02-09 13:15:47,133 INFO [backend.app.services.virtual_printer.mqtt_server] Starting simple MQTT server on port 8883
bambuddy-1  | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] MQTT SSL cert info: subject=CN=01P00A391800001
bambuddy-1  | issuer=CN=Virtual Printer CA
bambuddy-1  | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] MQTT SSL context: TLS 1.2+, cert=/app/data/virtual_printer/certs/virtual_printer.crt
bambuddy-1  | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] Setting up MQTT server with SSL error handling...
bambuddy-1  | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.ftp_server] Implicit FTPS server started on port 9990
bambuddy-1  | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.ftp_server] FTP passive data port range: 50000-50100
bambuddy-1  | 2026-02-09 13:15:47,147 INFO [backend.app.services.virtual_printer.mqtt_server] Simple MQTT server listening on port 8883
bambuddy-1  | 2026-02-09 13:15:47,147 INFO [backend.app.services.virtual_printer.mqtt_server] Starting periodic status push task
bambuddy-1  | INFO:     Application startup complete.
bambuddy-1  | INFO:     Uvicorn running on http://0.0.0.0:5008 (Press CTRL+C to quit)
...

My compose stack is using network_mode: host

<!-- gh-comment-id:3873293415 --> @FoxxMD commented on GitHub (Feb 9, 2026): <img width="1179" height="981" alt="Image" src="https://github.com/user-attachments/assets/5ac7db16-ae68-430b-b48d-ba7c271478bc" /> Attached is the support bundle. It's a 10 second window where all I did was attempt to connect to the virtual printer using orceslicer and received the `-1` error <img width="569" height="296" alt="Image" src="https://github.com/user-attachments/assets/19f6b081-0a2b-4750-b607-d41b7ac31478" /> [bambuddy-support-20260209-133127.zip](https://github.com/user-attachments/files/25190795/bambuddy-support-20260209-133127.zip) Something else I noticed: it looks like the wrong IP is being used for generating for the cert and for starting SSDP server. I have several interfaces on this host. The Main LAN interface `ens18` is bound on `192.168.0.0/24` but the cert/server is using another interface `enp0s19` that is for a private subnet not accessible from the LAN `192.168.99.0/24`. Is there a way to specify what interface to use? ``` bambuddy-1 | 2026-02-09 13:15:47,067 INFO [backend.app.services.virtual_printer.manager] Checking virtual printer directories in /app/data/virtual_printer bambuddy-1 | 2026-02-09 13:15:47,075 INFO [backend.app.services.virtual_printer.manager] Starting virtual printer (was disabled) bambuddy-1 | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.manager] Starting virtual printer services (mode=print_queue)... bambuddy-1 | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.certificate] Deleted printer certificate (CA preserved) bambuddy-1 | 2026-02-09 13:15:47,076 INFO [backend.app.services.virtual_printer.certificate] Generating certificates for virtual printer (serial: 01P00A391800001)... bambuddy-1 | 2026-02-09 13:15:47,107 INFO [backend.app.services.virtual_printer.certificate] Using existing CA certificate (expires in 7299 days) bambuddy-1 | 2026-02-09 13:15:47,129 INFO [backend.app.services.virtual_printer.certificate] Generating printer certificate with CN=01P00A391800001, local IP: 192.168.99.3 bambuddy-1 | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate] Generated certificate chain at /app/data/virtual_printer/certs bambuddy-1 | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate] CA: CN=Virtual Printer CA bambuddy-1 | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.certificate] Printer: CN=01P00A391800001 bambuddy-1 | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.manager] Generated certificate for serial: 01P00A391800001 bambuddy-1 | 2026-02-09 13:15:47,131 INFO [backend.app.services.virtual_printer.manager] Virtual printer 'Bambuddy' started (serial: 01P00A391800001) bambuddy-1 | 2026-02-09 13:15:47,131 INFO [root] Virtual printer started (model=C12) bambuddy-1 | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Starting virtual printer SSDP server: Bambuddy (01P00A391800001) bambuddy-1 | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] SSDP server listening on port 2021, advertising IP: 192.168.99.3 bambuddy-1 | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Virtual printer: Bambuddy (01P00A391800001) model=C12 bambuddy-1 | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ssdp_server] Sent initial SSDP NOTIFY announcement bambuddy-1 | 2026-02-09 13:15:47,132 INFO [backend.app.services.virtual_printer.ftp_server] Starting virtual printer implicit FTPS on port 9990 bambuddy-1 | 2026-02-09 13:15:47,133 INFO [backend.app.services.virtual_printer.ftp_server] FTP SSL context created with standard settings bambuddy-1 | 2026-02-09 13:15:47,133 INFO [backend.app.services.virtual_printer.mqtt_server] Starting simple MQTT server on port 8883 bambuddy-1 | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] MQTT SSL cert info: subject=CN=01P00A391800001 bambuddy-1 | issuer=CN=Virtual Printer CA bambuddy-1 | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] MQTT SSL context: TLS 1.2+, cert=/app/data/virtual_printer/certs/virtual_printer.crt bambuddy-1 | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.mqtt_server] Setting up MQTT server with SSL error handling... bambuddy-1 | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.ftp_server] Implicit FTPS server started on port 9990 bambuddy-1 | 2026-02-09 13:15:47,146 INFO [backend.app.services.virtual_printer.ftp_server] FTP passive data port range: 50000-50100 bambuddy-1 | 2026-02-09 13:15:47,147 INFO [backend.app.services.virtual_printer.mqtt_server] Simple MQTT server listening on port 8883 bambuddy-1 | 2026-02-09 13:15:47,147 INFO [backend.app.services.virtual_printer.mqtt_server] Starting periodic status push task bambuddy-1 | INFO: Application startup complete. bambuddy-1 | INFO: Uvicorn running on http://0.0.0.0:5008 (Press CTRL+C to quit) ... ``` My compose stack is using `network_mode: host`
Author
Owner

@maziggy commented on GitHub (Feb 10, 2026):

Your machine has multiple network interfaces and the auto-detection picks the wrong one. The virtual printer uses 192.168.99.3 (from enp0s19, your private subnet) instead of your LAN IP on ens18. This affects both the TLS certificate (wrong IP in SAN) and SSDP discovery (advertising the wrong IP), so OrcaSlicer can't reach the virtual printer.

You already have remote_interface_ip set to 192.168.0.161 in your virtual printer settings, but that setting currently only takes effect in proxy mode — in print queue mode (which you're using), it's ignored.

Let me fix that.

<!-- gh-comment-id:3876238090 --> @maziggy commented on GitHub (Feb 10, 2026): Your machine has multiple network interfaces and the auto-detection picks the wrong one. The virtual printer uses 192.168.99.3 (from enp0s19, your private subnet) instead of your LAN IP on ens18. This affects both the TLS certificate (wrong IP in SAN) and SSDP discovery (advertising the wrong IP), so OrcaSlicer can't reach the virtual printer. You already have remote_interface_ip set to 192.168.0.161 in your virtual printer settings, but that setting currently only takes effect in proxy mode — in print queue mode (which you're using), it's ignored. Let me fix that.
Author
Owner

@maziggy commented on GitHub (Feb 10, 2026):

Please use branch 0.1.9b, set the interface in virtual printer settings and let me know if it works now.


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

<!-- gh-comment-id:3876307378 --> @maziggy commented on GitHub (Feb 10, 2026): Please use branch 0.1.9b, set the interface in virtual printer settings and let me know if it works now. ----- If you find Bambuddy useful, please consider giving it a ⭐ on [GitHub](https://github.com/bambuman/bambuddy) — it helps others discover the project!
Author
Owner

@FoxxMD commented on GitHub (Feb 10, 2026):

I pulled the newest 0.1.9b image and redeployed but there was no change in the IP used for cert/SSDP. Do I need to use 0.1.9b2 or 0.1.9b5?

<!-- gh-comment-id:3877534078 --> @FoxxMD commented on GitHub (Feb 10, 2026): I pulled the newest `0.1.9b` image and redeployed but there was no change in the IP used for cert/SSDP. Do I need to use [`0.1.9b2` or `0.1.9b5`](https://github.com/maziggy/bambuddy/pkgs/container/bambuddy/versions?filters%5Bversion_type%5D=tagged)?
Author
Owner

@maziggy commented on GitHub (Feb 10, 2026):

Always the latest please

<!-- gh-comment-id:3877541481 --> @maziggy commented on GitHub (Feb 10, 2026): Always the latest please
Author
Owner

@maziggy commented on GitHub (Feb 10, 2026):

Normally I don't push beta Docker images. You're lucky that there is a 0.1.9b image availabale due to some tests.

When using a beta branch you need to rebuild the container locally with the updated code.

<!-- gh-comment-id:3877550411 --> @maziggy commented on GitHub (Feb 10, 2026): Normally I don't push beta Docker images. You're lucky that there is a 0.1.9b image availabale due to some tests. When using a beta branch you need to rebuild the container locally with the updated code.
Author
Owner

@FoxxMD commented on GitHub (Feb 10, 2026):

Understood. The current commit on that branch, 6ecc29de54 , is not building.

 > [frontend-builder 6/6] RUN npm run build:
0.511 > frontend@0.0.0 build
0.511 > tsc -b && vite build
0.511 
15.95 src/components/ConfigureAmsSlotModal.tsx(3,10): error TS2300: Duplicate identifier 'useTranslation'.
15.95 src/components/ConfigureAmsSlotModal.tsx(5,10): error TS2300: Duplicate identifier 'useTranslation'.
16.28 npm notice
16.28 npm notice New major version of npm available! 10.9.4 -> 11.9.0
16.28 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0
16.28 npm notice To update run: npm install -g npm@11.9.0
16.28 npm notice
------
Dockerfile:14
--------------------
  12 |     
  13 |     COPY frontend/ ./
  14 | >>> RUN npm run build
  15 |     
  16 |     # Production image
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 2

P.S. you might be interested in the github workflow I use for automating publishing docker images for pull requests or branches. I use it for my own non-trivial OSS project. It makes it much easier for end-users to test changes as all they need to do is specify the PR tag rather than build from source.

<!-- gh-comment-id:3878853246 --> @FoxxMD commented on GitHub (Feb 10, 2026): Understood. The current commit on that branch, 6ecc29de54a31b731af2e23245c46dcd1a95975a , is not building. ``` > [frontend-builder 6/6] RUN npm run build: 0.511 > frontend@0.0.0 build 0.511 > tsc -b && vite build 0.511 15.95 src/components/ConfigureAmsSlotModal.tsx(3,10): error TS2300: Duplicate identifier 'useTranslation'. 15.95 src/components/ConfigureAmsSlotModal.tsx(5,10): error TS2300: Duplicate identifier 'useTranslation'. 16.28 npm notice 16.28 npm notice New major version of npm available! 10.9.4 -> 11.9.0 16.28 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.9.0 16.28 npm notice To update run: npm install -g npm@11.9.0 16.28 npm notice ------ Dockerfile:14 -------------------- 12 | 13 | COPY frontend/ ./ 14 | >>> RUN npm run build 15 | 16 | # Production image -------------------- ERROR: failed to build: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 2 ``` P.S. you might be interested in the [github workflow](https://github.com/FoxxMD/github-actions-docker-publish) I use for automating publishing docker images for pull requests or branches. I use it for my own [non-trivial OSS project](https://github.com/FoxxMD/multi-scrobbler/pull/466). It makes it much easier for end-users to test changes as all they need to do is specify the PR tag rather than build from source.
Author
Owner

@maziggy commented on GitHub (Feb 10, 2026):

NO I usually don't push beta images. I have a complete pipeline.

Wait a few minutes. I'll release 0.1.9.

<!-- gh-comment-id:3878921485 --> @maziggy commented on GitHub (Feb 10, 2026): NO I usually don't push beta images. I have a complete pipeline. Wait a few minutes. I'll release 0.1.9.
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#21
No description provided.