Difference between revisions of "STMicroelectronics LSM303DLH"

From ArchWiki
Jump to navigation Jump to search
(Small update with my findings on a Dell Inspiron 7347)
Line 4: Line 4:
  
 
The LSM303DLH is a 3-axis accelerometer and magnetometer.
 
The LSM303DLH is a 3-axis accelerometer and magnetometer.
 +
 +
{{Warning|As of kernel 3.13, it looks like this device is already recognized by the vanilla kernel. As an example, [http://pastebin.com/742KTaS6 this bash script], autostarted in the background, will perform automatic screen (and touchscreen) rotation for a Dell Inspiron 7347 convertible}}
  
 
==Driver==
 
==Driver==

Revision as of 13:58, 18 January 2015


Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:STMicroelectronics LSM303DLH#)

The LSM303DLH is a 3-axis accelerometer and magnetometer.

Warning: As of kernel 3.13, it looks like this device is already recognized by the vanilla kernel. As an example, this bash script, autostarted in the background, will perform automatic screen (and touchscreen) rotation for a Dell Inspiron 7347 convertible

Driver

The official driver available is available at a cached version of the manufacturer's website. The driver is open source an it was released under the GNU General Public License (v2). It compiles fine, and the accelerometer module can be loaded without problems:

dmesg
...
[  124.908804] lsm303dlh_acc_sysfs accelerometer driver: init
[  124.908876] i2c-core: driver [lsm303dlh_acc_sysfs] using legacy suspend method
[  124.908885] i2c-core: driver [lsm303dlh_acc_sysfs] using legacy resume method

The following error occurs when loading the magnetometer module:

dmesg
...
[ 2546.530196] lsm303dlh_mag_sysfs: Unknown symbol input_allocate_polled_device (err 0)
[ 2546.530271] lsm303dlh_mag_sysfs: Unknown symbol input_free_polled_device (err 0)
[ 2546.530425] lsm303dlh_mag_sysfs: Unknown symbol input_register_polled_device (err 0)
[ 2546.530550] lsm303dlh_mag_sysfs: Unknown symbol input_unregister_polled_device (err 0)

Accelerometer

Instantiate the device

Run the following command to instantiate the device:

# echo lsm303dlh_acc_sysfs 25 > /sys/bus/i2c/devices/i2c-2/new_device

Although, it seems to be a problem with the driver.

demesg
...
[  833.274769] lsm303dlh_acc_sysfs: probe start.
[  833.274781] lsm303dlh_acc_sysfs 2-0019: platform data is NULL. exiting.
[  833.274790] lsm303dlh_acc_sysfs: Driver Init failed
[  833.274813] i2c i2c-2: new_device: Instantiated device lsm303dlh_acc_sysfs at 0x19

Enabling the device

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:STMicroelectronics LSM303DLH#)

Reading the output of the device

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:STMicroelectronics LSM303DLH#)

See also