Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Board Bring-up EASY EAI Nano RV1126

Featured Replies

 🏆 Become a sponsor, help to add other boards in armbian standart, you don't need to be a programmer to help the community,
just need a copy of the ARM BOARD and a x86 computer to compile new versions.

If you like what you see here and want to help: Donate Armbian the like button only costs a few dollars.

 

 

 

Here, I will document the efforts to get the Easy EAI RV1126 board into Armbian.
Uboot: Link
boot: Link

MiniLoaderAll.bin: Link
Docs available on: Link

 

Build Command:

./compile.sh BOARD=easy-eai-nano BRANCH=vendor BUILD_DESKTOP=no BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=resolute

 

./compile.sh BOARD=easy-eai-nano BRANCH=vendor BUILD_DESKTOP=no BUILD_MINIMAL=no KERNEL_CONFIGURE=no RELEASE=resolute INSTALL_HEADERS=yes

 

image.thumb.png.06c6ec5c16cd2d4b46da4c601f6e8fd9.png

 

 

 

image.thumb.png.a0c2e0fe99d3d054101d487092326300.png

 

image.png

  • Author

Enable wifi PR: https://github.com/armbian/build/pull/10177

Board logs: https://paste.armbian.com/nebubeyeru
Boot logs: https://paste.armbian.eu/eduserusev

 

After boot, check

 

systemctl status easy-eai-nano-bcmdhd.service --no-pager
journalctl -u easy-eai-nano-bcmdhd.service -b --no-pager
ls -l /lib/firmware/fw_bcm43455c0_ag.bin /lib/firmware/nvram_ap6255.txt
dmesg | grep -Ei 'bcmdhd|dhd|4345|ap6255|firmware|nvram|wlan|sdio'
iw dev
rfkill list

 

tr -d '\0' </proc/device-tree/wireless-wlan/wifi_chip_type; echo
dmesg | grep -Ei 'rfkill_wlan|bcmdhd|dhd|4345|ap6255|firmware|nvram|wlan'
lsmod | grep -E 'bcmdhd|dhd_static|rfkill'
iw dev
rfkill list


 

modinfo bcmdhd_sdio
cat /etc/modprobe.d/bcmdhd-easy-eai-nano.conf
dmesg | grep -Ei 'bcmdhd|dhd|43430|43438|ap6212|firmware|nvram|wlan'
iw dev
rfkill list

 

 

 

  • Author

Unnoficial Image: Download Link

 

enabled CMA, increased CMA to 32mb and enabled rknn
Board logs: https://paste.armbian.com/hoqejiqeno
Build logs: https://paste.armbian.eu/cekehuhule

 

Installing ffmpeg with encoders and decoders, armhf - armv7:

ffmpeg-rockchip-armhf.zip

 

On rv1126 armbian device:

cd /media/usb/esp32-rv1126-ffmpeg-rockchip
./install-on-target.sh

 

Verify:

/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -encoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -decoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -filters  | grep -Ei 'rkrga|rga'

 

 

Please don't trust pre-compiled files. compile yourself:

Use this only if you really want hardware H.264 encode for the go2rtc bridge. A normal upstream FFmpeg build with --enable-rkmpp may expose Rockchip decoders but not the encoder set needed here. For encoder support, use an encoder-capable Rockchip FFmpeg fork such as nyanmisaka/ffmpeg-rockchip, which documents h264_rkmpp, hevc_rkmpp, and mjpeg_rkmpp under encoders.

Build FFmpeg With RKMpp Encoders:

sudo apt update
sudo apt install -y \
  git build-essential pkg-config cmake meson ninja-build \
  yasm nasm libdrm-dev libudev-dev

 

 

The MPP and RGA sources below are hosted on Gitee. If git clone prompts with Username for 'https://gitee.com':, sign in with a Gitee account. That prompt is expected for these URLs and is not an FFmpeg/RKMpp build error.

Build and install Rockchip MPP runtime and headers:

 

mkdir -p ~/src
cd ~/src

if [ -d rkmpp/.git ]; then
  git -C rkmpp pull --ff-only
elif [ -e rkmpp ]; then
  echo "rkmpp exists but is not a git checkout; move it aside or choose a new directory" >&2
  exit 1
else
  git clone -b jellyfin-mpp --depth=1 https://gitee.com/nyanmisaka/mpp.git rkmpp
fi

cd rkmpp
cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/usr/local \
  -DBUILD_SHARED_LIBS=ON \
  -DBUILD_TEST=OFF
cmake --build build -j"$(nproc)"
sudo cmake --install build
sudo ldconfig

 

Build and install RGA. The FFmpeg fork can use RGA for hardware color conversion/scaling; this is useful because the ESP32 camera enters as raw YUYV and encoders usually want a YUV420/NV12-style input.

 

cd ~/src

if [ -d rkrga/.git ]; then
  git -C rkrga pull --ff-only
elif [ -e rkrga ]; then
  echo "rkrga exists but is not a git checkout; move it aside or choose a new directory" >&2
  exit 1
else
  git clone -b jellyfin-rga --depth=1 https://gitee.com/nyanmisaka/rga.git rkrga
fi

if [ -d rkrga_build ]; then
  meson setup --reconfigure rkrga_build
else
  meson setup rkrga rkrga_build \
    --prefix=/usr/local \
    --libdir=lib \
    --buildtype=release \
    --default-library=shared \
    -Dcpp_args=-fpermissive \
    -Dlibdrm=false \
    -Dlibrga_demo=false
fi

meson compile -C rkrga_build
sudo meson install -C rkrga_build
sudo ldconfig

 

Build FFmpeg to /opt/ffmpeg-rockchip so it does not overwrite the system FFmpeg:

 

set -e
cd ~/src

if [ -d ffmpeg-rockchip/.git ]; then
  git -C ffmpeg-rockchip pull --ff-only
elif [ -e ffmpeg-rockchip ]; then
  echo "ffmpeg-rockchip exists but is not a git checkout; move it aside or choose a new directory" >&2
  exit 1
else
  git clone --depth=1 https://github.com/nyanmisaka/ffmpeg-rockchip.git ffmpeg-rockchip
fi

cd ffmpeg-rockchip

make distclean >/dev/null 2>&1 || true

# RV1126 is ARMv7-A. Disabling ARMv5TE avoids assembler failures in
# libavcodec/arm/mlpdsp_armv5te.S on some armhf toolchains.
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib/arm-linux-gnueabihf/pkgconfig:/usr/lib/arm-linux-gnueabihf/pkgconfig \
./configure \
  --prefix=/opt/ffmpeg-rockchip \
  --enable-gpl \
  --enable-version3 \
  --enable-libdrm \
  --enable-rkmpp \
  --enable-rkrga \
  --disable-armv5te \
  --enable-shared \
  --disable-static \
  --disable-doc \
  --disable-debug

make -j"$(nproc)"
sudo make install

echo /opt/ffmpeg-rockchip/lib | sudo tee /etc/ld.so.conf.d/ffmpeg-rockchip.conf
sudo ldconfig

 

This only disables FFmpeg's CPU hand-written assembly. It does not disable the Rockchip MPP encoder or RGA support, and it is acceptable for this camera path because the input is only 320x240 @ 3 fps.

Verify that FFmpeg was built with actual encoders:

 

/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -encoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -decoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -filters  | grep -Ei 'rkrga|rga'

 

Expected Result:
 

/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -encoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -decoders | grep -Ei 'rkmpp|mpp'
/opt/ffmpeg-rockchip/bin/ffmpeg -hide_banner -filters  | grep -Ei 'rkrga|rga'
 V..... h264_rkmpp           Rockchip MPP (Media Process Platform) H264 encoder (codec h264)
 V..... hevc_rkmpp           Rockchip MPP (Media Process Platform) HEVC encoder (codec hevc)
 V..... mjpeg_rkmpp          Rockchip MPP (Media Process Platform) MJPEG encoder (codec mjpeg)
 V..... av1_rkmpp            Rockchip MPP (Media Process Platform) AV1 decoder (codec av1)
 V..... h263_rkmpp           Rockchip MPP (Media Process Platform) H263 decoder (codec h263)
 V..... h264_rkmpp           Rockchip MPP (Media Process Platform) H264 decoder (codec h264)
 V..... hevc_rkmpp           Rockchip MPP (Media Process Platform) HEVC decoder (codec hevc)
 V..... mjpeg_rkmpp          Rockchip MPP (Media Process Platform) MJPEG decoder (codec mjpeg)
 V..... mpeg1_rkmpp          Rockchip MPP (Media Process Platform) MPEG1VIDEO decoder (codec mpeg1video)
 V..... mpeg2_rkmpp          Rockchip MPP (Media Process Platform) MPEG2VIDEO decoder (codec mpeg2video)
 V..... mpeg4_rkmpp          Rockchip MPP (Media Process Platform) MPEG4 decoder (codec mpeg4)
 V..... vp8_rkmpp            Rockchip MPP (Media Process Platform) VP8 decoder (codec vp8)
 V..... vp9_rkmpp            Rockchip MPP (Media Process Platform) VP9 decoder (codec vp9)
 ... overlay_rkrga     VV->V      Rockchip RGA (2D Raster Graphic Acceleration) video compositor
 ... scale_rkrga       V->V       Rockchip RGA (2D Raster Graphic Acceleration) video resizer and format converter
 ... vpp_rkrga         V->V       Rockchip RGA (2D Raster Graphic Acceleration) video post-process (scale/crop/transpose)

 

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.