Eu tenho um tablet com sensores embutidos que me permitem 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.
Na página do GitHub ( https://github.com/systemd/systemd/blob/master/hwdb/60-sensor.hwdb ) é explicado como alterar esse comportamento: Crie um arquivo /etc/udev/hwdb.d/61-sensor-local.hwdb
e grave nele
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 ofc).
Problema: Não tenho ideia 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 descobri até agora:
Isso me dá o 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 encontro as chamadas modalias:
cat /sys/devices/pci0000:00/0000:00:15.0/modalias
pci:v00008086d00009D60sv00008086sd00007270bc11sc80i00
Agradeceria muito a ajuda daqui em diante!
Meu sistema: Linux jva 4.14.5-1-ARCH #1 SMP PREEMPT Dom 10 de dezembro 14:50:30 UTC 2017 x86_64 GNU/Linux em execução no GNOME 3.26.2 (Wayland-seesion)
Tablet: Eve V i7Y
Acabei de resolver este problema para o meu Lenovo Miix 320.
Você já tem o nome do motorista:
No seu caso: KIOX000A
Em seguida, descubra o fornecedor e o nome do produto com dmidecode (deve ser um dos primeiros hits, no meu caso LENOVO e XF80):
Agora é só juntar as coisas:
sem os colchetes.
Encontrei esta informação em: https://www.aixin.fr/jipeblog/?p=119
Tenho mais ou menos o mesmo problema, mas não consegui escrever uma regra para corresponder ao meu dispositivo (ou, por algum motivo, não está funcionando conforme o esperado). Você poderia dar uma olhada em ACCEL_MOUNT_MATRIX para ARCHOS 90 CESIUM ?
Muito obrigado.