New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Dell notebook computers #56
Comments
Original comment by
|
Original comment by Attachments: |
Original comment by Attachments: |
Original comment by Attachments:
|
Original comment by |
Original comment by |
Original comment by |
Original comment by |
Original comment by |
Would love to see this as atm I can't see any values using Arch Linux. |
Dell Precision 5510 (motherboard: 0N8J4R, cpu: i7-6820HQ) here. Even if we can't do anything about the fans, it would be nice to at least log the fan state. A coworker of mine came in this morning to find my fan going at full-tilt. Edit: Added OpenHardwareMonitor.Report.txt |
It doesn't seem like figuring out the actual registers and finding documentation for proprietary components is a viable option in this case. Dell used many SuperIO chips over the years, none have published registers despite some of them being for 10+ years on the market, and as the hardware becomes obsolete, there would be less and less motivation in supporting them. That said, implementing the Dell-specific diagnostic interface that covers them all seems like the most realistic approach for supporting them and while it would not be as pretty as simply adding another chip into the existing infrastructure, it provides a working solution if there is no other. To see if it works on your machine, run SpeedFan with "Dell Notebook Support" enabled. It does exactly the same thing as the GPL code I linked below and offers RPM readings, temperature measurement, and limited fan speed control. The only real problem seems to be signature enforcement for Windows drivers. Talking to Dell's HW monitor requires running certain code in the kernel, which our WinRing0 cannot do. There is a Windows driver that provides the necessary interface for OHM, but I wasn't able to find any signed builds. Without a signed driver, you'd have to boot the system in test mode. The logistics behind using the interface is described in detail in the linux driver and, once the driver issue is sorted out, porting it to OHM codebase would be trivial. If time permits, I might investigate it further. |
Here is a proof of concept -- there is still some work to be done, but overall it's already quite usable. Currently it depends on a signed closed-source driver with equivalent functionality; the GPL one linked above is a drop in replacement. We "just" need someone to sign it. Monitoring hardware this way incurs a noticeable performance penalty, especially in parallel workloads, and you don't get access to all of the controller's features, so by no means it's a replacement for a proper implementation. Still, it's better than nothing. I configured it to be enabled only if there is no support available for the SuperIO chip and the motherboard is Dell-branded. I didn't bother with the tedious checks for specific computer models, it doesn't seem like it's worth the trouble. I haven't added any controls for fan speeds just yet as I have to look into their behavior with Dell computers I don't mind overheating. I found that having OHM with this feature enabled in the background while running CPU- and disk-intensive tasks causes strange crashes of user's programs as well as the entire system. Occasionally it's just the SMM query that fails. The issues occur sporadically and everything might work fine for several hours before something happens. When it takes down the system, it does so instantly without letting it display the bluescreen or create a memory dump, which makes me suspect it dies somewhere in the SMI handler; a kernel debugger might clear this up. Not sure if other Dell monitoring tools behave the same way yet. |
@colorburst The same thing happened to me when using HWInfo for a prolonged period (albeit without putting a lot of load on the machine). My XPS 9560 would spontaneously crash without any BSOD or whatever. I think that SpeedFan (another software for displaying HW related stuff) even warns about this behaviour on DELL laptops. |
@chross That's good to know! I haven't looked at HWInfo specifically, but I'm pretty sure everybody uses the same method. The developer of that program also seems to believe there are bugs in the BIOS. I didn't find many complaints about outright crashes (none for T3500/T5500/T7500), but a lot people are reporting audio glitches and "minor" stuttering in games, which is a tell tale sign of the SMI taking a long time to finish. This is happening with many monitoring programs and it seems like nobody ever found a solution, aside from disabling the feature altogether. The primary use case for this interface has always been pre-boot diagnostics and not constant monitoring, so perhaps performance and long-term reliability weren't really a concern for Dell? For OHM, I think it still makes sense to support Dell SMM, at the very least because the competitors do, but it has to be an optional thing, maybe with a blacklist for unreliable configurations. I did more tests with a few Dell PCs I have over here:
Got a chance to do more experiments this week. Intermittent issues with T3400 disappear completely when OHM is pinned to CPU 0. The opposite is true as well, if the program runs on any other processor, the queries begin to fail very frequently. Apparently some machines have problems when the SMI fires on a different processor and the i8k driver for linux seems to be affected, too. I added code that switches thread affinity to CPU 0 while a query is being performed -- will see what happens now with the T5500 that was crashing previously. I ran this for several days under load on the T5500, and am happy to report that the crashes and failed queries are now gone. I also made the updates to run every 5 seconds as opposed to every second for this specific module to reduce performance impact of SMM. The driver is still a problem -- getting a suitable signature has been very difficult for open source and non-commercial software since Win10 became a thing. The most reasonable option at this point seems to be to have users install proprietary software with a compatible signed driver and then enable the Dell SMM sensor polling. |
@colorburst i'm currently trying to figure out how to control the fans on a dell 9560 (because they are on even with low cpu temps). can you tell me which signed driver you used and if its available for install? i see you already found https://github.com/424778940z repositories/driver but i cannot get them to work reliably (and i would really like some signed drivers). PS: i test your modifications on a dell 9560 if you're interested. |
Hello, I see that there has been no update on this thread since 2017. I have a DELL Precision 5750 and I too are missing the fan speed. Thanks |
Original issue reported on code.google.com by
andreabe...@gmail.com
on 9 May 2010 at 11:23The text was updated successfully, but these errors were encountered: