Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?

From: Srinivas Pandruvada
Date: Thu Dec 17 2015 - 20:18:25 EST


On Thu, 2015-12-17 at 17:07 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
> <srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
> > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
> > > as
> > > now my laptop is displaying values in the sysfs *raw* files.]
> > >
> > > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > > driver works.
> > >
> > > If I turn up debugging, when I `cat
> > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > > accel_3d_proc_event" and I think that means that
> > > hid_sensor_push_data() is getting called.
> > >
> > > But read()'s on /dev/iio:device3 never produces anything, which
> > > is
> > > what iio-sensor-proxy uses to translate events to dbus.
> > >
> > > Is it expected that the dev-node is "silent"? Just trying to
> > > understand if an extension to the driver to support a chardev
> > > based
> > > output is appropriate, or if iio-sensor-proxy needs to be changed
> > > to
> > > handle this device.
> >
> > You are saying there is some regression. This used to work and now
> > it
> > doesn't work. Is raw values are displayed correctly, when you do
> > "cat"?
> > If cat of raw values is working then power on of sensors is
> > working.
>
> Sorry, I was unclear. I don't know if this is a regression. I can try
> going back to an older kernel to see if the /dev/iio:device* files
> produced any output.
>
> Yes, the *raw* files in sysfs are producing output, that is changing
> as I move the laptop around. But the /dev/ nodes seem to produce no
> output (I'm still reading through the driver code to understand where
> that data should be coming from.
>
> > Turn on HID debug prints. If it is regression we can do git bisect.
> > Any ACPI or PM changes can break this. Usually there will be GPIOs
> > which will be involved in power on, where ACPI comes into play.
> > This
> > will be done by i2c-hid. There are some prints in i2c-hid which can
> > be
> > enabled also.
>
> Ok, I will try this, as well.
>

Try increasing in_accel_sampling_frequency
echo 100 > in_accel_sampling_frequency
Adjust hysteresis to a low value
echo 0 > in_accel_hysteresis
These values are very vendor specific.

Thanks,
Srinivas

> -Nish
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/