Last year,in mid 2023, I updated my Ender 5 plus by changing the controller board to a BTT Manta E3EZ with a CM4 module.
Some days ago I updated the Pi compute module (both Debian release and rpi-update), and since then, the serial connection to the micro-controller unit (aka MCU) is not working anymore. I’ve re-installed a fresh version of the system using the last octopi image but this didn’t fixed the issue.
On the CM4, the serial port is correctly detected:
pi@octopi:~ $ ls -l /dev/serial/by-id/*
lrwxrwxrwx 1 root root 13 May 18 12:23 /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4A001B000C504B5735313920-if00 -> ../../ttyACM0
But when I test to connect to it wth minicom, if fails to use 250000 baud rate (falling back to 115200) and displays garbage.
pi@octopi:~ $ minicom -o -b 250000 -D /dev/ttyACM0
How can I fix this ?
The kernel version is: 6.1 but the version 6.6 was also not working
Linux version 6.1.21-v7l+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP Mon Apr 3 17:22:30 BST 2023
The serial port is in fact an USB device and is correctly detected by the Linux kernel
[ 7.232515] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
[ 7.234675] usbcore: registered new interface driver cdc_acm
[ 7.234693] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
And the details of the USB device:
Bus 001 Device 003: ID 1d50:614e OpenMoko, Inc. stm32g0b1xx
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 16
idVendor 0x1d50 OpenMoko, Inc.
idProduct 0x614e
bcdDevice 1.00
iManufacturer 1 Klipper
iProduct 2 stm32g0b1xx
iSerial 3 4A001B000C504B5735313920
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x003e
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x06
sends break
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Thanks.