# Acer Aspire 1420p: Ausrichtungssensor

## manuels

Hi,

ich hab ein Acer Aspire 1420p (Tablet), welches einen Sensor hat, der erkennen kann, wierum ich das Tablet halte.

Unter Windows wird dies auch wunderbar erkannt, unter Linux weiß ich gar nicht, wo ich ansetzen könnte, um den Sensor auszulesen.

Wird so ein Sensor vielleicht als /dev/input/ erkannt?

Hier mal ein paar Ausgaben (die meines Erachtens den Sensor nicht auflisten):

```
$ lspci 

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)

00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)

00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)

00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)

01:00.0 Ethernet controller: Atheros Communications AR8131 Gigabit Ethernet (rev c0)

02:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000

$ lsusb

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 004 Device 002: ID 062a:7100 Creative Labs (wird hier von lssub falsch aufgelistet, ist eigentlich MosArt, Inc. RMTP-MA957 (der Touchscreen, der auch mittels hid_mosart-Treiber wunderbar funktioniert)

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 04f2:b19d Chicony Electronics Co., Ltd 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ xinput --list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]

⎜   ↳ MosArt, Inc. RMTP-MA957                   id=9    [slave  pointer  (2)]

⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]

⎣ Virtual core keyboard                         id=3    [master keyboard (2)]

    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]

    ↳ Power Button                              id=6    [slave  keyboard (3)]

    ↳ Power Button                              id=7    [slave  keyboard (3)]

    ↳ Sleep Button                              id=8    [slave  keyboard (3)]

    ↳ Webcam                                    id=10   [slave  keyboard (3)]

    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
```

Weiß jemand wonach ich suchen sollte?

----------

## doedel

Ich vermute mal, das ist ein Beschleunigungssensor per I2C, guck mal unter /sys/class/i2c* durch.

----------

## manuels

Sieht (für mich) nicht so aus, als sei es im i2c-Bus:

```
$ sudo i2cdetect -l

i2c-0   i2c             i915 gmbus disabled                     I2C adapter

i2c-1   i2c             i915 gmbus ssc                          I2C adapter

i2c-2   i2c             i915 GPIOB                              I2C adapter

i2c-3   i2c             i915 gmbus vga                          I2C adapter

i2c-4   i2c             i915 GPIOA                              I2C adapter

i2c-5   i2c             i915 gmbus panel                        I2C adapter

i2c-6   i2c             i915 GPIOC                              I2C adapter

i2c-7   i2c             i915 gmbus dpc                          I2C adapter

i2c-8   i2c             i915 GPIOD                              I2C adapter

i2c-9   i2c             i915 gmbus dpb                          I2C adapter

i2c-10  i2c             i915 GPIOE                              I2C adapter

i2c-11  i2c             i915 gmbus reserved                     I2C adapter

i2c-12  i2c             i915 gmbus dpd                          I2C adapter

i2c-13  i2c             i915 GPIOF                              I2C adapter

i2c-14  i2c             DPDDC-B                                 I2C adapter

i2c-15  i2c             DPDDC-C                                 I2C adapter

i2c-16  i2c             DPDDC-D                                 I2C adapter

```

Oder überseh ich was?

----------

## doedel

Hmmm vielleicht an GPIOs angeschlossen... Aber Rätseln bringt da erstmal nich viel, hast du die Möglichkeit zu gucken, als WAS das Teil unter Windows erkannt wird, welcher Treiber und welche Version verwendet wird?

----------

## manuels

Also unter Windows 7 wird der Sensor wohl als "ST Micro ScreenDetection" erkannt und blöderweise als "Systemgerät" aufgelistet.

Leider konnte ich nicht mehr Informationen aus Windows herausbekommen (wen wundert's).

Wie kann ich denn den GPIO-(Bus?) abscannen?

----------

## doedel

GPIO ist kein Bus - General Purpose Input Output.

Das ist gefährlich, wenn z.B. Bit 3 mit 4 irgendwie elektrisch verbunden ist, und du zwei untersćhiedliche Pegel anlegst, geht, je nach Treiberstufe, eine Seite kaputt, da kannst du, ohne Doku, nichts dran machen.

Laut dem hier:

http://ubuntuforums.org/showpost.php?p=9767008&postcount=10

das ein SMO8800 sein, allerdings finde ich dazu nicht viel brauchbares.

So wie ich das sehe, läuft das Teil über ACPI, ein Datenblatt konnte ich nicht finden. Schau dir mal dein ACPI an und versuche mal sämtliche ACPI-Treiber, auch wenn sie dir noch so sinnlos erscheinen mit einzucompilieren, vielleicht reagiert ja einer drauf.

http://www.google.de/search?hl=de&client=firefox-a&hs=2cR&rls=org.mozilla%3Aen-US%3Aofficial&q=SMO8800&aq=f&aqi=g2&aql=&oq=

//edit: ich sende schneller ab, als dass ich den Post im ubuntu Forum fertig gelesen habe, du scheinst ja kein noob zu sein ( :Very Happy: ) sieht mal interessant aus  :Smile: 

----------

## manuels

Hab mir lis302dl.c runtergeladen und folgendes Makefile erstellt:

```
obj-m += lis302dl.o

all:

        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:

        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

```

Aber es will nicht kompilieren:

```
$ make -f Makefile

make -C /lib/modules/2.6.38-020638rc4-generic/build M=/home/manuel/tmp modules

make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.38-020638rc4-generic'

  Building modules, stage 2.

  MODPOST 0 modules

make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.38-020638rc4-generic'
```

Was mach ich hier falsch??

----------

## doedel

Hm also bei mir compiliert die Datei mti deinem Makefile, allerdings nur soweit, bis er die GPIO Konfiguration haben will, omg.... Jetzt  geh ich schlafen, dann mal Datenblätter suchen...

----------

## Whoopie

Hi,

gibt's hier schon neue Erkenntnisse? Mein Dell Vostro V131 Laptop hat auch einen als "ACPI SMO8800" bezeichneten Beschleunigungssensor von ST Microelectronics. Ich konnte allerdings bisher nicht die genaue Typenbeschreibung herrausfinden.

Für Infos wäre ich dankbar.

Gruß,

Whoopie

----------

