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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240312194938.mxmip456xnjdlrbo@pali>
Date: Tue, 12 Mar 2024 20:49:38 +0100
From: Pali Rohár <pali@...nel.org>
To: Patrick Höhn <hoehnp@....de>
Cc: Jean Delvare <jdelvare@...e.com>, Andi Shyti <andi.shyti@...nel.org>,
	Paul Menzel <pmenzel@...gen.mpg.de>, linux-i2c@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] i2c: i801: Add lis3lv02d for Dell Precision M6800

On Tuesday 12 March 2024 20:31:31 Patrick Höhn wrote:
> On the Dell Precision M6800/OXD1M5, BIOS A26 06/13/2029, Linux prints the
> warning below.
> 
>     i801_smbus 0000:00:1f.4: Accelerometer lis3lv02d is present on SMBus but its address is unknown, skipping registration
> 
> Following the same suggestions by Wolfram Sang as for the Dell Precision
> 3540 [1], the accelerometer can be successfully found on I2C bus 0 at
> address 0x29.

Just to note for other users in future. I2C does not have to be assigned
with number 0. This number is chosen by the kernel at runtime as the
first unused number. So in case you have VGA adapter (or GPU) for which
is i2c driver available and loaded + probed before i801_smbus is loaded
and probed then kernel would report accelerometer at different bus
number. On the other hand, accelerometer address on I2C bus normally
should not change (configurable device can change it but we should hope
that it does not happen).

The correct number of bus can be found by the i2cdetect command too:

  # i2cdetect -l | grep I801

For me it prints:

  i2c-0   unknown         SMBus I801 adapter at f040              N/A

> 
>     $ echo lis3lv02d 0x29 | sudo tee /sys/bus/i2c/devices/i2c-0/new_device
>     lis3lv02d 0x29
>     $ dmesg | tail -5
>     [1185.385204] lis3lv02d_i2c 0-0029: supply Vdd not found, using dummy regulator
>     [1185.385235] lis3lv02d_i2c 0-0029: supply Vdd_IO not found, using dummy regulator
>     [1185.399689] lis3lv02d: 8 bits 3DC sensor found
>     [1185.449391] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input371
>     [1185.449577] i2c i2c-0: new_device: Instantiated device lis3lv02d at 0x29
> 
> So, the device has that accelerometer. Add the I2C address to the
> mapping list, and test it successfully on the device.
> 
> [1]: https://lore.kernel.org/linux-i2c/97708c11-ac85-fb62-2c8e-d37739ca826f@molgen.mpg.de/
> Signed-off-by: Patrick Höhn <hoehnp@....de>

Otherwise looks good,

Acked-by: Pali Rohár <pali@...nel.org>

> ---
>  drivers/i2c/busses/i2c-i801.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index 2c36b36d7d51..c1fee2c61da1 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -1231,6 +1231,7 @@ static const struct {
>  	 */
>  	{ "Latitude 5480",      0x29 },
>  	{ "Precision 3540",     0x29 },
> +	{ "Precision M6800",    0x29 },
>  	{ "Vostro V131",        0x1d },
>  	{ "Vostro 5568",        0x29 },
>  	{ "XPS 15 7590",        0x29 },
> --
> 2.43.2
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ