[ltp] EC Hanging with latest tp-smapi (0.29)

TNKS linux-thinkpad@linux-thinkpad.org
Sun, 20 Aug 2006 21:00:21 -0500


I know Shem keeps a tab on this list, so this post is somewhat targetting
him, but I thought maybe others here might be able to input.

I'm getting what I'm pretty sure is a hung EC with the latest 0.29 tp-smapi
(no keyboard and mouse response; have to not only unplug AC, but also the
battery to get things back).  Actually, I just checked kern.log and I now
I'm even more sure this has to do with the EC.  Here's what I see
(formatted a little):

    thinkpad_ec: thinkpad_ec_request_row: EC is mysteriously silent
                 (0x01:0x00)->0xa0
    thinkpad_ec: thinkpad_ec_read_row: failed requesting row:
                 (0x01:0x00)->0xfffffffb
    thinkpad_ec: thinkpad_ec_request_row: bad initial STR3: 
                 (0x01:0x00)->0xa0
    
    [the last two lines just repeat...]

I have a T42 with the Debian 2.6.17-6 kernel source.  I patched it with the
latest stable Suspend2 patch (which I don't think is related to this issue. 
I seem to get the hung EC both with and without the dmi kernel patch that
0.29 comes with.  However, it seems to be a lot worse (happens sooner)
without the dmi patch.  Also, I'm on the latest EC (1RHT71WW-3.04) and BIOS
(1RETDPWW 3.21) that IBM/Lenovo released for the Thinkpad.  I can post more
information if people think it's relevant.  

For now, I'd classify this hung state as intermittent, but there is a way
that I can trigger it, or rather get it to happen relatively soon
afterwards -- by executing the following:

    watch 'for file in /sys/devices/platform/smapi/BAT0/* ; do
        test "${file##*stop}" = "${file}" \
          && echo ${file##*/}: $(cat $file)
    done 2> /dev/null'

I copied this line verbatim from a simple script that I had set up, but all
of it isn't relevant to the hang.  The skipping of the "stop" interface is
just to dodge kernel warning for accessing a feature the T42 doesn't
support.  Basically, it's just rapid access of the interface that seems to
do it for me.

Without executing this watch command, it's very possible to dodge this hang
indefinitely (with the dmi patch, at least).  One of the reasons I posted
to the mailing list, instead of directly to Shem was to ask other users to
see if they could reproduce what I'm seeing here.

I hope the group here can help resolve this issue.  I'd hate to be
needlessly stuck on a legacy version of tpsmapi.  By the way, I was last on
version 0.27, which seemed to work fine for me.  I didn't try 0.28 yet.

Let me know what ideas you have.

Thanks,
Sukant