QNAP QXG-2G2T-I225 Dual Port 2.5GbE, how to change port properties/settings?
-
Hello,
How do you change the Ethernet adapter port properties like all the setting available in windoze?
Is this possible?
How do you lock the Ethernet ports in pfsense?
In linux there is ethtool.
Is there a comparable tool in pfsense, or a better way?I am having problems with this card when I disconnect the cable for testing, etc.
Also when I change the adapter settings in the WAN, or LAN setup pages.
I HAVE to reboot to get the port working again.
Seems something to do with power properties, as when I hit the power button to shutdown, the ping then returns.
Works okay again, AFTER reboot.Sigh, very frustrating...
-
What setting are you trying to change?
What is logged when it fails to connect?
What does
ifconfig -vvvma
show? -
@stephenw10
Thank you for your reply!I just want to disable any power savings properties for the ports on this card that it may have.
Seems I don't have to lock the port speed, as autoselect appears to work.Though, I do want to enable jumbo frames, and I guess enable an MTU of 9000?
I see there are lots of options available:
igc0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: LAN options=48020b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,HWSTATS,MEXTPG> capabilities=4f43fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether xx:xx:xx:xx:xx:xx inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx%igc0 prefixlen 64 scopeid 0x2 media: Ethernet autoselect (2500Base-T <full-duplex>) status: active supported media: media autoselect media 2500Base-T media 1000baseT media 1000baseT mediaopt full-duplex media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> igc1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 description: WAN options=48020b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,HWSTATS,MEXTPG> capabilities=4f43fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether xx:xx:xx:xx:xx:xx inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx%igc1 prefixlen 64 scopeid 0x3 inet6 xxxx:xxxx:xxxx:x:xxxx:xxxx:xxxx:xxxx prefixlen 64 autoconf inet6 xxxx:xxxx:xxxx::dca prefixlen 128 pltime 43200 vltime 86400 media: Ethernet autoselect (2500Base-T <full-duplex>) status: active supported media: media autoselect media 2500Base-T media 1000baseT media 1000baseT mediaopt full-duplex media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
-
In fact the igc driver only supports autoselect for link speed. If you select one of the other speeds it only limits the available negotiation rates to that one speed. It will not link to a device that doesn't have link negotiation enabled.
You probably want to look at the system tunables / sysctls:
[24.03-DEVELOPMENT][root@8200.stevew.lan]/root: sysctl hw.igc hw.igc.max_interrupt_rate: 20000 hw.igc.eee_setting: 1 hw.igc.sbp: 1 hw.igc.smart_pwr_down: 0 hw.igc.rx_abs_int_delay: 66 hw.igc.tx_abs_int_delay: 66 hw.igc.rx_int_delay: 0 hw.igc.tx_int_delay: 66 hw.igc.disable_crc_stripping: 0 [24.03-DEVELOPMENT][root@8200.stevew.lan]/root: sysctl dev.igc.0 dev.igc.0.wake: 0 dev.igc.0.interrupts.rx_desc_min_thresh: 0 dev.igc.0.interrupts.asserts: 1 dev.igc.0.mac_stats.tso_txd: 0 dev.igc.0.mac_stats.tx_frames_1024_1522: 0 dev.igc.0.mac_stats.tx_frames_512_1023: 0 dev.igc.0.mac_stats.tx_frames_256_511: 0 dev.igc.0.mac_stats.tx_frames_128_255: 0 dev.igc.0.mac_stats.tx_frames_65_127: 0 dev.igc.0.mac_stats.tx_frames_64: 0 dev.igc.0.mac_stats.mcast_pkts_txd: 0 dev.igc.0.mac_stats.bcast_pkts_txd: 0 dev.igc.0.mac_stats.good_pkts_txd: 0 dev.igc.0.mac_stats.total_pkts_txd: 0 dev.igc.0.mac_stats.good_octets_txd: 0 dev.igc.0.mac_stats.good_octets_recvd: 0 dev.igc.0.mac_stats.rx_frames_1024_1522: 0 dev.igc.0.mac_stats.rx_frames_512_1023: 0 dev.igc.0.mac_stats.rx_frames_256_511: 0 dev.igc.0.mac_stats.rx_frames_128_255: 0 dev.igc.0.mac_stats.rx_frames_65_127: 0 dev.igc.0.mac_stats.rx_frames_64: 0 dev.igc.0.mac_stats.mcast_pkts_recvd: 0 dev.igc.0.mac_stats.bcast_pkts_recvd: 0 dev.igc.0.mac_stats.good_pkts_recvd: 0 dev.igc.0.mac_stats.total_pkts_recvd: 0 dev.igc.0.mac_stats.xoff_txd: 0 dev.igc.0.mac_stats.xoff_recvd: 0 dev.igc.0.mac_stats.xon_txd: 0 dev.igc.0.mac_stats.xon_recvd: 0 dev.igc.0.mac_stats.alignment_errs: 0 dev.igc.0.mac_stats.crc_errs: 0 dev.igc.0.mac_stats.recv_errs: 0 dev.igc.0.mac_stats.recv_jabber: 0 dev.igc.0.mac_stats.recv_oversize: 0 dev.igc.0.mac_stats.recv_fragmented: 0 dev.igc.0.mac_stats.recv_undersize: 0 dev.igc.0.mac_stats.recv_no_buff: 0 dev.igc.0.mac_stats.missed_packets: 0 dev.igc.0.mac_stats.defer_count: 0 dev.igc.0.mac_stats.sequence_errors: 0 dev.igc.0.mac_stats.symbol_errors: 0 dev.igc.0.mac_stats.collision_count: 0 dev.igc.0.mac_stats.late_coll: 0 dev.igc.0.mac_stats.multiple_coll: 0 dev.igc.0.mac_stats.single_coll: 0 dev.igc.0.mac_stats.excess_coll: 0 dev.igc.0.queue_rx_3.rx_irq: 0 dev.igc.0.queue_rx_3.rxd_tail: 128 dev.igc.0.queue_rx_3.rxd_head: 0 dev.igc.0.queue_rx_2.rx_irq: 0 dev.igc.0.queue_rx_2.rxd_tail: 128 dev.igc.0.queue_rx_2.rxd_head: 0 dev.igc.0.queue_rx_1.rx_irq: 0 dev.igc.0.queue_rx_1.rxd_tail: 128 dev.igc.0.queue_rx_1.rxd_head: 0 dev.igc.0.queue_rx_0.rx_irq: 0 dev.igc.0.queue_rx_0.rxd_tail: 128 dev.igc.0.queue_rx_0.rxd_head: 0 dev.igc.0.queue_tx_3.tx_irq: 0 dev.igc.0.queue_tx_3.txd_tail: 0 dev.igc.0.queue_tx_3.txd_head: 0 dev.igc.0.queue_tx_2.tx_irq: 0 dev.igc.0.queue_tx_2.txd_tail: 0 dev.igc.0.queue_tx_2.txd_head: 0 dev.igc.0.queue_tx_1.tx_irq: 0 dev.igc.0.queue_tx_1.txd_tail: 0 dev.igc.0.queue_tx_1.txd_head: 0 dev.igc.0.queue_tx_0.tx_irq: 0 dev.igc.0.queue_tx_0.txd_tail: 0 dev.igc.0.queue_tx_0.txd_head: 0 dev.igc.0.fc_low_water: 32752 dev.igc.0.fc_high_water: 32768 dev.igc.0.rx_control: 71335938 dev.igc.0.device_control: 1209796161 dev.igc.0.watchdog_timeouts: 0 dev.igc.0.rx_overruns: 0 dev.igc.0.link_irq: 1 dev.igc.0.dropped: 0 dev.igc.0.eee_control: 1 dev.igc.0.itr: 488 dev.igc.0.tx_abs_int_delay: 66 dev.igc.0.rx_abs_int_delay: 66 dev.igc.0.tx_int_delay: 66 dev.igc.0.rx_int_delay: 0 dev.igc.0.rs_dump: 0 dev.igc.0.reg_dump: General Registers CTRL 481c0641 STATUS 00780680 CTRL_EXIT 100000c0 Interrupt Registers ICR 00000000 RX Registers RCTL 04408002 RDLEN 00004000 RDH 00000000 RDT 00000080 RXDCTL 02040808 RDBAL 037bb000 RDBAH 00000000 TX Registers TCTL a50400fa TDBAL 0377d000 TDBAH 00000000 TDLEN 00004000 TDH 00000000 TDT 00000000 TXDCTL 0201011f TDFH 00000000 TDFT 00000000 TDFHS 00000000 TDFPC 00000000 dev.igc.0.fc: 3 dev.igc.0.debug: -1 dev.igc.0.nvm: -1 dev.igc.0.iflib.rxq3.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq3.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq3.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq3.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq3.cpu: 3 dev.igc.0.iflib.rxq2.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq2.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq2.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq2.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq2.cpu: 2 dev.igc.0.iflib.rxq1.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq1.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq1.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq1.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq1.cpu: 1 dev.igc.0.iflib.rxq0.rxq_fl0.buf_size: 2048 dev.igc.0.iflib.rxq0.rxq_fl0.credits: 128 dev.igc.0.iflib.rxq0.rxq_fl0.cidx: 0 dev.igc.0.iflib.rxq0.rxq_fl0.pidx: 128 dev.igc.0.iflib.rxq0.cpu: 0 dev.igc.0.iflib.txq3.r_abdications: 0 dev.igc.0.iflib.txq3.r_restarts: 0 dev.igc.0.iflib.txq3.r_stalls: 0 dev.igc.0.iflib.txq3.r_starts: 0 dev.igc.0.iflib.txq3.r_drops: 0 dev.igc.0.iflib.txq3.r_enqueues: 0 dev.igc.0.iflib.txq3.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq3.txq_cleaned: 0 dev.igc.0.iflib.txq3.txq_processed: 0 dev.igc.0.iflib.txq3.txq_in_use: 0 dev.igc.0.iflib.txq3.txq_cidx_processed: 0 dev.igc.0.iflib.txq3.txq_cidx: 0 dev.igc.0.iflib.txq3.txq_pidx: 0 dev.igc.0.iflib.txq3.no_tx_dma_setup: 0 dev.igc.0.iflib.txq3.txd_encap_efbig: 0 dev.igc.0.iflib.txq3.tx_map_failed: 0 dev.igc.0.iflib.txq3.no_desc_avail: 0 dev.igc.0.iflib.txq3.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq3.m_pullups: 0 dev.igc.0.iflib.txq3.mbuf_defrag: 0 dev.igc.0.iflib.txq3.cpu: 3 dev.igc.0.iflib.txq2.r_abdications: 0 dev.igc.0.iflib.txq2.r_restarts: 0 dev.igc.0.iflib.txq2.r_stalls: 0 dev.igc.0.iflib.txq2.r_starts: 0 dev.igc.0.iflib.txq2.r_drops: 0 dev.igc.0.iflib.txq2.r_enqueues: 0 dev.igc.0.iflib.txq2.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq2.txq_cleaned: 0 dev.igc.0.iflib.txq2.txq_processed: 0 dev.igc.0.iflib.txq2.txq_in_use: 0 dev.igc.0.iflib.txq2.txq_cidx_processed: 0 dev.igc.0.iflib.txq2.txq_cidx: 0 dev.igc.0.iflib.txq2.txq_pidx: 0 dev.igc.0.iflib.txq2.no_tx_dma_setup: 0 dev.igc.0.iflib.txq2.txd_encap_efbig: 0 dev.igc.0.iflib.txq2.tx_map_failed: 0 dev.igc.0.iflib.txq2.no_desc_avail: 0 dev.igc.0.iflib.txq2.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq2.m_pullups: 0 dev.igc.0.iflib.txq2.mbuf_defrag: 0 dev.igc.0.iflib.txq2.cpu: 2 dev.igc.0.iflib.txq1.r_abdications: 0 dev.igc.0.iflib.txq1.r_restarts: 0 dev.igc.0.iflib.txq1.r_stalls: 0 dev.igc.0.iflib.txq1.r_starts: 0 dev.igc.0.iflib.txq1.r_drops: 0 dev.igc.0.iflib.txq1.r_enqueues: 0 dev.igc.0.iflib.txq1.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq1.txq_cleaned: 0 dev.igc.0.iflib.txq1.txq_processed: 0 dev.igc.0.iflib.txq1.txq_in_use: 0 dev.igc.0.iflib.txq1.txq_cidx_processed: 0 dev.igc.0.iflib.txq1.txq_cidx: 0 dev.igc.0.iflib.txq1.txq_pidx: 0 dev.igc.0.iflib.txq1.no_tx_dma_setup: 0 dev.igc.0.iflib.txq1.txd_encap_efbig: 0 dev.igc.0.iflib.txq1.tx_map_failed: 0 dev.igc.0.iflib.txq1.no_desc_avail: 0 dev.igc.0.iflib.txq1.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq1.m_pullups: 0 dev.igc.0.iflib.txq1.mbuf_defrag: 0 dev.igc.0.iflib.txq1.cpu: 1 dev.igc.0.iflib.txq0.r_abdications: 0 dev.igc.0.iflib.txq0.r_restarts: 0 dev.igc.0.iflib.txq0.r_stalls: 0 dev.igc.0.iflib.txq0.r_starts: 0 dev.igc.0.iflib.txq0.r_drops: 0 dev.igc.0.iflib.txq0.r_enqueues: 0 dev.igc.0.iflib.txq0.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000 state: IDLE dev.igc.0.iflib.txq0.txq_cleaned: 0 dev.igc.0.iflib.txq0.txq_processed: 0 dev.igc.0.iflib.txq0.txq_in_use: 0 dev.igc.0.iflib.txq0.txq_cidx_processed: 0 dev.igc.0.iflib.txq0.txq_cidx: 0 dev.igc.0.iflib.txq0.txq_pidx: 0 dev.igc.0.iflib.txq0.no_tx_dma_setup: 0 dev.igc.0.iflib.txq0.txd_encap_efbig: 0 dev.igc.0.iflib.txq0.tx_map_failed: 0 dev.igc.0.iflib.txq0.no_desc_avail: 0 dev.igc.0.iflib.txq0.mbuf_defrag_failed: 0 dev.igc.0.iflib.txq0.m_pullups: 0 dev.igc.0.iflib.txq0.mbuf_defrag: 0 dev.igc.0.iflib.txq0.cpu: 0 dev.igc.0.iflib.override_nrxds: 0 dev.igc.0.iflib.override_ntxds: 0 dev.igc.0.iflib.use_logical_cores: 0 dev.igc.0.iflib.separate_txrx: 0 dev.igc.0.iflib.core_offset: 0 dev.igc.0.iflib.tx_abdicate: 0 dev.igc.0.iflib.rx_budget: 0 dev.igc.0.iflib.disable_msix: 0 dev.igc.0.iflib.override_qs_enable: 0 dev.igc.0.iflib.override_nrxqs: 0 dev.igc.0.iflib.override_ntxqs: 0 dev.igc.0.iflib.driver_version: 1 dev.igc.0.%parent: pci4 dev.igc.0.%pnpinfo: vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000 class=0x020000 dev.igc.0.%location: slot=0 function=0 dbsf=pci0:4:0:0 handle=\_SB_.PCI0.PEX3.PXSX dev.igc.0.%driver: igc dev.igc.0.%desc: Intel(R) Ethernet Controller I226-V
Though the default values there are pretty good.
-
Hello,
Thank you for your reply!
Having secured a console, I can now see that dmeg is report LAN port link state changes constantly from UP to DOWN.
The WAN port doesn't do this.At this time, I can't get a good state fro LAN to login via the web interface.
Kind of stuck, I really don't wish to re-install... -
Hmm, what is the LAN connected to?
Try running
pciconf -lv igc0
what revision is shown? You want at least rev3 with the i225-V. -
@stephenw10 said in QNAP QXG-2G2T-I225 Dual Port 2.5GbE, how to change port properties/settings?:
pciconf -lv igc0
igc0@pci0:4:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f2 subvendor=0x1baa subdevice=0xc002 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-LM' class = network subclass = ethernet
igc1@pci0:7:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f2 subvendor=0x1baa subdevice=0xc002 vendor = 'Intel Corporation' device = 'Ethernet Controller I225-LM' class = network subclass = ethernet
-
All is good now, I guess it was a corruption from removing a 4 port Intel 1GB adapter, installing this one, and reassigning the ports.
At first, I was thinking, wow, magic, as it seemed to amazing work so easy.
I just reset from the console, and went through the configuration settings in the web menus.
Shrug, I am familiar with the setup settings as I use, so, not so bad.Thank you very much for your help!
-
Perhaps spoke too soon...
Sigh, now the WAN port?
I see the physical WAN LED link state going OFF/ON.
Not as bad as the LAN port was previously doing?
While it is working, I see a massive repeating sequence of events flood from the console.
This is reflected via dmesg output:igc1: link state changed to UP igc0: promiscuous mode disabled igc0: promiscuous mode enabled 595.980471 [ 842] iflib_netmap_config txr 4 rxr 4 txd 1024 rxd 1024 rbufsz 2048 igc1: link state changed to DOWN igc1: link state changed to UP 601.766098 [1798] nm_rxsync_prologue igc1 RX2: fail 'head < kring->nr_hwcur || head > kring->nr_hwtail' h 118 c 118 t 119 rh 118 rc 118 rt 119 hc 119 ht 119 601.766118 [1843] netmap_ring_reinit called for igc1 RX2 igc1: link state changed to DOWN igc1: link state changed to UP igc0: promiscuous mode disabled igc0: promiscuous mode enabled 637.114549 [ 842] iflib_netmap_config txr 4 rxr 4 txd 1024 rxd 1024 rbufsz 2048 igc1: link state changed to DOWN igc1: link state changed to UP 643.021936 [1798] nm_rxsync_prologue igc1 RX2: fail 'head < kring->nr_hwcur || head > kring->nr_hwtail' h 703 c 703 t 704 rh 703 rc 703 rt 704 hc 704 ht 704 643.021959 [1843] netmap_ring_reinit called for igc1 RX2 igc1: link state changed to DOWN igc1: link state changed to UP igc0: promiscuous mode disabled igc0: promiscuous mode enabled
-
DOH!
My fault, I missed ONE setting setting up after reset!
snort was set to WAN, changed to LAN, no flood.
Was wondering what all the strange snort traffic I have never seen before was... -
Nice.