Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux driver in Fedora 19-21 crashing after few seconds after the orientation program is started #41

Open
mehanzhi opened this issue Jun 15, 2015 · 5 comments

Comments

@mehanzhi
Copy link

Hello,

Every time I start the orientation program a driver crashes and the devices under /sys/bus/iio/devices/iio disappear.
I cannot start the orientation program again until I reboot.
Will this be fixed if I install the drivers from this git instead of using the ones in the kernel?
If so which module should I block from loading?

Thanks

@pfps
Copy link
Owner

pfps commented Jun 15, 2015

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

The drivers in the distribution are for older releases. They should not be
needed in current Fedora.

I'm currently running Fedora 21 on a Yoga 2 Pro, and I'm not having any
problems with the orientation program. (That said, the new kernel 4.0.4 is
causing lots of OOPS.)

peter

On 06/14/2015 10:46 PM, mehanzhi wrote:

Hello,

Every time I start the orientation program a driver crashes and the
devices under /sys/bus/iio/devices/iio disappear. I cannot start the
orientation program again until I reboot. Will this be fixed if I install
the drivers from this git instead of using the ones in the kernel? If so
which module should I block from loading?

Thanks

— Reply to this email directly or view it on GitHub
#41.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVfmmMAAoJECjN6+QThfjzpjoH/jhdrTDIks1hmxOPiUBgeFmE
bYLJmkzPZA4m5mfnXMLHC0TpHdmZQ8MzwdxbyT4UqvwASNfskwAuX7U8ueLeyIzr
dggbkvUg4ZcYQSdHwceo1h2xy11GtgoGKeC5eQR8ngm3mzjZu5iigAlFA5mtj1r4
5XdANTgAgS4fZL662PnhqVb69wlCc7FmZcOKT+EO0QQwLMFJB7fw3F3Mx04ytRSv
hCQV6Nsf8GgX24nu8usUk6M/dS/tX7LJGKJ6vYchRXkOE45EGkS+bTRDhqi1hXm8
LTYCNpGtBjv18DJd5+IuZhPFRgNb9v1Siu+4L5YSEniadHQM9qABrGZYpj+Gdzc=
=moMq
-----END PGP SIGNATURE-----

@mehanzhi
Copy link
Author

Hmm,

I'm running Fedora 20 on Yoga 13 core i3 with kernel 3.19.8-100.fc20.x86_64

Later today I'll trace the issue and I'll provide you logs and output from the shell.

Thanks.

@pfps
Copy link
Owner

pfps commented Jun 15, 2015

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hmm.

I expect that this is indeed a driver issue, but that switching to the
drivers I put together would not make a difference.

One thing that you could try is to run
generic_buffer -c 10 -n gyro_3d
Limited documentation is in docs/Generic_buffer

peter

On 06/14/2015 11:47 PM, mehanzhi wrote:

Hmm,

I'm running Fedora 20 on Yoga 13 core i3 with kernel
3.19.8-100.fc20.x86_64

Later today I'll trace the issue and I'll provide you logs and output
from the shell.

Thanks.

— Reply to this email directly or view it on GitHub
#41 (comment).

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVftKBAAoJECjN6+QThfjznKkH/3cwRuSLIIMd9itcaiOjiA5l
+HbMMpZTrsVQGeCDs5hodB9Eu7A7nw0qtkRJhANihcYmoRChlXesjEo19QDzF7M2
jvzXrKZhLLxqRzQuxS6Fv+FobZKca1wQtwN8zjze+0lmS90UKXtRchDPLrX5Z303
QP4k6BotKEIsFQqnjCyJzJQNIe0l2KBcTTpiNlKieHaDLn5+78QQA/KFfJhaRcAP
NCu4DyX/PDKMbwJ4nSqjBGaTpWcJ5gOXYb8hQ28PLAK9oAE7zzJiiEDnPK5cVi8K
hHkuuwfuq+4tkm590KzdnbZbBKmGSjSrZiw2jepq7vdVFwOp/sUJ4fHBbOdahTI=
=OI0s
-----END PGP SIGNATURE-----

@mehanzhi
Copy link
Author

Hello,

This time I ran setup and got it stuck on this:
root@localhost sensors]# ./setup
iio device number being used is 1
iio trigger number being used is 1

Strace the process was also stuck:

[root@localhost ~]# ps -ef |grep -i orientation |grep -v grep
root 5296 5287 0 20:09 pts/0 00:00:00 ./orientation --usleep=500000
[root@localhost ~]# strace -p 5296
Process 5296 attached
restart_syscall(<... resuming interrupted call ...>

Rebooted and tried your suggestion:

[root@localhost sensors]#
[root@localhost sensors]# ./generic_buffer -c 10 -n gyro_3d
iio device number being used is 4
iio trigger number being used is 4
DEV_DIR_NAME /sys/bus/iio/devices/iio:device4 TRIGGER_NAME gyro_3d-dev4
SCAN_SIZE 12

Also stucked

And strace shows:

[root@localhost ~]# ps -ef |grep generic |grep -v grep
root 3202 3058 0 20:21 pts/0 00:00:00 ./generic_buffer -c 10 -n gyro_3d
[root@localhost ~]# strace -p 3202
Process 3202 attached
restart_syscall(<... resuming interrupted call ...>

Stuck here.

Could you please advice how did you make it work?

Thanks

@pfps
Copy link
Owner

pfps commented Jun 16, 2015

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

As you are not on a Yoga 2 Pro, it is very likely that the sensor hub in
your laptop needs a quirk that has not been added to the Linux driver.

You need to identify the sensor hub via lsusb. On a Yoga 2 Pro the hub is

idefix ~> lsusb
[...]
Bus 001 Device 005: ID 2047:0855 Texas Instruments Invensense Embedded
MotionApp HID Sensor
[...]

You will have to figure out which USB device is your sensor.

Then you should install what you need to do kernel driver development and
get the current hid-sensor-hub.c and hid-ids.h. (It's been quite a while
since I did this so your best bet is to get the Fedora documentation on how
to proceed.) You need to add your numbers to hid-ids.h and add to
sensor_hub_devices in hid-sensor-hub.c to mirror what I did for 2047 and
0855. Then compile and install your new driver and test things out.

If that works, then the next step would be to upload the patch for inclusion
in upcoming versions of the Linux kernel. I think I can remember the steps
for that.

Note that messing around with the kernel can cause problems, up to frying
hardware. The likelihood of doing this with a simple quirk is very low, of
course.

Good luck,

peter

PS: I should really remove the drivers in the distribution. They are very
old in Linux terms now.

On 06/15/2015 10:24 AM, mehanzhi wrote:

Hello,

This time I ran setup and got it stuck on this: root@localhost sensors]#
./setup iio device number being used is 1 iio trigger number being used
is 1

Strace the process was also stuck:

[root@localhost ~]# ps -ef |grep -i orientation |grep -v grep root 5296
5287 0 20:09 pts/0 00:00:00 ./orientation --usleep=500000 [root@localhost
~]# strace -p 5296 Process 5296 attached restart_syscall(<... resuming
interrupted call ...>

Rebooted and tried your suggestion:

[root@localhost sensors]# [root@localhost sensors]# ./generic_buffer -c
10 -n gyro_3d iio device number being used is 4 iio trigger number being
used is 4 DEV_DIR_NAME /sys/bus/iio/devices/iio:device4 TRIGGER_NAME
gyro_3d-dev4 SCAN_SIZE 12

Also stucked

And strace shows:

[root@localhost ~]# ps -ef |grep generic |grep -v grep root 3202 3058 0
20:21 pts/0 00:00:00 ./generic_buffer -c 10 -n gyro_3d [root@localhost
~]# strace -p 3202 Process 3202 attached restart_syscall(<... resuming
interrupted call ...>

Stuck here.

Could you please advice how did you make it work?

Thanks

— Reply to this email directly or view it on GitHub
#41 (comment).

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVgFcDAAoJECjN6+QThfjzslsH/i+oOsGcYFg4RuYIu9cs6hcK
tMEYp/qYSpaAlqhygbP05pwTekhFGXqgMWsdKHfJPbI0JfWmfwbufu+beEhTlWOW
nuIIBR3CT9YySMVZzR+EJtdcWfDUEWPVw+D+0o40rEkr5AxswotGhi1eEBprTAPs
lVSclrMNkz6tMsG9H9awp6u4NNm6la80nPSQxU1ytULtLYta4++EC2TRl9ZQk4v+
/nNevQasZyzq7JOvj41sckRCG5u46KkJFpiatvcHQAHj3YssC1CrbXFlW17DzlDB
AQsX8izqSxD8iSglPmw4uyNfiiF0hS7QYMe553FVoMl9A8B0sbADQb+hBk0ifCg=
=OmsX
-----END PGP SIGNATURE-----

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants