Ticket #1277 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

no data from 2nd accellerometer

Reported by: mickey@… Owned by: openmoko-kernel@…
Priority: high Milestone:
Component: Core System Version: unspecified
Severity: normal Keywords:
Cc: buglog@… Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: PatchReviewResult:
Reproducible:

Description

Trying to get data from the 2nd accellerometer. /dev/input/event3 is spitting
out data, /dev/input/event4 is quiet. cat /proc/interrupts show that only one
accellerometer is generating irqs, the 2nd one seems stuck at a (random, but
fixed) number < 600.

Change History

comment:1 Changed 6 years ago by andy@…

Hi Mickey -

I believe you want event2 and event3, not 4:

# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="Neo1973 Buttons"
P: Phys=neo1973kbd/input0
S: Sysfs=/devices/platform/neo1973-button.0/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=23
B: KEY=200 0 800000 0 0 0
B: SW=4

I: Bus=0013 Vendor=dead Product=beef Version=0101
N: Name="s3c2410 TouchScreen?"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="lis302-1 (top)"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2
B: EV=5
B: REL=7

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="lis302-2 (bottom)"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3
B: EV=5
B: REL=7

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="GTA02 PMU events"
P: Phys=FIXME
S: Sysfs=/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=400003
B: KEY=10 0 0 0 1000 0 0 0 100000 0 0 0

The accelerometers are done so they only create interrupts when you have
their /dev/input node open, so it makes sense one of their interrupt counts
does not go up if you had the wrong node open.

comment:2 Changed 6 years ago by stefan@…

From mickeyl:

neod opens all device nodes by default, so we should see interrupts from both
accelerometers.

comment:3 Changed 6 years ago by andy@…

Hum, something's up somewhere because lsof -n shows neod has them open alright
on a device here, but the interrupt count does not increase :-(

root@fic-gta02:~# lsof -n | grep event | grep neod
neod 1432 root 5r CHR 13,64
1455 /dev/input/event0
neod 1432 root 6r CHR 13,65
1764 /dev/input/event1
neod 1432 root 7r CHR 13,66
1797 /dev/input/event2
neod 1432 root 8r CHR 13,67
1818 /dev/input/event3
neod 1432 root 9r CHR 13,68
1597 /dev/input/event4

root@fic-gta02:~# cat /proc/interrupts | grep lis

16: 2 s3c-ext0 lis302dl
60: 1049047 s3c-ext lis302dl

root@fic-gta02:~# cat /proc/interrupts | grep lis

16: 2 s3c-ext0 lis302dl
60: 1049047 s3c-ext lis302dl

comment:4 Changed 6 years ago by tony@…

Maybe it hardware defects, willie found that 2008/1 DM1 test pass criteria was
not complete, some defect accelerometer might pass DM1 test. And that time we
don't have Accerelometer driver in kernel space.

comment:5 Changed 6 years ago by andy@…

So far I wasn't able to reproduce this running

cat /dev/input/event<2,3> > /dev/null

in two ssh shells and watching /proc/interrupts, even up past 500K interrupts.
Hexdumping them at the same time didn't disrupt the steady increase in
interrupt counts on both either.

This is running with init=/bin/sh so neod does not run.

I looked at neod sources and the opening of the event things doesn't look
insane, and I confirmed before it does hold them open.

Can you confirm that if you stop neod and do the same say

cat /dev/input/event2 > /dev/null &

that you still see problems via /proc/interrupts? Or does it seem to need
neod to make the symptom?

comment:6 Changed 6 years ago by mickey@…

  • Status changed from new to closed
  • Resolution set to fixed

No longer a problem with uImage-2.6.24+svnr4301-r4251-r5-om-gta02.bin -- thanks,
Andy!

Note: See TracTickets for help on using tickets.