From 2aabcd03ae1baf7a0361a6c82d9d5f0fc8444b7e Mon Sep 17 00:00:00 2001 From: paxx12 <245230251+paxx12@users.noreply.github.com> Date: Fri, 6 Feb 2026 23:30:50 +0100 Subject: [PATCH] Standardize configuration docs to prefer firmware-config Web UI --- docs/camera_support.md | 142 +++++++++++++++++++++++------------------ docs/monitoring.md | 13 +++- docs/remote_screen.md | 14 ++-- docs/ssh_access.md | 11 +++- docs/vpn.md | 47 ++++++-------- 5 files changed, 130 insertions(+), 97 deletions(-) diff --git a/docs/camera_support.md b/docs/camera_support.md index 5e5b4991..84d78430 100644 --- a/docs/camera_support.md +++ b/docs/camera_support.md @@ -30,45 +30,7 @@ The internal camera is automatically configured and enabled. Access at: `http:///webcam2/` -USB cameras must be enabled in `extended2.cfg`. See [USB Camera Configuration](#usb-camera-configuration) below for setup instructions. - -## Moonraker Camera Configuration - -Camera streaming settings are configured through Moonraker configuration files in the `extended/moonraker/` directory. - -### Internal Camera Configuration - -Edit `extended/moonraker/02_internal_camera.cfg` to customize internal camera streaming: - -```cfg -[webcam case] -service: webrtc-camerastreamer -stream_url: /webcam/webrtc -snapshot_url: /webcam/snapshot.jpg -aspect_ratio: 16:9 -``` - -**Available streaming modes:** -- `webrtc-camerastreamer` - WebRTC streaming (best quality and performance, default) - - `stream_url: /webcam/webrtc` -- `iframe` - H264/MJPEG iframe streaming (acceptable quality and performance) - - `stream_url: /webcam/player` -- `mjpegstreamer-adaptive` - MJPEG streaming (best compatibility, most resource intensive) - - No stream_url needed (uses snapshot_url only) - -### USB Camera Configuration - -Edit `extended/moonraker/03_usb_camera.cfg` to enable USB camera. Uncomment one of the sections: - -```cfg -[webcam usb] -service: webrtc-camerastreamer -stream_url: /webcam2/webrtc -snapshot_url: /webcam2/snapshot.jpg -aspect_ratio: 16:9 -``` - -**Important:** Only one streaming mode can be active per camera. After changing camera configuration, reboot the printer. +USB cameras must be enabled first. See [USB Camera Configuration](#usb-camera-configuration) below for setup instructions. ## Camera Controls @@ -92,69 +54,125 @@ To reset camera settings to defaults, delete the corresponding JSON file and reb ## Configuration -All camera configuration is done through `/home/lava/printer_data/config/extended/extended2.cfg`. See [Firmware Configuration](firmware_config.md) for editing instructions. - ### Internal Camera Selection -By default, the extended firmware uses a custom hardware-accelerated camera service (paxx12). To switch to Snapmaker's original camera service: +By default, the extended firmware uses a custom hardware-accelerated camera service (paxx12). + +#### Using firmware-config Web UI (preferred) + +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Camera section, and select your preferred internal camera service or disable it. + +#### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg`. +To switch to Snapmaker's original camera service: ```ini [camera] internal: snapmaker ``` To disable the internal camera entirely (also disables timelapses): - ```ini [camera] internal: none ``` -Note: Only one camera service can be operational at a time for the internal camera. +**Step 2:** (Optional) Customize streaming mode by editing `/home/lava/printer_data/config/extended/moonraker/02_internal_camera.cfg`: +```cfg +[webcam case] +service: webrtc-camerastreamer +stream_url: /webcam/webrtc +snapshot_url: /webcam/snapshot.jpg +aspect_ratio: 16:9 +``` -### Camera Logging +**Available streaming modes:** +- `webrtc-camerastreamer` - WebRTC streaming (best quality and performance, default) + - `stream_url: /webcam/webrtc` +- `iframe` - H264/MJPEG iframe streaming (acceptable quality and performance) + - `stream_url: /webcam/player` +- `mjpegstreamer-adaptive` - MJPEG streaming (best compatibility, most resource intensive) + - No stream_url needed (uses snapshot_url only) + +**Step 3:** Reboot the printer for changes to take effect. + +Note: Only one camera service and one streaming mode can be operational at a time for the internal camera. -Enable logging to syslog for all camera services: +### USB Camera Configuration + +USB camera support is disabled by default (paxx12 service only). + +#### Using firmware-config Web UI (preferred) +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Camera section, and enable USB camera support. This will automatically configure both the camera service and Moonraker streaming settings. + +#### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg` to enable USB camera: ```ini [camera] -logs: syslog +usb: paxx12 ``` -Logs are available in `/var/log/messages`. +**Step 2:** Edit `/home/lava/printer_data/config/extended/moonraker/03_usb_camera.cfg` to configure USB camera streaming: +```cfg +[webcam usb] +service: webrtc-camerastreamer +stream_url: /webcam2/webrtc +snapshot_url: /webcam2/snapshot.jpg +aspect_ratio: 16:9 +``` + +**Available streaming modes:** +- `webrtc-camerastreamer` - WebRTC streaming (best quality and performance, default) + - `stream_url: /webcam2/webrtc` +- `iframe` - H264/MJPEG iframe streaming (acceptable quality and performance) + - `stream_url: /webcam2/player` +- `mjpegstreamer-adaptive` - MJPEG streaming (best compatibility, most resource intensive) + - No stream_url needed (uses snapshot_url only) + +**Step 3:** Reboot the printer for changes to take effect. + +To disable USB camera, set `usb: none` in extended2.cfg. + +When enabled, USB cameras are accessible at `http:///webcam2/`. + +Note: Only one streaming mode can be active per camera. ### RTSP Streaming -RTSP streaming is disabled by default (paxx12 service only). To enable: +RTSP streaming is disabled by default (paxx12 service only). + +#### Using firmware-config Web UI (preferred) +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Camera section, and enable RTSP streaming. + +#### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg` to enable RTSP: ```ini [camera] rtsp: true ``` +**Step 2:** Reboot the printer for changes to take effect. + RTSP streams will be available at: - Internal camera: `rtsp://:8554/stream` - USB camera: `rtsp://:8555/stream` -### USB Camera Configuration - -Enable USB camera support (paxx12 service only): - -```ini -[camera] -usb: paxx12 -``` - -To disable USB camera: +### Camera Logging +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg` to enable logging: ```ini [camera] -usb: none +logs: syslog ``` -When enabled, USB cameras are accessible at `http:///webcam2/`. +**Step 2:** Reboot the printer for changes to take effect. -After any configuration changes, reboot the printer for changes to take effect. +Logs are available in `/var/log/messages`. ## Timelapse Support diff --git a/docs/monitoring.md b/docs/monitoring.md index 9bb53cf1..5888f4d3 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -24,12 +24,21 @@ You can create custom metrics collection using the Moonraker API. Exposes [Klipper metrics](https://github.com/scross01/prometheus-klipper-exporter) via HTTP endpoint for [OpenMetrics/Prometheus](https://github.com/prometheus/OpenMetrics) systems. -**Disabled by default.** Enable in `extended2.cfg`: +Disabled by default. + +#### Using firmware-config Web UI (preferred) + +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Monitoring section, and enable Klipper Metrics Exporter. + +#### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg` to enable the exporter: ```ini [monitoring] klipper_exporter: :9101 ``` -Then reboot the printer. + +**Step 2:** Reboot the printer for changes to take effect. ## Collecting Metrics with Home Assistant diff --git a/docs/remote_screen.md b/docs/remote_screen.md index 3cfe26cf..22ff023c 100644 --- a/docs/remote_screen.md +++ b/docs/remote_screen.md @@ -21,21 +21,27 @@ Once enabled: `http:///screen/` ## Enabling Remote Screen -Remote screen is **disabled by default**. To enable: +Remote screen is disabled by default. -**Step 1:** Edit `extended/extended2.cfg`, locate the setting below and set it to true: +### Using firmware-config Web UI (preferred) + +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Web section, and enable Remote Screen Access. + +### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg`, set remote_screen to true: ```ini [web] remote_screen: true ``` -**Step 2:** Edit `extended/moonraker/04_remote_screen.cfg`, locate the setting below and set it to true: +**Step 2:** Edit `/home/lava/printer_data/config/extended/moonraker/04_remote_screen.cfg`, set enabled to true: ```ini [webcam gui] enabled: true ``` -**Step 3:** Reboot the printer +**Step 3:** Reboot the printer for changes to take effect. **Editing via Fluidd/Mainsail:** 1. Enable **Advanced Mode** in printer settings diff --git a/docs/ssh_access.md b/docs/ssh_access.md index 53397ded..3de9e785 100644 --- a/docs/ssh_access.md +++ b/docs/ssh_access.md @@ -10,14 +10,21 @@ The custom firmware enables SSH access to the Snapmaker U1 printer. ## Configuration (Extended Firmware) -In Extended firmware, SSH is **disabled by default** and can be enabled via the firmware-config web UI or by editing `extended2.cfg`: +In Extended firmware, SSH is disabled by default. +### Using firmware-config Web UI (preferred) + +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Remote Access section, and enable SSH Access. + +### Manual Setup (advanced) + +**Step 1:** Edit `/home/lava/printer_data/config/extended/extended2.cfg` to enable SSH: ```ini [remote_access] ssh: true ``` -Changes take effect after restarting the SSH service or rebooting the printer. +**Step 2:** Reboot the printer for changes to take effect. ## Credentials diff --git a/docs/vpn.md b/docs/vpn.md index 57f0ac49..47463987 100644 --- a/docs/vpn.md +++ b/docs/vpn.md @@ -8,21 +8,27 @@ title: VPN Remote Access (Experimental) Control your printer remotely using a VPN provider. +> **Note**: VPN providers are downloaded on-demand when enabled by the user. See [third-party integration design](design/third_party.md) for details on how external components are managed. + > **Warning**: This feature is experimental. VPN services consume additional CPU and memory resources which may affect print quality or reliability during active prints. It is recommended to disable VPN while printing or monitor system performance closely. ## Supported Providers +- **none** - VPN disabled (default) - **tailscale** - Access your printer on your [Tailnet](https://tailscale.com) -## Enabling VPN +## Tailscale -VPN is **disabled by default**. +- Gain full access to your printer from anywhere +- Requires no port forwarding -### Using firmware-config Web UI +### Using firmware-config Web UI (preferred) -Navigate to the firmware-config interface and select Tailscale under VPN Provider. This will automatically download and install Tailscale. +Navigate to the [firmware-config](firmware_config.md) web interface, go to the Remote Access section, and select Tailscale under VPN Provider. This will automatically download and install Tailscale. -### Manual Setup +### Manual Setup (advanced) + +Tailscale setup requires [SSH access](ssh_access.md) to the printer. **Step 1:** Download Tailscale (requires internet connection): ```bash @@ -41,14 +47,7 @@ vpn: tailscale /etc/init.d/S99vpn restart ``` -## Tailscale Setup - -Tailscale setup requires [SSH access](ssh_access.md) to the printer. - -**Login to your tailnet:** - -Use the [tailscale CLI up command](https://tailscale.com/kb/1241/tailscale-up) to login. Get a login link, QR code, or use an auth token to complete the login. - +**Step 4:** Login to your tailnet using the [tailscale up command](https://tailscale.com/kb/1241/tailscale-up): ```bash tailscale up @@ -59,23 +58,17 @@ tailscale status | grep lava Note: You can use `tailscale up --ssh` to enable [tailscale SSH](https://tailscale.com/kb/1193/tailscale-ssh) and bypass passwords and keys. -### Features - -- Gain full access to your printer from anywhere -- Requires no port forwarding -- Tailscale runs in [Userspace Mode](https://tailscale.com/kb/1177/kernel-vs-userspace-routers#userspace-netstack-mode), there is no access to TUN - -### Tailscale Certificates +### Optional: Enable SSL Certificates -Tailscale can help generate Let's Encrypt SSL certificates for your printer, using [Tailscale Serve](https://tailscale.com/kb/1312/serve)! This will securly terminate SSL and forward requests to Fluidd/Mainsail. +Tailscale can generate Let's Encrypt SSL certificates for your printer using [Tailscale Serve](https://tailscale.com/kb/1312/serve): -``` +```bash tailscale serve --bg 80 -tailscale serve reset # to disable +# to disable: tailscale serve reset ``` -You can now browse securly to: -https://lava.${YOUR_TAILNET}.ts.net/ +Browse securely to: `https://lava.${YOUR_TAILNET}.ts.net/` + +Note: The first time you load this it will take a minute to generate the certificate. -Note: The first time you load this it will take a minute to generate the certificate for the first time. -Note: Advanced users can enable [Funnel](https://tailscale.com/kb/1223/funnel) to expose Fluidd/Mainsail to the public internet. Only do this if you absutely know what you are doing to stay secure. Stay safe! +Note: Advanced users can enable [Funnel](https://tailscale.com/kb/1223/funnel) to expose Fluidd/Mainsail to the public internet. Only do this if you absolutely know what you are doing to stay secure.