Troubleshooting / FAQ
Common errors, fixes, and how to report bugs.
Common Errors and Fixes
Serial Port Permission Denied
Error: Error: EACCES: permission denied, open '/dev/ttyUSB0'
Fix (Linux):
sudo usermod -a -G dialout $USER
# Log out and back in (or reboot)
groups $USER # Should list "dialout"
Port Already in Use
Error: Error: listen EADDRINUSE: address already in use :::8000
Fix:
# Linux/macOS
lsof -ti:8000 | xargs kill -9
# Windows
netstat -ano | findstr :8000
taskkill /PID <PID> /F
Build Fails on First Run
Error: Various compilation errors (Babel, Vite, etc.)
Fix:
rm -rf node_modules apps/*/node_modules packages/*/node_modules
pnpm install
FakeTTY / GRBL Sim Not in Port List
Problem: After pnpm dev:grblsim:setup, fakeTTY doesn't appear in machine port dropdown.
Fix:
pnpm dev:grblsim:enable
This adds fakeTTY to ~/.axiocnc/config.json. Restart the server afterward.
GRBL Simulator Won't Start
Error: Simulator exits immediately or build errors.
Fix:
pnpm dev:grblsim:clean
pnpm dev:grblsim:setup
Tests Fail with "Cannot find module" or Babel Errors
Fix:
pnpm install
pnpm test:test
Tests use @babel/register; ensure deps are installed.
Lint or Typecheck Failures
Fix:
pnpm test:lint
pnpm test:typecheck
Address reported issues. Use pnpm test:lint:eslint-debug if ESLint is unclear.
Where Logs Live
- Server (dev): Console output of
pnpm dev:start-server - Frontend: Browser DevTools console (F12)
- Production:
~/.axiocnc/logs/(if file logging is enabled) - MediaMTX:
~/.axiocnc/mediamtx/logs/
Placeholder: File logging for the main server is not fully documented yet. Console-only by default.
How to Report a Bug
- Search Issues to see if it's already reported.
- Open a new issue with:
- Clear title
- Steps to reproduce
- Expected vs actual behavior
- Environment (OS, Node version, AxioCNC version, controller type)
- Relevant logs or screenshots
How to Provide a Reproducer
- Minimal steps — Smallest set of actions that trigger the bug
- G-code file — If it's job-specific, attach a minimal
.gcode(or describe it) - Config — Redact secrets, but mention non-default settings (e.g. port, baud rate, controller)
- Logs — Paste relevant console/server logs (no secrets)
FAQ
Q: Will this work with my controller?
A: AxioCNC supports Grbl, Marlin, Smoothie, and TinyG/g2core. If your controller runs one of these, it should work.
Q: Can I use this on a Raspberry Pi?
A: Yes. Use the ARM32 (armhf) or ARM64 .deb packages. See README and install docs.
Q: Does it need internet?
A: No. Once installed, it runs locally. Updates, docs, and telemetry (if any) may use the network.
Q: Multiple users / machines?
A: Multiple browsers can connect to the same server. Multi-machine setup is per your deployment (e.g. multiple instances, configs).
Q: Where is config stored?
A: ~/.axiocnc/config.json and related runtime data under ~/.axiocnc/. See Architecture.
Next Steps
- Getting Set Up — Dev environment setup
- Contributing — Submitting fixes via PR