Hello,
I am trying to connect a RISC-V VisionFive 2 device with the LAVA web server. I do not have a PDU at the moment and I do not know which one will be appropriate for this device setup.
The LAVA master and worker are running on the same machine, so I have localhost set up. I added the following device dictionary for VisionFive 2.
{% extends 'jh7100-visionfive.jinja2' %}
{% set console_backend = 'serial' %} {% set serial_port = '/dev/ttyUSB0' %} {% set serial_baud_rate = 115200 %}
The dictionary template, which is extended for VisionFive 2, is from the VisionFive 1 device type. As I won't be needing initramfs and other uboot env variables, I am using visionfive 1's dictionary template just for getting the setup to work.
Following is the VisionFive 1 dictionary template.
{% extends 'base-uboot.jinja2' %}
{% set uboot_mkimage_arch = 'riscv' %} {% set console_device = console_device|default('ttyS0') %} {% set baud_rate = baud_rate|default(115200) %}
{% set booti_kernel_addr = '0x84000000' %} {% set booti_dtb_addr = '0x88000000' %} {% set booti_ramdisk_addr = '0x88300000' %}
{% set uboot_initrd_high = '0xffffffffffffffff' %} {% set uboot_fdt_high = '0xffffffffffffffff' %}
{% set bootloader_prompt = 'VisionFive#' %} {% set uboot_tftp_commands = [ "tftpboot {KERNEL_ADDR} {KERNEL}", "tftpboot {RAMDISK_ADDR} {RAMDISK}", "tftpboot {DTB_ADDR} {DTB}"] -%}
I was able to run a job on QEMU. But the VisionFive 2 is not detected by the LAVA web server. The physical connection is complete because I can use picocom on my computer to attach to the VisionFive 2 using the command sudo picocom -b 115200 /dev/ttyUSB0. I created several job definitions just for testing the setup but they all are just loading. The device health check is bad. Following is the simplest job that I am trying to run and see if it completes.
job_name: simple-uboot-test device_type: visionfive2 priority: medium visibility: public timeouts: job: minutes: 5 actions: - deploy: timeout: minutes: 1 to: u-boot - boot: method: bootloader bootloader: u-boot connection: serial commands: - printenv
But all the jobs are on infinite loading. This is my first time connecting a physical device with the LAVA web server, so I would appreciate it if someone could tell me what the issue is here.
Regards, Ali
Hi Ali,
On Mon, Oct 6, 2025 at 2:58 PM Ali Tariq alitariq4589@gmail.com wrote:
Hello,
I am trying to connect a RISC-V VisionFive 2 device with the LAVA web server. I do not have a PDU at the moment and I do not know which one will be appropriate for this device setup.
The LAVA master and worker are running on the same machine, so I have localhost set up. I added the following device dictionary for VisionFive 2.
{% extends 'jh7100-visionfive.jinja2' %}
{% set console_backend = 'serial' %} {% set serial_port = '/dev/ttyUSB0' %} {% set serial_baud_rate = 115200 %}
The dictionary template, which is extended for VisionFive 2, is from the VisionFive 1 device type. As I won't be needing initramfs and other uboot env variables, I am using visionfive 1's dictionary template just for getting the setup to work.
I think you're might be missing connection_command in the device dictionary. If you share the full device dict it should be easier to diagnose the problem. Example connection_command might look like this
{% set connection_commands = {'uart0': 'telnet ser2net 7001'} %}
In my setup I'm using ser2net to multiplex the board serial connection.
Best Regards, Milos
lava-users@lists.lavasoftware.org