i226-V doesn't work at 2500mbps mode

Jake Anderson

New Member
Nov 6, 2023
6
1
3
I tried to PCI-passthrough the i226-V ethernet card to a Linux (openwrt with latest i915 drivers). Then connected its LAN to the WAN of Xiaomi 7000 (2.5G) router. But it only worked at 1000 mbps full-duplex mode.

I tried to force Xiaomi 7000 to negoticate with OpenWRT VM at 2500 mbps full-duplex mode, but it failed. I tried to set the mode on OpenWRT vm to be at 2500 mbps full-duplex manually, but it failed too.

I don't know whether this is an "i915" driver issue in PVE 7.4 or the PCIE-passthrough issue from PVE, or the "i915" driver issue inside of the OpenWRT VM... (FYI, the integrated graphics card can be pass-through via PCIE without problems.)

How can I set OpenWRT vm to work at 2500mbps when the i226-V ethernet card is on PCIE?

Host machine: 4*2.5G i226-V via PCIE, CPU intel n100
PVE version 7.4 (Linux kernel 6.2.6-1)
Router: xiaomi 7000 (4*2.5G)
 
i have i226v nics in my server (6 of them) and they all work fine with both 7.4 and 8.0.
i would say if anything its either a cable or compatibility issue with that router.
what you could try is connect 2 of your 4 nics on your host together to see what link rates you get in ethtool.
of course the connection wont be functional, but you will at least see if the speed is negotiated properly.
 
  • Like
Reactions: Jake Anderson
i have i226v nics in my server (6 of them) and they all work fine with both 7.4 and 8.0.
i would say if anything its either a cable or compatibility issue with that router.
what you could try is connect 2 of your 4 nics on your host together to see what link rates you get in ethtool.
of course the connection wont be functional, but you will at least see if the speed is negotiated properly.
I tried to force the xiaomi 7000 router to connect with openwrt vm inside of pve again at 2500 mbps full-duplex after upgrading its firmware to its latest, and it failed again. it works very well at 1000 mbps full-duplex.
 
the output should look something similar to this (your interface names may be different):
Code:
root@pve:~# ethtool enp2s0
Settings for enp2s0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
 
  • Like
Reactions: glazeprox
the output should look something similar to this (your interface names may be different):
Code:
root@pve:~# ethtool enp2s0
Settings for enp2s0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
This is my output

Code:
root@pve:~# ethtool enp2s0
Settings for enp2s0:
    Supported ports: [  ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
                            2500baseT/Full
    Supported pause frame use: Symmetric
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
                            2500baseT/Full
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    MDI-X: off (auto)
    Supports Wake-on: pumbg
    Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
    Link detected: yes

When I connected the OpenWRT vm LAN to WAN of Xiaomi 7000 (2.5G) router.

it supports upto 2500baseT/Full but the Speed is at 1000Mb/s
 
Last edited:
and this is while it is connected to another i226v nic or while connected to your xiaomi router?
yes the log above was when I connected the OpenWRT vm LAN to WAN of Xiaomi 7000 (2.5G) router.


And then I removed the Xiaomi 7000 router, connect my PC Realtek 8125B (2.5g) ethernet to a 2.5G switch, and the switch connected to the OpenWRT-VM's LAN directly. So the PC got an IP from the OpenWRT-VM.

Here's the log from my PC. The speed is still 1000mbps..

Code:
sudo ethtool enp6s0
Supported ports: [ TP     MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
                            2500baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
                            2500baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes

I don't think it's because of my 2.5G switch. What's wrong?

And later on, I manually set the speed by doing this on PC

Code:
sudo ethtool -s enp6s0 autoneg on speed 2500 duplex full

But PC can't get an IP from OpenWRT with this log.
Code:
sudo ethtool enp6s0
Settings for enp6s0:
    Supported ports: [ TP     MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
                            2500baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  2500baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: Unknown!
    Duplex: Unknown! (255)
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: unknown
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: no


To access Internet, I had to go back to 1000 mbps by doing this
Code:
sudo ethtool -s enp6s0 autoneg on speed 1000 duplex full

Then the internet came back but it ran at 1000 mbps...
 
Last edited:
your last output shows that whatever you connected it to only support 1Gbit:

Code:
Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Full

i assume that was the switch. so that switch only supports 1G.

please make sure to list what component you tried to connect to what component, because this is getting confusing.
so far you said you have i226v nics, realtec 8125B nic, that xiaomi router and apparently a 1 gbit switch (at least it advertises only 1Gbit).
 
  • Like
Reactions: glazeprox
your last output shows that whatever you connected it to only support 1Gbit:

Code:
Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Full

i assume that was the switch. so that switch only supports 1G.

please make sure to list what component you tried to connect to what component, because this is getting confusing.
so far you said you have i226v nics, realtec 8125B nic, that xiaomi router and apparently a 1 gbit switch (at least it advertises only 1Gbit).

Finally the OpenWRT VM which has i226-V nics can run at 2500mbps full-duplex with the PC (realtek 8125B). My 2.5G switch is okay.

Thanks for noticing the Link partner advertised link modes. The reason is that xiaomi 7000 router doesn't work well with i226-V nics. Though Xiaomi 7000 claimed to be a 4*2.5G router. But it works well with my 8125B nic in my PC.

I think this is not an issue of PVE. Hopefully we can get some opensource hardware support from Xiaomi in the future for the xiaomi 7000 router. The firmware right now is not cool.
 

Attachments

  • Screenshot from 2023-11-06 20-31-55.png
    Screenshot from 2023-11-06 20-31-55.png
    246.7 KB · Views: 27
  • Like
Reactions: glazeprox

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!