Watchguard XTM 5 Series
-
Yup, pretty much! Some CPUs seem very difficult to find any 'official' values for. Best guesses seem to work. Mostly.
The ones I did I started with something that was close and added or modified the P state definitions. IIRC there were some ACPI errors/warnings the compiler threw put I was able to correct too.
-
Is Speedstep enabled in the BIOS? It's disabled by default IIRC
-
@stephenw10 I get 5 warnings, 48 remarks, the only ones relating to processor are to use device() instead - which I haven't done, assuming that the legacy processor() one is still OK. I do not have a speedstep option in BIOS, I did look around for one but didn't see anything, this is what I have in the CPU menu:
-
Hmm, you can use cpuctl to read the CPU register directly once it's booted. Been a while since I've tried that.
Normally if Speedstep is disabled though est shows it's unable to attach. Hmm.
-
@stephenw10 cpuctl doesn't seem to be a default installed package
I have tried loading the default unlocked BIOS and comparing it with my modified BIOS in linux, with the default one cpupower gets nothing, with my modified one it gets the values I put in and seemingly it can change the frequency, it just appears to be pfsense that can't for some reason
-
cpuctl is a kernel module, the actual command is
cpucontrol
[2.7.0-RELEASE][admin@t70.stevew.lan]/root: kldstat Id Refs Address Size Name 1 45 0xffffffff80200000 339d810 kernel 2 1 0xffffffff8359e000 5ba0d8 zfs.ko 3 1 0xffffffff83b5a000 76f8 cryptodev.ko 4 1 0xffffffff84120000 2220 cpuctl.ko 5 1 0xffffffff84123000 3248 ichsmb.ko 6 1 0xffffffff84127000 2178 smbus.ko 7 1 0xffffffff8412a000 5ee0 ig4.ko 8 1 0xffffffff84130000 9288 aesni.ko 9 1 0xffffffff8413a000 20e8 coretemp.ko 10 1 0xffffffff8413d000 13808 dummynet.ko [2.7.0-RELEASE][admin@t70.stevew.lan]/root: cpucontrol Usage: cpucontrol [-vh] [-d datadir] [-m msr[=value] | -i level | -i level,level_type | -e | -u] device
-
I don't recall exactly which bit it is but you can read the MSR contaning it to check as shown here: https://forum.netgate.com/post/338671
-
@stephenw10 Doing that I get:
MSR 0x198: 0x47174717 0x06004717
Which is the top speed I have in my DSDT:
Name (_PSS, Package (0x04) // Performance Supported States { // Values below for Intel Xeon L5420 Package (0x06) { 2500, // f in MHz 50000, // P in mW 10, // Transition latency in us 10, // Bus Master latency in us 0x00004717, // value written to PERF_CTL; fid=71 (0x47), vid=23 (0x17) 0x00004717 // value of PERF_STATE after successful transition; fid=71 (0x47), vid=23 (0x17) }, Package (0x06) { 2333, // f in MHz 45800, // P in mW 10, // Transition latency in us 10, // Bus Master latency in us 0x00000715, // value written to PERF_CTL; fid=0x07, vid=0x15 0x00000715 // value of PERF_STATE after successful transition; fid=0x07, vid=0x15 }, ...
Not sure which register the lock bit would be in (or where a list of registers are)
When I was trying c2ctl on linux, I was getting this:
Current Target Min. Max. FID: 71 10 71 71 VID: 23 30 23 23 ESIT_ENABLE = FALSE ESIT_LOCK = TRUE
Which was prior to having inserted the dsdt, does this mean that speedstep is locked and can't be used?
-
Yes, it's disabled and locked. I unlocked it and enabled it in the BIOS mod I did initially: https://forum.netgate.com/post/338671
Looking through my notes from 10 years ago now but... limited!You could just start with the unlocked bios.
-
@stephenw10 I started with the "unlocked 1.9 BIOS" which I got from this thread, I assume your BIOS had the filename "xtm5_83.rom"? If so, looked through that with amibcp and I do not see a "speedstep" option in the BIOS?
-
Ok pretty sure it's bits 16 (enable) and 20 (lock) from MSR 0x1A0:
[2.7.0-RELEASE][admin@t70.stevew.lan]/root: cpucontrol -m 1a0 /dev/cpuctl0 MSR 0x1a0: 0x00000000 0x00850081
EIST is enabled in that box:
[2.7.0-RELEASE][admin@t70.stevew.lan]/root: dmesg | grep est est0: <Enhanced SpeedStep Frequency Control> on cpu0 [2.7.0-RELEASE][admin@t70.stevew.lan]/root: sysctl dev.cpu.0.freq_levels dev.cpu.0.freq_levels: 1601/2000 1600/2000 1520/1900 1440/1800 1360/1700 1280/1600 1200/1500 1120/1400 1040/1300 960/1200 880/1100 800/1000 720/900 640/800 560/700 480/600
-
@stephenw10 Well this is an interesting turn of events, the "unlocked 1.8 unlocked 1.9" BIOS posted by @t-rexky is actually anything but unlocked, I injected my DSDT into your seemingly 10 year older BIOS and instantly from pfSense, speedstep is now working. The UI is a bit jumpy, adding/removing the CPU speed output but it does seem to be working, many thanks!
For anyone else that wants it, I attach my attempts at a xeon L5420 DSDT power table.
-
Nice! Yeah IIRC t-rexky enabled everything that could be enabled in the BIOS setup but I don't think Speedstep/EIST was ever an option there. I had to set the bits in the BIOS directly.
-
@frillyfeather can you please post your modified ROM for the L5420? I want to get this CPU too.
-
They are using the BIOS mod I did ages ago, which has speedstep enabled, in combination with that attached dsdt file.
-
Be warned if you use the Xeon you will get weird temperature readings because the coretemp module of the kernel gets the CPU wrong and sets the wrong thermal values.
I have not yet managed to compile a 2.7 kernel module to fix it.It it's purely cosmetic but I find it annoying.
-
@stephenw10 In other words the same solution that you shared with the e8400?
-
Yes. Just using a different dsdt file.
-
This post is deleted! -
As I have mine in my living room next to where my computer is, I'm generally not even aware of it running. But one of the fans has started a bit of a wobble which caught my ear, though it seems to be gone now. This reminded me of the other day when the fans ramped up and were noticeably loud. I had checked the temps then and they were up around 68C. I went in and checked again after hearing this wobble tonight and I'm hovering around 48C. I don't remember what my average temps were previously. Maybe I've posted them in this thread before, I don't recall.
This all seems to have started after we had a power outage over Christmas while I was away. (Think the power was out for about 5 hours while the UPS probably only lasted about 3 or 4 hours at most.) I had thought I had it configured to auto power on when power was restored, but apparently not. I still need to get in there and set that one of these days. But in any case, when I turned it on after we got home, the fans screeched something terrible for a couple minutes while booting but then calmed down into a slightly louder volume than before, but low enough that you generally don't notice it unless you're listening for it.
So I don't know if the extended shutdown after constant running for so long did something to the fans, or if they're just old, or probably a combination of both. But now I'm thinking I should start looking for some replacement fans. Since I currently have this running and it's also in a slightly annoying spot to access it without having to shut it down and pull it all out, I'd like to ask a few questions that I don't recall having seen posted, though after all these years, it's hard to remember everything. (I tried searching but apparently don't remember how to correctly fine-tune the search results on this site and wasn't able to find anything helpful.)
Since this is on a 1U platform, I'm assuming pretty much any 40mm fan will fit, but does anyone know the depth of the stock fans or the max depth? I'm thinking if I'm going to buy a replacement fan, I'll just replace all 3 and maybe try and go for some quiet Noctua fans or something. Anyone have any suggestions on fans? Does anyone know the size of the fan in the power supply? As of right now, I'm not sure which fan it is that is dying and it could very well be the PS fan that's the culprit. I know these can be slightly more tricky to replace depending on how it's mounted, but I'm fairly sure I can manage without electrocuting myself inside. Any suggestions on a replacement fan for the PS? While my PS is apparently slightly different in that it had 2 SATA power cables instead of 1, I imagine the fan is still the same.
Anyway, thank you in advance for any help and suggestions. It will save me some time from having to find some time when everyone else isn't trying to use the internet to go in and diagnose which fans are dying and then getting the replacements and then bringing it down again to do the actual replacement.