aegean-odyssey / mpmd_marlin_1.1.x

a fork of Marlin firmware (bugfix-1.1.x) for the Monoprice MP Mini Delta 3d printer
GNU General Public License v3.0
76 stars 19 forks source link

USB serial broken in 119r07 and 119r08 #5

Closed cscott closed 3 years ago

cscott commented 4 years ago

I couldn't get pronterface to reliably connect to the MPMD from my machine (thinkpad T460p, SS USB port) on 119r07 or 119r08. It would appear to connect, but drop half or more of the characters sent from the mini delta. Reverting back to 119r06 made the serial work properly (at 115200 baud).

aegean-odyssey commented 4 years ago

(sigh) I thought I nailed all of the USB issues. Thank you for your reporting. I'll try to track it down.

ramin3 commented 4 years ago

Just some more information regarding the USB / Com Port situation: Because cscott said that he was able to get his USB port working using 119r06, I figured I would give that a try, so I flashed the board with 119r06. But, it did not work for me. I still got "STM32 Virtual ComPort in FS Mode" and an "Unknown device" on Com 4. So, I flashed the board with the original firmware that this printer came with (version 44). It fixed the issue and Windows 10 now recognizes the printer as "Serial GCode 3D Printer" on Com 3. Pronterface recognizes that the printer is on Com 3 and I can now connect with Pronterface at 250000 and send and receive to the printer.

After reverting back to original version 44 firmware and noting that the USB worked, I again tried flashing with 119r06, 119r07, and 119r08. All present the same issue with the USB / Com port indicated above. I hope this helps.

PurpleHullPeas commented 4 years ago

Have any of you tried the Windows COM port drivers from Marlin4MPMD? https://github.com/mcheah/Marlin4MPMD/tree/master/windows%20drivers

cscott commented 4 years ago

I'm on Linux. Not a driver problem, in my case at least.

ramin3 commented 4 years ago

@PurpleHullPeas

I found those drivers when doing a google search on STM32F0's HAL USB drivers, but I did not install them because I didn't want to create an account and sign up. I had no idea they were in any way related to Marlin4MPMD. I will go get them and install them now and see what happens. Thank you for the suggestion!

And, that fixed my problem! I am running 119r08 and it is properly recognized by Windows 10 and Pronterface as STMicroelectroincs Virtual Com Port (Com5). So far I have just issued M503 command and got the proper response, but it seems to be fixed!

Thanks PurpleHullPeas!

aegean-odyssey commented 4 years ago

Yes, thank you @PurpleHullPeas. I'll include your tip in the wiki.

@cscott's issue(s) are a bit more insidious -- I'm still trying to track them down.

nathanielstenzel commented 3 years ago

I am getting this issue from Pronterface. I think it might be related to the buffer size or the chip quality, but I may be wrong.

Exception in thread Thread-2: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 500, in read raise SerialException( serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/printrun/printcore.py", line 260, in _readline line = self.printer.readline().decode('ascii') File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 509, in read raise SerialException('read failed: {}'.format(e)) serial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/printrun/printcore.py", line 347, in _listen line = self._readline() File "/usr/lib/python3/dist-packages/printrun/printcore.py", line 281, in _readline if 'Bad file descriptor' in e.args[1]: IndexError: tuple index out of range

aegean-odyssey commented 3 years ago

created a new issue, #80, closing this issue