### Manage Entware Service Source: https://snapmakeru1-extended-firmware.pages.dev/development These commands control the Entware package manager service. 'start' activates Entware by mounting `/opt`, 'stop' deactivates it by unmounting `/opt`, and 'nuke' completely removes the Entware installation. ```bash entware-ctrl start entware-ctrl stop entware-ctrl nuke ``` -------------------------------- ### Example Tailscale Package Manager Script (Shell) Source: https://snapmakeru1-extended-firmware.pages.dev/design/third_party Demonstrates the '*-pkg' package manager pattern for the Tailscale VPN integration. It includes version pinning, download URL, and SHA256 checksum for verification. This script is not bundled with the firmware and is installed to a specific directory upon user enablement. ```shell VERSION=1.92.5 URL="https://pkgs.tailscale.com/stable/tailscale_${VERSION}_arm64.tgz" SHA256=13a59c3181337dfc9fdf9dea433b04c1fbf73f72ec059f64d87466b79a3a313c ``` -------------------------------- ### Initialize Entware Package Manager in Devel Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/development This command initializes the Entware package manager within the development (devel) profile firmware. It sets up the Entware environment in `/userdata/extended/entware` and installs essential bootstrap packages. ```bash entware-ctrl init ``` -------------------------------- ### Enable Tailscale Serve for SSL Certificates Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command starts Tailscale Serve in the background, which can generate Let's Encrypt SSL certificates for secure browsing. Port 80 is specified for the initial connection. ```bash tailscale serve --bg 80 ``` -------------------------------- ### Custom Klipper Macro Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/klipper_includes Example of a custom G-code macro for Klipper firmware. This macro, when triggered, will perform a G28 (auto home) and then move the Z-axis to 10 units at a feedrate of 600. It is intended to be placed in a `.cfg` file within the Klipper configuration directory. ```cfg [gcode_macro CUSTOM_MACRO] gcode: G28 G1 Z10 F600 ``` -------------------------------- ### OpenSpool Filament Tag JSON Payload Example Source: https://snapmakeru1-extended-firmware.pages.dev/rfid_support This JSON payload represents a basic OpenSpool filament tag. It includes essential information like protocol, version, material type, and color. This format is human-readable and widely compatible. ```json { "protocol": "openspool", "version": "1.0", "brand": "Generic", "type": "PLA", "color_hex": "#FF0000", "min_temp": 190, "max_temp": 220, "bed_min_temp": 50, "bed_max_temp": 60 } ``` -------------------------------- ### Build Basic Snapmaker U1 Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/development This command compiles the basic profile of the Snapmaker U1 firmware. It specifies the 'basic' profile and sets the output file path for the resulting binary. ```bash ./dev.sh make build PROFILE=basic OUTPUT_FILE=firmware/U1_basic.bin ``` -------------------------------- ### Build Snapmaker U1 Firmware Tools and Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/development These commands initiate the build process for the Snapmaker U1 firmware. The first command builds necessary development tools, while the second downloads the base firmware source code. ```bash ./dev.sh make tools ./dev.sh make firmware ``` -------------------------------- ### Configure Web Interface Settings Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config Sets the frontend for the web interface (e.g., Fluidd, Mainsail) and enables access to firmware configuration and remote screen functionalities. ```ini [web] # Web interface frontend: fluidd, mainsail frontend: fluidd # Enable access at http:///firmware-config/: true, false firmware_config: true # Enable access at http:///screen/: true, false remote_screen: false ``` -------------------------------- ### Configure DataDog Agent for OpenMetrics Source: https://snapmakeru1-extended-firmware.pages.dev/monitoring This YAML configuration file is used to set up the DataDog agent to collect Prometheus metrics from the Snapmaker U1 printer. It requires specifying the printer's IP address and restarting the DataDog agent. ```yaml # Example DataDog configuration for Snapmaker U1 OpenMetrics integration # Replace with your printer's IP address openmetrics: - host: port: 9101 metrics_collection_interval: 15 ``` -------------------------------- ### Configuration Options for extended2.cfg Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config This snippet outlines key configuration options within the extended2.cfg file, specifically under the [web] section. It details settings for the frontend web interface, enabling/disabling the firmware config interface, and configuring remote screen access. ```ini [web] frontend: fluidd firmware_config: true remote_screen: false ``` -------------------------------- ### Configure Monitoring Settings Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config Enables a Prometheus metrics exporter for Klipper, allowing integration with monitoring systems like Grafana or DataDog. Metrics can be exposed on a specified port, with support for custom host:port formats. ```ini [monitoring] # Enable Klipper Prometheus exporter on specified address # klipper_exporter: :9101 ``` -------------------------------- ### Build Extended Snapmaker U1 Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/development This command compiles the extended profile of the Snapmaker U1 firmware. It specifies the 'extended' profile and sets the output file path for the resulting binary. ```bash ./dev.sh make build PROFILE=extended OUTPUT_FILE=firmware/U1_extended.bin ``` -------------------------------- ### Download Tailscale Package via SSH Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command downloads the Tailscale package to the printer via SSH. It requires an active internet connection on the printer and SSH access. ```bash ssh root@ tailscale-pkg download ``` -------------------------------- ### Configure Remote Access Settings Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config Enables SSH remote access via dropbear and configures VPN providers like Tailscale for secure remote connections. Also supports cloud-based remote access solutions such as OctoEverywhere. ```ini [remote_access] # Enable SSH access: true, false ssh: false # VPN provider for remote access: none, tailscale # Must SSH and run "tailscale up" to complete login flow vpn: none # Cloud: none, octoeverywhere # - none - No cloud services enabled. # - octoeverywhere - OctoEverywhere.com remote access cloud: none ``` -------------------------------- ### Log in to Tailscale Network Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command initiates the login process to your Tailscale network, allowing remote access to the printer. It may prompt for authentication. ```bash tailscale up ``` -------------------------------- ### Enable System Persistence in Snapmaker U1 Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/data_persistence This command enables system-level persistence for changes made to the `/etc` directory. It creates a `.debug` file in the `/oem` directory, which instructs the firmware to retain modifications across reboots. This is useful for saving SSH passwords, authorized keys, and other system configurations. ```shell touch /oem/.debug ``` -------------------------------- ### Configure Git for Codeberg Mirror Source: https://snapmakeru1-extended-firmware.pages.dev/development This command configures Git to use the Codeberg mirror as a replacement for GitHub URLs. It globally remaps repository paths, ensuring all subsequent Git operations, including submodule updates, point to Codeberg. ```bash git config --global url."https://codeberg.org/paxx12-snapmaker-u1/".insteadOf "https://github.com/paxx12/" ``` -------------------------------- ### Configure Camera Settings Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config Allows selection of internal and USB camera services, and enables RTSP streaming. Supports hardware-accelerated services like paxx12 and native Snapmaker services. RTSP streaming provides access to internal and USB cameras via dedicated ports. ```ini [camera] # Internal (Case) camera options: paxx12, snapmaker, none internal: paxx12 # External (USB) camera options: paxx12, none usb: none # Enable RTSP streaming server: true, false rtsp: false ``` -------------------------------- ### Enable Klipper Metrics Exporter via Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/monitoring This configuration snippet enables the Klipper Metrics Exporter by specifying the monitoring port. It requires editing the extended firmware configuration file and rebooting the printer for changes to take effect. ```cfg [monitoring] klipper_exporter: :9101 ``` -------------------------------- ### Enable Camera Logging - Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This configuration snippet enables camera logging using syslog for the Snapmakeru1 extended firmware. It involves modifying the `extended2.cfg` file. A printer reboot is required for the logging to take effect, with logs accessible in `/var/log/messages`. ```cfg [camera] logs: syslog ``` -------------------------------- ### Enable AFC-Lite Stub via Symlink Source: https://snapmakeru1-extended-firmware.pages.dev/afc-lite Enables the AFC-Lite stub by creating a symbolic link to the configuration file and restarting the Klipper service. This allows the firmware to recognize and utilize the AFC stub for UI integration. ```shell ln -sf /usr/local/share/firmware-config/tweaks/klipper/afc.cfg \ /oem/printer_data/config/extended/klipper/afc.cfg /etc/init.d/S60klipper restart ``` -------------------------------- ### Configure VPN Provider in Extended Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This configuration snippet sets the VPN provider to 'tailscale' within the extended firmware's configuration file. It requires editing the 'extended/extended2.cfg' file. ```ini [remote_access] vpn: tailscale ``` -------------------------------- ### Open Development Shell for Snapmaker U1 Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/development This command launches a shell within the pre-configured Debian Trixie ARM64 development environment. This environment contains all necessary tools and dependencies for building the custom firmware. ```bash ./dev.sh bash ``` -------------------------------- ### Configure Internal Camera Streaming Mode (Extended Firmware) Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This configuration allows customization of the internal camera's streaming mode. Options include 'webrtc-camerastreamer' for high-quality WebRTC, 'iframe' for H264/MJPEG, and 'mjpegstreamer-adaptive' for broad compatibility. The chosen mode affects performance and resource usage. ```cfg [webcam case] service: webrtc-camerastreamer stream_url: /webcam/webrtc snapshot_url: /webcam/snapshot.jpg aspect_ratio: 16:9 ``` ```cfg [webcam case] service: iframe stream_url: /webcam/player snapshot_url: /webcam/snapshot.jpg aspect_ratio: 16:9 ``` ```cfg [webcam case] service: mjpegstreamer-adaptive snapshot_url: /webcam/snapshot.jpg aspect_ratio: 16:9 ``` -------------------------------- ### Enable Tailscale SSH Access Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command enables Tailscale's SSH feature, allowing passwordless and keyless SSH access to the printer through your Tailnet. Use with caution. ```bash tailscale up --ssh ``` -------------------------------- ### Display Tailscale Status and IP Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command shows the current status of the Tailscale connection and displays the printer's Tailscale IP address within your Tailnet. ```bash tailscale status | grep lava ``` -------------------------------- ### Enable USB Camera Support (Extended Firmware) Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This configuration enables USB camera support in the extended firmware. It requires editing the 'extended2.cfg' file to specify the 'paxx12' service for USB cameras. A reboot is necessary for the changes to take effect. ```cfg [camera] usb: paxx12 ``` -------------------------------- ### Connect to Snapmaker U1 via SSH Source: https://snapmakeru1-extended-firmware.pages.dev/ssh_access This command demonstrates how to initiate an SSH connection to the Snapmaker U1 printer. You will need the printer's IP address and valid credentials. This is the standard method for remote command-line access. ```bash ssh root@ ``` -------------------------------- ### Disable Tailscale Serve Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command resets and disables the Tailscale Serve functionality, removing any generated SSL certificates and stopping the service. ```bash tailscale serve reset ``` -------------------------------- ### Restore Pristine System State in Snapmaker U1 Firmware Source: https://snapmakeru1-extended-firmware.pages.dev/data_persistence This command sequence restores the Snapmaker U1 firmware to its default state by removing the persistence flag and rebooting the device. It first deletes the `.debug` file from the `/oem` directory and then initiates a system reboot, effectively discarding all previously persisted system changes. ```shell rm /oem/.debug reboot ``` -------------------------------- ### Access Firmware Config Web Interface Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config This snippet shows how to access the Firmware Config web interface. It requires Advanced Mode to be enabled on the printer. The interface is available at a specific IP address and port. ```text http:///firmware-config/ ``` -------------------------------- ### Enable RTSP Camera Stream - Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This configuration snippet enables the RTSP streaming functionality for cameras connected to the Snapmakeru1 extended firmware. It requires editing the `extended2.cfg` file. After applying the changes, a reboot is necessary for the RTSP streams to become available at the specified ports. ```cfg [camera] rtsp: true ``` -------------------------------- ### Configure USB Camera Streaming Mode (Extended Firmware) Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This snippet configures the streaming mode for USB cameras. Similar to the internal camera, it supports 'webrtc-camerastreamer', 'iframe', and 'mjpegstreamer-adaptive'. The configuration is applied to the '03_usb_camera.cfg' file. ```cfg [webcam usb] service: webrtc-camerastreamer stream_url: /webcam2/webrtc snapshot_url: /webcam2/snapshot.jpg aspect_ratio: 16:9 ``` ```cfg [webcam usb] service: iframe stream_url: /webcam2/player snapshot_url: /webcam2/snapshot.jpg aspect_ratio: 16:9 ``` ```cfg [webcam usb] service: mjpegstreamer-adaptive snapshot_url: /webcam2/snapshot.jpg aspect_ratio: 16:9 ``` -------------------------------- ### Configure Internal Camera Service (Extended Firmware) Source: https://snapmakeru1-extended-firmware.pages.dev/camera_support This snippet shows how to manually configure the internal camera service in the extended firmware. It allows switching between the default 'paxx12' service, Snapmaker's original service, or disabling the camera entirely. Changes require a printer reboot. ```cfg [camera] internal: snapmaker ``` ```cfg [camera] internal: none ``` -------------------------------- ### Snapmaker U1 Firmware Commands for Filament Tags Source: https://snapmakeru1-extended-firmware.pages.dev/rfid_support These are manual commands to interact with filament tags on the Snapmaker U1. They allow reading, clearing, and querying the currently detected tag data for a specific channel. ```bash FILAMENT_DT_UPDATE CHANNEL= FILAMENT_DT_CLEAR CHANNEL= FILAMENT_DT_QUERY CHANNEL= ``` -------------------------------- ### Restart VPN Service Source: https://snapmakeru1-extended-firmware.pages.dev/vpn This command restarts the VPN service on the printer, applying the new configuration. It is typically run after modifying the VPN settings. ```bash /etc/init.d/S99vpn restart ``` -------------------------------- ### Access Remote Screen via SSH Source: https://snapmakeru1-extended-firmware.pages.dev/remote_screen This snippet demonstrates how to access the printer's configuration files via SSH to manually enable remote screen access. It uses the 'vi' editor to modify the necessary configuration files. ```bash ssh lava@ vi /home/lava/printer_data/config/extended/extended2.cfg vi /home/lava/printer_data/config/extended/moonraker/04_remote_screen.cfg ``` -------------------------------- ### Enable SSH in Extended Firmware Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/ssh_access This snippet shows how to manually enable SSH access by editing the extended2.cfg file. It requires direct file access and a printer reboot to take effect. Ensure you are using the Extended firmware. ```cfg [remote_access] ssh: true ``` -------------------------------- ### Restart Remote Screen Service via SSH Source: https://snapmakeru1-extended-firmware.pages.dev/remote_screen This snippet shows the command to restart the framebuffer HTTP server service remotely via SSH. This is useful for troubleshooting when the screen appears frozen. ```bash ssh lava@ sudo /etc/init.d/S99fb-http restart ``` -------------------------------- ### Edit extended2.cfg via SSH Source: https://snapmakeru1-extended-firmware.pages.dev/firmware_config This snippet demonstrates how to edit the extended2.cfg configuration file using SSH. It requires SSH access to the printer and uses the 'vi' editor. After saving changes, the printer must be rebooted. ```shell ssh lava@ vi /home/lava/printer_data/config/extended/extended2.cfg ``` -------------------------------- ### Disable AFC-Lite Stub via Symlink Removal Source: https://snapmakeru1-extended-firmware.pages.dev/afc-lite Disables the AFC-Lite stub by removing the symbolic link to the configuration file and restarting the Klipper service. This reverts the system to its previous state, removing AFC UI integration. ```shell rm /oem/printer_data/config/extended/klipper/afc.cfg /etc/init.d/S60klipper restart ``` -------------------------------- ### Enable Remote Screen Access in Extended Firmware Configuration Source: https://snapmakeru1-extended-firmware.pages.dev/remote_screen This snippet shows how to enable the remote screen feature by modifying the extended firmware configuration files. It requires setting 'remote_screen' to true in 'extended2.cfg' and 'enabled' to true in '04_remote_screen.cfg'. ```cfg [web] remote_screen: true ``` ```cfg [webcam gui] enabled: true ``` -------------------------------- ### OpenSpool Filament Tag JSON Payload with Extended Fields Source: https://snapmakeru1-extended-firmware.pages.dev/rfid_support This JSON payload demonstrates the use of extended fields within the OpenSpool format, including subtype, additional colors, and weight. These fields provide more detailed information about the filament. ```json { "protocol": "openspool", "version": "1.0", "type": "PETG", "subtype": "Rapid", "color_hex": "AFAFAF", "additional_color_hexes": ["EEFFEE","FF00FF"], "alpha": "FF", "brand": "Elegoo", "min_temp": "230", "max_temp": "260" } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.