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

Cura 2.4 for Linux fails to keep connection open #1546

Closed
jwatte opened this issue Mar 16, 2017 · 6 comments
Closed

Cura 2.4 for Linux fails to keep connection open #1546

jwatte opened this issue Mar 16, 2017 · 6 comments
Labels
Status: Needs Info Needs more information before action can be taken. Type: Bug The code does not produce the intended behavior.

Comments

@jwatte
Copy link

jwatte commented Mar 16, 2017

I'm trying to set up a Linux-based dedicated 3D printing station. I am using a Printrbot Simple Metal (which uses a Printrboard rev F5) and a Zotac Zbox mini-PC running Ubuntu 16.04. I am using the AppImage for Cura 2.4. This printer previously worked fine with Cura 15.04 on Windows.

The printer shows up on /dev/ttyACM0, and the software starts to recognize it, but then it immediately gives up, because it's surprised to get 0 bytes back when the file descriptor is ready to read. This is actually totally legit behavior for serial ports that are set in polling mode! I would expect the code to just loop back around and try again if this happens (perhaps with a small usleep of 100 microseconds or whatever.)

Here is the cura.log file. I could not find a stderr.log file.

Is there something simple I can do to work around this? Because I run from within an AppImage, I can't find any convenient Python files to edit to try to patch this.

cura.log.zip

@Ghostkeeper
Copy link
Collaborator

This is the relevant line in that log:

2017-03-15 20:55:36,638 - ERROR - USBPrinting.USBPrinterOutputDevice._readline [616]: Unexpected error while reading serial port. read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

It is Python's serial module that does the check and gives this error. Seemingly we're not the only ones with this problem: http://arduino.stackexchange.com/questions/16866/pyserial-and-serial-serialutil-serialexception-device-reports-readiness-to-read

However, everywhere I look I'm seeing people respond that it is or was a kernel bug, not the intended behaviour.

@jwatte
Copy link
Author

jwatte commented Mar 16, 2017

Ubuntu 16.04 uses kernel 4.4, so the previous recommendation for updating the 3-series kernel is years out of date.

The thread linked to by the thread you linked to seems to verify that the bug is "back" in 16.04:
pyserial/pyserial#17

So, that doesn't actually solve my problem. I can't patch the Cura because it's built into an appimage.
I looked at the GitHub repository, but it seems Cura has a lot of dependencies to build.
Is there a simplified "download all dependencies and set them up for a build" script that can kickstart building my own copy?

@Ghostkeeper
Copy link
Collaborator

Ghostkeeper commented Mar 17, 2017

Look into these repositories:

@Ghostkeeper
Copy link
Collaborator

If you know of a workaround we can try... But we can't test our workaround unless we have a way to reproduce the bug ourselves too.

@ender210
Copy link

You don't have to use Cura 2.4. Go into the pb archives and get the last version of Cura 15. Then you can make the changes to the pyserial.py on your system. Thats where I am at the moment. I just don't what changes to make.

@BagelOrb BagelOrb added the Type: Bug The code does not produce the intended behavior. label Jul 23, 2017
@ianpaschal
Copy link
Contributor

This is:

  • more than one year old
  • never reproduced
  • reported for a now-unsupported version of Cura

...so unfortunately it's safe to call it dead. 😞

@ianpaschal ianpaschal added the Status: Needs Info Needs more information before action can be taken. label May 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Needs Info Needs more information before action can be taken. Type: Bug The code does not produce the intended behavior.
Projects
None yet
Development

No branches or pull requests

5 participants