Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

USB serial broken in 119r07 and 119r08 #5

Closed
cscott opened this issue Mar 29, 2020 · 8 comments
Closed

USB serial broken in 119r07 and 119r08 #5

cscott opened this issue Mar 29, 2020 · 8 comments

Comments

@cscott
Copy link

cscott commented Mar 29, 2020

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
Copy link
Owner

aegean-odyssey commented Mar 29, 2020

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

@ramin3
Copy link

ramin3 commented Apr 15, 2020

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
Copy link

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

@cscott
Copy link
Author

cscott commented Apr 15, 2020

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

@ramin3
Copy link

ramin3 commented Apr 15, 2020

@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
Copy link
Owner

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.

aegean-odyssey added a commit that referenced this issue Jan 3, 2021
Specifically, if a full transmit buffer does not clear in 10ms, the
firmware clears the buffer and disables its USB output until the USB
host re-establishes a connection. This fix may resolve crashing
issues #47 and #48, and possibly issue #5.
@nathanielstenzel
Copy link

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
Copy link
Owner

created a new issue, #80, closing this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants