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

"No EBB connected" and other errors #150

Open
elsifthen opened this issue Jul 1, 2023 · 2 comments
Open

"No EBB connected" and other errors #150

elsifthen opened this issue Jul 1, 2023 · 2 comments

Comments

@elsifthen
Copy link

I just got an AxiDraw V3 and I can't get saxi to see it. axicli and the python API all work as expected.

System info:

  • OS: Raspbian GNU/Linux 11
  • Node: 18.16.1
  • npm: 9.5.1
  • AxiDraw firmware version: 2.8.1

pyserial is able to see this:

$ python -m serial.tools.list_ports -v
/dev/ttyACM0        
    desc: EiBotBoard,axidraw
    hwid: USB VID:PID=04D8:FD92 SER=axidraw LOCATION=1-1.2:1.0
/dev/ttyAMA0        
    desc: ttyAMA0
    hwid: fe201000.serial
2 ports found

However saxi can't seem to get the same info:

$ saxi --firmware-version
No EBB connected

$ saxi --firmware-version -d /dev/ttyACM0
/home/mimi/.config/nvm/versions/node/v18.16.1/lib/node_modules/saxi/dist/server/ebb.js:28
        this.writer = this.port.writable.getWriter();
                                         ^

TypeError: Cannot read properties of undefined (reading 'getWriter')
    at new EBB (/home/mimi/.config/nvm/versions/node/v18.16.1/lib/node_modules/saxi/dist/server/ebb.js:28:42)
    ...

Also, here's the info from node serialport lib:

$ node -e "require('serialport').list().then((ps) => console.log(JSON.stringify(ps)))"
[{"vendorId":"1106","productId":"3483","path":"/dev/ttyACM0"},{"path":"/dev/ttyAMA0"},{"path":"/dev/ttyS0"}]

I've also tried with an old version of Node, v12.22.12, and the results were the same. Any suggestions would be greatly appreciated!

@elsifthen
Copy link
Author

elsifthen commented Jul 1, 2023

I found two separate issues.

  1. node-serialport is broken because Raspbian has a Debian bug that changed the udevadm output attribute names we need from ID_* to ID_USB_*, so the EBB matching code is failing.
  2. saxi --firmware-version is not working because this.port.writable is only defined after calling this.port.open(). I think it's a bug in this lib.

I kept on using --firmware-version as a simple test, but turns out saxi -d /dev/ttyACM0 just works.

@elsifthen
Copy link
Author

Here's a link to the node-serialport issue: serialport/bindings-cpp#115

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

1 participant