lkml.org 
[lkml]   [2019]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v3] platform/chrome: Add cros_ec_readmem() helpers for I2C/SPI based ECs
Missatge de Moritz Fischer <mdf@kernel.org> del dia dt., 22 de gen.
2019 a les 22:09:
>
> Hi Enrico,
>
> On Mon, Jan 21, 2019 at 11:19:34PM +0100, Enric Balletbo Serra wrote:
> > I tried with a Samsung Chromebook Plus (arm64 Chromebook)
> >
> > > What was the ioctl you ran?
> > >
> >
> > The code that I ran is this: https://hastebin.com/cupecuvowi.py
> > No guarantee :) I'll try to look deeper tomorrow.
>
> I fixed it up to run with python3, but on my device I got either a
> protocol error if len is > 120:
>
> root@ni-n3xx-313ABDC:~# python3 foo
> Testing EC_DEV_IOCRDMEM cmd
> I/O error(71): Protocol error
>
> or it worked for lengths <= 120:
>
> root@ni-n3xx-313ABDC:~# python3 foo
> Testing EC_DEV_IOCRDMEM cmd
> 6b 6f ff ff ff ff ff ff ff ff ff ff ff ff ff ff f0 0f f0 0f ff ff ff ff
> ff ff ff ff ff ff ff ff 45 43 01 02 00 01 01 00 00 00 00 00 00 00 00 00
> 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [...]
>
> Did you try smaller reads? If that works maybe we'll have to filter in
> the kernel to prevent large reads from crashing the EC?
>

So looks like I can read up to 161 bytes, if I read 162 to 169 bytes
the EC fails to respond and if I read more than 169 bytes it simply
resets the machine. I didn't look the code yet.

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 160
Testing EC_DEV_IOCRDMEM cmd (size 160)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 45 43 01 00 01 01 01 00 00 00 00 00 00 00
00 00
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9f 21 00 00 0e 01 00
00 59 13 00 00 0b 00 00 00 14 14 00 00 b0 1d 00 00 9a 13 00 00 35 01
00 00
53 44 49 00 00 00 00 00 34 33 35 32 44 35 31 00 30 46 38 32 00 00 00
00 4c 49 4f 4e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 161
Testing EC_DEV_IOCRDMEM cmd (size 161)
[ 425.053205] cros-ec-spi spi2.0: cannot read mapped reg: -71/14
I/O error(71): Protocol error
root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 162
Testing EC_DEV_IOCRDMEM cmd (size 162)
[ 427.208065] cros-ec-spi spi2.0: cannot read mapped reg: -71/14
I/O error(71): Protocol error

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 163
Testing EC_DEV_IOCRDMEM cmd (size 163)
[ 429.845069] cros-ec-spi spi2.0: cannot read mapped reg: -71/14
I/O error(71): Protocol error
root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 164
Testing EC_DEV_IOCRDMEM cmd (size 164)[ 431.968014] cros-ec-spi
spi2.0: cannot read mapped reg: -71/14

I/O error(71): Protocol error

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 165
Testing EC_DEV_IOCRDMEM cmd (size 165)
[ 440.289340] cros-ec-spi spi2.0: EC failed to respond in time
[ 440.296271] cros-ec-spi spi2.0: Command xfer error (err:-110)
[ 440.302732] cros-ec-spi spi2.0: cannot read mapped reg: -110/0
I/O error(110): Connection timed out

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 166
Testing EC_DEV_IOCRDMEM cmd (size 166)
[ 443.953212] cros-ec-spi spi2.0: EC failed to respond in time
[ 443.960095] cros-ec-spi spi2.0: Command xfer error (err:-110)
[ 443.966554] cros-ec-spi spi2.0: cannot read mapped reg: -110/0
I/O error(110): Connection timed out

root@debian:~# python
/home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 167
Testing EC_DEV_IOCRDMEM cmd (size 167)
[ 446.585416] cros-ec-spi spi2.0: EC failed to respond in time
[ 446.592335] cros-ec-spi spi2.0: Command xfer error (err:-110)
[ 446.598798] cros-ec-spi spi2.0: cannot read mapped reg: -110/0
I/O error(110): Connection timed out

root@debian:~# python /home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 168
Testing EC_DEV_IOCRDMEM cmd (size 168)
[ 449.337255] cros-ec-spi spi2.0: EC failed to respond in time
[ 449.344140] cros-ec-spi spi2.0: Command xfer error (err:-110)
[ 449.350588] cros-ec-spi spi2.0: cannot read mapped reg: -110/0
I/O error(110): Connection timed out

root@debian:~# python /home/debian/Tests/cros_ec/scripts/cros-ec-readmem.py 169
Testing EC_DEV_IOCRDMEM cmd (size 169)
l%(NAPEK@ @%vZ__|+~/g?sڬ}mj}u??UwWo;_ۻI6go{]uw]{m}w.ͼ�ߵ

And the machine reboots ...


> Thanks,
>
> Moritz

\
 
 \ /
  Last update: 2019-01-23 12:36    [W:0.046 / U:2.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site