Dell XPS 15 fan control

genji3000

Member
Hello,

is it possible to use the fan control for the Dell XPS 15 (L502x).
I tried it and it seemed not to work.
As Super-IO/LPC-chip is SMSC SCH5317 in the HWInfo screen.
In the fan control lookup table I choose 'Dell EC' and set all temperatures to 1187 RPM.
Is this correct?

The fan starts spinning at medium or maximum when it reaches 55C. Sometimes every 10 sec and for about 5 sec. Even when it is idle.

I would be very happy if that would be possible.
 
Does manual fan control work?
Can you send me the HWiNFO Debug File when applying a manual fan control command?
 
Martin said:
Does manual fan control work?
Can you send me the HWiNFO Debug File when applying a manual fan control command?

Hi Martin,

thank you very much for your answer.

I have the impresssion manual fan control do not work.
Attached you find a hwinfo file. Is that okay?
 
Sorry, I meant the Debug File. You need to enable Debug Mode in HWiNFO and then try fan control, close HWiNFO and then attach the DBG file it produced.
 
Martin said:
Sorry, I meant the Debug File. You need to enable Debug Mode in HWiNFO and then try fan control, close HWiNFO and then attach the DBG file it produced.

I make a DBG file. It was too large so I have to shorten it. I hope it is fine.
 

Attachments

I'm sorry, but I need a full debug file. Please compress it using ZIP or similar and attach.
 
Martin said:
I'm sorry, but I need a full debug file. Please compress it using ZIP or similar and attach.

I see. I have attached a new file. I still have to shorten it, because the original size is about 8MB.
 

Attachments

The 1187 RPM level is invalid and in fact means 0 RPM (off).
I'll fix this is the next build. The other levels should be working...
 
Martin said:
The 1187 RPM level is invalid and in fact means 0 RPM (off).
I'll fix this is the next build. The other levels should be working...

I see. The fon control lookup table allows only 3 different values: 1187, 2800 and 4200. Now I find it is working. :D
If I change the values to 2800 or 4200 the fan is rotating with that speed. If I set all temperatures up to 60C to 1187 the fan still starts sometimes.
It would be nice if I could also set 1200 for example. Do you know why it is not possible, is it in the bios?
 
I'm sorry, but firmware on this machine doesn't allow to use values other than 0, 2800 and 4200 RPM.
 
Martin said:
I'm sorry, but firmware on this machine doesn't allow to use values other than 0, 2800 and 4200 RPM.

Thank you for your answer.
So that mean that the XPS only supports 3 states of fan speed, 0, 2800 and 4200.
And it is all up to Dell to publish a BIOS that supports also other fan speeds, right?
 
That might be correct in some cases :)
In either case, the interface used for fan control allows only these speeds.
It might be possible to set any RPM level by directly communicating with the fan controller (or EC in case it's controller by the Embedded Controller). However this is not implemented in HWiNFO, because it's proprietary designed.
 
hey; i also got a XPS 15 and i just installed HWiNFO, though u can't find the "fan control"... also read through other threads and plugin pages but i could not find anything like that.. Could someone tell me how to set fan speed to 0 for example?
thanks in advance
Great Tool btw. Martin=)
 
If fan control is supported on particular model, then you should see a fan icon at the bottom of the Sensors window. That leads then to the fan control options.

AttaK said:
hey; i also got a XPS 15 and i just installed HWiNFO, though u can't find the "fan control"... also read through other threads and plugin pages but i could not find anything like that.. Could someone tell me how to set fan speed to 0 for example?
thanks in advance
Great Tool btw. Martin=)
 
thank you its working pretty well... though my system got "hickups " and every few seconds it does not respond for half a second... anything i can do about that or is it "normal"?
greez
 
Try to disable some of the DELL EC sensor values if you don't need them to be monitored (right-click -> Disable Monitoring). If that won't help, try the same with other sensors, which one is causing it.

AttaK said:
thank you its working pretty well... though my system got "hickups " and every few seconds it does not respond for half a second... anything i can do about that or is it "normal"?
greez
 
In response to original thread: http://forum.techinferno.com/hwinfo32-64-discussion/65-alienware-fan-control-83.html#post39152

Let me start from beginning and since you seem to have technical background, I can go into details :)
I suppose the IT8518E is just one of several dozens of different Embedded Controllers (EC). Which EC chip is used on a particular system doesn't matter much in terms of fan control. The important thing is the program that this EC runs (firmware). It's a proprietary piece of system and is usually developed by ODMs. So even in case of DELL, this part can be designed by Quanta, Compal, etc.. They design the core and add DELL-specific requirements. Now we come to the point - usually parts developed by a particular ODM (including EC firmware) follow their own internal design and thus work similar for several platforms. So for example you can have a Toshiba notebook and an Alienware/DELL notebook which both were designed by the same ODM (e.g. Compal). The point is that on both of them you can control the fans using the same method :) This means esentially, that the Host-EC interface and EC RAM layout (which you check/modify in RW-Everything) is very similar.
Now, every notebook/model is designed using different concepts from different ODMs. This means that there's no universal method to control all such systems.. It's very hard to determine particular implementation and EC registers and their meaning.
Now let's go a bit back. The ODM (e.g. Compal) designs a board for an OEM (e.g. DELL). But DELL has its own requirements and adds something to that design. DELLDIAG - their own system for diagnosing, monitoring and controlling the computer. So DELLDIAG has an uniform top interface to the host (proprietary) and on the bottom interfaces with ODMs implementation including the EC (and fan control).
So for most DELL machines it's possible to access/control proprietary components using an uniform interface.
Now the answer to your question - on your notebook, HWiNFO doesn't access the EC directly, but uses the DELLDIAG interface instead. AFAIK, this interface is nowhere in public documented, you can find some details in the i8kfangui sources if you wish. This interface uses software-triggered SMIs to execute the SMM-handler which then transforms the requests to particular system/EC implementation.
Fan control in DELLDIAG also doesn't work directly with fan RPM speeds, but levels instead. So when HWiNFO sets a particular fan speed, it tells the system which level to set. The interface also allows to ask what RPM belongs to a particular fan level. So when you set a certain speed and it doesn't reflect it, then it's probably a fault in the firmware and I can't do much about that.
I hope this helps to understand the situation a bit more ;)
 
Thank you for a quick reply.
Yes, it does make things more clear now... even though I knew most of what you are referring to, the thing about Dell's propitiatory SMI was new to me. My board is actually Intel's Emerald Lake (last resort lol), not Quanta or Compal, the very same board is used in Lenovo B570, ECRM in a complete match, so one should assume the firmware base is the same for both OEMs. Oh, and thanks for the hint on i8kfangui src, much appreciated!
 
@Martin
I know this is an old thread but it seems that controlling fans on Dell systems will forever be a problem. I've been having issues recently with Dell being able to control its fans at all. It seems to set the fans to a static speed shortly after the machine boots, never to be changed again until the next start. HWINFO seems to control the fans well, its just annoying to hear the on/off cycle.

Have you ever tried PWM of the High/Med/Low commands? To explain this, imagine we have 100ms segmented into 10x10ms chunks. If we wanted to achieve a speed between the High/Med we would command the fan at High for some percentage of the chunks and Med for the remainder. This would repeat every 100ms. I don't know how many requests would be necessary to create a somewhat stable frequency, maybe system demand is too high to do so.
 
Back
Top