mikhail-m1 / illuminanced

Ambient Light Sensor Daemon for Linux
GNU General Public License v3.0
51 stars 16 forks source link

raw value not changing #2

Closed arbulgazar closed 5 months ago

arbulgazar commented 7 years ago

Hello! Thank you for your work, everything installed smoothly and is running. However I have a problem with raw sensor readings. I noticed that auto-mode is always switching to one particular state. I checked the raw values you are reading and they seem to be not changing, always being at 400.

/sys/bus/acpi/devices/ACPI0008:00/iio:device0$ cat in_illuminance_raw 
400

The sensor itself is working, I have stock windows installed on the other partition - auto-adjustment works as intended there.

Hardware: Asus Zenbook UX410U
Software: Ubuntu 17.04 - 0x64

I would be glad to help a project and give all necessary info or even dig into a code.

ClemensSchneider commented 7 years ago

I'm experiencing the same issue on Asus Zenbook UX330UA running Ubuntu 17.04 - 64bit

mikhail-m1 commented 7 years ago

Hi, Thanks for report. I don't have relation to kernel driver development. I tested some upstream kernels while tried to fix Fn+F5/F6, and didn't have any problem with acpi-als driver. What is kernel in your Ubuntu? Please provide uname -a output. I'll check Ubuntu 17.04 myself later.

arbulgazar commented 7 years ago

Hi! Sorry, I haven't updated the request. It has nothing to do with your implementation as it is. Unfortunately, the kernel module itself could not get acpi_handle from the sensor. Neither official acpi_als module nor als from daniels is working. I am currently working on understanding and fixing the problem. If results will be positive - I will report them here as well.

P.S. I switched back to 16.04 since there were multiple bugs in 17.04. Nothing changed in this matter.

➜  ~ uname -a
Linux max 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
➜  ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:    16.04
Codename:   xenial

P.P.S. I was able to install als kernel module only after disabling UEFI secure boot option in BIOS. Also as this thread suggests I enabled acpi_osi='!Windows 2012' in grub configuration, but that seems not to have any effect.

mikhail-m1 commented 7 years ago

I've found some path https://patchwork.kernel.org/patch/9525597/ may be it can help.

ghost commented 6 years ago

I'm having the same issue on my Asus ZenBook UX303UA with Mint 18.2 running kernel 4.10.0-37-generic. It does look like an issue in the kernel and the acpi devices not being recognized properly. I haven't tried the patch linked above as I don't really want to bother having to compile a new kernel every couple of weeks for the functionality.

Hopefully, a fix will make it into the generic kernels. Until then, wildguppy will work fine for me.

J3r3Xy commented 5 years ago

Unfortunatly the patch didn't make it upstream, probably because the ACPI "path" to enable the sensor is different for every model You can find it by decompiling your DSDT and searching for ALSC and ALAE. If you send me your decompiled DSDT i may be able to tell you how to edit it to enable the sensor @mikhail-m1 could you call the acpi method which enables the sensor at the start of the service? it would avoid having to edit the DSDT and adding/editing initramfs

mikhail-m1 commented 5 years ago

@J3r3Xy If you don't mind to test the ACPI sensor init call, I'll create a brunch with it and also a keyboard light support.

J3r3Xy commented 5 years ago

Won't be a problem, ready to test!

mikhail-m1 commented 5 years ago

@J3r3Xy I didn't have time, sorry, I've checked how to do an ACPI call, looks like it requires a kernel module like https://github.com/peberlein/acpi_call and I doubt changes in my daemon could help, short how-to looks enough because in any case, it would require some knowledge and experience.

J3r3Xy commented 5 years ago

@mikhail-m1 no problem! If I can find some time I will fork your repo and try to implement it as a kernel module (but it will take quite a while)