lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aKXlFZmIaefBPlw0@smile.fi.intel.com>
Date: Wed, 20 Aug 2025 18:09:09 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: cryolitia@...ontech.com
Cc: Alex Lanzano <lanzano.alex@...il.com>,
	Jonathan Cameron <jic23@...nel.org>,
	Lars-Peter Clausen <lars@...afoo.de>,
	David Lechner <dlechner@...libre.com>,
	Nuno Sá <nuno.sa@...log.com>,
	Andy Shevchenko <andy@...nel.org>, linux-iio@...r.kernel.org,
	linux-kernel@...r.kernel.org, Yao Zi <ziyao@...root.org>,
	WangYuli <wangyuli@...ontech.com>, Jun Zhan <zhanjun@...ontech.com>,
	Niecheng1@...ontech.com
Subject: Re: [PATCH v2] iio: imu: bmi270: Match PNP ID found on newer GPD
 firmware

On Fri, Aug 15, 2025 at 06:43:26PM +0800, Cryolitia PukNgae via B4 Relay wrote:
> From: Cryolitia PukNgae <cryolitia@...ontech.com>
> 
> 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.
> 
> 1. GPD updated BIOS v0.40+[1] 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. We're seeing real devices shipping with "BMI0260" in DSDT
> 
> The DSDT excerpt of GPD G1619-04 with BIOS v0.40:
> 
> Scope (_SB.I2CC)
> {
>     Device (BMA2)
>     {
>         Name (_ADR, Zero)  // _ADR: Address
>         Name (_HID, "BMI0260")  // _HID: Hardware ID
>         Name (_CID, "BMI0260")  // _CID: Compatible ID
>         Name (_DDN, "Accelerometer")  // _DDN: DOS Device Name
>         Name (_UID, One)  // _UID: Unique ID
>         Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>         {
>             Name (RBUF, ResourceTemplate ()
>             {
>                 I2cSerialBusV2 (0x0069, ControllerInitiated, 0x00061A80,
>                     AddressingMode7Bit, "\\_SB.I2CC",
>                     0x00, ResourceConsumer, , Exclusive,
>                     )
>             })
>             Return (RBUF) /* \_SB_.I2CC.BMA2._CRS.RBUF */
>         }

Everything from this line...

>         OperationRegion (CMS2, SystemIO, 0x72, 0x02)
>         Field (CMS2, ByteAcc, NoLock, Preserve)
>         {
>             IND2,   8,
>             DAT2,   8
>         }
> 
>         IndexField (IND2, DAT2, ByteAcc, NoLock, Preserve)
>         {
>             Offset (0x74),
>             BACS,   32
>         }
> 
>         Method (ROMS, 0, NotSerialized)
>         {
>             Name (RBUF, Package (0x03)
>             {
>                 "0 -1 0",
>                 "-1 0 0",
>                 "0 0 -1"
>             })
>             Return (RBUF) /* \_SB_.I2CC.BMA2.ROMS.RBUF */
>         }
> 
>         Method (CALS, 1, NotSerialized)
>         {
>             Local0 = Arg0
>             If (((Local0 == Zero) || (Local0 == Ones)))
>             {
>                 Return (Local0)
>             }
>             Else
>             {
>                 BACS = Local0
>             }
>         }

>         Method (_STA, 0, NotSerialized)  // _STA: Status
>         {
>             Return (0x0F)
>         }

...till this line is a noise.

>     }
> }

> 1. http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
> 

Make it a Link tag.

Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip #1
Signed-of-by: ...

-- 
With Best Regards,
Andy Shevchenko



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ