I have a Comgrow Micro Laser Engraver model XN001 and Lightburn can’t find it.
It almost works on windoz 10 but the quality of the rendering is awful, the text is mangled and the lines look like they are hand drawn. It looks like a very bad rasterization. And, the output is mirrored and drawn at a ~15 degree angle.
So, I thought I would upgrade to LightBurn to see if a software fix would work.
I added myself to tty and dialout groups, then installed the LB 4.14.01 .run file. I tried it on OpenSuse Leap 15.5/64bit and Ubuntu 22.04.3 Jammy and the laser can not be found.
When I plug it in, I get a dmesg:
[ 6587.194077] usb 2-1.6: new full-speed USB device number 7 using ehci-pci
[ 6587.304825] usb 2-1.6: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[ 6587.304834] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6587.304837] usb 2-1.6: Product: STM32 Virtual COM Port
[ 6587.304840] usb 2-1.6: Manufacturer: STMicroelectronics
[ 6587.304842] usb 2-1.6: SerialNumber: 847CD6A80739
[6587.316638] cdc_acm 2-1.6:1.0: ttyACM0: USB ACM device
[ 6587.316660] usbcore: registered new interface driver cdc_acm
[ 6587.316661] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
TTY is found:
brianp@ubu:~/download/mini-laser$ ll /dev/ttyA*
crw-rw---- 1 root dialout 166, 0 Aug 24 11:50 /dev/ttyACM0
And, it has RW permissions for group “dialout”
I have RW access to the TTY
root@ubu:/mnt# grep brianp /etc/group | egrep “dial|tty”
tty:x:5:syslog,brianp << My UID
dialout:x:20:brianp
The .run installs fine:
brianp@ubu:~/download/mini-laser$ bash ./LightBurn-Linux64-v1.4.01.run
Verifying archive integrity… 100% MD5 checksums are OK. All good.
Uncompressing LightBurn - Better Software For Laser Cutters 100%
Removing old LightBurn…
Installing to /home/brianp/.local/share/LightBurn
Creating /home/brianp/.local/share/applications/lightburn.desktop
LightBurn Install Complete!
brianp@ubu:~/download/mini-laser$ cat /home/brianp/.local/share/applications/lightburn.desktop
[Desktop Entry]
Type=Application
Name=LightBurn
Comment=Better Software For Laser Cutters
Exec=/home/brianp/.local/share/LightBurn/LightBurn
Icon=/home/brianp/.local/share/LightBurn/LightBurn.png
Categories=Graphics;
Running LightBurn “EXEC” in a terminal to catch the stdout/stderr:
No preferences file found
QObject::killTimer(): Error: timer id 22 is not valid for object 0x7ffdc0ddabb0 (LicenseDialog, LicenseDialog), timer has not been killed
QMetaObject::connectSlotsByName: No matching signal for on_lvDevices_rowsMoved()
Found port: PID 22336 VID 1155
Manufacturer: “STMicroelectronics”
Product: “STM32 Virtual COM Port” on “ttyACM0”
STM32: Probably Gerbil-STM
attempting connection… 230400, “Gerbil” DTR setting: true
Found port: PID 0 VID 0
Manufacturer: “”
Product: “” on “ttyS0”
attempting connection… 115200, DTR setting: false
attempting connection… 115200, DTR setting: true
Vend: 2821 Prod: 6044
Vend: 1155 Prod: 22336
Vend: 1133 Prod: 50455
Vend: 2316 Prod: 4096
Vend: 32903 Prod: 36
Vend: 7531 Prod: 2
Vend: 1921 Prod: 21891
Vend: 7531 Prod: 3
Vend: 7531 Prod: 2
Vend: 7531 Prod: 3
Vend: 7531 Prod: 2
Vend: 32903 Prod: 36
Vend: 7531 Prod: 2
It finds a cromulent device but moves on to find “PID 0 VID 0”:
Found port: PID 22336 VID 1155
Manufacturer: “STMicroelectronics”
Product: “STM32 Virtual COM Port” on “ttyACM0”
STM32: Probably Gerbil-STM
attempting connection… 230400, “Gerbil” DTR setting: true
Found port: PID 0 VID 0
I tried the minicom trick:
minicom -b 115200 -D /dev/ttyACM0
and ctr-x does nothing.
I have both the 12VDC power cord and the USB-C cord plugged in to the port labeled with the USB symbol (the second USB-C appears to be dead).
I tried to manually assign the “Gerbil-STM” driver, XY axis (80, 80), origin left-rear, auto-home. The console says “waiting for connection”. There is no machine movement, sound or homing.
When I change the device from “auto” to ttyACM0, the console says “Port failed to open - already in use” and minicom was exited with ^A, Z, X, yes.
I am ready to RMA this lemon. Are there any tricks I have overlooked?
========================================
root@ubu:/mnt# chmod 777 /dev/ttyACM0
root@ubu:/mnt# ls -l /dev/ttyACM0
crwxrwxrwx 1 root dialout 166, 0 Aug 25 10:57 /dev/ttyACM0
Restart LightBurn:
brianp@ubu:~$ /home/brianp/.local/share/LightBurn/LightBurn&
[1] 68478
brianp@ubu:~$ Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Using the core prefs dir
QMetaObject::connectSlotsByName: Connecting slot on_sbNumberOfPasses_valueChanged() with the first of the following compatible signals: (“valueChanged(int)”, “valueChanged(QString)”)
QMetaObject::connectSlotsByName: Connecting slot on_sbFrequency_valueChanged() with the first of the following compatible signals: (“valueChanged(double)”, “valueChanged(QString)”)
QMetaObject::connectSlotsByName: Connecting slot on_sbQPulseWidth_valueChanged() with the first of the following compatible signals: (“valueChanged(double)”, “valueChanged(QString)”)
QMetaObject::connectSlotsByName: No matching signal for on_sbInterval_valueChanged()
QMetaObject::connectSlotsByName: Connecting slot on_sbMaterialHeight_valueChanged() with the first of the following compatible signals: (“valueChanged(double)”, “valueChanged(QString)”)
QMetaObject::connectSlotsByName: Connecting slot on_sbSupportHeight_valueChanged() with the first of the following compatible signals: (“valueChanged(double)”, “valueChanged(QString)”)
QMetaObject::connectSlotsByName: No matching signal for on_actionEdit_Text_closed(int)
connected
Port open succeeded
QObject::killTimer(): Error: timer id 27 is not valid for object 0x7fffa2614db0 (LicenseDialog, LicenseDialog), timer has not been killed
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: Incompatible version of OpenSSL
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
We got a connection error when networkLayerState is Unknown
CFU: A network error occurred: QNetworkReply::NetworkError(UnknownNetworkError) ( “Error creating SSL context ()” )
CFU: downloaded 0 of 0
QCoreApplication::postEvent: Unexpected null receiver
QCoreApplication::postEvent: Unexpected null receiver
CFU failed due to error: “illegal value”