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.

Apachez

New Member
Jan 8, 2025
25
13
3
I recently got this as reply from CWWK regarding latest BIOS-update for the CW-AL-4L-V2.0:

Which is Google translated into:

BIOS update
/
1. Intel mini host series BIOS
/
1. 12th generation AlderLake-U-P-N full series
/
1. 12th generation AlderLake-N Pioneer 4-net N95-N100-N200-N305 series-V1-V2
/
2. 12th generation AlderLake-N Pioneer 4-net series-V2
/
AlderLake-N Pioneer 4-net N100-N200-I3-N305-V2_factory default original version
/
CW-AL-4L-V2.0 (Pioneer 4-net N100-N200-I3-N305-V2 factory default original version) 2023.09.27.iso
Based on the date this BIOS is older than the one already in the unit?

Or how do one interpret 11/08/2023 into the ISO standard of YYYY-MM-DD? :)

Edit:

I think they just send the wrong URL to me...

Looking in the ISO in /EFI/BOOT/startup.nsh I see this:

Code:
echo ""
echo "     ***********************************************"
echo "     ***       CW-N100-4L V2  Pioneer Edition    ***"
echo "     ***          CW-NVMe PCIe3.0 x4 M.2         ***"
echo "     ***              By QQ 229828059            ***"
echo "     ***********************************************"
echo ""
Unless CW-N100-4L V2 is the same thing as CW-AL-4L-V2.0 N305?
 
Last edited:

IdleSlipper

New Member
Dec 18, 2024
13
8
3
Just got round to do further testing:
1736438216458.png

Temperatures looks to be fine, except for sensor 1 which is showing around 70C, it's a brand new drive so wondering if it's defective!
Code:
nvme-pci-0100
Adapter: PCI adapter
Composite:    +50.9°C  (low  = -40.1°C, high = +83.8°C)
                       (crit = +87.8°C)
Sensor 1:     +71.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +47.9°C  (low  = -273.1°C, high = +65261.8°C)
 

Apachez

New Member
Jan 8, 2025
25
13
3
Nah, thats common.

I dont recall which one is which and might differ between vendors and models but one is the controller itself (at the NVMe PCB) usually the hotest one and the other is the flash memory (at the NVMe PCB). If you got three of them I would expect that one is also the DRAM or pSLC itself if such exists on the NVMe.

Then the "composite" is the one you will actually look at to consider if its too hot or not.

Here is for example how my setup looks like:

- Box: CW-AL-4L-V2.0 N305 (configured for CPU PL1/PL2 and Platform PL1/PL2 set to 15W and enabled ASPM - placed vertically (front face down) with bottom plate currently removed).
- RAM: Crucial DDR5-5600 48GB SODIMM.
- Storage: 2x Micron 7450 MAX 800GB (with heatsink Be Quiet MC1 PRO).
- OS: Proxmox 8.3.

Code:
nvme-pci-0100
Adapter: PCI adapter
Composite:    +61.9°C  (low  = -20.1°C, high = +76.8°C)
                       (crit = +84.8°C)
Sensor 1:     +69.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +64.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 3:     +61.9°C  (low  = -273.1°C, high = +65261.8°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +41.0°C  (high = +105.0°C, crit = +105.0°C)
Core 0:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 2:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 3:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 4:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 5:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 6:        +38.0°C  (high = +105.0°C, crit = +105.0°C)
Core 7:        +38.0°C  (high = +105.0°C, crit = +105.0°C)

nvme-pci-0400
Adapter: PCI adapter
Composite:    +63.9°C  (low  = -20.1°C, high = +76.8°C)
                       (crit = +84.8°C)
Sensor 1:     +71.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +66.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 3:     +63.9°C  (low  = -273.1°C, high = +65261.8°C)
 
  • Like
Reactions: IdleSlipper

IdleSlipper

New Member
Dec 18, 2024
13
8
3
Thanks, I was getting ready to do an amazon return and looking for replacement. For reference I am also CW-AL-4L-V2.0 N305, the drive in question is a Patriot P300 512gb.
The second drive is 2tb SN770 whose temperature are more sensible <50C.
 

Apachez

New Member
Jan 8, 2025
25
13
3
You can do "smartctl -a /dev/nvmeX" to find out the power states available for your drives to get a hint of power usage of them.

In my case the output looks like:

Code:
Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     8.25W       -        -    0  0  0  0        0       0
 1 +     7.00W       -        -    1  1  1  1        0       0
 2 +     6.00W       -        -    2  2  2  2        0       0
 3 +     5.00W       -        -    3  3  3  3        0       0
 4 +     4.00W       -        -    4  4  4  4        0       0
So if you have ASPM disabled they will probably idle at 8.25W (or whatever settings yours have).

Im gonna write down and post my BIOS-settings in a few weeks when I have verified everything but enabling ASPM (and disable L1 Substates on the PCIe Root Ports where the NICs are placed) should be a good start.

Another thing is to verify if APST is supported on your drives:

Code:
nvme get-feature /dev/nvmeX -f 0x0c -H
My Micron 7450 MAX doesnt seem to support this so the output of above becomes:

Code:
NVMe status: Invalid Field in Command: A reserved coded value or an unsupported value in a defined field(0x4002)
And if you for whatever reason want to limit the max power state being used you can do this with (example to set PS=2 as max power state and save it so it will survive reboots):

Code:
nvme set-feature /dev/nvmeX -f 2 -v 2 --save
To verify current settings:

Code:
nvme get-feature /dev/nvmeX -f 2 -H
In my case with PS=0 (default) the output looks like:

Code:
get-feature:0x02 (Power Management), Current value:00000000
    Workload Hint (WH): 0 - No Workload
    Power State   (PS): 0
Note that you might need to reset the NVMe after the changed settings (or just reboot the device).

A reset without rebooting should be as easy as:

Code:
nvme reset /dev/nvmeX
For more info see: Solid state drive/NVMe - ArchWiki
 

Apachez

New Member
Jan 8, 2025
25
13
3
While at it if you are going to use ZFS (or just in general) I would recommend to reformat the NVMe's (before use since a reformat will lose all data) to use 4kbyte blocksize instead of 512 bytes.

Archlinux WIKI have a great writeup on this:


But in a summary:

Find out current settings:

Code:
nvme id-ns -H /dev/nvme0n1 | grep "Relative Performance"
To reformat a current namespace into using 4k blocks (note that all current data in this namespace will be lost):

Code:
nvme format --lbaf=1 /dev/nvmeXnY
To do a secure erase (I prefer to do this with all my drives before first use no matter if they are used or new):

Code:
nvme format /dev/nvmeX -n 0xffffffff -ses=2

nvme delete-ns /dev/nvmeX -n 1
Note that above will also delete the current namespace (/dev/nvmeXn1) since I will recreate it anyway.

Then run this script to create a new namespace (which also will have 4k blocks enabled by default):

Code:
#!/bin/bash

DEVICE="/dev/nvmeX"
BLOCK_SIZE="4096"

CONTROLLER_ID=$(nvme id-ctrl $DEVICE | awk -F: '/cntlid/ {print $2}')
MAX_CAPACITY=$(nvme id-ctrl $DEVICE | awk -F: '/tnvmcap/ {print $2}')
AVAILABLE_CAPACITY=$(nvme id-ctrl $DEVICE | awk -F: '/unvmcap/ {print $2}')
let "SIZE=$MAX_CAPACITY/$BLOCK_SIZE"

echo
echo "max is $MAX_CAPACITY bytes, unallocated is $AVAILABLE_CAPACITY bytes"
echo "block_size is $BLOCK_SIZE bytes"
echo "max / block_size is $SIZE blocks"
echo "making changes to $DEVICE with id $CONTROLLER_ID"
echo

# LET'S GO!!!!!
nvme create-ns $DEVICE -s $SIZE -c $SIZE -b $BLOCK_SIZE
nvme attach-ns $DEVICE -c $CONTROLLER_ID -n 1
Source of the script: Messing around with NVMe namespaces - HackMD

Note that in my examples I have removed the actual nvme you work on.

That is if its nvme1 you want to change you need to replace nvmeX with nvme1 same with namespace if its written as nvmeXnY then (for example of nvme1 namespace1) you need to change that into nvme1n1.

I do this so the script should be fairly safe if you just copy paste it and accidently try to run it.

Also all commands needs root previleges so do that by first running "sudo bash" and then run the commands needed on your NVMe's and finally reboot the device (and after reboot verify the settings).

And finally I would highly recommend to do this when booting from a USB-drive with SystemRescue (SystemRescue - Download) or similar.
 

Apachez

New Member
Jan 8, 2025
25
13
3
Yeah I do but that didnt help with the default settings in BIOS (where ASPM is disabled and Plattform PL1 was set to 20W and other PL1/PL2 settings are disabled which means they will default to 35W for the N305) and the NVMe along with RAM is placed at the bottom of the unit with a bottom plate covering it all. And no fan to top it off :)
Im using Be Quiet MC1 PRO heatsink (who got a heatpipe builtin) from the first boot of the unit.

Resulted in +100/105C on the NVMe's after running Memtest86+ 7.20 for a few minutes (bottom plate was on and the unit was placed with its feets pointing to the desk aka horizontally).

After adjusting BIOS-settings (enable ASPM, setting all PL1/PL2 to 15W), removing the bottom plate and placing the unit vertically (face down) the NVMe temps are down to +60-65C during load.

Im gonna put the bottom plate back once I have received the Noctua NF-A8 5V PWM. Will mount that externally on the bottom plate so it will suck the heat out of the compartment where the NVMe's (2 of them in my case) and the RAM is located - will still have it placed on its face (vertically so the bottom plate will point sideways).
 
  • Like
Reactions: IdleSlipper

slybunda

Active Member
Jan 30, 2023
153
87
28
I've got one laying around somewhere, how much temp difference was there pre/post heat sink?
Iv used the 64gb SSD from steam deck so it runs fine without heatsink around 45c. Now it's around 30c with heatsink. It is a low power drive even without aspm. Ideal for this application.
I did give detailed info on a link earlier in one of the posts for nvmes and power consumption
 

newabc

Well-Known Member
Jan 20, 2019
484
255
63
CWWK announced a mini PC N150/N355 with quad 2.5G NICs + dual SATA ports + dual m.2
The below video are introducing how to combine it and a 3d-printed case to hold 2 3.5 inch HDDs.
The video is in Chinese language:

I checked the taobao link in its commence area, around 800rmb ( without the larger 3d-printed cage in the video and without promotion coupon). (1 usd to around 7.3 rmb)

Update: Looks like the previous 6-NICs mini PC can also do that if it has a proper 3d-printed case.
Update2: Looks like if its customer locates in China and orders above N150/N355 mini PC before the Chinese new year, below video said the 3d-printed cage will be a gift to them.
 
Last edited:

Apachez

New Member
Jan 8, 2025
25
13
3
Of course N355 gets released weeks after I got my N305. Seems to be some kind of laws of nature when it comes to buying computer gear...


In the above video it looks like they got rid of the M.2 2280 adapterboard and now have 2x M.2 2280 directly on the board itself?

Wonder what PCIe gen and lanes they got for those M.2 slots (the older editions had something like Gen3 x4 for the onboard M.2 slot and Gen3 x1 for the M.2 slot through the adapterboard)?

Also seems to be 4 additional screws close to the CPU, wonder how that one looks at the opposite side of the board (the CPU side)?

Here are the N355 specs (couldnt locate N150):


To be compared with the 2 year older N305 and N100:


 

splifingate

Member
Oct 7, 2023
59
48
18
Iv used the 64gb SSD from steam deck so it runs fine without heatsink around 45c. Now it's around 30c with heatsink. It is a low power drive even without aspm. Ideal for this application.
I did give detailed info on a link earlier in one of the posts for nvmes and power consumption
I use two of these attached to my P31's in my AL4L Unit:


Every little bit counts.
 
  • Like
Reactions: IdleSlipper

pigr8

Active Member
Jul 13, 2017
97
100
33
Of course N355 gets released weeks after I got my N305. Seems to be some kind of laws of nature when it comes to buying computer gear...


In the above video it looks like they got rid of the M.2 2280 adapterboard and now have 2x M.2 2280 directly on the board itself?

Wonder what PCIe gen and lanes they got for those M.2 slots (the older editions had something like Gen3 x4 for the onboard M.2 slot and Gen3 x1 for the M.2 slot through the adapterboard)?

Also seems to be 4 additional screws close to the CPU, wonder how that one looks at the opposite side of the board (the CPU side)?

Here are the N355 specs (couldnt locate N150):


To be compared with the 2 year older N305 and N100:


the new refresh is just a classic intel dick move with a little to no spec bump (cpu and gpu clock) and nothing else, it's not even worth testing it out compared to the pre-refresh gen.
 

jauling

New Member
Jan 7, 2025
4
1
3
Amsterdam
Is anyone mounting their N100 4 port device vertically, on a wall mount (bottom against the wall)? Fanless? This is how I plan to mount mine in my meter closet.
I'm theorizing that the longer fin case (variant c) probably has the best heat dissipation?
Screenshot 2025-01-13 at 18.06.11.png

I'd like to consider vertically wall mounting it with the ports on the left/right sides (instead of top/bottom), mainly to limit port dust ingress, but also thinking I could slap a heatsink on the top side. Maybe I should consider a case with flatter sides with more surface contact for taping/gluing on a heatsink? Or is vertically mounting this without a fan really just a poor idea? It'll just be doing router duties and no NVMe.
 

Apachez

New Member
Jan 8, 2025
25
13
3
I think the "variant c" is the most benefitial of them all by the look of it regarding thermals.

Problem is that there seems to exist variants within these variants but if yours will have heatpipes its of course a better option than to not having that as my unit do (which is a variant of variant b with the Y fins).

Regarding mounting I would try to repaste the unit also to verify that you dont have that gap between the CPU and the heatsink as some have reported (mine didnt seem to have it but I repasted my unit anyway using Thermal Grizzly Kryonaut). Note that there are thermal paste both between the copper block (or whatever it is) and the heatsink aswell as between the copper block and the CPU. If yours have a gap either RMA the unit or use one or more shims to fill that gap. Another solution is of course to use a high quality thermal pad (instead of shims + thermal paste) but they rarely have better performance than thermal paste since the point of using each is to have material instead of air between the heatsource and the heatsink. Where is material itself is still worser than perfect contact between the heatsource and the heatsink.

To get rid of the old thermal paste just use isopropanol to wipe that off before applying new thermal paste.

Then when you mount it verticially I would prefer to have those "valleys" verticial. That is in your picture having the ports facing either straight up or straight down. This way the little airmovement when air gets heated up by the heatsink will help, even if its very little, to produce a drag over these fins instead of "trapping" the heat which would be the case if those fins would be horizontal.

The most critical parts of these units seems to be BIOS settings where enabling ASPM and adjusting both CPU and Platform PL1 and PL2 seems to be what helps most.

Depending on CPU that you select you should set PL1 and PL2 to the same value. Yes this will effectively disable turbo boost but at the same time you will have control of both the performance AND powerusage and by that heat produced.

For a N100 I would go for 6W (value 6000 in the BIOS) and for a N305 (or the newer N355) I would go for 15W (value 15000 in the BIOS) which matches the TDP defined by below datasheets:




Another critical part is the compartment where the NVMe and SSD is located.

Here you need to test if you can manage this without a fan or not. Another workaround is to remove the bottomplate so the heat can escape on its own (which probably isnt an option for you).

Putting heatsinks on NVMe's will help some but without some airmovement (using a fan) the help from using heatsinks on the NVMe will be minimal, specially if you like me have 2x NVMe located in that area.

There are NVMe's which by reports seems to produce less heat than others (they are more aggressive in powersaving).

For example the SK Hynix Gold P31 and Platinum P41:



Aswell as the Solidigm P41 Plus and P44 Pro



Using a heatsink such as Be Quiet MC1 PRO is probably a good thing anyway:


And if you select a SATA SSD you should check up their power usage aswell.

Kingston DC600M and DC600ME seems to be decent and they also have PLP (Power Loss Protection):


When it comes to fans you can select either one thats mounted on the inside of the bottom plate or the outside of it.

If you go for being mounted on the inside you can connect it to internal PWM connector and have that being managed by the BIOS (or some software in your OS) or if using external you can use for example the Noctua NF-A8 5V PWM which comes with a USB-adapter:


If you will use a SATA SSD that will be mounted on the bottom plate so you then cant have an internal fan.

And no matter if you use an internal or external fan for it to be effective it will also need somewhere to get rid of the heated air so if you will wallmount your unit you would need to get some, I dunno what the technical term is, distance brackets to create a gap between the unit and the wall itself.

Using a VESA mount will most likely just trap the heat within the box and a workaround for that would be to use a 12cm fan and strap that to the heatsink fins (the part that will be pointed outward facing you when you use a VESA mount on the bottom plate) but most effective way to lower the temp in the RAM/SSD/NVMe compartment is to have a fan directly in that area to remove the heated air.

After all no matter which setup you end up with verify the thermals by running Memtest86+ for some hours (which will also confirm that the CPU and RAM is fine) and then take a look at the temperatures of your storage devices. NVMe's will go into readonly mode when their temp passes about +85C (+185F).

I would boot Memtest86+ using a USB, same with verifying the temps afterwards then I would USB boot SystemRescue to verify that:


 

Apachez

New Member
Jan 8, 2025
25
13
3
Memtest86 shows temperatures , I use v11
I think it will only show the temp of the CPU and not the storage which is also good to know.

For example in my case with default BIOS settings that was leading to overheating the CPU reported +70C while the NVMe's ended up at +100-105C.

With tuned settings the CPU is now at 45-50C during full load and the NVMe's are at +60-65C.
 
  • Like
Reactions: KevinR

jauling

New Member
Jan 7, 2025
4
1
3
Amsterdam
I haven't seen anyone mention this, but there are N100 4 port versions like this one that have a (supposedly?) bootable TF card slot. For something that just is doing networking duties, bypassing NVMe and going TF card should buy quite a bit of cooling too I'd think?

Edit: seems same as this CWWK model.

I think the "variant c" is the most benefitial of them all by the look of it regarding thermals.

Problem is that there seems to exist variants within these variants but if yours will have heatpipes its of course a better option than to not having that as my unit do (which is a variant of variant b with the Y fins).

Regarding mounting I would try to repaste the unit also to verify that you dont have that gap between the CPU and the heatsink as some have reported (mine didnt seem to have it but I repasted my unit anyway using Thermal Grizzly Kryonaut). Note that there are thermal paste both between the copper block (or whatever it is) and the heatsink aswell as between the copper block and the CPU. If yours have a gap either RMA the unit or use one or more shims to fill that gap. Another solution is of course to use a high quality thermal pad (instead of shims + thermal paste) but they rarely have better performance than thermal paste since the point of using each is to have material instead of air between the heatsource and the heatsink. Where is material itself is still worser than perfect contact between the heatsource and the heatsink.

To get rid of the old thermal paste just use isopropanol to wipe that off before applying new thermal paste.

Then when you mount it verticially I would prefer to have those "valleys" verticial. That is in your picture having the ports facing either straight up or straight down. This way the little airmovement when air gets heated up by the heatsink will help, even if its very little, to produce a drag over these fins instead of "trapping" the heat which would be the case if those fins would be horizontal.

The most critical parts of these units seems to be BIOS settings where enabling ASPM and adjusting both CPU and Platform PL1 and PL2 seems to be what helps most.

Depending on CPU that you select you should set PL1 and PL2 to the same value. Yes this will effectively disable turbo boost but at the same time you will have control of both the performance AND powerusage and by that heat produced.

For a N100 I would go for 6W (value 6000 in the BIOS) and for a N305 (or the newer N355) I would go for 15W (value 15000 in the BIOS) which matches the TDP defined by below datasheets:




Another critical part is the compartment where the NVMe and SSD is located.

Here you need to test if you can manage this without a fan or not. Another workaround is to remove the bottomplate so the heat can escape on its own (which probably isnt an option for you).

Putting heatsinks on NVMe's will help some but without some airmovement (using a fan) the help from using heatsinks on the NVMe will be minimal, specially if you like me have 2x NVMe located in that area.

There are NVMe's which by reports seems to produce less heat than others (they are more aggressive in powersaving).

For example the SK Hynix Gold P31 and Platinum P41:



Aswell as the Solidigm P41 Plus and P44 Pro



Using a heatsink such as Be Quiet MC1 PRO is probably a good thing anyway:


And if you select a SATA SSD you should check up their power usage aswell.

Kingston DC600M and DC600ME seems to be decent and they also have PLP (Power Loss Protection):


When it comes to fans you can select either one thats mounted on the inside of the bottom plate or the outside of it.

If you go for being mounted on the inside you can connect it to internal PWM connector and have that being managed by the BIOS (or some software in your OS) or if using external you can use for example the Noctua NF-A8 5V PWM which comes with a USB-adapter:


If you will use a SATA SSD that will be mounted on the bottom plate so you then cant have an internal fan.

And no matter if you use an internal or external fan for it to be effective it will also need somewhere to get rid of the heated air so if you will wallmount your unit you would need to get some, I dunno what the technical term is, distance brackets to create a gap between the unit and the wall itself.

Using a VESA mount will most likely just trap the heat within the box and a workaround for that would be to use a 12cm fan and strap that to the heatsink fins (the part that will be pointed outward facing you when you use a VESA mount on the bottom plate) but most effective way to lower the temp in the RAM/SSD/NVMe compartment is to have a fan directly in that area to remove the heated air.

After all no matter which setup you end up with verify the thermals by running Memtest86+ for some hours (which will also confirm that the CPU and RAM is fine) and then take a look at the temperatures of your storage devices. NVMe's will go into readonly mode when their temp passes about +85C (+185F).

I would boot Memtest86+ using a USB, same with verifying the temps afterwards then I would USB boot SystemRescue to verify that:


 
Last edited: