* [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
@ 2025-02-06 7:09 Cryolitia PukNgae via B4 Relay
2025-02-07 17:12 ` Alex Lanzano
2025-02-08 13:30 ` Jonathan Cameron
0 siblings, 2 replies; 12+ messages in thread
From: Cryolitia PukNgae via B4 Relay @ 2025-02-06 7:09 UTC (permalink / raw)
To: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-iio, linux-kernel, Yao Zi, Cryolitia PukNgae
From: Cryolitia PukNgae <Cryolitia@gmail.com>
Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
---
Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
[1]. See the update nodes in the archive file above
Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>
---
drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
index 44699ab589097eaa0eec5f2172245496ed031185..f66ae01e301df24f1e563e059da8cc531fc173eb 100644
--- a/drivers/iio/imu/bmi270/bmi270_i2c.c
+++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
@@ -40,6 +40,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
static const struct acpi_device_id bmi270_acpi_match[] = {
/* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
{ "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
+ /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
+ { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
{ }
};
---
base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04
change-id: 20250206-bmi270-gpd-acpi-de4d12bce567
Best regards,
--
Cryolitia PukNgae <Cryolitia@gmail.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-02-06 7:09 Cryolitia PukNgae via B4 Relay
@ 2025-02-07 17:12 ` Alex Lanzano
2025-02-08 13:30 ` Jonathan Cameron
1 sibling, 0 replies; 12+ messages in thread
From: Alex Lanzano @ 2025-02-07 17:12 UTC (permalink / raw)
To: Cryolitia
Cc: Jonathan Cameron, Lars-Peter Clausen, linux-iio, linux-kernel,
Yao Zi
On Thu, Feb 06, 2025 at 03:09:42PM +0800, Cryolitia PukNgae via B4 Relay wrote:
> From: Cryolitia PukNgae <Cryolitia@gmail.com>
>
> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
>
> ---
> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
>
> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
>
> [1]. See the update nodes in the archive file above
>
> Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>
Acked-by: Alex Lanzano <lanzano.alex@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-02-06 7:09 Cryolitia PukNgae via B4 Relay
2025-02-07 17:12 ` Alex Lanzano
@ 2025-02-08 13:30 ` Jonathan Cameron
2025-07-30 10:16 ` Cryolitia PukNgae
1 sibling, 1 reply; 12+ messages in thread
From: Jonathan Cameron @ 2025-02-08 13:30 UTC (permalink / raw)
To: Cryolitia PukNgae via B4 Relay
Cc: Cryolitia, Alex Lanzano, Lars-Peter Clausen, linux-iio,
linux-kernel, Yao Zi
On Thu, 06 Feb 2025 15:09:42 +0800
Cryolitia PukNgae via B4 Relay <devnull+Cryolitia.gmail.com@kernel.org> wrote:
> From: Cryolitia PukNgae <Cryolitia@gmail.com>
>
> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
>
> ---
This --- will break git picking up this patch as the
sign off etc will be misgin.
> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
Please wrap commit message at 75 chars
>
> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
Link is an official tag so move down to the line above (no blank line) the
Sign off and if you want to refer to it use
Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip # [1]
or similar (so a comment after the tag).
If you have any means to tell the manufacturer that this is not a complaint ID
please do. They need to allocate them from their own ID space.
They are unlikely to be the Benson Medical Instruments company.
https://uefi.org/PNP_ID_List?pnp_search=BMI
So either GPD need to get their on PNP ID (or ACPI ID) or they need
to ask Bosch (BSG) to issue an ID for this sensor.
It would really help if Windows stopped accepting drivers that made up these
IDs, but I guess that ship long sailed.
Jonathan
>
> [1]. See the update nodes in the archive file above
>
> Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>
> ---
> drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
> index 44699ab589097eaa0eec5f2172245496ed031185..f66ae01e301df24f1e563e059da8cc531fc173eb 100644
> --- a/drivers/iio/imu/bmi270/bmi270_i2c.c
> +++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
> @@ -40,6 +40,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
> static const struct acpi_device_id bmi270_acpi_match[] = {
> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
since
> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
> { }
> };
>
>
> ---
> base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04
> change-id: 20250206-bmi270-gpd-acpi-de4d12bce567
>
> Best regards,
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-02-08 13:30 ` Jonathan Cameron
@ 2025-07-30 10:16 ` Cryolitia PukNgae
0 siblings, 0 replies; 12+ messages in thread
From: Cryolitia PukNgae @ 2025-07-30 10:16 UTC (permalink / raw)
To: Jonathan Cameron, Cryolitia PukNgae via B4 Relay
Cc: Cryolitia, Alex Lanzano, Lars-Peter Clausen, linux-iio,
linux-kernel, Yao Zi
在 2025/2/8 21:30, Jonathan Cameron 写道:
> On Thu, 06 Feb 2025 15:09:42 +0800
> Cryolitia PukNgae via B4 Relay <devnull+Cryolitia.gmail.com@kernel.org> wrote:
>
>> From: Cryolitia PukNgae <Cryolitia@gmail.com>
>>
>> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
>>
>> ---
>
> This --- will break git picking up this patch as the
> sign off etc will be misgin.
>
Sorry for that, Reported to
https://bugzilla.kernel.org/show_bug.cgi?id=219412
>> Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
> Please wrap commit message at 75 chars
>>
>> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
> Link is an official tag so move down to the line above (no blank line) the
> Sign off and if you want to refer to it use
> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip # [1]
> or similar (so a comment after the tag).
>
>
> If you have any means to tell the manufacturer that this is not a complaint ID
> please do. They need to allocate them from their own ID space.
> They are unlikely to be the Benson Medical Instruments company.
> https://uefi.org/PNP_ID_List?pnp_search=BMI
>
> So either GPD need to get their on PNP ID (or ACPI ID) or they need
> to ask Bosch (BSG) to issue an ID for this sensor.
>
> It would really help if Windows stopped accepting drivers that made up these
> IDs, but I guess that ship long sailed.
>
> Jonathan
>
The Windows driver for Bosch's gravity sensor BMI 260 is developed and
signed by Bosch, and uses the ID BMI0260[1]. All devices using this
hardware use the same driver, including GPD Win Max 2023 and newer
devices, and OrangePi NEO. The ID of BMI0260 is assigned by Bosch
itself, and GPD simply follows Bosch's driver rather than assigning it
itself. From the name, using this ACPI ID is also the most intuitive.
Some projects such as Handheld Daemon[2] and distributions such as
Manjaro[3] have already adopted the patch that includes the ACPI ID BMI0260.
I will send a new patch later that fixes the above issues.
1.
https://treexy.com/products/driver-fusion/database/sensors/bosch/accelerometer/
2. https://github.com/hhd-dev/bmi260/blob/main/bmi260_i2c.c
3.
https://gitlab.manjaro.org/packages/core/linux612-rt/-/blob/master/0001-iio_imu_Add_driver_for_Bosch_BMI260_IMU.patch
------
I am Cryolitia <cryolitia@gmail.com> that previously sending the patch.
Due to work, I changed my email address. GPG can verify it's the same
person:
https://keyserver.ubuntu.com/pks/lookup?op=vindex&search=0x84dd0c0130a54df7
------
Best wishes,
Cryolitia PukNgae
>>
>> [1]. See the update nodes in the archive file above
>>
>> Signed-off-by: Cryolitia PukNgae <Cryolitia@gmail.com>
>> ---
>> drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
>> index 44699ab589097eaa0eec5f2172245496ed031185..f66ae01e301df24f1e563e059da8cc531fc173eb 100644
>> --- a/drivers/iio/imu/bmi270/bmi270_i2c.c
>> +++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
>> @@ -40,6 +40,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
>> static const struct acpi_device_id bmi270_acpi_match[] = {
>> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
>> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
>> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
>
> since
>
>> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
>> { }
>> };
>>
>>
>> ---
>> base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04
>> change-id: 20250206-bmi270-gpd-acpi-de4d12bce567
>>
>> Best regards,
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
@ 2025-07-30 12:56 Cryolitia PukNgae via B4 Relay
2025-07-30 17:46 ` David Lechner
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Cryolitia PukNgae via B4 Relay @ 2025-07-30 12:56 UTC (permalink / raw)
To: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko
Cc: linux-iio, linux-kernel, Yao Zi, WangYuli, Jun Zhan,
Cryolitia PukNgae
From: Cryolitia PukNgae <liziyao@uniontech.com>
Some GPD devices ship a buggy firmware that describes on-device BMI260
with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
let's match the correct ID to detect the device. The buggy ID "BMI0160"
is kept as well to maintain compatibility with older firmwares.
Signed-off-by: Cryolitia PukNgae <liziyao@uniontech.com>
---
Some GPD devices ship a buggy firmware that describes on-device BMI260
with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
let's match the correct ID to detect the device. The buggy ID "BMI0160"
is kept as well to maintain compatibility with older firmwares.
Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
[1]. See the update nodes in the archive file above
---
drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
index c77839b03a969f6f149c025a0305c4b9b8ac6571..b909a421ad0176ee414f2f96ff09db2297586ded 100644
--- a/drivers/iio/imu/bmi270/bmi270_i2c.c
+++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
@@ -41,6 +41,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
static const struct acpi_device_id bmi270_acpi_match[] = {
/* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
{ "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
+ /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
+ { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
{ }
};
---
base-commit: 0db240bc077fd16cc16bcecfd7f4645bc474aa7e
change-id: 20250206-bmi270-gpd-acpi-de4d12bce567
Best regards,
--
Cryolitia PukNgae <liziyao@uniontech.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-30 12:56 [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware Cryolitia PukNgae via B4 Relay
@ 2025-07-30 17:46 ` David Lechner
2025-07-30 20:57 ` Andy Shevchenko
2025-08-11 13:08 ` Andy Shevchenko
2 siblings, 0 replies; 12+ messages in thread
From: David Lechner @ 2025-07-30 17:46 UTC (permalink / raw)
To: liziyao, Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen,
Nuno Sá, Andy Shevchenko
Cc: linux-iio, linux-kernel, Yao Zi, WangYuli, Jun Zhan
On 7/30/25 7:56 AM, Cryolitia PukNgae via B4 Relay wrote:
> From: Cryolitia PukNgae <liziyao@uniontech.com>
>
> Some GPD devices ship a buggy firmware that describes on-device BMI260
> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> is kept as well to maintain compatibility with older firmwares.
>
> Signed-off-by: Cryolitia PukNgae <liziyao@uniontech.com>
> ---
> Some GPD devices ship a buggy firmware that describes on-device BMI260
> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> is kept as well to maintain compatibility with older firmwares.
>
> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
>
> [1]. See the update nodes in the archive file above
> ---
> drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
> index c77839b03a969f6f149c025a0305c4b9b8ac6571..b909a421ad0176ee414f2f96ff09db2297586ded 100644
> --- a/drivers/iio/imu/bmi270/bmi270_i2c.c
> +++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
> @@ -41,6 +41,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
> static const struct acpi_device_id bmi270_acpi_match[] = {
> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
Is this supposed to say "since" instead of "sincice"?
> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
> { }
> };
>
>
> ---
> base-commit: 0db240bc077fd16cc16bcecfd7f4645bc474aa7e
> change-id: 20250206-bmi270-gpd-acpi-de4d12bce567
>
> Best regards,
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-30 12:56 [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware Cryolitia PukNgae via B4 Relay
2025-07-30 17:46 ` David Lechner
@ 2025-07-30 20:57 ` Andy Shevchenko
2025-07-30 21:11 ` Andy Shevchenko
2025-07-31 3:05 ` Cryolitia PukNgae
2025-08-11 13:08 ` Andy Shevchenko
2 siblings, 2 replies; 12+ messages in thread
From: Andy Shevchenko @ 2025-07-30 20:57 UTC (permalink / raw)
To: liziyao
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
On Wed, Jul 30, 2025 at 2:56 PM Cryolitia PukNgae via B4 Relay
<devnull+liziyao.uniontech.com@kernel.org> wrote:
>
> From: Cryolitia PukNgae <liziyao@uniontech.com>
>
> Some GPD devices ship a buggy firmware that describes on-device BMI260
> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> is kept as well to maintain compatibility with older firmwares.
No, it's not true. See below why,
> ---
> Some GPD devices ship a buggy firmware that describes on-device BMI260
> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> is kept as well to maintain compatibility with older firmwares.
>
> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
>
> [1]. See the update nodes in the archive file above
Yeah... I think you need one more attempt to fix it right.
...
> static const struct acpi_device_id bmi270_acpi_match[] = {
> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
Unbelievable! How is the above supposed to work? Do we have DMI quirks
in both drivers (bmi160 and bmi270)?
> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
For the record this is incorrect ACPI ID, nor PNP ID for Bosh, unless
I missed that https://www.bensonmedical.com/ is bought by Bosh or part
of the groups of the companies.,
> { }
> };
Can you work with Bosh to resolve this as soon as possible and use a
real Bosh ACPI ID (BOSCxxxx) or PNP ID (BSGxxxx)?
Also, each ACPI ID adding patch (when it's incorrect) must provide a
DSDT excerpt in the commit message to show this. Ideally this also
should be confirmed by the vendor of the device (GPD) that the ID is
incorrect and a correct one needs to be used.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-30 20:57 ` Andy Shevchenko
@ 2025-07-30 21:11 ` Andy Shevchenko
2025-07-31 3:05 ` Cryolitia PukNgae
1 sibling, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2025-07-30 21:11 UTC (permalink / raw)
To: liziyao
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
On Wed, Jul 30, 2025 at 10:57 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Wed, Jul 30, 2025 at 2:56 PM Cryolitia PukNgae via B4 Relay
> <devnull+liziyao.uniontech.com@kernel.org> wrote:
> >
> > Some GPD devices ship a buggy firmware that describes on-device BMI260
> > with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> > let's match the correct ID to detect the device. The buggy ID "BMI0160"
> > is kept as well to maintain compatibility with older firmwares.
>
> No, it's not true. See below why,
>
> > ---
> > Some GPD devices ship a buggy firmware that describes on-device BMI260
> > with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
> > let's match the correct ID to detect the device. The buggy ID "BMI0160"
> > is kept as well to maintain compatibility with older firmwares.
> >
> > Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
> >
> > [1]. See the update nodes in the archive file above
>
> Yeah... I think you need one more attempt to fix it right.
...
> > static const struct acpi_device_id bmi270_acpi_match[] = {
> > /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
> > { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
>
> Unbelievable! How is the above supposed to work? Do we have DMI quirks
> in both drivers (bmi160 and bmi270)?
Okay, I found the answer to this question, it uses chip ID to
distinguish the actual HW.
> > + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
> > + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
>
> For the record this is incorrect ACPI ID, nor PNP ID for Bosh, unless
> I missed that https://www.bensonmedical.com/ is bought by Bosh or part
> of the groups of the companies.,
>
> > { }
> > };
>
> Can you work with Bosh to resolve this as soon as possible and use a
> real Bosh ACPI ID (BOSCxxxx) or PNP ID (BSGxxxx)?
> Also, each ACPI ID adding patch (when it's incorrect) must provide a
> DSDT excerpt in the commit message to show this. Ideally this also
> should be confirmed by the vendor of the device (GPD) that the ID is
> incorrect and a correct one needs to be used.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-30 20:57 ` Andy Shevchenko
2025-07-30 21:11 ` Andy Shevchenko
@ 2025-07-31 3:05 ` Cryolitia PukNgae
2025-07-31 9:46 ` Andy Shevchenko
1 sibling, 1 reply; 12+ messages in thread
From: Cryolitia PukNgae @ 2025-07-31 3:05 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
Dear Maintainer,
Thank you for your reply. I apologize for the confusion regarding the
PNP VID assignment - you are absolutely correct that "BMI0260" is not an
official Bosch PNP ID. Let me provide a more detailed context.
GPD devices originally used BMI160 sensors with the "BMI0160" PNP ID.
When they switched to BMI260 sensors in newer hardware, they reused the
existing Windows driver which accepts both "BMI0160" and "BMI0260" IDs.
Consequently, they kept "BMI0160" in DSDT tables for new BMI260 devices,
causing driver mismatches in Linux.
Current Situation:
1. GPD updated BIOS v0.40+ for newer devices to report "BMI0260" for
BMI260 sensors to avoid loading bmi160 driver on Linux. While this isn't
Bosch's VID:
2. Bosch's official Windows driver uses "BMI0260" as a compatible ID
3. The ID "BMI0160" already exists in mainline (drivers/iio/imu/bmi160)
4. We're seeing real devices shipping with "BMI0260" in DSDT
Given the challenges we've faced in communicating with GPD regarding
Linux support, it seems unlikely that we can push for another change;
they are solely focused on ensuring compatibility with Bosch's official
Windows driver. Unfortunately, I do not have the means to contact Bosch
and urge them to abandon the use of these non-standard IDs.
Given existing devices use "BMI0260" and Windows drivers validate this
ID pattern, I propose temporarily adding it to bmi270_acpi_match as a
compatibility measure. This would immediately benefit already existing
users.
I'm happy to provide DSDT excerpts from GPD Win Max 2 2023 devices
showing the "BMI0260" declaration if needed.
Thank you for your time and guidance.
Best regards,
Cryolitia PukNgae
在 2025/7/31 04:57, Andy Shevchenko 写道:
> On Wed, Jul 30, 2025 at 2:56 PM Cryolitia PukNgae via B4 Relay
> <devnull+liziyao.uniontech.com@kernel.org> wrote:
>>
>> From: Cryolitia PukNgae <liziyao@uniontech.com>
>>
>> Some GPD devices ship a buggy firmware that describes on-device BMI260
>> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
>> let's match the correct ID to detect the device. The buggy ID "BMI0160"
>> is kept as well to maintain compatibility with older firmwares.
>
> No, it's not true. See below why,
>
>> ---
>> Some GPD devices ship a buggy firmware that describes on-device BMI260
>> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
>> let's match the correct ID to detect the device. The buggy ID "BMI0160"
>> is kept as well to maintain compatibility with older firmwares.
>>
>> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
>>
>> [1]. See the update nodes in the archive file above
>
> Yeah... I think you need one more attempt to fix it right.
>
> ...
>
>> static const struct acpi_device_id bmi270_acpi_match[] = {
>> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
>> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
>
> Unbelievable! How is the above supposed to work? Do we have DMI quirks
> in both drivers (bmi160 and bmi270)?
>
>> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
>> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
>
> For the record this is incorrect ACPI ID, nor PNP ID for Bosh, unless
> I missed that https://www.bensonmedical.com/ is bought by Bosh or part
> of the groups of the companies.,
>
>> { }
>> };
>
> Can you work with Bosh to resolve this as soon as possible and use a
> real Bosh ACPI ID (BOSCxxxx) or PNP ID (BSGxxxx)?
> Also, each ACPI ID adding patch (when it's incorrect) must provide a
> DSDT excerpt in the commit message to show this. Ideally this also
> should be confirmed by the vendor of the device (GPD) that the ID is
> incorrect and a correct one needs to be used.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-31 3:05 ` Cryolitia PukNgae
@ 2025-07-31 9:46 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2025-07-31 9:46 UTC (permalink / raw)
To: Cryolitia PukNgae
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
On Thu, Jul 31, 2025 at 5:06 AM Cryolitia PukNgae <liziyao@uniontech.com> wrote:
First of all, please do not top-post!
> Thank you for your reply. I apologize for the confusion regarding the
> PNP VID assignment - you are absolutely correct that "BMI0260" is not an
> official Bosch PNP ID. Let me provide a more detailed context.
>
> GPD devices originally used BMI160 sensors with the "BMI0160" PNP ID.
> When they switched to BMI260 sensors in newer hardware, they reused the
> existing Windows driver which accepts both "BMI0160" and "BMI0260" IDs.
This part is missing in the commit message.
But the question is how many DSDTs we know that are using it?
I have checked
- https://www.catalog.update.microsoft.com/Search.aspx?q=bosch%20BMI0260
(no results)
- duckduckgo.com gives many links, one of which is interesting, i.e.
https://treexy.com/products/driver-fusion/database/sensors/bosch/accelerometer/
that gives the list of the IDs in I assume Bosch issued drivers.
Can you find the link to the official Bosch sensor driver for this
family of sensors with the ID list provided (line on that link I
found)?
This may give us a reference and actually make it more clear in the
future (also this makes an evidence for these IDs to be
official which I was asking for during review of
https://lore.kernel.org/lkml/20241020220011.212395-1-justin@justinweiss.com/.
> Consequently, they kept "BMI0160" in DSDT tables for new BMI260 devices,
> causing driver mismatches in Linux.
No doubts.
> Current Situation:
> 1. GPD updated BIOS v0.40+ for newer devices to report "BMI0260" for
> BMI260 sensors to avoid loading bmi160 driver on Linux. While this isn't
> Bosch's VID:
> 2. Bosch's official Windows driver uses "BMI0260" as a compatible ID
Yeah, please provide a link.
> 3. The ID "BMI0160" already exists in mainline (drivers/iio/imu/bmi160)
Yes, I know, and that is a problem, but we can't solve it as that boat
already sailed.
> 4. We're seeing real devices shipping with "BMI0260" in DSDT
Can you list them in the commit message?
> Given the challenges we've faced in communicating with GPD regarding
> Linux support, it seems unlikely that we can push for another change;
> they are solely focused on ensuring compatibility with Bosch's official
> Windows driver. Unfortunately, I do not have the means to contact Bosch
> and urge them to abandon the use of these non-standard IDs.
>
> Given existing devices use "BMI0260" and Windows drivers validate this
> ID pattern, I propose temporarily adding it to bmi270_acpi_match as a
> compatibility measure. This would immediately benefit already existing
> users.
Right, but the problem with the fake IDs that already existed in the
devices on the market is the justification when adding them to Linux.
I also request to have a communication between vendors of the device
(HW) and platform that uses that HW with a fake (wrong) ID to make it
clear that this is a clear abuse of the ACPI specification. And next
time they should be aware of this.
> I'm happy to provide DSDT excerpts from GPD Win Max 2 2023 devices
> showing the "BMI0260" declaration if needed.
Yes, this is a must (but not limited to, see above what else is required).
> Thank you for your time and guidance.
> 在 2025/7/31 04:57, Andy Shevchenko 写道:
> > On Wed, Jul 30, 2025 at 2:56 PM Cryolitia PukNgae via B4 Relay
> > <devnull+liziyao.uniontech.com@kernel.org> wrote:
> >>
> >> From: Cryolitia PukNgae <liziyao@uniontech.com>
> >>
> >> Some GPD devices ship a buggy firmware that describes on-device BMI260
> >> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> >> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> >> is kept as well to maintain compatibility with older firmwares.
> >
> > No, it's not true. See below why,
> >
> >> ---
> >> Some GPD devices ship a buggy firmware that describes on-device BMI260
> >> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1],
> >> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> >> is kept as well to maintain compatibility with older firmwares.
> >>
> >> Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
> >>
> >> [1]. See the update nodes in the archive file above
> >
> > Yeah... I think you need one more attempt to fix it right.
It looks like BOSC0260 is also listed in the driver. Why can't you use that one?
...
> >> static const struct acpi_device_id bmi270_acpi_match[] = {
> >> /* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
> >> { "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
> >
> > Unbelievable! How is the above supposed to work? Do we have DMI quirks
> > in both drivers (bmi160 and bmi270)?
> >
> >> + /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */
> >> + { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
> >
> > For the record this is incorrect ACPI ID, nor PNP ID for Bosh, unless
> > I missed that https://www.bensonmedical.com/ is bought by Bosh or part
> > of the groups of the companies.,
> >
> >> { }
> >> };
> >
> > Can you work with Bosh to resolve this as soon as possible and use a
> > real Bosh ACPI ID (BOSCxxxx) or PNP ID (BSGxxxx)?
> > Also, each ACPI ID adding patch (when it's incorrect) must provide a
> > DSDT excerpt in the commit message to show this. Ideally this also
> > should be confirmed by the vendor of the device (GPD) that the ID is
> > incorrect and a correct one needs to be used.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-07-30 12:56 [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware Cryolitia PukNgae via B4 Relay
2025-07-30 17:46 ` David Lechner
2025-07-30 20:57 ` Andy Shevchenko
@ 2025-08-11 13:08 ` Andy Shevchenko
2025-08-11 13:10 ` Andy Shevchenko
2 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2025-08-11 13:08 UTC (permalink / raw)
To: liziyao
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
On Wed, Jul 30, 2025 at 08:56:16PM +0800, Cryolitia PukNgae via B4 Relay wrote:
> From: Cryolitia PukNgae <liziyao@uniontech.com>
>
> Some GPD devices ship a buggy firmware that describes on-device BMI260
> with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> let's match the correct ID to detect the device. The buggy ID "BMI0160"
> is kept as well to maintain compatibility with older firmwares.
I think I saw this patch already and there was even an (unfinished)
discussion...
https://lore.kernel.org/linux-iio/20250730-bmi270-gpd-acpi-v1-1-1ffc85b17266@uniontech.com/
So, why are you sending the same patch again?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware
2025-08-11 13:08 ` Andy Shevchenko
@ 2025-08-11 13:10 ` Andy Shevchenko
0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2025-08-11 13:10 UTC (permalink / raw)
To: liziyao
Cc: Alex Lanzano, Jonathan Cameron, Lars-Peter Clausen, David Lechner,
Nuno Sá, Andy Shevchenko, linux-iio, linux-kernel, Yao Zi,
WangYuli, Jun Zhan
On Mon, Aug 11, 2025 at 04:08:53PM +0300, Andy Shevchenko wrote:
> On Wed, Jul 30, 2025 at 08:56:16PM +0800, Cryolitia PukNgae via B4 Relay wrote:
> >
> > Some GPD devices ship a buggy firmware that describes on-device BMI260
> > with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40,
> > let's match the correct ID to detect the device. The buggy ID "BMI0160"
> > is kept as well to maintain compatibility with older firmwares.
>
> I think I saw this patch already and there was even an (unfinished)
> discussion...
> https://lore.kernel.org/linux-iio/20250730-bmi270-gpd-acpi-v1-1-1ffc85b17266@uniontech.com/
>
> So, why are you sending the same patch again?
Oh, my gosh, it's this discussion already! Please, ignore my above comment.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-08-11 13:10 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-30 12:56 [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware Cryolitia PukNgae via B4 Relay
2025-07-30 17:46 ` David Lechner
2025-07-30 20:57 ` Andy Shevchenko
2025-07-30 21:11 ` Andy Shevchenko
2025-07-31 3:05 ` Cryolitia PukNgae
2025-07-31 9:46 ` Andy Shevchenko
2025-08-11 13:08 ` Andy Shevchenko
2025-08-11 13:10 ` Andy Shevchenko
-- strict thread matches above, loose matches on Subject: below --
2025-02-06 7:09 Cryolitia PukNgae via B4 Relay
2025-02-07 17:12 ` Alex Lanzano
2025-02-08 13:30 ` Jonathan Cameron
2025-07-30 10:16 ` Cryolitia PukNgae
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).