donovan6000 / M33-Fio

The ultimate OctoPrint plugin
GNU General Public License v3.0
125 stars 38 forks source link

Device or resource busy: '/dev/ttyACM1' #247

Open w4www opened 6 years ago

w4www commented 6 years ago

Not sure if this is for M33 or iMe or OctoPrint, I'll start here and y'all can redirect me if I'm in the wrong place.

brand new install of U16.04.3 x64, OctoPrint 1.3.6 from git pull, M33-Fio 1.21 from OP Plugin repo, M3D w/ f/w 01.25.

This worked OK on OP 1.3.5. That I can remember.

When connecting to the printer via dev/ttyACM0 for the first time on cold start (when the printer is still in firmware mode) it will issue whatever command it is to get it into normal mode. This causes ACM0 to disappear from the host and ACM1 appears as the printer. OP sees that change but cannot connect to ACM1 saying that the port is busy (hook).

Connecting to: /dev/ttyACM0 Changing monitoring state from 'Offline' to 'Opening serial port' Connected to: Serial(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor Starting baud rate detection Changing monitoring state from 'Opening serial port' to 'Detecting baudrate' Trying baudrate: 115200 Changing monitoring state from 'Detecting baudrate' to 'Offline' Connection closed, closing down monitor Connecting to: /dev/ttyACM1 Connecting to: /dev/ttyACM1 Changing monitoring state from 'Offline' to 'Error: Connection error, see Terminal tab' Unexpected error while connecting to serial port: /dev/ttyACM1 OSError: '[Errno 16] Device or resource busy: '/dev/ttyACM1'' @ comm.py:_openSerial:1931 (hook default) Send: N0 M110 N0*125

In dmesg I see this:

[ 1870.986542] usb 2-1.1: new full-speed USB device number 12 using ehci-pci [ 1871.097719] usb 2-1.1: string descriptor 0 read error: -32 [ 1871.097726] usb 2-1.1: New USB device found, idVendor=03eb, idProduct=2404 [ 1871.097728] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1871.098150] cdc_acm 2-1.1:1.0: ttyACM0: USB ACM device [ 1903.789025] usb 2-1.1: USB disconnect, device number 12 [ 1903.789261] cdc_acm 2-1.1:1.1: urb 0 failed submission with -19 [ 1903.791265] cdc_acm 2-1.1:1.0: failed to set dtr/rts [ 1904.023321] usb 2-1.1: new full-speed USB device number 13 using ehci-pci [ 1904.134085] usb 2-1.1: New USB device found, idVendor=03eb, idProduct=2404 [ 1904.134088] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1904.134090] usb 2-1.1: Product: Micro 3D [ 1904.134092] usb 2-1.1: Manufacturer: M3D [ 1904.134093] usb 2-1.1: SerialNumber: CL16021102025023 [ 1904.134608] cdc_acm 2-1.1:1.0: ttyACM1: USB ACM device

/dev/ttysACM0 and 1 are owned root, dialout and the user that OctoPrint is running under (printer) is in the dialout group.

root@printer:~ # ls -lah /dev/ttyACM* crw-rw---- 1 root dialout 166, 0 Dec 27 23:14 /dev/ttyACM0

root@printer:~ # ls -lah /dev/ttyACM* crw-rw---- 1 root dialout 166, 1 Dec 27 22:54 /dev/ttyACM1 root@printer:~ # grep dialout /etc/group dialout: x :20:printer

What am I missing here?

-Brian