Is anyone working on getting the Visionfive 2 supported in OpenWrt?


For those who are interested you can follow one of the OpenWrt developers in this thread and offer to test when its ready


Hi @andrew may I ask you what use case you have planned for VisionFive with OpenWrt?

I do not have a use case yet but want to test how well it performs



I’ve made an Openwrt image to try for the VisionFive2
Unfortunately I disabled the onboard lan driver so you have to test with a USB network adapter, the good news is it seems quite stable, wireless appears to work for mt7921u so hopefully mt76x2u as well

You have to browse to first and set the root password before you can SSH in. Though the image is in ext4 format so you should just be able to mount the 4th partition (-t ext4) and make changes if you like. If you have a serial connection you can also access it that way and if something has gone wrong with the default way to access (you might have to type in ‘boot’ to get to to boot) it you can use ip commands and flush the firewall ruleset (nft flush ruleset) to get started


You have unfortunately disabled the network driver for a router OS, honestly?


it was more trouble than it was worth to leave it enabled for now
one of the biggest openwrt contributors mentions it as an issue:

and I quote:

For the VF2, there is a preliminary target in my staging tree, but consider it only as a preview, as there are issues with the NIC bringup and requires cleanup.

I’m using this image right now so am happy enough, the USB on this SOC is really solid as far as stability goes***, I only provided the download incase anyone else feels the same but didn’t want to go through all the various annoyances in actually getting a built image running off latest 5.15.x source

I’ll take another swing at it later this week though, but i’m just an idiot that can kinda patch things together.

*** I’m not sure if it has something to do with this special patch no other soc has: usb:xhci:To improve performance,usb using lowmem for bulk xfer. · starfive-tech/linux@ca21eac · GitHub


Ok, I will admit it, your comment did make me smile. But in all fairness it is still very early days.

If MotorComm provided full documentation (without NDA’s) for their GMAC PHY (YT8521C - 10/100 Mbit/sec ; YT8531C - 10/100/1000 Mbit/sec), and if Synopsys DesignWare provided full documentation (without NDA’s) for their dwmac-5.20 IP used in the JH7110 (or at least the registers) it would probably be working already.


I immediately liked it because I appreciate the work, but I couldn’t resist the joke. I just like to make others laugh.

Ok, the next joke is on me. My profile picture is not digitally manipulated, I can make such faces, only I borrowed the funny glasses for the selfie from a colleague.


yeah it’s a fair point for sure haha
I guess it’s early days but it’s really not that far off as far as this basic use case goes


looks like I spoke too soon on the mediatek wireless working, I wonder if reverting that patch I mentioned above will do anything

the current image crashes with mt7921au and never gets running with a mt7612u

I have updated my build. Still has the onboard ethernet disabled but it does work great with rtl8153 adapter

Also after patching in this patch into the mt76 driver it seems like an mt7921au adapter can work in AP mode

Squashfs image:

Ext4 Image:


i’ve removed it for now, I realised I didn’t permit root login over ssh
i’ll revisit this later

Hi Wilson,

One of the RVspace Chinese community developer has created an OpenWRT image for trial. Just FYI, in case you are interested to have a try. You can use google translator to view the following post.

Just in case you can not use the Wechat share drive above, you can use the following Google Drive link instead: VisionFive 2 Test Images - Google 云端硬盘



Can the source be shared please? I’d be interested in the PCIe bringup and which patches are included in the target. My build [1] tries to bring up the pcie controller before the sysgpio pinctrl is initialized, so it fails - while if the pcie controller is built as a module, and the module is loaded in manually (after the pinctrl init), it seems to work.


[1] Git - openwrt/staging/wigyori.git/shortlog

Right - PCIe works fine now, along with USB, and cpufreq support. GPU/DRM drivers are not included, as such peripherals have limited use in OpenWrt, but otherwise the target in the previous post should be good to check out.

It also includes basic support for the VF1 board - known regression is the lack of USB for now, but the Ampak module and ethernet does work.



got kernel panic using Google drive image. last part of minicom log posted below:
2.825266] Code: 678d 97ae ba03 5b87 8993 0105 854e 84ae e0ef cc3f (4783) 008a
[ 2.832652] —[ end trace 0000000000000000 ]—
[ 2.837264] Kernel panic - not syncing: Fatal exception in interrupt
[ 2.843608] SMP: stopping secondary CPUs
[ 2.847537] —[ end Kernel panic - not syncing: Fatal exception in interrupt ]—


PR is sent for the target supporting both JH7100 and JH7110, please feel free to test.



hi @wigyori

I have built and installed the openWRT OS on Starfive Vision 2 board using these steps (link). I am able to see the logs and log in from the serial console. However, I am unable to access the network on the board. The Ethernet port’s yellow light is blinking. Is there any step I might be missing from the above link that I have followed? Please guide me on accessing the network on the Starfive Vision 2 board.

been a while
recently saw some new commits and thought i’d try building for this device again

here is link to the binaries

latest glibc, kernel 6.1.82, compiled all with 03 , even the kernel, ethernet speed for sending appears to be boosted alot if packet steering is turned on in interfaces->global

I took out the spi node because it was spamming the kernel log with errors on my device, plus I figure there’s no reason to be accessing it anyway

I haven’t enabled heaps of wireless usb devices for this build, but can confirm the mt7921au is working for me so far

In order to login via ssh you will have to set the root password first in the web config (
It would appear that the outer port is eth0 (lan) and the inner port is eth1 (wan)

wireguard performance appears to be pretty good, no core goes above 25% in htop up to 100mbit/s or so approximatelyish

this build has a lot of bells and whistles type stuff, you can always disable stuff you don’t need like HTTPS DNS Proxy or samba or watchcat

this build might not provide a way to adjust fan speed, ill see if I can fix that tomorrow

1 Like