# linux kernel driver for de351dl, STMicroelectronics

## daru500

Any guys have experiences for recognizing de351dl, STMicroelectronics free fall sensor?

the device is installed Dell laptop (I am using studio 1458).

Thanks in advance.

----------

## Whoopie

I think, my Dell Vostro V131 also has it built-in. Has anyone found a linux kernel driver for it?

Thanks in advance,

Whoopie

----------

## roarinelk

My Dell has one too.  Apparently it's compatible with the lis2d driver,

but the kernel complains about an invalid ACPI resource descriptor for

the device (ACPI id SMO8800) and does nothing with it.

----------

## Whoopie

Where can I find this lis2d driver? It's not in kernel 3.2.x.

----------

## cach0rr0

disclaimer: ive never tried to get that particularly piece of hardware working. so, i'm posting research rather than experience

based on what ive read, this looks to be correct at least as far as the kernel goes. anyone else confirm? I don't even see "DE351DL" listed as a part on STMicro's website

This is as close as I could find http://www.st.com/internet/analog/product/250725.jsp

digging through the kernel sources, I found this:

```

/*

 * This driver tries to support the "digital" accelerometer chips from

 * STMicroelectronics such as LIS3LV02DL, LIS302DL, LIS3L02DQ, LIS331DL,

 * LIS35DE, or LIS202DL. They are very similar in terms of programming, with

 * almost the same registers. In addition to differing on physical properties,

 * they differ on the number of axes (2/3), precision (8/12 bits), and special

 * features (freefall detection, click...). Unfortunately, not all the

 * differences can be probed via a register.

 * They can be connected either via I�C or SPI.

 */

```

that's from /usr/src/linux/drivers/misc/lis3lv02d/lis3lv02d.h

which belongs to

```

CONFIG_SENSORS_LIS3_I2C:

  │

  │ This driver provides support for the LIS3LV02Dx accelerometer connected

  │ via I2C. The accelerometer data is readable via

  │ /sys/devices/platform/lis3lv02d.

  │

  │ This driver also provides an absolute input class device, allowing

  │ the device to act as a pinball machine-esque joystick.

  │

  │ This driver can also be built as modules.  If so, the core module

  │ will be called lis3lv02d and a specific module for the I2C transport

  │ is called lis3lv02d_i2c.

  │

  │ Symbol: SENSORS_LIS3_I2C [=n]

  │ Type  : tristate

  │ Prompt: STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)

  │   Defined at drivers/misc/lis3lv02d/Kconfig:22

  │   Depends on: I2C [=y] && INPUT [=y]

  │   Location:

  │     -> Device Drivers

  │       -> Misc devices

  │   Selects: SENSORS_LIS3LV02D [=n]

```

can always build it and try to modprobe it, see what catches fire. 

the above was found in sources for 3.3.4-gentoo

I can't quite tell if /dev/freefall is created only *during* freefall, or if it's created by this module itself. Something to look for at least?

----------

## Whoopie

Thanks for your help, cach0rr0!

Sadly, nothing happens when I modprobe the kernel modules (lis3lv02d_i2c, lis3lv02d, lis3l02dq). Neither the /sys file nor the /dev/freefall device node is created.

----------

