3

I fear that this is a very specific question.

  • Hardware: Gumstix Overo Fire (ARM Cortex A8)
  • Distro: Poky (customized with the Yocto Project)
  • Kernel: 3.5.7

I tried to write a program to read a HIH6130 i2c sensor, using /dev/i2c-3 and < linux/i2c-dev.h>, but despite it works for every other i2c device, it does not work for this one. Probably this happens because a particularity of the reading protocol, but anyway, that's not the topic.

I found this code that implements a driver for that sensor, and it is inside a so called "hwmon", which seems to be a collection of sensor drivers.

After successfully compiled and inserted this module I was expecting to see the entry humidity1_input somewhere under hwmon but I didn't find it.


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

Do I have to do something else to enable the reading of this sensor? Any ideas?

halfer
  • 19,824
  • 17
  • 99
  • 186
mathiasfk
  • 1,278
  • 1
  • 19
  • 38

1 Answers1

3

I ended up using i2cget to read it:

$ i2cget -y 3 0x27 0x00

Later, the author, Iain Paton, kindly showed me how to bind the driver:

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

In my device it appeared in this directory:

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

Also there is a 'temp1_input' in this same directory.

mathiasfk
  • 1,278
  • 1
  • 19
  • 38