cancel
Showing results for 
Search instead for 
Did you mean: 

Drivers & Software

finalzone
Adept I

Provide AMD Sensor Fusion Hub driver for Linux kernel

Hello,

Some touchscreen laptops notably from HP have an accelerometer based on AMD Sensor Fusion Hub which does not have a driver for Linux kernel needed for auto rotation of screen.

In my case, it is a HP Envy x360 15-cp0xxx equipped with Ryzen 2500U. As highlighted on the bug report​, one of Linux kernel maintainer vainly contacted one of AMD department to provide at least information from that device

03:00.7 Non-VGA unclassified device [0000]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e4]

Would you mind providing a functional driver for AMD Sensor Fusion Hub or at least the information of that devicefor AMD users running on your hardware? The benefit will be great as the goal is to get AMD hardware seemly working with open source. Thanks in advance.

Luya

28 Replies

We need the driver please help our community.

0 Likes
andalsothetrees
Journeyman III

I agree with Luya and Alfonso.

We do need support from AMD to extend adoption among laptop linux users.

xxmitsu
Journeyman III

Hi,

I would also like acceleration/gyro support on linux. Here's my lspci output:

DMI: HP HP ENVY x360 Convertible 15-cp0xxx/8497, BIOS F.32 12/10/2018

[mike@localhost ~]$ lspci -nn
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15d0]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Device [1022:15d1]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
00:01.5 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:15d3]
00:01.6 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:15d3]
00:01.7 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:15d3]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge [1022:1452]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:15db]
00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:15dc]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 61)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e8]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e9]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ea]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15eb]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ec]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ed]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ee]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ef]
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 [144d:a808]
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader [10ec:522a] (rev 01)
03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter [10ec:b822]
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] [1002:15dd] (rev c3)
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP Audio Controller [1002:15de]
04:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
04:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e0]
04:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e1]
04:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
04:00.7 Non-VGA unclassified device [0000]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e4]
05:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 61)
[mike@localhost ~]$ dmesg | grep -i senso
[ 13.077233] lis3lv02d: unknown sensor type 0x0
[mike@localhost ~]$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0bda:b00b Realtek Semiconductor Corp.
Bus 003 Device 002: ID 04f2:b634 Chicony Electronics Co., Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Any news from AMD about this? 

Any news regarding this?

0 Likes
finalzone
Adept I

Follow-up for identifying the AMD Sensor Fusion HUB missing the Linux kernel driver highlighted below:

04:00.7 Non-VGA unclassified device [0000]: Advanced Micro Devices, Inc. [AMD] Device [1022:15e4]

That information is needed by the iio accelerometer sensor to allow the proper functionality of auto-rotation screen. I understand about the non-disclosure agreement for relerase the information but it will be notice to obtain the name of the based device so open-source can create at least a driver.

0 Likes

I don't understand, do you need any information from us

0 Likes

The information from AMD themselves. One of AMD contributors mentioned about the possible NDA to not provide programs from a licensed third party which probably explains the silence. The part is to find the name of that third party provider for that sensor fusion.

0 Likes
finalzone
Adept I

The Sensor Fusion Hub is correctly identified on  kernel 4.20.14:

03:00.7 Non-VGA unclassified device [0000]: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/Renoir Sensor Fusion Hub [1022:15e4]

It is a good sign and hopefully the driver will land soon.

0 Likes
finalzone
Adept I

Any update for the possible Linux driver for the Sensor Fusion Hub?

#missing amd sensor fusion hub#linux kernel

mrs
Adept III

I would also like if at least the basic orientation sensor input would be available

Linux 5.1 has just been anounced. Any news regarding this driver?

0 Likes

Nothing so far on kernel 5.1 series not even 5.2. Only a i2c controller for some laptops.

0 Likes
xxmitsu
Journeyman III

There is some good news regarding this: https://lists.freedesktop.org/archives/amd-gfx/2019-May/034431.html

"

The FCH team is working on a driver for it and should have something available by August.

"

However, a previous answer was:

"

On most programs the accelerometers were provided by the OEM as part of their platform design.  I'm not sure how it works on newer programs. 

"

So it might require some intervention from OEMs .. but, let's hope for the best! 

Glad to hear the driver is on the way.

0 Likes
sipak
Journeyman III

Bump! I strongly promote AMD for many reasons. Glad to hear you haven't forgot about Linux :3

0 Likes

Hi, has the driver been published yet? Is anybody tried Kernel 5.4?

0 Likes
finalzone
Adept I

I just got an email letting know the code for AMD Sensor Fusion HUB is finally available on Linux IIO - Patchwork for testing.

0 Likes

Hi any updates about this issue?

0 Likes

AMD Sensor Fusion HUB codes for the kernel is yet to land on the kernel mainline due  to review. AMD team are currently working on the fixes needed to address.

Re: [PATCH v5 0/4] SFH: Add Support for AMD Sensor Fusion Hub - Andy Shevchenko 

Thank you, this will help a lot of users with AMD laptops.

0 Likes
finalzone
Adept I

AMD Sensor Fusion HUB support finally landed on Linux mainline kernel for the 5.11 release. Kudos to AMD team and Linux kernel reviewers for making it possible.

0 Likes

I'm running the Linux 5.11-rc3 kernel in a Lenovo IdeaPad Flex 5 14" with a Ryzen 5 4500U.  The SFH is visible and the accelerometer behind it is also visible.  But running monitor-sensor just says:

Waiting for iio-sensor-proxy to appear
+++ iio-sensor-proxy appeared
=== Has accelerometer (orientation: undefined)
=== No ambient light sensor

No matter how I move the laptop, or bend the screen hinge, the accelerometer output never changes.  Besides the existing kernel changes, there is some other change needed to allow the HID subsystem to see orientation changes and notify the window system.  I have already updated the udev hwdb for this accelerometer.  I've seen in examples from other accelerometers that monitor-sensor is supposed to produce more lines of output, saying the screen is upside-down or sideways, but that never happens.  Meanwhile, when I bend the screen all the way back into tablet mode, the BIOS is apparently disabling the keyboard and trackpad (and briefly displaying a picture on the screen about that), so the accel  or some other sensor is apparently working at least as far as the BIOS is concerned.

It would be a shame if these SFH changes Finally got into the mainline linux kernel and still didn't work to enable screen rotation to be noticed by the software!  Help!     -- gnu@amd-community.toad.com

0 Likes

"=== Has accelerometer (orientation: undefined)" shows the accelerometer has an issue. Try to reboot your laptop by holding the power button for ten seconds. Once done, you will be able to get similar result below:

 

monitor-sensor
Waiting for iio-sensor-proxy to appear
+++ iio-sensor-proxy appeared
=== Has accelerometer (orientation: left-up)
=== No ambient light sensor
=== No proximity sensor
Accelerometer orientation changed: bottom-up
Accelerometer orientation changed: left-up
Accelerometer orientation changed: normal
Accelerometer orientation changed: right-up
Accelerometer orientation changed: bottom-up
Accelerometer orientation changed: right-up
Accelerometer orientation changed: bottom-up
Accelerometer orientation changed: right-up
Accelerometer orientation changed: bottom-up
Accelerometer orientation changed: right-up
Accelerometer orientation changed: bottom-up
Accelerometer orientation changed: right-up
Accelerometer orientation changed: normal
Accelerometer orientation changed: left-up
Accelerometer orientation changed: normal
Accelerometer orientation changed: right-up
Accelerometer orientation changed: normal
Accelerometer orientation changed: right-up
Accelerometer orientation changed: normal

0 Likes

Hej!

I have an ASUS Vivobook Flip working on a AMD Ryzen 3 4300U. I'm really happy with the device, which works perfectly well on Linux, except : this accelerometer issue.

I got help, and we tested a backport of the driver recently added to the kernel and it does not work. Unfortunately, it's a known issue: there is no support for Renoir devices (like mine). This driver apparently only works with Ryzen 3xxx and not further. The Linux community is waiting for information from AMD: "AMD needs to provide us with an appropriate report descriptor for the accelerometer used on Renoir devices".

It would be cool not waiting 2 more years to get the support for the recent CPUs

0 Likes

Shame the newer mobile Ryzen APUs lack support which showed AMD needs work to include them ideally at their release.

One of Linux kernel developers currently on a patch to improve the performance of accelerometer. So far sensors is working fine on an HP Envy x360 Ryzen 5 2500U and needs tablet mode fixed.

0 Likes
nekej
Journeyman III

I am a digital marketer I have a basic website  you can check my website and I am sure your problem will be solved.

0 Likes