Pfsense mini pc and QAT
-
Hi everyone,
I received a white box/mini PC with an Intel I5-1235U that has QAT per Intel main website. However, when installing pfsense CE, it does not show QAT as enabled (on the mail webUI) and under advanced system options. I am assuming that I would have to make some changes in BIOS and get pfsense Plus (via TAC purchase) in order to install the QAT drivers in this box, correct? Or, would it be possible to do this on my own or any other way? Note, the pfsense version on this mini pc is 2.7.0.
Would appreciate any guidance or other information y oh would be wiling to share.
Thanks much!
-
It may not be supported by the driver yet. Check the PCI IDs shown by
pciconf -lv
.Then check the list: https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_7_0/sys/dev/qat/include/common/adf_accel_devices.h#L12
Steve
-
I will check it out! Thanks so much, Steve!
-
Was able to plug this command via shell. It generated a lot of info including each interface and PCI but I am not sure what I am supposed to look for. I can share the output if needed.
Thanks much!
Marin
-
It may show as qat0 in which case the driver is attaching but the gui doesn't recognise it. Or it could be shows as a 'none' device where the driver hasn't attached but it should still show as a crypto device.
-
This is what I have:
hostb0@pci0:0:0:0: class=0x060000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x4601 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x46a8 subvendor=0x8086 subdevice=0x2212
vendor = 'Intel Corporation'
device = 'Alder Lake-UP3 GT2 [Iris Xe Graphics]'
class = display
subclass = VGA
pcib1@pci0:0:6:0: class=0x060400 rev=0x04 hdr=0x01 vendor=0x8086 device=0x464d subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = '12th Gen Core Processor PCI Express x4 Controller'
class = bridge
subclass = PCI-PCI
none0@pci0:0:8:0: class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x464f subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = '12th Gen Core Processor Gaussian & Neural Accelerator'
class = base peripheral
xhci0@pci0:0:20:0: class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51ed subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH USB 3.2 xHCI Host Controller'
class = serial bus
subclass = USB
none1@pci0:0:20:2: class=0x050000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51ef subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH Shared SRAM'
class = memory
subclass = RAM
none2@pci0:0:22:0: class=0x078000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51e0 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH HECI Controller'
class = simple comms
ahci0@pci0:0:23:0: class=0x010601 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51d3 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake-P SATA AHCI Controller'
class = mass storage
subclass = SATA
pcib2@pci0:0:28:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x51ba subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:28:3: class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x51bb subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake-P PCH PCIe Root Port'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:28:4: class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x51bc subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
class = bridge
subclass = PCI-PCI
pcib5@pci0:0:29:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x51b0 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib6@pci0:0:29:1: class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x51b1 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCI Express x1 Root Port'
class = bridge
subclass = PCI-PCI
isab0@pci0:0:31:0: class=0x060100 rev=0x01 hdr=0x00 vendor=0x8086 device=0x5182 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH eSPI Controller'
class = bridge
subclass = PCI-ISA
hdac0@pci0:0:31:3: class=0x040100 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51c8 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH-P High Definition Audio Controller'
class = multimedia
subclass = audio
ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51a3 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake PCH-P SMBus Host Controller'
class = serial bus
subclass = SMBus
none3@pci0:0:31:5: class=0x0c8000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51a4 subvendor=0x8086 subdevice=0x7270
vendor = 'Intel Corporation'
device = 'Alder Lake-P PCH SPI Controller'
class = serial bus
nvme0@pci0:1:0:0: class=0x010802 rev=0x01 hdr=0x00 vendor=0x1e4b device=0x1202 subvendor=0x1e4b subdevice=0x1202
vendor = 'MAXIO Technology (Hangzhou) Ltd.'
device = 'NVMe SSD Controller MAP1202'
class = mass storage
subclass = NVM
igc0@pci0:2:0:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I226-V'
class = network
subclass = ethernet
igc1@pci0:3:0:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I226-V'
class = network
subclass = ethernet
ix0@pci0:4:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x10fb subvendor=0xffff subdevice=0xffff
vendor = 'Intel Corporation'
device = '82599ES 10-Gigabit SFI/SFP+ Network Connection'
class = network
subclass = ethernet
ix1@pci0:4:0:1: class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x10fb subvendor=0xffff subdevice=0xffff
vendor = 'Intel Corporation'
device = '82599ES 10-Gigabit SFI/SFP+ Network Connection'
class = network
subclass = ethernet
igc2@pci0:5:0:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I226-V'
class = network
subclass = ethernet
igc3@pci0:6:0:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
vendor = 'Intel Corporation'
device = 'Ethernet Controller I226-V'
class = network
subclass = ethernet -
The CPU is an I5-1235U which shows to support QAT per Intel’s website:
https://www.intel.com/content/www/us/en/products/sku/226261/intel-core-i51235u-processor-12m-cache-up-to-4-40-ghz/specifications.html
-
Hmm it's curiously named
Intel® QuickAssist Software Acceleration
as opposed toIntegrated Intel® QuickAssist Technology
.Is it enabled in the BIOS?
-
I don’t know how to do so in BIOS. I looked in there to see but couldn’t find any related items under the CPU configuration.
-
Don't know if this is up to date, but it looks like QAT is only on Xeon, Atom C3000 and QAT accelerator cards...?
https://www.intel.com/content/www/us/en/support/articles/000094285/technologies/intel-quickassist-technology-intel-qat.html -
@mvikman
Hi
At the moment (Freebsd 14.1 - 15.0)- The qat driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices..
The qat driver is intended for platforms that contain:
• Intel (R) C62x Chipset
• Intel (R) Atom C3000 processor product family
• Intel (R) QuickAssist Adapter 8960/Intel (R) QuickAssist Adapter 8970 (formerly known as "Lewis Hill")
• Intel (R) Communications Chipset 8925 to 8955 Series
• Intel (R) Atom P5300 processor product family
• Intel (R) QAT 4xxx Series
https://man.freebsd.org/cgi/man.cgi?query=qat&apropos=0&sektion=0&manpath=FreeBSD+14.1-RELEASE&arch=default&format=html
- The QAT driver is not included in the pfSense 2.7.2 kernel
The only way is to build your own kernel and port this driver manually
2.7.2-RELEASE][admin@ru.xxxx.org]/root: kldstat -v | grep qat
5 1 0xffffffff835da000 123890 qat_c3xxx_fw.ko (/boot/kernel/qat_c3xxx_fw.ko)
4 qat_c3xxx_fw_fw
8 1 0xffffffff83cda000 8548 qat.ko (/boot/kernel/qat.ko)
19 nexus/qat
9 9 0xffffffff83ce3000 83d80 qat_api.ko (/boot/kernel/qat_api.ko)
11 qat_api
10 10 0xffffffff83d67000 53298 qat_common.ko (/boot/kernel/qat_common.ko)
10 qat_common
11 7 0xffffffff83dbb000 29588 qat_hw.ko (/boot/kernel/qat_hw.ko)
18 pci/qat_c4xxx
13 pci/qat_200xx
17 pci/qat_dh895xcc
16 pci/qat_c3xxx
12 pci/qat_c62x
15 pci/qat_4xxxvf
14 pci/qat_4xxx - The qat driver supports cryptography and compression acceleration of the Intel (R) QuickAssist Technology (QAT) devices..
-
Thanks for sharing! Any thoughts on how to do this and where to look to get started with this?
Thanks again!
-
FYI, found this regarding QuickAssist Software Acceleration:
"To determine which processor SKU has dedicated Intel QAT hardware available, refer to ARK. For example, the Intel Xeon Gold 6430 Processor does not have dedicated Intel QAT hardware (and there is no available upgrades via Intel On Demand either). It will still run the Intel QAT driver but using the CPU cores, that's why the line Intel QuickAssist Software Acceleration says Yes."https://www.intel.com/content/www/us/en/support/articles/000095464/technologies/intel-quickassist-technology-intel-qat.html
-
Mmm, so probably no hardware to attach to.