Altere os dados do iio-sensors via ACCEL_MOUNT_MATRIX personalizado

2

Eu tenho um tablet com sensores incorporados que me permitem a rotação automática da tela, com base em iio-sensors-proxy . No entanto, a orientação da tela está desativada e preciso corrigi-la.

Em sua página do GitHub ( link ) é explicado como mudar isso comportamento: Crie um arquivo /etc/udev/hwdb.d/61-sensor-local.hwdb e escreva para ele

sensor:modalias:<parent device modalias>:dmi:<dmi string>

e

ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1 

(esta matriz deve ser alterada de c).

Problema: Não tenho idéia de como obter as informações necessárias para a primeira linha, o prefixo do sensor.

Solução: o arquivo final contém:

sensor:modalias:acpi:KIOX000A*:dmi:*:svnEVE*:pnEveV:*
    ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1

O que eu encontrei até agora:

Isso me dá nome do dispositivo:

udevadm info --export-db | grep iio
P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-KIOX000A:00/iio:device0
N: iio:device0
E: DEVNAME=/dev/iio:device0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-KIOX000A:00/iio:device0
E: DEVTYPE=iio_device
E: IIO_SENSOR_PROXY_TYPE=iio-buffer-accel
E: SUBSYSTEM=iio
E: SYSTEMD_WANTS=iio-sensor-proxy.service

Isso me dá mais informações sobre o dispositivo:

udevadm info -n "/dev/iio:device0" 
P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-KIOX000A:00/iio:device0
N: iio:device0
E: DEVNAME=/dev/iio:device0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-KIOX000A:00/iio:device0
E: DEVTYPE=iio_device
E: IIO_SENSOR_PROXY_TYPE=iio-buffer-accel
E: MAJOR=245
E: MINOR=0
E: SUBSYSTEM=iio
E: SYSTEMD_WANTS=iio-sensor-proxy.service
E: TAGS=:systemd:
E: USEC_INITIALIZED=1959744

E via pci eu encontro os chamados modalias:

cat /sys/devices/pci0000:00/0000:00:15.0/modalias
pci:v00008086d00009D60sv00008086sd00007270bc11sc80i00

Eu realmente aprecio a ajuda daqui em diante!

Meu sistema: Linux jva 4.14.5-1-ARCH # 1 SMP PREEMPT Dom Dez 10 14:50:30 UTC 2017 x86_64 GNU / Linux em execução no GNOME 3.26.2 (Wayland-seesion)

Comprimido: Eve V i7Y

    
por vonAlenberg 14.12.2017 / 10:18

2 respostas

2

Acabei de resolver este problema para o meu Lenovo Miix 320.

Você já tem o nome do driver:

udevadm info -n  /dev/iio:device0

No seu caso: KIOX000A

Em seguida, descubra o fornecedor e o nome do produto com dmidecode (deve ser um dos primeiros hits, no meu Case LENOVO e XF80):

dmidecode | grep Manufacturer
dmidecode | grep Product

Agora, apenas junte as coisas:

sensor:modalias:acpi:[driver name]*:dmi:*:svn[Manufacturer]*:pn[Product Name]:*

sem os colchetes.

Eu encontrei esta informação em: link

    
por 16.12.2017 / 12:29
0

Eu tenho mais ou menos o mesmo problema, mas não consegui escrever uma regra para corresponder ao meu dispositivo (ou, por algum motivo, ele não está funcionando como esperado). Você poderia dar uma olhada em ACCEL_MOUNT_MATRIX para o ARCHOS 90 CESIUM ?

Muito obrigado.

    
por 09.01.2018 / 10:42