CWWK/Topton/... Nxxx quad NIC router

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Ipse

New Member
Aug 21, 2022
19
9
3
if anyone wants to update the i226 nvm firmware on their boxes here is how to do it (i have 2 cwwk and 2 aoostar minipc, did it successfully)

download the whole mega package from intel Intel® Ethernet Adapter Complete Driver Pack and just get the linux/windows binary (nvmupdate64e runs on proxmox, nvmupdatew64e on w11), then create and use this configuration file (nvmupdate.cfg)

Code:
CURRENT FAMILY: 1.0.0
CONFIG VERSION: 1.20.0

; NIC device
BEGIN DEVICE
DEVICENAME: Intel(R) Ethernet Controller I226-V
VENDOR: 8086
DEVICE: 125C
SUBVENDOR: 8086
SUBDEVICE: 0000
NVM IMAGE: FXVL_125C_V_1MB_2.32.bin
EEPID: 80000425
RESET TYPE: REBOOT
REPLACES: 80000308
END DEVICE
also get the firmware version from here GitHub - BillyCurtis/Intel-I226-V-NVM-Firmware: Intel I225-V / I226-V NVM Firmware and place it in the same folder where the binary and the cfg are, then simply run it (change the -m flag with your actual mac address)

Code:
root@proxmox:~#./nvmupdate64e -b -l nvm.log -m A8B8E0036839 -f -u -c nvmupdate.cfg
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.41.3.1
Copyright(C) 2013 - 2024 Intel Corporation.

./nvmupdate64e -b -l nvm.log -m A8B8E0036839 -f -u -c nvmupdate.cfg

Config file read.
Inventory
[00:003:00:00]: Intel(R) Ethernet Controller I226-V
        Alternate MAC address is not set.
        Flash inventory started.
        Shadow RAM inventory started.
        Shadow RAM inventory finished.
        Flash inventory finished.
Update
[00:003:00:00]: Intel(R) Ethernet Controller I226-V
        Creating backup images in directory: A8B8E0036839.
        Backup images created.
        Flash update started.
        NVM verification started.
        Shadow RAM verification started.
        Shadow RAM verification finished.
        Flash verification started.
        Flash verification finished.
        NVM verification finished.
        Flash update successful.
        Device update successful.
Update security revisions
[00:003:00:00]: Intel(R) Ethernet Controller I226-V
        Skipping update minimum security revisions.
Update VPD with VPD template
[00:003:00:00]: Intel(R) Ethernet Controller I226-V
        Skipping VPD update with VPD template.
Checking update availability for next tool run.
A reboot is required to complete the update process.
Bless your heart for the detailed write-up

Updated 5 (yes, my Zxipc has 5 ports ) from 2.17 to 2.32 without much drama, once I realized that under Windoze the current state the currently used network port will be only partiality read, resulting in a VPD error in inventory.
Just do the other ports, once satisfied, move the cable to one of the upgraded ones.

FWIW, my i226v are Rev 4 (that would be C0 I assume) and I needed the 2MB file 80000422.
 

jauling

Member
Jan 7, 2025
36
8
8
Amsterdam
Bless your heart for the detailed write-up

Updated 5 (yes, my Zxipc has 5 ports ) from 2.17 to 2.32 without much drama, once I realized that under Windoze the current state the currently used network port will be only partiality read, resulting in a VPD error in inventory.
Just do the other ports, once satisfied, move the cable to one of the upgraded ones.

FWIW, my i226v are Rev 4 (that would be C0 I assume) and I needed the 2MB file 80000422.
Did you go direct to 2.32 from 2.17? No need to mess with 2.23? Did you also update all 5 at a time and reboot once? Thanks!

When I ran ./nvmupdate64e -i -l -o inventory.xml, I can see the ETrackId, but the NVM Version says it's 2.23(2.17). Not really sure what that means; maybe I'm on 2.23 and that 2.17 is the version before? Regardless, I guess I can go to 2.32 directly it seems?
 

audit13

Member
Jun 26, 2024
84
24
8
I went to 2.32 from 2 x Bosgame n100 mini PC with 1 x i226v and 2 x Topton n100 with 4 x i226v. Not sure what the old firmware was but it didn't seem to matter because all NICs were at 2.32 after the flash.

I did the upgrade in Windows as I'm terrible with command line.
 
Last edited:

slybunda

Active Member
Jan 30, 2023
210
119
43
took out the 64gb forsee ssd and dropped in the optane drive 16gb drive. reinstalled opnsense and restored config. now 30% storage is used. 64gb drive was a waste in this router box.
 

audit13

Member
Jun 26, 2024
84
24
8
took out the 64gb forsee ssd and dropped in the optane drive 16gb drive. reinstalled opnsense and restored config. now 30% storage is used. 64gb drive was a waste in this router box.
How are the temps with Optane installed?

To help reduce the heat, I turned my Topton n100 upside down and sat it on a slow-spinning 120 mm USB-powered fan to blow air against the case fins. I then placed another slow-spinning fan on the bottom of the case which is now facing up to pull air away from Topton. This help reduce the average temp buy 2 to 3 °C.
 

slybunda

Active Member
Jan 30, 2023
210
119
43
How are the temps with Optane installed?

To help reduce the heat, I turned my Topton n100 upside down and sat it on a slow-spinning 120 mm USB-powered fan to blow air against the case fins. I then placed another slow-spinning fan on the bottom of the case which is now facing up to pull air away from Topton. This help reduce the average temp buy 2 to 3 °C.
here you go

smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 40 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 7,107 [3.63 GB]
Data Units Written: 10,636 [5.44 GB]
Host Read Commands: 206,577
Host Write Commands: 174,650
Controller Busy Time: 0
Power Cycles: 4
Power On Hours: 40
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


running 40c.
also notice even though i got logging to ram turned on it still writes around 1gb a day to the ssd.
that would be then 365gb a year so even a drive with 10tbw rating will last a decade
 

Ipse

New Member
Aug 21, 2022
19
9
3
Did you go direct to 2.32 from 2.17? No need to mess with 2.23? Did you also update all 5 at a time and reboot once? Thanks!

When I ran ./nvmupdate64e -i -l -o inventory.xml, I can see the ETrackId, but the NVM Version says it's 2.23(2.17). Not really sure what that means; maybe I'm on 2.23 and that 2.17 is the version before? Regardless, I guess I can go to 2.32 directly it seems?
I upgraded one port, rebooted, checked inventory and found that it took the firmware, therefore I blasted the other 4 ports (remember that in Windows the active port can't be read properly, so I needed to keep moving the cable) and after one last reboot, all ports looked fine.
2.17->2.32 didn't even cross my mind to go in steps as I haven't seen any suggestions that it's a concern.
BTW...2.17 seems to be in hex, that would be 2.23 decimal. Same with 2.32/2.50

Needless to say...I didn't see any changes in the limited time I played with the updated ports.
I just received my 16GB Optane M10 yesterday, so I'll finish the build this weekend - pfSense to replace /backup my 3 year old N5105 sibling.
 

Ipse

New Member
Aug 21, 2022
19
9
3
here you go

smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 40 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 7,107 [3.63 GB]
Data Units Written: 10,636 [5.44 GB]
Host Read Commands: 206,577
Host Write Commands: 174,650
Controller Busy Time: 0
Power Cycles: 4
Power On Hours: 40
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


running 40c.
also notice even though i got logging to ram turned on it still writes around 1gb a day to the ssd.
that would be then 365gb a year so even a drive with 10tbw rating will last a decade
I noticed that if smartctl can't read the SSD sensor, it will report 40C. So I'm taking that with a grain of salt (3 SSDs I had show the same temp).

Also...1GB/day??? With logging to Ramdisk? That seems excessive. I have that kind of setup and average 5-10MB /day.
I don't use any PPS packages like Suricata or Snort - those are really chirpy.
 

audit13

Member
Jun 26, 2024
84
24
8
here you go

smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 40 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 7,107 [3.63 GB]
Data Units Written: 10,636 [5.44 GB]
Host Read Commands: 206,577
Host Write Commands: 174,650
Controller Busy Time: 0
Power Cycles: 4
Power On Hours: 40
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


running 40c.
also notice even though i got logging to ram turned on it still writes around 1gb a day to the ssd.
that would be then 365gb a year so even a drive with 10tbw rating will last a decade
Thanks for the info. Just checked mine and temp is much higher at 51°C.

SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 51 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 5,641 [2.88 GB]
Data Units Written: 31,340 [16.0 GB]
Host Read Commands: 169,387
Host Write Commands: 524,226
Controller Busy Time: 0
Power Cycles: 7
Power On Hours: 143
Unsafe Shutdowns: 3
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


No crashes or reboots so the drive looks to okay with running around this temperature.

Not sure why there are unsafe shutdowns since the only time I reboot is from the OPNsense GUI.
 

slybunda

Active Member
Jan 30, 2023
210
119
43
I noticed that if smartctl can't read the SSD sensor, it will report 40C. So I'm taking that with a grain of salt (3 SSDs I had show the same temp).

Also...1GB/day??? With logging to Ramdisk? That seems excessive. I have that kind of setup and average 5-10MB /day.
I don't use any PPS packages like Suricata or Snort - those are really chirpy.
Temp sensor deffo works just checked now

smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 39 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 7,111 [3.64 GB]
Data Units Written: 11,317 [5.79 GB]
Host Read Commands: 206,608
Host Write Commands: 202,067
Controller Busy Time: 0
Power Cycles: 4
Power On Hours: 50
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


Temp at 39c. Iv got a heatsink on it too so that's probably why temps are lowish.

Can see from this reading that the drive write has gone up since my first post showing this ssd stats.
Iv.even turned off rrd logging so not sure why it writes so much. 1gb a day may have been over estimated. Probably under 500mb a day
 

Ipse

New Member
Aug 21, 2022
19
9
3
Temp sensor deffo works just checked now

smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
Critical Warning: 0x00
Temperature: 39 Celsius
Available Spare: 100%
Available Spare Threshold: 0%
Percentage Used: 0%
Data Units Read: 7,111 [3.64 GB]
Data Units Written: 11,317 [5.79 GB]
Host Read Commands: 206,608
Host Write Commands: 202,067
Controller Busy Time: 0
Power Cycles: 4
Power On Hours: 50
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0


Temp at 39c. Iv got a heatsink on it too so that's probably why temps are lowish.

Can see from this reading that the drive write has gone up since my first post showing this ssd stats.
Iv.even turned off rrd logging so not sure why it writes so much. 1gb a day may have been over estimated. Probably under 500mb a day
Yep, I managed to install mine and it does have a readable temp sensor...mine is at 44C idle. Maybe I'm spending more on heating than you :p
The weird thing (but not unique to this ssd) is that it doesn't support self-test.

Anyhow, I ordered 2 more to replace every one of the firewalls, low storage appliances.
Recovering 128 and 256GB nvme drives is becoming critical at the current prices....2 years ago I got a 1TB NVMe 3.0x4 for 25$. Today it's over 100$ :mad:

BTW, I finally managed to put pfSense on the little 5 port Zxipc and all looks good. Some tweaking required as I don't quite get why the CPU never drops below 1GHz despite PL1=8w. System is set to "maximum efficiency"...
 

slybunda

Active Member
Jan 30, 2023
210
119
43
Same here managed to recover a 64gb nvme since flash is now expensive.
Also is there a way in opnsense to see what is causing the writes to disk?
 

slybunda

Active Member
Jan 30, 2023
210
119
43
Managed to find out what was causing the high disk writes. Host watch and crowdsec. Host watch was the main one which iv delt with now so will see how things go
 

Ipse

New Member
Aug 21, 2022
19
9
3
Just polling the hive mind here....is there a solution for pfSense (and FreeBSD in general) to properly handle N100 family of chips?
Mine never drops to 600-800Mhz no matter what PL1 I configure and also never gets in turbo mode.
Looks like this is been amply discussed on Reddit and FreeBSD forums but I haven't seen any progress....many loader.conf suggestions, butnone that works.
Not the biggest deal, but this is now close to a 3 years old CPU.

PS. Fun fact : if I severely cut PL1 to 6w, it ONLY drops to 600Mhz (and becomes sluggish as hell) when running a stress test and CPU is at 100%. Very a$$-backwards from what I expected.

Needles to say, Windoze doesn't have this problem.

PPS. The other 2 Intel Optane M10 arrived and quickly substituted one in my N5105 firewall - it's showing 55-57C in a box where a Chinese Kinghank showed 41-42C.
It does seem that the Optane has a reputation for running hot (older lithography and components), but this is something I need to keep an eye on, as the cron is set to log VERY infrequently, so the high temps are at pure idle.
 
Last edited:

Ipse

New Member
Aug 21, 2022
19
9
3
My pfSense dashboard never reports lower CPU frequency than 1410MHz, heh. I didn't mess with BIOS.
I noticed that 25.11 did report properly on my N5105, now even that one is messed up in 25.11.1
If you look at sysctl dev.cpu.0..3.freq it shows lower frequencies, but NEVER below 1Ghz.
Also temps are messed up...dashboard shows higher ones.

I think that they messed up the script pulling CPU data in 25.11.1 and 2.8.1 CE....if you run
sysctl -a |grep freq / temperature you will get the high values, if you poll individually, you get correct numbers.

It's almost like running "sysctl -a" itself spikes the CPU because there's so much data- and this seems to be what the dashboard is doing.
 
Last edited: