Jump to content

Orange Pi RV2


Go to solution Solved by sven-ola,

Recommended Posts

Posted

Is it possible to change the boot order?
For my use case, I would like the boot priority to be: eMMC, NVMe, and microSD card.
Can this be configured?

 

Posted

Hi @JamesCL. You cannot change the boot order of the SoC (SD -> eMMC -> MTD / SPI flash), thus i.e. the SD card is always booted if inserted. You can probably change the root file system's UUID, i.e. change the /boot/extlinux/extlinux.conf to give the kernel the command to use eMMC as root file system. HTH // Sven-Ola

Posted

Hi @sven-ola, first of all a huge thank you for maintaining this image — the work you're doing for the Orange Pi RV2 is genuinely appreciated, especially given how early the SpacemiT/K1 ecosystem still is.

 

I'd like to kindly request enabling a few kernel config options in the next build. I'll split them by priority:

 

Request 1 — TechniSat SkyStar USB 2 HD (simple, guaranteed fix)

CONFIG_DVB_B2C2_FLEXCOP_USB=m

The FlexCop core (CONFIG_DVB_B2C2_FLEXCOP=m) and all its dependencies are already enabled in the current kernel. This is a one-line addition that will make this DVB-S2 USB receiver work out of the box with no further changes needed.

 

Request 2 — TBS DVB cards via out-of-tree media_build (best-effort)

CONFIG_DVB_USB=m
CONFIG_DVB_USB_V2=m
CONFIG_MEDIA_CONTROLLER_DVB=y

These are the required kernel-side foundations for the TBS linux_media out-of-tree driver tree to compile and load. All dependencies are already satisfied in the current config (DVB_CORE=y, MEDIA_USB_SUPPORT=y, MEDIA_CONTROLLER=y).

 

I say "best-effort" because the TBS media_build source has compatibility issues with kernel 6.18 APIs that require manual patching regardless of kernel config — so these options are necessary but not the whole story on my end. That part is on me to sort out, not on you.

 

Environment for reference:

  • Board: Orange Pi RV2 (orangepirv2)
  • Kernel: 6.18.33-current-spacemit
  • Armbian: 26.8.0-trunk.61 (BRANCH=current)

Thank you again for your time and effort — genuinely appreciated! 🙏

Posted (edited)

Hello @mBesar, while I can build images with additional kernel modules, the next "apt-get upgrade" may install a newer kernel that discards such additions. Why not build this on your own? There is already a working DKMS build system on the board for the bcmdhd wifi module. On the next kernel update, DKMS will recompile bcmdhd.ko for the new kernel automatically.

 

Sadly, when I tried this for b2c2-flexcop-usb, it was not too easy to do. Armbian does not provide kernel sources with "apt-source", and the mentioned module itself uses an additional "-i include-dir" during build. So as an example, try to do this on your board:


As root:

# Change two times "Types: deb deb-src"
nano /etc/apt/sources.list.d/debian.sources

# Check for avail linux image packages, this time 6.18.5-deb13-parisc
apt-get update
grep linux-image /var/lib/apt/lists/*Sources|grep 6\\.18|less -S

# We are not interested in this image, we just need some source code
cd /usr/src
apt-get source linux-image-6.18.5+deb13-parisc

# Add a new DKMS module (dkms already here b/c bcmdhd wifi driver)
mkdir /usr/src/b2c2-flexcop-usb-6.18
cd /usr/src/b2c2-flexcop-usb-6.18
cat > dkms.conf << "EOF"
PACKAGE_NAME="b2c2-flexcop-usb"
PACKAGE_VERSION="6.18"
BUILT_MODULE_NAME[0]="b2c2-flexcop-usb"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="yes"
MAKE="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build CONFIG_DVB_B2C2_FLEXCOP_USB=m"
EOF

# What subsys do we need? Says: drivers/media/usb/b2c2, then grab that dir
grep DVB_B2C2_FLEXCOP_USB $(find /usr/src/linux-6.18.5 -name Kconfig*)
cp -av /usr/src/linux-6.18.5/drivers/media/usb/b2c2/. .

# The module Makefile uses an additional include dir. We simply copy them here
cp -av /usr/src/linux-6.18.5/drivers/media/common/b2c2/*.h .

# Register, build, and install
dkms add -m b2c2-flexcop-usb -v 6.18
dkms build -m b2c2-flexcop-usb -v 6.18
dkms install -m b2c2-flexcop-usb -v 6.18

HTH // Sven-Ola

Edited by sven-ola
Posted

While I am here: I have a Mediatek Tri-Band Wifi card installed in my RV2 (label reads MT7922A22M). There's a matching driver in OpenWrt created by Felix and friends. This will take some time until pushed upstream. So, why not make it a DKMS module? That's how things started 🤪

 

# Grab bleeding edge Wifi from OpenWrt
cd /usr/src
git clone https://github.com/openwrt/mt76.git mt76-6.18
cd mt76-6.18

# Source code massage (needs OpenWrt kernel patch, missing include)
git revert 9a46d8d2
sed '/^#include <linux\/kernel.h>/i#include <linux/version.h>' mt76.h

# New DKMS config (with more than one module)
cat > dkms.conf << "EOF"
PACKAGE_NAME="mt76"
PACKAGE_VERSION="6.18"
BUILT_MODULE_NAME[0]="mt76"
DEST_MODULE_LOCATION[0]="/updates/dkms"
BUILT_MODULE_NAME[1]="mt76-connac-lib"
DEST_MODULE_LOCATION[1]="/updates/dkms"
BUILT_MODULE_NAME[2]="mt792x-lib"
DEST_MODULE_LOCATION[2]="/updates/dkms"
BUILT_MODULE_NAME[3]="mt7921e"
BUILT_MODULE_LOCATION[3]="mt7921"
DEST_MODULE_LOCATION[3]="/updates/dkms"
BUILT_MODULE_NAME[4]="mt7921-common"
BUILT_MODULE_LOCATION[4]="mt7921"
DEST_MODULE_LOCATION[4]="/updates/dkms"
AUTOINSTALL="yes"
MAKE="make -C ${kernel_source_dir}
  M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build
  CONFIG_WLAN_VENDOR_MEDIATEK=y
  CONFIG_MT76_CORE=m
  CONFIG_MT76_LEDS=y
  CONFIG_MT76_CONNAC_LIB=m
  CONFIG_MT792x_LIB=m
  CONFIG_MT7921_COMMON=m
  CONFIG_MT7921E=m
"
EOF

# Add, build, install, and add matching firmware
dkms add -m mt76 -v 6.18
dkms build -m mt76 -v 6.18
dkms install -m mt76 -v 6.18
cp -av firmware/ /lib/firmware/updates/mediatek

# Give it a try
reboot

 

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines