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