Cannot get IPv6 on VisionFive v1

Hello,
I have VisionFive v1 and I’m using official Ubuntu 22.04.1 LTS and also I was using @jershell and I cannot get IPv6 from my router (I think it use SLAAC)
anyway other devices and servers in my home got IPv6

Is it VisionFive hardware limitation?

I notice that I can get IPv6 when connecting using WIFI but when using Ethernet I didn’t get the address

Are WIFI and Ethernet on the same LAN?
could you provide your test steps?

yes, correct they in same LAN,

1- flash Ubuntu 22.04.1 LTS on sdcard
2- insert the sdcard to VisionFive v1
3- Connect Ethernet and boot VisionFive
4- upgraded repos and packages to latest
4- reboot
5- check if I got IPv6 by command ip -6 a ( didn’t get anything)

ubuntu@ubuntu:~$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6ecf:39ff:fe00:19b/64 scope link 
       valid_lft forever preferred_lft forever

6- connect using WIFI for same network using nmtui
7- check again using ip -6 a ( didn’t get anything) and found wlan0 got IPv6

ubuntu@ubuntu:~$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6ecf:39ff:fe00:19b/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2001:16a2:c342:7062:b7f0:a18a:79ff:74a4/64 scope global dynamic noprefixroute 
       valid_lft 2591999sec preferred_lft 604799sec
    inet6 fe80::fd2c:fc:3f5a:34e2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

I think necessary to install something for work by slaac. Ubuntu server could be miss a slaac client. Its need to check.

it work fine for wlan0 and WireGuard, there issue with Ethernet from hardware side, I think

also, I’m using Ubuntu 20.04 on my homelab and my desktop with Ethernet and I got IPv6 without issues

What version of Ubuntu that works fine? Its server edition too?

Yes, Desktop and Servers edition

We didn’t debug IPV6 on VisionFive, and since WLAN is supported, you can compare the configuration for eth0 and WLAN0.

I don’t think it configure issue, I think it hardware issue,
IPv6 is important because my connection from my ISP is IPv6 and there CGNAT for IPv4
so I need IPv6 for Ethernet, VisionFive v2 must support IPv6 on Ethernet

It works fine if the Ethernet interface is put to promiscuous mode. Otherwise the router advertisements are missed. This is probably a bug in the filters set by the NIC kernel driver.

Work-around:

sudo tcpdump -i eth0 &
sudo rdisc6 eth0
kill %1
1 Like

that work without any issue!
Is there a way to make it permanent solution?
I got the address but I cannot ping google

ping -I eth0 ipv6.google.com

You’d have to put the interface into promiscuous mode permanently, before it’s brought up during door. I’m not sure if there is an easy mean to achieve that.

Most likely this needs a fix to the kernel driver.

1 Like