Bug 1398002

Summary: iio sensors not recognized in Fedora 25/Kernel 4.8.x with HP Spectre x360 (Kaby Lake)
Product: [Fedora] Fedora Reporter: Nate Graham <nate>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: bnocera, cz172638, gansalmon, ichavero, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab, nate
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-22 17:44:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Attaching the requested file
none
The requested WinAudit info none

Description Nate Graham 2016-11-23 19:40:49 UTC
Description of problem:

My HP Spectre x360 (Kaby Lake) has sensors to detect rotation and screen position (it's a 360 degree convertible). These sensors work in Windows; when you bend the screen back, it will rotate the content correctly and the keyboard disables itself. But the sensors are not detected in Fedora 25 with Kernel 4.8.


Version-Release number of selected component (if applicable):
Fedora 25/kernel 4.8.8


How reproducible:
100% reproducible.


Steps to Reproduce:
$ udevadm info --export-db | grep iio_device | wc -l
0

# G_MESSAGES_DEBUG=all /usr/sbin/iio-sensor-proxy
** (process:4351): DEBUG: Could not find any supported sensors


Actual results:
No sensors are detected.


Expected results:
Sensors should be detected.


Additional info:
I filed https://github.com/hadess/iio-sensor-proxy/issues/118#issuecomment-262575375 and the maintainer of iio-sensor-proxy said that the applicable kernel driver needs to be enabled or written.

Comment 1 Bastien Nocera 2016-11-23 21:16:22 UTC
The output of something like WinAudit, as well as the decompiled DSDT[1] should tell you what type of device the accelerometer is.

(In reply to Nate Graham from comment #0)
> Additional info:
> I filed
> https://github.com/hadess/iio-sensor-proxy/issues/118#issuecomment-262575375
> and the maintainer of iio-sensor-proxy said that the applicable kernel
> driver needs to be enabled or written.

You were supposed to check whether one such driver existed before filing a bug here. If a driver doesn't exist upstream, then it's not the Fedora kernel maintainers that are likely to write it (or if they are, all the work would happen upstream first anyway).

Anyway, waiting on the 2 pieces of information requested above.

[1]: As root:
cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
then, as a normal user:
iasl -d dsdt.dat

Attach the dsdt.dsl file here.

Comment 2 Nate Graham 2016-11-23 21:38:20 UTC
Created attachment 1223440 [details]
Attaching the requested file

Comment 3 Nate Graham 2016-11-23 21:39:20 UTC
Sorry, I'm a bit new to this. Where/with whom do I check to see if a suitable kernel driver exists?

I've attached the requested dsdt.dat file, but I don't have Windows available to run WinAudit. Is there any alternative I can run in Fedora?

Comment 4 Bastien Nocera 2016-11-24 16:47:02 UTC
(In reply to Nate Graham from comment #3)
> I've attached the requested dsdt.dat file, but I don't have Windows
> available to run WinAudit. Is there any alternative I can run in Fedora?

I don't know anything as comprehensive for Linux, no. In any case, if we were missing, say, a bus driver, then we wouldn't be able to enumerate those devices, one of which could be the accelerometer.

Short of you, or another owner of an HP Spectre x360, running that tool, I don't have anything else to go on and help.

Comment 5 Nate Graham 2016-12-21 22:56:12 UTC
Created attachment 1234554 [details]
The requested WinAudit info

This is the output of WinAudit, run on an identical machine, helpfully provided by another owner.