-
Notifications
You must be signed in to change notification settings - Fork 39
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
Can't change keyboard backlight timeout on AC #48
Comments
What kernel are you running on? Libsmbios interface doesn't work on some newer kernels by default. |
@superm1 I tried 4.16 and 4.17 and got the same results. Like I said I also tried the alternative, but that doesn't work correctly either. |
So while I recognize that this is not libsmbios's fault, I would just like to know what is the correct way to set the keyboard backlight timeout of the laptop on AC. Thank you. |
I booted into Ubuntu 16.04 with an older kernel. Here is what I get:
Apparently there is no way to change the timeout on AC on this laptop. I also tried this:
It does not even give me the option to set it to always on. EDIT: I also tried to reflash older bios versions, but they all give me the same result. |
I didn't get a chance to comment on this more over the weekend but it's a bit of a more complicated scenario going on. Let me try to explain.
Now in the kernel with Ubuntu 18.04+ it has support to set both battery and AC timeouts. Depending on when you call it (if power supply is plugged in or not) will affect which one it uses. So I think what you want to do is set the timeout on AC while you have AC plugged in from the kernel side. |
@superm1 For the results that I posted above I didn't use the package versions from old Ubuntu, I simply used the latest release |
All right, I now booted into Ubuntu 18.04 but encountered the same problem as on Fedora 28. Whatever I write into EDIT: regardless of whether or not I'm on battery power or AC when I write the file |
Can you please try to go into BIOS setup and change the settings manually? Do they get lost when you do this? |
The BIOS setup only offers 3 options: off, dim, bright. It is currently set to bright. There is no way to set any kind of timeout in the BIOS setup UI. |
@superm1 Did I just catch a bug in the BIOS? |
Yes it's possible that it's a bug with the embedded controller (very unlikely BIOS), but I would be fairly surprised since after Linux got support for separate AC/battery readings I don't believe this has changed. |
@superm1 I'm just guessing here. Could be a bug in the kernel driver? Do you maybe have any more suggestions on how fix this? |
OK so I looked a little closer and the way that the system determines if AC timeout should be offered is via the presence of the SMBIOS token 0x451. I don't see it present on that platform. Can you please try using Dell Command Configure to see if you can set it from there? I don't think you'll be able to, but it would be a good confirmation. If you can set it from there then we are looking at a bug in the implementation of detecting AC support is available. There are RPM's and DEB's available for it. If you can't set it there either but you DO see different options related to AC and battery in BIOS setup, then I would recommend you contact support. |
Sorry, can you please point me to the rpm package? I found this page, but it only has a deb package: http://www.dell.com/support/home/us/en/19/drivers/driversdetails?driverId=TN4RG I don't see different options for this in the BIOS setup, just the single option that I mentioned to you previously. Does this mean that on AC the laptop will forever shut down the keyboard backlight in 3 seconds? |
Here are RPMs: If you don't see options in BIOS setup that usually means that it's the same for battery and AC. |
Found the RPM here, I think: http://en.community.dell.com/techcenter/enterprise-client/w/wiki/7532.dell-command-configure |
Thanks! This is what I got:
EDIT: also tried this:
|
This one seems to be equivalent to what's in the BIOS setup: However on AC the backlight still turns off in 3 seconds, regardless of how I set this. |
@superm1 By the way can you reproduce this problem with a 9370 or is this somehow unique to my machine? In the BIOS setup I also tried to reset to factory defaults, but that did not have any effect on the keyboard backlight either. |
I can confirm that |
Even though token I came up with this quick hack:
This would basically make it set the necessary values regardless of whether it thinks it can. (If this works, then the right way to do it would be to add a new field to @superm1 Do you think this is worth trying or would this corrupt my system? |
Okay, I patched my kernel with the above and now I can set the timeout for both AC and battery at the same time. So the conclusion is that even though the BIOS doesn't expose the necessary token, the machine can still set the AC timeout. |
I will try to create a non-hacky kernel patch tomorrow. |
Sounds like then this is a BIOS bug after all. Can up please report it to support? |
How do I report it to support? And what should I tell them? No offence, but I doubt that the support person will be able to discuss kernel patches. |
Understood the concern. Are you US based? You should notify them that the platform isn't working with Dell Command Configure. You can also share this bug over the email and BIOS team should be able to see technical details you found with missing token. Keep in mind it will take a few months to get fixed this approach but it's the right way to fix it (rather than kernel patch for quirks). If you want to do that still you can too though. |
Thank you Mario for guiding me through this. I agree that fixing the BIOS is ultimately the correct solution! But there is also value in solving the issue for people who want to use the machine now. By the way, were you able to reproduce my findings on another 9370? |
In the meantime I've submitted a kernel patch here: |
Sounds good. Since we know this isn't an libsmbios bug I'll close this. To prioritize accordingly relative to all the other issues it's better for customers to raise problems that affect them to support. Yes I see the same behavior using fw 1.3.3. |
Hi @superm1, can you forward this problem internally to relevant Dell team? Users who buy products outside of USA are not allowed to report these BIOS issue nor any other software relevant. Just HW replacement issues. We really do not want to have "hacks" in kernel forever just because vendor is not aware that there is a bug in firmware... |
Pali fwiw I totally agree and don't want to see hacks in the kernel for this either. I have already sent this to right people internally as well. The voice of the customer is the most important thing though which is why I asked for it to be filed with support as well. |
In this case, can Dell provides contact also for products bought outside of USA? I read lot of posts on dell forum (and outside too) of frustrated Dell users about non-working keyboard debouncing on Linux (now it is fixed; there were BIOS update for lot of Latitude machines) and the only thing what happen was HW replacing one keyboard with another (which of course did not help). And I was told that "normal" users cannot report or open Dell BIOS/firmware issue... So if voice of the customer is most important, there is really need to know where to report such problem. |
Indeed as @pali says it would be nice to know what the proper place is for reporting Linux issues to Dell. Yes, I did find the Dell Linux forum, but that does not seem to be something that their developers actively monitor. While we are at it:
Sorry for the long post. |
Yes typically social media team monitors web forums and relays information to developers as needed. Sorry to hear there may be gaps here.
I'll do my best on what I know. Regarding two touchpads: Regarding the firmware issues with QCA6174: s2idle/deep random freezes: |
Thanks @superm1 your answer means a great deal to me (especially considering that you are on vacation)! Regarding two touchpadsYes, that is what I suspected. In fact
But actually the "real" touchpad is indeed picked up by Regarding the firmware issues with QCA6174Already reported on the forum too. What remains is that if the firmware crashes (for whatever other reason) it will take the whole system with it. Reproducible by simulating some firmware crashes. After the 3rd crash, wifi stops working. I can turn it off in Gnome. When I turn it on again, the whole system hangs completely. (The symptoms are the same as the "random freeze" described below.)
s2idle/deepThis one bothers me the least of all, so I haven't really looked into it yet. I will join the conversation in the bug report you linked! Looks like some work went into it on the random freezes
Very hard to say. It can occour any time (even when I'm just web browsing or coding), but it feels like it happens more often when there is GPU load (eg. a game). Happens several times every day. The symptoms: the computer stops responding to any input (not even the "magic sysrq"), and the last 1 second of music is looped forever. The display freezes, sometimes stays as it was, sometimes red bars appear, sometimes it goes blank (regardless of whether it's the internal or an external display). Since these are the same symptoms as the ath10k driver issue, it could be some sort of kernel hang as well. But not sure. I've seen the same symptom in other computers caused by inadequate cooling, fried GPU, or motherboard defect. Googling suggests it's a memory issue. I did a memory check with the BIOS recovery tool, and also with memtest86, neither found any problem with the memory. EDIT: according to |
The XPS 13 9370 doesn't expose the necessary KBD_LED_AC_TOKEN in the BIOS, so the driver thinks it cannot adjust the AC keyboard backlight timeout. This patch adds a quirk to fix this until Dell adds the missing token to the BIOS. For further discussion, see: dell/libsmbios#48 Signed-off-by: Timur Kristóf <venemo@fedoraproject.org> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Feel free to comment on the bug on this. It hasn't seen attention in a long time.
The biggest advantage is a much faster resume from a sleep state. The biggest disadvantage is that if you have a device misbehave (either by user error, device error or policy) it can cause a much larger battery drain on the system. I anticipate to see a lot more machines adopt s2idle (and possibly even DROP deep support) so it's important to find and fix core issues (both kernel bugs and policy problems) now while on machines that can switch between both modes.
112 times sounds really high. I would recommend to contact support on this. |
I started a discussion about it on the
You sold me on it! Sounds like this is "just" a matter of configuring a correct system policy in tools like
I'm now 99.99% sure it's a hardware defect, and will get a replacement. (Still within the 30 days, so it's just a matter of walking to the store.) |
Awesome, thanks for having that conversation.
In my opinion default kernel policy can still need some work. I really feel the goal should be to accomplish good performance WITHOUT tlp. |
Just to close the loop on this issue as reported by the OP, this was confirmed to be fixed in BIOS 1.4.0. |
Hi,
Not sure if I'm posting this in the right place, but would appreciate any help. I've got an XPS 13 9370, installed Fedora on it, and then updated the bios to 1.3.2 (downloaded from fwupd).
The problem: when the device is on AC power, the keyboard backlight always goes out in 3 seconds. So I tried two things:
echo "1h" > /sys/class/leds/dell::kbd_backlight/stop_timeout
- but this works only on battery power. As soon as I plug in the charger, the keyboard backlight dims in 3 seconds.smbios-keyboard-ctl --set-mode
- but this gives me the same output as the guy in issue Running smbios-keyboard-ctl gives UnicodeDecodeError in _common.py #41The text was updated successfully, but these errors were encountered: