Как вставить модуль hwmon (ARM)

Боюсь, что это очень конкретный вопрос.

  • Аппаратное обеспечение: Gumstix Overo Fire (ARM Cortex A8)
  • Distro: Poky (настраивается с помощью проекта Yocto)
  • Ядро: 3.5.7

Я пытался написать программу для чтения датчика i2c HIH6130, используя /dev/i2c-3 и , но, несмотря на то, что он работает для любого другого устройства i2c, он не работает для этого. Вероятно, это происходит потому, что особенность протокола чтения, но в любом случае, это не тема.

Я нашел этот код, который реализует драйвер для этого датчика, и он находится внутри так называемого "hwmon", который, кажется, представляет собой набор драйверов датчиков.

После успешной компиляции и вставки этого модуля я ожидал увидеть запись влажность1 где-то в разделе hwmon, но я не нашел его.


root@overo:/sys# find -name hum*
root@overo:/sys# find -name hih*
./bus/i2c/drivers/hih6130
./module/hih6130
root@overo:/sys# ls ./bus/i2c/drivers/hih6130
bind  module  uevent  unbind
root@overo:/sys# ls ./module/hih6130
coresize  holders   initstate  refcnt    srcversion  uevent
drivers   initsize  notes      sections  taint

Должен ли я сделать что-то еще, чтобы включить чтение этого датчика? Есть идеи?

1 ответ

Решение

Я закончил тем, что использовал i2cget, чтобы прочитать это:

$ i2cget -y 3 0x27 0x00

Позже автор Иэн Патон любезно показал мне, как связать драйвер:

$ insmod hih6130.ko
$ echo hih6130 0x27 > /sys/bus/i2c/devices/i2c-3/new_device

В моем устройстве он появился в этом каталоге:

$ find /sys/ -name humidity*
/sys/devices/platform/omap_i2c.3/i2c-3/3-0027/humidity1_input

Также в этом же каталоге есть "temp1_input".

Другие вопросы по тегам