### DNS Record Example Source: https://github.com/openipc/wiki/blob/master/en/acme-v2.md Example of a DNS A record for a camera. ```console Type Host IP Address TTL A ipc-001 75.123.45.555 600 ``` -------------------------------- ### Port Forwarding Example Source: https://github.com/openipc/wiki/blob/master/en/acme-v2.md Example of setting up port forwarding on a router. ```console 75.123.45.555:80 => 192.168.1.10:80 ``` -------------------------------- ### Bootloader Log Example (Flash Memory Size) Source: https://github.com/openipc/wiki/blob/master/en/installation.md Example output from a U-Boot bootloader showing flash memory controller information, including chip size and name. ```console U-Boot 2010.06-svn (Oct 21 2016 - 11:21:29) Check Flash Memory Controller v100 ... Found SPI Nor(cs 0) ID: 0xс2 0x20 0x18 spi_general_qe_enable(294): Error: Disable Quad failed! reg: 0x2 Block:64KB Chip:16MB Name:"MX25L128XX" SPI Nor total size: 16MB ``` -------------------------------- ### Start the bisect process Source: https://github.com/openipc/wiki/blob/master/en/nightly-builds-and-bisect.md Example command to start the bisect process, specifying good and bad build references. ```sh openipc-bisect start root@192.168.1.10 \ --good=nightly-20260506-1111111 \ --bad=channels.nightly ``` -------------------------------- ### Desktop Wallpaper and Startup Scripts Setup Source: https://github.com/openipc/wiki/blob/master/en/fpv-orange-pi-5-groundstation.md Commands to install necessary libraries, compile and install hsetroot, and create directories for scripts and videos. ```bash sudo apt install --no-install-recommends libimlib2-dev libx11-dev libxinerama-dev pkg-config make git clone https://github.com/himdel/hsetroot.git cd hsetroot make sudo make install mkdir /home/ubuntu/scripts sudo mkdir /home/ubuntu/Videos ``` -------------------------------- ### Bootloader Log Example (Flash Memory Model) Source: https://github.com/openipc/wiki/blob/master/en/installation.md Another example of U-Boot bootloader output indicating the flash memory model, which can be used to infer size. ```console U-Boot 2013.07 (Feb 27 2019 - 02:05:08) DRAM: 64 MiB MMC: msc: 0 SF: Detected EN25QH64 ``` -------------------------------- ### Install Required Packages (Manual) Source: https://github.com/openipc/wiki/blob/master/en/source-code.md Manual commands to install the required dependencies for building OpenIPC firmware. ```bash sudo apt-get update -y sudo apt-get install -y automake autotools-dev bc build-essential cpio \ curl file fzf git libncurses-dev libtool lzop make rsync unzip wget libssl-dev ``` -------------------------------- ### S95majestic script snippet Source: https://github.com/openipc/wiki/blob/master/en/fpv-runcam-wifilink-openipc.md This snippet shows the path to the script that runs on boot to apply settings from the user.ini file on the SD card. ```bash 12,7: /etc/runcam_cfg.sh & ``` -------------------------------- ### Install go and upx Source: https://github.com/openipc/wiki/blob/master/en/homekit-integration.md Commands to install the necessary build tools, golang and upx. ```bash apt update apt install golang upx ``` -------------------------------- ### Install WFB-NG Source: https://github.com/openipc/wiki/blob/master/en/fpv-ground-orange_pi5.md Clones the WFB-NG repository and installs it as a ground station, replacing $WLAN with the actual Wi-Fi adapter name. ```bash git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng sudo ./scripts/install_gs.sh $WLAN ``` -------------------------------- ### Dynamic Debugging Setup Source: https://github.com/openipc/wiki/blob/master/en/ingenic-research.md Commands to mount debugfs, check entries, and example output for dynamic debugging. ```bash mount -t debugfs none /sys/kernel/debug ``` ```bash cat /sys/kernel/debug/dynamic_debug/control ``` ```text ../ingenic-opensdk/kernel/avpu/t31/avpu_main.c:314 [avpu]write_reg =_ "Out-of-range register write: 0x%.4X\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_main.c:304 [avpu]write_reg =_ "Reg write: 0x%.4X: 0x%.8x\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_main.c:302 [avpu]write_reg =_ "Reg write: 0x%.4X: 0x%.8x\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_main.c:290 [avpu]read_reg =_ "Reg read: 0x%.4X: 0x%.8x\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_ip.c:234 [avpu]wait_irq =_ "Unblocking channel\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_ip.c:128 [avpu]avpu_hardirq_handler =_ "ENOMEM: Missed interrupt\012" ../ingenic-opensdk/kernel/avpu/t31/avpu_ip.c:117 [avpu]avpu_hardirq_handler =_ "bitfield is 0\012" /mnt/mips/external_utilities/OpenIPC/openingenic/kernel/sensors/t31/gc2053/gc2053.c:1860 [sensor_gc2053_t31]gc2053_probe =p "probe ok ------->gc2053\012" /mnt/mips/external_utilities/OpenIPC/openingenic/kernel/sensors/t31/gc2053/gc2053.c:1422 [sensor_gc2053_t31]gc2053_s_stream =p "gc2053 stream off\012" /mnt/mips/external_utilities/OpenIPC/openingenic/kernel/sensors/t31/gc2053/gc2053.c:1415 [sensor_gc2053_t31]gc2053_s_stream =p "gc2053 stream on\012" /mnt/mips/external_utilities/OpenIPC/openingenic/kernel/sensors/t31/gc2053/gc2053.c:1288 [sensor_gc2053_t31]gc2053_detect =p "-----%s: %d ret = %d, v = 0x%02x\012" /mnt/mips/external_utilities/OpenIPC/openingenic/kernel/sensors/t31/gc2053/gc2053.c:1282 [sensor_gc2053_t31]gc2053_detect =p "-----%s: %d ret = %d, v = 0x%02x\012" ``` ```text [ 4.357160] sample_core: Unknown symbol __dynamic_dev_dbg (err 1) [ 4.361299] sample_hal: Unknown symbol __dynamic_dev_dbg (err 1) ``` -------------------------------- ### Graphical Environment Setup Source: https://github.com/openipc/wiki/blob/master/en/fpv-orange-pi-5-groundstation.md Commands to install Xorg, LightDM, and Openbox for a minimal graphical environment, and configure autologin. ```bash sudo apt install --no-install-recommends xorg lightdm-gtk-greeter lightdm openbox sudo nano /etc/lightdm/lightdm.conf [Seat:*] autologin-user=ubuntu xserver-command = X -nocursor ``` -------------------------------- ### Initial System Setup Source: https://github.com/openipc/wiki/blob/master/en/fpv-orange-pi-5-groundstation.md Commands to update the system, install necessary packages, and set the timezone and hostname. ```bash sudo apt update sudo apt upgrade sudo apt install dkms python3-all-dev fakeroot cmake meson ln -sf /usr/share/zoneinfo// /etc/localtime sudo nano /etc/hostname ``` -------------------------------- ### Start WFB CLI Source: https://github.com/openipc/wiki/blob/master/en/fpv-gs-ubuntu.md Starts the WFB CLI for GroundStation. ```bash wfb-cli gs ``` -------------------------------- ### Build Firmware Command Source: https://github.com/openipc/wiki/blob/master/en/source-code.md Navigate to the firmware directory and run the make command to start the build process. ```bash cd ~/mylocalOpenIPC/src/openipc-firmware make ``` -------------------------------- ### Initial Configuration Example Source: https://github.com/openipc/wiki/blob/master/en/wireless-settings.md Example of setting wireless configuration via uboot variable for HI3516EV300 CamHi. ```diff # HI3516EV300 CamHi +if [ "$1" = "mt7601u-hi3516ev300-camhi" ]; then devMEM 0x100C0080 32 0x530 ``` -------------------------------- ### Configuration File Example Source: https://github.com/openipc/wiki/blob/master/en/adding-usb-driver.md Example configuration file snippet showing how to enable USB storage and SCSI support. ```text # # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=m # # SCSI device support # CONFIG_SCSI_MOD=y CONFIG_SCSI_MOD=m CONFIG_CD_MOD=m # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y CONFIG_SCSI=m ``` -------------------------------- ### Example go2rtc.yaml configuration Source: https://github.com/openipc/wiki/blob/master/en/homekit-integration.md An example configuration file for go2rtc, including settings for logging, RTSP, WebRTC, streams, and HomeKit. ```yaml log: level: info # default level api: trace exec: debug ngrok: info rtsp: warn streams: error webrtc: fatal rtsp: listen: ":8553" webrtc: candidates: - stun:8555 streams: openipc: rtsp://admin:12345@127.0.0.1/stream=0 homekit: openipc: # same stream ID from streams list pin: 19550224 # custom PIN, default: 19550224 name: openipc-ssc30kq # custom camera name, default: generated from stream ID device_id: openipc # custom ID, default: generated from stream ID ``` -------------------------------- ### Install WFB-NG Source: https://github.com/openipc/wiki/blob/master/en/fpv-gs-ubuntu.md Clones the wfb-ng repository and installs GroundStation. ```bash git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng sudo ./scripts/install_gs.sh wlan0 ``` -------------------------------- ### minicom command for UART connection Source: https://github.com/openipc/wiki/blob/master/en/installation.md Starts a minicom session with specified settings for UART communication. ```bash minicom -b 115200 -8 --capturefile=ipcam-$(date +%s).log --color=on -D /dev/ttyUSB0 ``` -------------------------------- ### TFTP to fatload conversion example Source: https://github.com/openipc/wiki/blob/master/en/old-manual.md Example showing how to replace TFTP commands with fatload commands for devices without an Ethernet port. ```txt tftp 0x82000000 openwrt-hi35xx-XXXXX-u-boot.bin # fatload mmc 0:1 0x82000000 openwrt-hi35xx-XXXXX-u-boot.bin ``` -------------------------------- ### picocom command for UART connection Source: https://github.com/openipc/wiki/blob/master/en/installation.md Starts a picocom session with specified settings for UART communication. ```bash picocom -b 115200 --databits 8 --parity n --stopbits 1 --flow n --logfile=ipcam-$(date +%s).log /dev/ttyUSB0 ``` -------------------------------- ### Manifest Flat Format Example Source: https://github.com/openipc/wiki/blob/master/en/nightly-builds-and-bisect.md An example of the whitespace-delimited manifest format, showing build ID, platform, flash type, size, and URL for different camera models. ```text # columns: build_id platform flash size url nightly-20260520-887328c hi3520dv200_lite nor 4823040 https://github.com/OpenIPC/firmware/releases/download/nightly-20260520-887328c/openipc.hi3520dv200-nor-lite.tgz nightly-20260520-887328c gk7205v200_lite nor 7049210 https://github.com/OpenIPC/firmware/releases/download/nightly-20260520-887328c/openipc.gk7205v200-nor-lite.tgz ... # channels @channel nightly nightly-20260520-887328c @channel latest nightly-20260520-887328c ``` -------------------------------- ### Start ZeroTier One Service Source: https://github.com/openipc/wiki/blob/master/en/zerotier.md Command to start the ZeroTier One service in the background. ```bash /usr/sbin/zerotier-one -d & ``` -------------------------------- ### Install dependencies Source: https://github.com/openipc/wiki/blob/master/en/fpv-gs-ubuntu.md Installs necessary packages for GroundStation. ```bash sudo apt install dkms git python3-all-dev net-tools virtualenv fakeroot debhelper python3-twisted libpcap-dev python3-pyroute2 python3-future python3-all libsodium-dev ``` -------------------------------- ### Install openipc-bisect tool (from checkout) Source: https://github.com/openipc/wiki/blob/master/en/nightly-builds-and-bisect.md Instructions to install the openipc-bisect tool from a local checkout of the OpenIPC/firmware repository. ```sh # From a checkout of OpenIPC/firmware: sudo install -m 0755 contrib/openipc-bisect /usr/local/bin/openipc-bisect ``` -------------------------------- ### Output Images Directory Listing Source: https://github.com/openipc/wiki/blob/master/en/source-code.md Example output after a successful firmware compilation, showing the generated kernel and rootfs images. ```bash ~/mylocalOpenIPC/src/openipc-firmware/output/images$ ls -la total 39352 -rw-rw-r-- 1 chrisdev chrisdev 6515434 Sep 5 14:52 openipc.v83x-nor-lite.tgz -rw-r--r-- 1 chrisdev chrisdev 12971008 Sep 5 14:52 rootfs.cpio -rw-r--r-- 1 chrisdev chrisdev 4464640 Sep 5 14:52 rootfs.squashfs.v83x -rw-r--r-- 1 chrisdev chrisdev 14274560 Sep 5 14:52 rootfs.v83x.tar -rw-r--r-- 1 chrisdev chrisdev 2058032 Sep 5 14:50 uImage.v83x ``` -------------------------------- ### Enable Auto-Upload for Wifibroadcast Source: https://github.com/openipc/wiki/blob/master/en/fpv-ground-orange_pi5.md Enables the wifibroadcast service to start automatically on boot. ```bash sudo systemctl enable wifibroadcast ``` -------------------------------- ### FFmpeg Examples Source: https://github.com/openipc/wiki/blob/master/en/dev-ffmpeg-usage.md A collection of FFmpeg commands demonstrating file copying, grabbing streams from RTSP and SRT, streaming to various protocols, and capturing desktop content. ```bash # Copy from file to file ./ffmpeg -re -i z_input.mp4 -c copy z_output.mp4 # Grab from RTSP to file ./ffmpeg -re -i 'rtsp://172.19.32.179:554/stream=0' -c copy z_output.mp4 # Grab from SRT to file ./ffmpeg -re -i 'srt://172.19.32.189:12345?pkt_size=1316' -c copy z_output.mp4 # Grab from RTSP to MP4 ./ffmpeg -re -i 'rtsp://172.19.32.179:554/stream=0' -c copy -listen 1 -seekable 1 -multiple_requests 1 -f mp4 http://localhost:8090 # Stream with capture desktop ./ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f mpegts 'srt://172.17.32.18:12345' # Stream from file to SRT ./ffmpeg -re -i input.mp4 -c copy -f mpegts 'srt://172.17.32.18:12345' # Stream from file to RTSP with loop ./ffmpeg -re -stream_loop -1 -i input.mp4 -f rtsp -rtsp_transport tcp 'rtsp://localhost:554/stream=0' # Stream from file to SRT with re-encode ./ffmpeg -re -i input.mp4 -c:v libx264 -b:v 4000k -maxrate 4000k -bufsize 8000k -g 50 -f mpegts 'srt://172.17.32.18:12345' # Stream to SRT and copy codec from ipcam with Majestic ./ffmpeg -re -i 'rtsp://172.19.32.179:554/stream=0' -c copy -f mpegts 'srt://172.17.32.18:12345' # Stream low latency from ipcam with Majestic ./ffmpeg -re -fflags nobuffer -i 'rtsp://172.19.32.179:554/stream=0' -c copy -f mpegts 'srt://172.17.32.18:12345?mode=caller&transtype=live&latency=100' # Receiver, untested ffplay 'srt://172.17.32.18:12345' ``` -------------------------------- ### Altobeam example configuration for atbm603x wifi usb Source: https://github.com/openipc/wiki/blob/master/en/adding-wifi-driver.md Example configuration to build the atbm603x wifi driver with USB interface. ```kconfig BR2_PACKAGE_ATBM60XX=y BR2_PACKAGE_ATBM60XX_MODEL_603X=y BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y ``` -------------------------------- ### Camera RAM Check Example Source: https://github.com/openipc/wiki/blob/master/en/fpv.md Example output of the 'free -m' command on the camera, showing system RAM usage. It also provides guidance on minimum required RAM and how to adjust it if necessary. ```bash root@openipc-gk7205v200:~# free -m total used free shared buff/cache available Mem: 34 21 2 0 9 9 Swap: 0 0 0 ``` -------------------------------- ### Install and set up TFTP server on Linux Source: https://github.com/openipc/wiki/blob/master/en/installation.md Commands to install and configure the tftpd-hpa TFTP server on a Linux system. ```bash sudo apt install tftpd-hpa sudo sed -i '/^TFTP_OPTIONS/s/"$/ --create"/' /etc/default/tftpd-hpa sudo systemctl restart tftpd-hpa.service ``` -------------------------------- ### Install openipc-bisect tool (with curl) Source: https://github.com/openipc/wiki/blob/master/en/nightly-builds-and-bisect.md Instructions to install the openipc-bisect tool directly using curl. ```sh # Or with curl (no clone needed): sudo curl -L -o /usr/local/bin/openipc-bisect \ https://raw.githubusercontent.com/OpenIPC/firmware/master/contrib/openipc-bisect sudo chmod +x /usr/local/bin/openipc-bisect ``` -------------------------------- ### Group Ring Example Source: https://github.com/openipc/wiki/blob/master/en/howto-doorbell-from-camera.md This Asterisk dialplan example shows how to ring multiple extensions in parallel for a group ring scenario. ```asterisk exten => doorbell,1,Dial(PJSIP/1001&PJSIP/1002&PJSIP/1003,30) ``` -------------------------------- ### Initial device firmware updates Source: https://github.com/openipc/wiki/blob/master/en/install-hisi.md Commands to set boot arguments, boot command, and update kernel and rootfs for initial firmware installation. ```bash setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x50000 0x200000; bootm 0x42000000' setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x42000000 0x50000 ${filesize}' setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x42000000 0x250000 ${filesize}' saveenv setenv soc hi351xxxxxxx # Set your SoC. hi3516ev200, hi3516ev300, or hi3518ev300. setenv osmem 32M setenv totalmem 64M # 64M for hi3516ev200, hi3518ev300, 128M for hi3516ev300. setenv ipaddr 192.168.1.10 setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` -------------------------------- ### Majestic Example Configuration Source: https://github.com/openipc/wiki/blob/master/en/majestic-config.md A comprehensive example configuration file for the Majestic system, covering a wide range of parameters for video, audio, network, and system settings. ```yaml system: webPort: 80 httpsPort: 443 #httpsCertificate: /etc/ssl/certs/www.example.com.crt #httpsCertificateKey: /etc/ssl/private/www.example.com.key logLevel: debug buffer: 1024 plugins: false isp: #sensorConfig: /etc/sensors/imx222_1080p_line.ini antiFlicker: disabled #blkCnt: 4 #drc: 300 #rawMode: slow #iqProfile: #lowDelay: false #awbMode: auto #memMode: reduction #slowShutter: disabled #dis: false image: mirror: false flip: false rotate: 0 contrast: 50 hue: 50 saturation: 50 luminance: 50 video0: enabled: true codec: h264 #size: 1920x1080 fps: 20 bitrate: 4096 rcMode: vbr gopSize: 1.0 #gopMode: normal #crop: 0x0x960x540 #sliceUnits: 4 #minQp: 12 #maxQp: 42 video1: enabled: false codec: h264 size: 704x576 fps: 15 jpeg: enabled: true qfactor: 50 fps: 5 #size: 160x120 rtsp: false osd: enabled: false font: /usr/share/fonts/truetype/UbuntuMono-Regular.ttf template: "%d.%m.%Y %H:%M:%S" posX: 16 posY: 16 #privacyMasks: 0x0x234x640,2124x0x468x1300 audio: enabled: false volume: 30 srate: 8000 codec: opus outputEnabled: false outputVolume: 30 #speakerPin: 32 #speakerPinInvert: false rtsp: enabled: true port: 554 nightMode: lightMonitor: true #irCutPin1: 1 #irCutPin2: 2 irCutSingleInvert: false #backlightPin: 65 colorToGray: true #overrideDrc: 300 #minThreshold: 2000 #maxThreshold: 5000 #lightSensorPin: 62 lightSensorPinInvert: false #dncDelay: 30 motionDetect: enabled: false visualize: false debug: false #roi: 1854x1304x216x606,1586x1540x482x622 #skipIn: 960x540x1920x1080 #sensitivity: 3 records: enabled: false path: /mnt/mmcblk0p1/%F/%H.mp4 maxUsage: 95 #splitRecord: 10 outgoing: enabled: false #server: udp://192.168.1.10:5600 #naluSize: 1200 #- udp://IP:port # Multiple data sending is configured only in the /etc/majestic.yaml file and is not available for control from the WebUI #- unix:/tmp/rtpstream.sock #- rtmps://dc4-1.rtmp.t.me/s/mykey watchdog: enabled: true timeout: 300 hls: enabled: false onvif: enabled: false ipeye: enabled: false youtube: # This function only works with the external daemon plugin for Majestic enabled: false #key: xxxx-xxxx-xxxx-xxxx-xxxx netip: enabled: false #user: admin #password: 6V0Y4HLF #port: 34567 #snapshots: true #ignoreSetTime: false cloud: enabled: false #webrtc: # https://www.w3.org/TR/webrtc/#rtciceserver-dictionary with optional # '?transport=udp' or '?transport=tcp' #iceServers: stun:stun.kinesisvideo.eu-north-1.amazonaws.com:443 ``` -------------------------------- ### Build an image and firmware components Source: https://github.com/openipc/wiki/blob/master/en/faq.md Example script for building a full firmware image. It requires U-Boot, Linux kernel, and rootfs components, and uses dd commands to assemble them into a single output file. ```bash #!/bin/sh uboot=u-boot-ssc338q-nor.bin # Get from https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-ssc338q-nor.bin kernel=uImage.ssc338q # Get from https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_fpv_openipc-urllc-aio-nor.tgz rootfs=rootfs.squashfs.ssc338q # Get from https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_fpv_openipc-urllc-aio-nor.tgz output=fullflash-openipc-ssc338q-openipc-fpv-nor.bin dd if=/dev/zero bs=1K count=5000 status=none | tr '\000' '\377' > ${output} dd if=${uboot} of=${output} bs=1K seek=0 conv=notrunc status=none dd if=${kernel} of=${output} bs=1K seek=320 conv=notrunc status=none dd if=${rootfs} of=${output} bs=1K seek=2368 conv=notrunc status=none ``` -------------------------------- ### Start building Source: https://github.com/openipc/wiki/blob/master/en/old-manual.md Command to build the Docker image for OpenIPC. ```bash #!/bin/bash docker build -t openipc -f Dockerfile.openipc . ``` -------------------------------- ### Download and run ipctool via TFTP Source: https://github.com/openipc/wiki/blob/master/en/faq.md Example of downloading the ipctool utility to a camera using TFTP and then executing it. ```bash tftp -g -r ipctool -l /tmp/ipctool 192.168.1.1 chmod +x /tmp/ipctool /tmp/ipctool ``` -------------------------------- ### Telnet to the camera Source: https://github.com/openipc/wiki/blob/master/en/device-chacon-ipcam-ri01.md Example of connecting to the camera via telnet after starting the telnetd server. ```bash $ telnet Trying ... Connected to . Escape character is '^]'. (none) login: anyone BusyBox v1.26.2 (2019-04-16 05:35:27 PDT) built-in shell (ash) / # ``` -------------------------------- ### Install Linux Kernel Headers and Image Source: https://github.com/openipc/wiki/blob/master/en/fpv-ground-orange_pi5.md Installs the legacy Linux kernel headers and image specifically for the Rockchip RK3588. ```bash sudo dpkg -i linux-headers-legacy-rockchip-rk3588_1.1.2_arm64.deb sudo dpkg -i linux-image-legacy-rockchip-rk3588_1.1.2_arm64.deb ``` -------------------------------- ### Example of vtun compilation for server Source: https://github.com/openipc/wiki/blob/master/en/package-vtun.md Installs components and dependencies for vtun compilation on Debian/Ubuntu systems. ```bash apt install -y bison bridge-utils build-essential curl flex bridge-utils ``` -------------------------------- ### Restart streamer Source: https://github.com/openipc/wiki/blob/master/en/firmware-sensor-install-sc223a.md Restarts the streamer process by killing the existing 'majestic' process and then starting it again. ```shell killall majestic majestic ``` -------------------------------- ### U-Boot Commands for Flashing Source: https://github.com/openipc/wiki/blob/master/en/burn-example.md A sequence of U-Boot commands to be entered line by line in the PuTTY console to set IP addresses, load the firmware into memory, erase the flash, write the firmware, and reset the device. Includes instructions to quickly press Ctrl+c during boot and run 'setnor8m'. ```shell # Enter commands line by line! Do not copy and paste multiple lines at once! setenv ipaddr 192.168.0.10; setenv serverip 192.168.0.40 mw.b 0x42000000 0xff 0x800000 tftpboot 0x42000000 openipc-FULL-FIRMWARE-IMAGE.bin sf probe 0; sf lock 0; sf erase 0x0 0x800000; sf write 0x42000000 0x0 0x800000 reset Ctrl + c quickly during booting # Enter commands line by line! Do not copy and paste multiple lines at once!run setnor8m ``` -------------------------------- ### Manual Firmware Installation Command Source: https://github.com/openipc/wiki/blob/master/en/source-code.md Command to install firmware files (kernel and rootfs) to the camera's /tmp directory and initiate the upgrade process. The -n flag can be used to clean the overlay and reset settings. ```bash sysupgrade --kernel=/tmp/uImage.... --rootfs=/tmp/rootfs.... -z ``` -------------------------------- ### ssh-copy-id Output Source: https://github.com/openipc/wiki/blob/master/en/sshusingkeys.md Example output from the ssh-copy-id command, showing the key installation process. ```bash ssh-copy-id -i /home//.ssh/id_ed25519 root@ /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home//.ssh/id_ed25519.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@'" and check to make sure that only the key(s) you wanted were added. ``` -------------------------------- ### Get command output via REST API Source: https://github.com/openipc/wiki/blob/master/en/device-chacon-ipcam-ri01.md Example of retrieving command output from the camera in JSON format using curl. ```bash curl -u PpStRoNg:#%\&wL1@*tU123zv -i http://:80/devices/runcmd HTTP/1.1 200 OK Content-Type: application/json Content-Length: 129 { "value": "usr\nsys\netc\nmnt\nlib\nproc\nboot\nopt\nlinuxrc\nbin\ndev\ninit\nhome\nsbin\nnfsroot\nroot\ntmp\nvar\ndevinfo\n" } ``` -------------------------------- ### Telnet login prompt and welcome message Source: https://github.com/openipc/wiki/blob/master/en/notes-for-resorting.md Example of a successful telnet login to a HiLinux system. ```text LocalHost login: root Password: xmhdipc Welcome to HiLinux. ``` -------------------------------- ### Update System Packages Source: https://github.com/openipc/wiki/blob/master/en/fpv-ground-orange_pi5.md Updates the package list and upgrades installed packages on the system. ```bash sudo apt update sudo apt upgrade ``` -------------------------------- ### Method 1: Compile the whole firmware Source: https://github.com/openipc/wiki/blob/master/en/homekit-integration.md Steps to enable and compile the go2rtc package as part of the whole firmware. ```bash BR2_PACKAGE_GO2RTC=y make distclean make all BOARD=board_config_name ``` -------------------------------- ### Erase SD card blocks for 16MB flash Source: https://github.com/openipc/wiki/blob/master/en/help-uboot.md Example command to erase blocks on the SD card for a 16MB flash chip. 'mmc dev 0' selects the device, and 'mmc erase 0x10 0x8000' erases 32768 blocks starting from offset 0x10. ```shell mmc dev 0 mmc erase 0x10 0x8000 ``` -------------------------------- ### Erase SD card blocks for 8MB flash Source: https://github.com/openipc/wiki/blob/master/en/help-uboot.md Example command to erase blocks on the SD card for an 8MB flash chip. 'mmc dev 0' selects the device, and 'mmc erase 0x10 0x4000' erases 16384 blocks starting from offset 0x10. ```shell mmc dev 0 mmc erase 0x10 0x4000 ``` -------------------------------- ### Useful Commands for WFB-NG Operation Source: https://github.com/openipc/wiki/blob/master/en/fpv-ground-orange_pi5.md A collection of useful commands for checking WFB-NG operation, network adapter information, Wi-Fi settings, and process monitoring. ```bash # Checking the operation of the wfb-ng /usr/bin/wfb_rx -p 0 -c 127.0.0.1 -u 5600 -K /etc/gs.key -i 7669206 $WLAN # Find out the name of the wifi adapter nmcli ifconfig iw # Displays the possible parameters of the wifi adapter iw list # Displays the current settings of the Wifi adapter iw dev # Outputs the current frequency and power parameters sudo iw reg get # Set a new region sudo iw reg set RU https://hackware.ru/?p=17978 - Solves the problem of channel selection # Viewing running wfb-ng processes ps -aux | grep wfb # Set the power sudo ip link set $WLAN down sudo iw dev $WLAN set txpower fixed 30mBm sudo ip link set $WLAN up # View available plugins for decoding gst-inspect-1.0 | grep 265 # Shows a list of downloaded drivers/modules lsmod # Displays a list of connected USB devices and related drivers usb-devices ``` -------------------------------- ### Monitor call flow with logread Source: https://github.com/openipc/wiki/blob/master/en/howto-doorbell-from-camera.md This example combines log reading with the SIGUSR2 trick to observe the SIP call flow in real-time. ```shell ssh root@my-camera 'logread -f' & ssh root@my-camera 'kill -USR2 $(pidof majestic)' sleep 30 ssh root@my-camera 'kill -USR2 $(pidof majestic)' ``` -------------------------------- ### Install correct sensor Source: https://github.com/openipc/wiki/blob/master/en/old-manual.md Installs the correct sensor, control type, and data bus. ```txt fw_setenv sensor imx291_i2c_lvds ``` -------------------------------- ### NFS Boot Arguments and Command Source: https://github.com/openipc/wiki/blob/master/en/dev-nfs-boot.md Example boot arguments and commands for booting a HI3516EV200 device with NFS and TFTP. ```bash bootargsnfs=mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/nfs rootfstype=nfs ip=dhcp nfsroot=192.168.1.254:/media/nfs/hi3516ev200,v3,nolock rw ip=192.168.1.55:192.168.1.254:192.168.1.254:255.255.255.0::eth0 nfsboot=tftp 0x42000000 uImage;setenv setargs setenv bootargs ${bootargsnfs};run setargs;bootm 0x42000000 run nfsboot ``` -------------------------------- ### Start telnetd server Source: https://github.com/openipc/wiki/blob/master/en/device-chacon-ipcam-ri01.md Commands to add a user and start the telnetd server on the camera. ```bash curl -u PpStRoNg:#%\&wL1@*tU123zv -i http://:80/devices/runcmd --request POST --data '{"cmd":"echo 'anyone::0:0:root:/:/bin/sh' >> /etc/passwd"}' ``` ```bash curl -u PpStRoNg:#%\&wL1@*tU123zv -i http://:80/devices/runcmd --request POST --data '{"cmd":"/mnt/mmc01/telnetd &"}' ``` -------------------------------- ### Run server module on OpenIPC boards Source: https://github.com/openipc/wiki/blob/master/en/image-quality-tuning.md Command to run the pqtools server module on OpenIPC boards. ```console $ pqtools ..... dev mounted libs mounted pqtools:begin to run the s32Result is 1 g_bUseSpecAWB is 0 port is : 4321 (1486)bind ok! pqtools:server(port:4321)begin to listen pqtools:Waiting for connection from client! ``` -------------------------------- ### Install original MAC address Source: https://github.com/openipc/wiki/blob/master/en/old-manual.md Installs the original MAC address for both U-boot ENV and Linux UCI. ```txt fw_setenv ethaddr 00:01:02:03:04:05 ``` ```txt uci set network.lan.macaddr=00:01:02:03:04:05 ``` ```txt uci commit ``` -------------------------------- ### Set network parameters for TFTP Source: https://github.com/openipc/wiki/blob/master/en/help-uboot.md Configures network settings on the camera for TFTP file transfer. ```bash setenv ipaddr 192.168.1.10 setenv netmask 255.255.255.0 setenv gatewayip 192.168.1.1 setenv serverip 192.168.1.254 ``` -------------------------------- ### Install Wifi card driver Source: https://github.com/openipc/wiki/blob/master/en/fpv-gs-ubuntu.md Clones the rtl8812au driver and installs it using dkms. ```bash git clone -b v5.2.20 https://github.com/svpcom/rtl8812au.git cd rtl8812au/ sudo ./dkms-install.sh ``` -------------------------------- ### Install build dependencies Source: https://github.com/openipc/wiki/blob/master/en/fpv-how-to-build-openipc-with-8812eu-driver.md Installs essential packages required for building the OpenIPC firmware. ```bash sudo apt-get install -y automake autotools-dev bc build-essential curl fzf git libtool rsync unzip ``` -------------------------------- ### Install Build Dependencies Source: https://github.com/openipc/wiki/blob/master/en/adding-usb-driver.md Installs the necessary packages required for building the firmware. ```bash sudo make deps ``` -------------------------------- ### WFB-ng Installation Source: https://github.com/openipc/wiki/blob/master/en/fpv-orange-pi-5-groundstation.md Commands to clone and install the WFB-ng groundstation software, enabling the service and configuring it. ```bash git clone -b stable https://github.com/svpcom/wfb-ng.git cd wfb-ng sudo ./scripts/install_gs.sh $WLAN sudo systemctl enable wifibroadcast sudo nano /etc/wifibroadcast.cfg ``` -------------------------------- ### U-Boot Commands for FPV Firmware Installation Source: https://github.com/openipc/wiki/blob/master/en/fpv.md Commands to be executed in the U-Boot console to flash the FPV firmware onto a new 16MB flash chip. ```bash setenv ipaddr 192.168.1.33; setenv serverip 192.168.1.17; saveenv run setnor16m # run uknor16m; run urnor16m ``` -------------------------------- ### Hi3516Cv100 flashing example Source: https://github.com/openipc/wiki/blob/master/en/old-manual.md U-boot commands for flashing firmware onto a Hi3516Cv100 board. ```txt setenv ipaddr 192.168.1.10 setenv serverip 192.168.1.254 sf probe 0; sf lock 0 mw.b 0x82000000 ff 1000000 tftp 0x82000000 openwrt-hi35xx-16cv100-u-boot.bin sf erase 0x0 0x50000 sf write 0x82000000 0x0 ${filesize} mw.b 0x82000000 ff 1000000 tftp 0x82000000 openwrt-hi35xx-16cv100-default-uImage sf erase 0x50000 0x200000 sf write 0x82000000 0x50000 ${filesize} mw.b 0x82000000 ff 1000000 tftp 0x82000000 openwrt-hi35xx-16cv100-default-root.squashfs sf erase 0x250000 0x500000 sf write 0x82000000 0x250000 ${filesize} ```