I am new to both OPNsense and FreeBSD
I am looking at using OPNsense to replace my Netgear utm9s
have install it on a Dell Optiplex 7040 with an I7 processor.
I have install 3 extra NIC cards in the pc but can only see two of them.
I believe I am missing some chipset drivers for this desktop to support the PCI16 slot
any assistance appreciated.
The output of pciconf -lv would be helpful.
Thanks for the command, Patrick.
Can you please let me know how I can capture the output to send it to you
Robert
Copy and paste? Login via SSH, of course ...
Managed to capture it to a txt file
(not bad for first time in any form of linux OS)
Just paste the text in the forum post included in code tags like so:
here
goes
your
output
hostb0@pci0:0:0:0: class=0x060000 rev=0x07 hdr=0x00 vendor=0x8086 device=0x191f subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = 'Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers'
class = bridge
subclass = HOST-PCI
pcib1@pci0:0:1:0: class=0x060400 rev=0x07 hdr=0x01 vendor=0x8086 device=0x1901 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '6th-10th Gen Core Processor PCIe Controller (x16)'
class = bridge
subclass = PCI-PCI
vgapci0@pci0:0:2:0: class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x1912 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = 'HD Graphics 530'
class = display
subclass = VGA
xhci0@pci0:0:20:0: class=0x0c0330 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa12f subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller'
class = serial bus
subclass = USB
pchtherm0@pci0:0:20:2: class=0x118000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa131 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family Thermal Subsystem'
class = dasp
none0@pci0:0:22:0: class=0x078000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa13a subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family MEI Controller'
class = simple comms
ahci0@pci0:0:23:0: class=0x010400 rev=0x31 hdr=0x00 vendor=0x8086 device=0x2822 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = 'SATA Controller [RAID mode]'
class = mass storage
subclass = RAID
pcib2@pci0:0:28:0: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa110 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:28:6: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa116 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib5@pci0:0:29:0: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa118 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family PCI Express Root Port'
class = bridge
subclass = PCI-PCI
isab0@pci0:0:31:0: class=0x060100 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa146 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = 'Q170 Chipset LPC/eSPI Controller'
class = bridge
subclass = PCI-ISA
none1@pci0:0:31:2: class=0x058000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa121 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family Power Management Controller'
class = memory
hdac0@pci0:0:31:3: class=0x040300 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa170 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family HD Audio Controller'
class = multimedia
subclass = HDA
ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa123 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = '100 Series/C230 Series Chipset Family SMBus'
class = serial bus
subclass = SMBus
em3@pci0:0:31:6: class=0x020000 rev=0x31 hdr=0x00 vendor=0x8086 device=0x15b7 subvendor=0x1028 subdevice=0x06b9
vendor = 'Intel Corporation'
device = 'Ethernet Connection (2) I219-LM'
class = network
subclass = ethernet
pcib3@pci0:2:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x104c device=0x8240 subvendor=0x1028 subdevice=0x06b9
vendor = 'Texas Instruments'
device = 'XIO2001 PCI Express-to-PCI Bridge'
class = bridge
subclass = PCI-PCI
em0@pci0:3:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1010 subvendor=0x8086 subdevice=0x1012
vendor = 'Intel Corporation'
device = '82546EB Gigabit Ethernet Controller (Copper)'
class = network
subclass = ethernet
em1@pci0:3:0:1: class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1010 subvendor=0x8086 subdevice=0x1012
vendor = 'Intel Corporation'
device = '82546EB Gigabit Ethernet Controller (Copper)'
class = network
subclass = ethernet
em2@pci0:4:0:0: class=0x020000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x10b9 subvendor=0x8086 subdevice=0x1083
vendor = 'Intel Corporation'
device = '82572EI Gigabit Ethernet Controller (Copper)'
class = network
subclass = ethernet
There seem to be 3 Ethernet interfaces, namely em0, em1 and em2. What's the output of
ifconfig -a
?
Yes, 4 are showing but i have 6 in the machine
one on MB, single in one slot and 2 dual port cards, one dual port card is not active
All 6 work under windows after I installed a chipset driver
em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: LAN (lan)
options=4800028<VLAN_MTU,JUMBO_MTU,NOMAP>
ether 00:04:23:a8:c1:be
inet6 fe80::204:23ff:fea8:c1be%em0 prefixlen 64 tentative scopeid 0x1
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
em1: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: WAN (wan)
options=4800028<VLAN_MTU,JUMBO_MTU,NOMAP>
ether 00:04:23:a8:c1:bf
inet6 fe80::204:23ff:fea8:c1bf%em1 prefixlen 64 scopeid 0x2
media: Ethernet autoselect
status: no carrier
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
em2: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: WAN (wan)
options=4800028<VLAN_MTU,JUMBO_MTU,NOMAP>
ether 00:1b:21:20:a8:bc
inet6 fe80::21b:21ff:fe20:a8bc%em2 prefixlen 64 scopeid 0x3
media: Ethernet autoselect
status: no carrier
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em3: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: WAN (wan)
options=4802028<VLAN_MTU,JUMBO_MTU,WOL_MAGIC,NOMAP>
ether f4:8e:38:a5:80:7e
inet 192.168.10.145 netmask 0xffffff00 broadcast 192.168.10.255
inet6 fe80::f68e:38ff:fea5:807e%em3 prefixlen 64 scopeid 0x4
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
enc0: flags=0<> metric 0 mtu 1536
groups: enc
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
pfsync0: flags=0<> metric 0 mtu 1500
syncpeer: 0.0.0.0 maxupd: 128 defer: off
syncok: 1
groups: pfsync
pflog0: flags=20100<PROMISC,PPROMISC> metric 0 mtu 33160
groups: pflog
So where is the rest of the pciconf -lv output? :)
That was the entire output, which is why i believe there is a chipset driver missing from the system.
I see - I missed em3 which is above em0 in the list.
Unfortuately there is no such thing as a "chipset driver" that can be installed after the fact like in Windows. Either the hardware is supported by the FreeBSD kernel or it isn't.
just reading the release notes for FreeBSD 13.3 which says (current Vers 13.2)
Device Drivers
Multiple PCI MCFG regions are now supported on x86 systems, enabling support for PCI config access for domains (segments) other than 0. 0fb0306a89ad
Any chance that this is the issue and is it worth upgrading to it.
You can try booting a standard FreeBSD 13.3 and check if it recognises the interfaces. For OPNsense you will have to wait for the next release 24.7. You cannot upgrade components of OPNsense individually. Well you can sort of "hack it", but the changes will be reverted by every OPNsense update and potentially result in a non-functioning setup, anyway.
OK will wait for the 24.7 release, any idea on an ETA for it
24.7 - 2024, July.
Or you can check now by:
# opnsense-update -zkr 14-STABLE -a FreeBSD:14:amd64
I use it because of the 100% speed increase for Wireguard and it runs pretty smooth so far. You can even lock the kernel package in the firmware settings and thus no upgrades will change it.
Quote from: meyergru on April 12, 2024, 10:28:58 AM
Or you can check now by:
# opnsense-update -zkr 14-STABLE -a FreeBSD:14:amd64
I use it because of the 100% speed increase for Wireguard and it runs pretty smooth so far. You can even lock the kernel package in the firmware settings and thus no upgrades will change it.
Won't that be reverted by the next minor update? Also in my experience tools like sockstat or netstat frequently behave strangely when there is a userland/kernel mismatch.
Quote from: meyergru on April 12, 2024, 10:28:58 AM
Or you can check now by:
# opnsense-update -zkr 14-STABLE -a FreeBSD:14:amd64
I use it because of the 100% speed increase for Wireguard and it runs pretty smooth so far. You can even lock the kernel package in the firmware settings and thus no upgrades will change it.
Do you have a command that would upgrade it to 13.3 rather than 14.0 which is older.
14 will be newer, that's how the release numbers go.
Greg, sorry, no.
14.0 was released November 20, 2023
13.3 was released March 5, 2024
FreeBSD maintains multiple branches in parallel. 14.1 is next.
That version was specifically provided by @franco for Wireguard testing because we knew that the FreeBSD 14-based "other" project's code was quite a bit faster.
We shall see how fast the shift to 14.1 will be for OpnSense. Technically, 24.7 is based on 13.3 mainly because 14.1 will not be finalized until OpnSense 24.7.
As I said, I have no problems whatsoever with that kernel under 24.1.x. And I just upgraded from 24.1.4 to 24.1.5_3 with the 14.0 kernel package locked.
Well, that makes sense in versioning. :-\
FreeBSD 14 is in the process of being updated to release 14.1. That probably won't make it in time for OPNsense 24.7, unfortunately.
FreeBSD 13 is also a supported branch, way into 2026. So there will be a 13.4 release almost certainly. Probably after 14.1. Think of these as two different products.
Just like Windows Server 2019 and 2022 are both supported and widely deployed. And receive patches.
13.3 is a minor update for FreeBSD 13. 14.1 is a minor update for FreeBSD 14.
Can anyone give me the command to upgrade to the 13.3 version of FreeBSD.
I would like to try that version as it specifically addresses some PCI bus issues that I believe may make the other network card available.
Thanks
Quote from: rbabruce on April 13, 2024, 03:01:37 AM
Can anyone give me the command to upgrade to the 13.3 version of FreeBSD.
I would like to try that version as it specifically addresses some PCI bus issues that I believe may make the other network card available.
Thanks
Just following up to see if there is an answer to the above
Do you know the chipset used for the NIC that is not being detected in OPNsense?
The pciconf output for all of the detected NICs shows they are quite old. I'm assuming this is an OptiPlex 7040 Tower since some of these are PCI based. The I219-LM NIC is the onboard NIC on the Dell mainboard. But the other 3 interfaces (Intel 82546 and Intel 82571) are older, with the 82546 being PCI based.
Rather than waiting for 13.3, I would highly suggest instead just getting newer NICs that are PCIe based. You can find used Intel 4 port server NICs on ebay for $25. Buy two of those and you'd have a way better setup than trying to use a mashup of very old parts and PCI interfaces. And the 7040 Tower should have two x16 slots that will accommodate dual PCIe x4 quad port NICs.
Ye the other dual nic is an Intel card similar to the detected one except it has a physically longer PCI connector.
Verify that you have at least two PCIe x4 slots (or greater) and then just order two of these: https://www.ebay.com/itm/166706911164.
I would not suggest messing with standard PCI slots. They won't saturate gigabit, especially if you have a dual port card plugged in to a standard 32bit PCI slot.
PCIe has been around since 2005. PCI is positively ancient at this point, don't use it.
fwiw the 7040 has 2x 16x PCIe and 2x PCI interfaces according to this here
https://dl.dell.com/topicspdf/optiplex-7040-desktop_owners-manual_en-us.pdf
Would go with modern 4x Intel PCIe cards if <= 9 ethernet ports are needed for the install.
Just an FYI, I no longer recommend anything older than Intel i350 cards. My older Pro1000 based cards all seem to slow down a little when I get all four ports active. When you can catch them, the price difference isn't all that much. I waited a while and got 2 used Intel i350 cards for $35usd shipped.
Else look for i225 or i226 cards which are often around $50usd used and $80+ new. You can buy 10Gtek i350 cards for $80 new, I have one but only very short testing so far, destined for my production OPNsense system when I get a little time to finish building it and putting it into service, probably with Business license.
BIG WARNING! Look out for counterfeit cards! There are some posts about this on the web and revolve around looking at the isolation devices (DELTA) and power supply components.
Apologies, both of the dual port cards are infact PCIe cards.
one is a x1 and the other an x4
But lets get back to my original question.
how do i upgrade the underlying FreeBSD from 13.1 to 13.3
Quote from: rbabruce on April 17, 2024, 12:20:43 AM
Apologies, both of the dual port cards are infact PCIe cards.
one is a x1 and the other an x4
But lets get back to my original question.
how do i upgrade the underlying FreeBSD from 13.1 to 13.3
The point I was trying to make was mixing PCI and PCIe cards won't yield a desirable amount of throughput. And trying to limp along old chipsets (even the ones you have in PCIe) isn't great either.
Instead of trying to upgrade underlying FreeBSD, can you just boot from the FreeBSD 13.3 DVD ISO and see if all of the NICs are detected? That would save you time of trying to force an upgrade if it may not fix your issue.
Have done a usb boot of FreeBSD 13.3 on my hardware and it has indeed detected the other network cards.
with that confirmed and accepting what you have said on performance can someone please give me the command to update FreeBSD from 13.1 to 13.3 for OPNSense.
I already told that Franco did an OpnSense test kernel for 14.0 in order to check if it is faster than 13.x and provided a command to test it. I also told that it runs fine, because it contains already OpnSense patches, i.e. it it not a plain vanilla FreeBSD kernel - which might run just as well, IDK.
Deciso can choose which version (13.3, 14.1 Beta or 14.1 later on) they will use for OpnSense 24.7. I personally deem that yet undecided.
Now you say you verified that 13.3 in fact detects your hardware.
Whatever version you use to solve your problem now will 99% likely solve your problem once OpnSense 24.7 will be released. So why keep asking for a FreeBSD 13.3 kernel and not just try the specific 14.0 one I provided? If it does not work, you can try to get hands on a 13.3 version, probably by just trying the development version (Also: You could just tar the FreeBSD 13.3 kernel and modules from FreeBSD and unpack them in OpnSense 24.1 to test.).
However, if Deciso chooses the 14.1 kernel then, it might face the same problem again - although that chance is very slim.
What I am trying to say here is: You can most likely solve your problem at hand now (and you do not). You cannot 100% determine what will happen with the advent of OpnSense 24.7, so why keep asking for 13.3?