Connect X 3 | PMG3000 - SFP schaltet sich ab

Moin Nibbs!
Ich grab hier mal einen etwas älteren Thread aus gegebenem Anlass aus. Hattest du das Problem noch lösen können?
Ich habe zur Zeit ein ähnliches Problem mit dem Zyxel PMG3000-D20B und meiner Connect X4. Ich habe die Karte an die OPNsense VM durchgereicht aber dort wird sie nicht gestartet und unter Interfaces nur "no carrier. Module memory invalid." angezeigt. Ich hatte überlegt, es per vtnet zu testen aber wenn es da auch Schwierigkeiten gibt, würde ich mir das auch gern sparen.


Nochmal zu deinem Fehler beim passthrough: Da ist ja noch ein weiteres Gerät in der Gruppe 2. Hast du es mal mit ACS override in der cmdline probiert: pcie_acs_override=downstream ?
├──────────┼────────┼──────────────┼────────────┼────────┼──────────────────────────────────────────────── ─────────────────────────────────────────┼──────┼──────────────────┼─────────────── │ 0x020000 │ 0x1007 │ 0000:01:00.0 │ 2 │ 0x15b3 │ MT27520 Family [ConnectX-3 Pro] │ │ 0x000c │ ConnectX-3 Pro ├──────────┼────────┼──────────────┼────────────┼────────┼────────────────────────────────────────────────
.
.
.
─────────────────────────────────────────┼──────┼──────────────────┼─────────────── │ 0x060400 │ 0x1901 │ 0000:00:01.0 │ 2 │ 0x8086 │ 6th-10th Gen Core Processor PCIe Controller (x16) │ │ 0x3135 │ ├──────────┼────────┼──────────────┼────────────┼────────┼───────────────────────────────────────────────
 
Wenn noch andere Geräte in der Gruppe sind, dann mal versuchen mit umstecken auf einen anderen Slot.
Bei manchen Boards kamm man auch iommu Gruppen im Bios umkonfigurieren. Aber keine Ahnung wie gut das in deinem fall geht.
Sonst halt ganz normal mit VMBridge und vNICs arbeiten. Bis ca. 40GBit hast du da kein Bottleneck zu erwarten.
 
Hallo pottproll,

dein Problem klingt sehr ähnlich zu dem, was "nibbs" ursprünglich beschrieben hat. Der entscheidende Hinweis steckt meiner Meinung nach in seinem Teilerfolg: Das Zyxel SFP-Modul scheint eine manuelle Konfiguration der Verbindungsgeschwindigkeit zu benötigen, da es Auto-Negotiation nicht unterstützt.

Da du die Karte direkt an die OPNsense-VM durchreichst, musst du die Einstellung auch direkt in der OPNsense-Shell vornehmen, nicht auf dem Proxmox-Host. Der ethtool-Befehl von "nibbs" funktioniert dort nicht, da OPNsense auf FreeBSD basiert.

Versuch doch mal folgendes in der OPNsense-Konsole (per SSH oder direkt):
Code:
ifconfig <interface_name> media 1000baseSX mediaopt full-duplex
Den <interface_name> musst du natürlich durch den Namen ersetzen, den OPNsense deiner Mellanox-Karte gegeben hat (z.B. mlx4en0 oder ähnlich).

Dein Hinweis mit dem pcie_acs_override ist übrigens ein super Tipp, um das ursprüngliche Passthrough-Problem wegen der IOMMU-Gruppen zu lösen. Das eigentliche SFP-Problem "no carrier" wirst du damit aber wahrscheinlich nicht beheben.

Viel Erfolg!
 
Danke für die schnellen Antworten! Der Hinweis auf die IOMMU Gruppen war nur auf das ursprüngliche Passthrough Problem des TE bezogen, damit habe ich keine Probleme.
ifconfig <interface_name> media 1000baseSX mediaopt full-duplex
Das werde ich morgen mal testen, danke.
Edit: Verursacht folgenden Fehler:

Code:
ifconfig mce0 media 1000baseSX mediaopt full-duplex
ifconfig: SIOCSIFMEDIA (media): Device not configured

Ich habe mittlerweile ein zweites SFP GPON getestet (NOKIA SFP GPON 3FE68653AA). Das wird in der OPNsense auch korrekt erkannt, aber kann auch keine Verbindung aufbauen (no carrier. negotiation failure). Ich habe schon (bisher erfolglos) nach Möglichkeiten gesucht, in BSD treiberseitig den Link auf 1G zu setzen. In der OPNSense Shell wird folgende Config angegeben.

Code:
mlxconfig -d pci0:1:0:0 query

Device #1:
----------

Device type:        ConnectX4LX       
Name:               MCX4121A-ACA_Ax   
Description:        ConnectX-4 Lx EN network interface card; 25GbE dual-port SFP28; PCIe3.0 x8; ROHS R6
Device:             pci0:1:0:0       

Configurations:                                          Next Boot
        FLEX_PARSER_PROFILE_ENABLE                  0                 
        FLEX_IPV4_OVER_VXLAN_PORT                   0                 
        SWITCH_COMPT_FEATURE_MASK                   0x0(0)           
        PF_NUM_OF_VF_VALID                          False(0)         
        NON_PREFETCHABLE_PF_BAR                     False(0)         
        VF_VPD_ENABLE                               False(0)         
        STRICT_VF_MSIX_NUM                          False(0)         
        VF_NODNIC_ENABLE                            False(0)         
        NUM_PF_MSIX_VALID                           True(1)           
        NUM_OF_VFS                                  8                 
        NUM_OF_PF                                   2                 
        SRIOV_EN                                    True(1)           
        PF_LOG_BAR_SIZE                             5                 
        VF_LOG_BAR_SIZE                             0                 
        NUM_PF_MSIX                                 63               
        NUM_VF_MSIX                                 11               
        PCIE_CREDIT_TOKEN_TIMEOUT                   0                 
        PCI_BUS0_RESTRICT_SPEED                     PCI_GEN_1(0)     
        PCI_BUS0_RESTRICT_ASPM                      False(0)         
        PCI_BUS0_RESTRICT_WIDTH                     PCI_X1(0)         
        PCI_BUS0_RESTRICT                           False(0)         
        PCI_DOWNSTREAM_PORT_OWNER                   Array[0..15]     
        LOG_DCR_HASH_TABLE_SIZE                     14               
        MAX_PACKET_LIFETIME                         0                 
        DCR_LIFO_SIZE                               16384             
        MEMIC_BAR_SIZE                              0                 
        MEMIC_SIZE_LIMIT                            _256KB(1)         
        ICM_CACHE_MODE                              DEVICE_DEFAULT(0) 
        TX_SCHEDULER_BURST                          0                 
        ACCURATE_TX_SCHEDULER                       False(0)         
        PARTIAL_RESET_EN                            False(0)         
        SW_RECOVERY_ON_ERRORS                       False(0)         
        RESET_WITH_HOST_ON_ERRORS                   False(0)         
        ROCE_NEXT_PROTOCOL                          254               
        LOG_MAX_QUEUE                               17               
        CQE_COMPRESSION                             BALANCED(0)       
        IP_OVER_VXLAN_EN                            False(0)         
        MKEY_BY_NAME                                False(0)         
        UCTX_EN                                     True(1)           
        PCI_ATOMIC_MODE                             PCI_ATOMIC_DISABLED_EXT_ATOMIC_ENABLED(0)
        TUNNEL_ECN_COPY_DISABLE                     False(0)         
        LRO_LOG_TIMEOUT0                            6                 
        LRO_LOG_TIMEOUT1                            7                 
        LRO_LOG_TIMEOUT2                            8                 
        LRO_LOG_TIMEOUT3                            13               
        INT_LOG_MAX_PAYLOAD_SIZE                    AUTOMATIC(0)     
        IB_PROTO_WIDTH_EN_MASK_P1                   0                 
        IB_PROTO_WIDTH_EN_MASK_P2                   0                 
        KEEP_ETH_LINK_UP_P1                         True(1)           
        KEEP_IB_LINK_UP_P1                          False(0)         
        KEEP_LINK_UP_ON_BOOT_P1                     False(0)         
        KEEP_LINK_UP_ON_STANDBY_P1                  False(0)         
        DO_NOT_CLEAR_PORT_STATS_P1                  False(0)         
        AUTO_POWER_SAVE_LINK_DOWN_P1                False(0)         
        KEEP_ETH_LINK_UP_P2                         True(1)           
        KEEP_IB_LINK_UP_P2                          False(0)         
        KEEP_LINK_UP_ON_BOOT_P2                     False(0)         
        KEEP_LINK_UP_ON_STANDBY_P2                  False(0)         
        DO_NOT_CLEAR_PORT_STATS_P2                  False(0)         
        AUTO_POWER_SAVE_LINK_DOWN_P2                False(0)         
        PHY_FEC_OVERRIDE_P1                         DEVICE_DEFAULT(0) 
        PHY_FEC_OVERRIDE_P2                         DEVICE_DEFAULT(0) 
        LLDP_NB_DCBX_P1                             False(0)         
        LLDP_NB_RX_MODE_P1                          OFF(0)           
        LLDP_NB_TX_MODE_P1                          OFF(0)           
        LLDP_NB_DCBX_P2                             False(0)         
        LLDP_NB_RX_MODE_P2                          OFF(0)           
        LLDP_NB_TX_MODE_P2                          OFF(0)           
        DCBX_IEEE_P1                                True(1)           
        DCBX_CEE_P1                                 True(1)           
        DCBX_WILLING_P1                             True(1)           
        DCBX_IEEE_P2                                True(1)           
        DCBX_CEE_P2                                 True(1)           
        DCBX_WILLING_P2                             True(1)           
        DUP_MAC_ACTION_P1                           LAST_CFG(0)       
        SRIOV_IB_ROUTING_MODE_P1                    LID(1)           
        IB_ROUTING_MODE_P1                          LID(1)           
        DUP_MAC_ACTION_P2                           LAST_CFG(0)       
        SRIOV_IB_ROUTING_MODE_P2                    LID(1)           
        IB_ROUTING_MODE_P2                          LID(1)           
        NUM_OF_PLANES_P1                            0                 
        LOAD_BALANCE_MODE_P1                        DEVICE_DEFAULT(0) 
        NUM_OF_PLANES_P2                            0                 
        LOAD_BALANCE_MODE_P2                        DEVICE_DEFAULT(0) 
        NUM_OF_VL_P1                                _4_VLs(3)         
        NUM_OF_TC_P1                                _8_TCs(0)         
        NUM_OF_PFC_P1                               8                 
        VL15_BUFFER_SIZE_P1                         0                 
        NUM_OF_VL_P2                                _4_VLs(3)         
        NUM_OF_TC_P2                                _8_TCs(0)         
        NUM_OF_PFC_P2                               8                 
        VL15_BUFFER_SIZE_P2                         0                 
        ROCE_CC_PRIO_MASK_P1                        255               
        ROCE_CC_CNP_MODERATION_P1                   DEVICE_DEFAULT(0) 
        ROCE_CC_PRIO_MASK_P2                        255               
        ROCE_CC_CNP_MODERATION_P2                   DEVICE_DEFAULT(0) 
        CLAMP_TGT_RATE_AFTER_TIME_INC_P1            True(1)           
        CLAMP_TGT_RATE_P1                           False(0)         
        RPG_TIME_RESET_P1                           300               
        RPG_BYTE_RESET_P1                           32767             
        RPG_THRESHOLD_P1                            1                 
        RPG_MAX_RATE_P1                             0                 
        RPG_AI_RATE_P1                              5                 
        RPG_HAI_RATE_P1                             50               
        RPG_GD_P1                                   11               
        RPG_MIN_DEC_FAC_P1                          50               
        RPG_MIN_RATE_P1                             1                 
        RATE_TO_SET_ON_FIRST_CNP_P1                 0                 
        DCE_TCP_G_P1                                1019             
        DCE_TCP_RTT_P1                              1                 
        RATE_REDUCE_MONITOR_PERIOD_P1               4                 
        INITIAL_ALPHA_VALUE_P1                      1023             
        MIN_TIME_BETWEEN_CNPS_P1                    4                 
        CNP_802P_PRIO_P1                            6                 
        CNP_DSCP_P1                                 48               
        CLAMP_TGT_RATE_AFTER_TIME_INC_P2            True(1)           
        CLAMP_TGT_RATE_P2                           False(0)         
        RPG_TIME_RESET_P2                           300               
        RPG_BYTE_RESET_P2                           32767             
        RPG_THRESHOLD_P2                            1                 
        RPG_MAX_RATE_P2                             0                 
        RPG_AI_RATE_P2                              5                 
        RPG_HAI_RATE_P2                             50               
        RPG_GD_P2                                   11               
        RPG_MIN_DEC_FAC_P2                          50               
        RPG_MIN_RATE_P2                             1                 
        RATE_TO_SET_ON_FIRST_CNP_P2                 0                 
        DCE_TCP_G_P2                                1019             
        DCE_TCP_RTT_P2                              1                 
        RATE_REDUCE_MONITOR_PERIOD_P2               4                 
        INITIAL_ALPHA_VALUE_P2                      1023             
        MIN_TIME_BETWEEN_CNPS_P2                    4                 
        CNP_802P_PRIO_P2                            6                 
        CNP_DSCP_P2                                 48               
        ROCE_RTT_RESP_DSCP_P1                       0                 
        ROCE_RTT_RESP_DSCP_MODE_P1                  DEVICE_DEFAULT(0) 
        ROCE_RTT_RESP_DSCP_P2                       0                 
        ROCE_RTT_RESP_DSCP_MODE_P2                  DEVICE_DEFAULT(0) 
        PORT_OWNER                                  True(1)           
        ALLOW_RD_COUNTERS                           True(1)           
        RENEG_ON_CHANGE                             True(1)           
        TRACER_ENABLE                               True(1)           
        ROCE_CONTROL                                ROCE_ENABLE(2)   
        PCI_WR_ORDERING                             per_mkey(0)       
        MULTI_PORT_VHCA_EN                          False(0)         
        PF_SD_GROUP                                 0                 
        BOOT_VLAN                                   1                 
        LEGACY_BOOT_PROTOCOL                        PXE(1)           
        BOOT_INTERRUPT_DIS                          False(0)         
        BOOT_LACP_DIS                               True(1)           
        BOOT_VLAN_EN                                False(0)         
        IP_VER                                      IPv4(0)           
        BOOT_UNDI_NETWORK_WAIT                      0                 
        BOOT_DBG_LOG                                False(0)         
        BOOT_PKEY                                   0                 
        UEFI_HII_EN                                 True(1)           
        UEFI_LOGS                                   DISABLED(0)       
        DYNAMIC_VF_MSIX_TABLE                       False(0)         
        EXP_ROM_UEFI_ARM_ENABLE                     False(0)         
        EXP_ROM_UEFI_x86_ENABLE                     False(0)         
        EXP_ROM_PXE_ENABLE                          True(1)           
        ADVANCED_PCI_SETTINGS                       False(0)         
        SAFE_MODE_THRESHOLD                         10               
        SAFE_MODE_ENABLE                            True(1)
 
Last edited:
Blacklistet testweise auf dem Proxmox Host (in dem ja die Mellanox steckt) das Treibermodul für den SMBus. Soweit ich weiß war das die Lösung vor einigen Monaten, als ich drüber gestolpert bin. Die Mellanox Karten nutzen die SMBus Verbindung. Wird diese nicht mit durchgereicht, dann gibt es Probleme. Eventuell reicht es aus, die Verbindung vom Host aus nicht zu "belegen". Weiß nicht mehr, ob ich den SMBus Controller mit durchreichen musste.
 
Last edited: