none
Debugging unreliable touch drivers RRS feed

  • Question

  • Hi,

    I have finally managed to install the drivers (penmount) for my touch panel on a PC104-based CE 6.0-environment.

    They work properly for a couple of minutes. Then they fail, and I need to unplug/plugin the USB-cable to the touch panel again in order to get the drivers working again.

    Does anyone have any idea about why they fail after a while?

    How do I debug this behaviour? I cannot find any kind of event log in the CE-environment. There is an log SystemLog.xml-file in the Windows-folder, but when I try to open the file with WordPad on the CE-system, it just says that it cannot be read since it's opened for writing by someone else. Why can't I read a file that's someone else is writing?

    I'm Compact Flash storage for the NK.bin, but where can I find the log file when looking at it from my development station? Is it embedded in the NK.bin? 

    Monday, February 25, 2013 2:22 PM

All replies

  • In my experience when a driver operates properly for a time then stops you're looking for 1 or more missed interrupts. Since the device is USB, I'd check the USB host driver and make sure that there's no possibility of missing an interrupt.

    As for debugging, if you're running a DEBUG build, which you should be since you know you're having kernel problems, the output window in Platform Builder will get a constant stream of debug messages from drivers, the kernel itself, and services. A desktop Windows style event log won't have nearly enough information to debug this type of problem.

    As with filesystems everywhere when a file is opened its "sharability" is controlled by the first opening application. Apparently either the writer doesn't want to worry about readers opening the file at the same time or your reader is also trying to open the file for writing which is obviously blocked.

    We can't say for sure where the \windows folder might be located; it depends on the settings of your OS. Often when starting up a new OS build, the \windows folder is in "object store" which is also in RAM. When you cycle power, it's gone. Settings can be configured to place \windows on the storage card (although files in nk.bin will not magically appear there; they stay in the ROM file).

    Paul T.

    Monday, February 25, 2013 3:52 PM
  • Hi Paul, thank you for your response.

    When it comes to the missed interrupts, is there anything I can to about this without the source code of the touch drivers or the USB host drivers?

    Can I set any settings in any register or something?

    Tuesday, February 26, 2013 8:46 AM
  • Finally got the debug build running, which let me see debug messages through the output window of Platform Builder.

    A lot of stuff while starting up, but nothing when the touch functionality stops working.

    Where should I look for missed interrupts?

    Tuesday, February 26, 2013 7:51 PM
  • Could this also have anything to do with power management issues, where some functionality shut down after a certain time?

    Thursday, February 28, 2013 1:47 PM
  • Now one knows anything about how to check for missed interrupts in the USB Host driver?
    Monday, March 4, 2013 7:52 PM
  • How can you be so sure that you are missing the interrupt. Possible it can be also that you have not serviced your previous interrupt and called InterruptDone() ... It is better that you check your IST of the touch driver every time you get an interrupt and see that every time it is successfully exiting the function.

    Interrupt missing issue comes when you are servicing the level trigger interrupt and your latency period is more.

    Could be that your system itself is getting breezed  ? which you are thinking as interrupt missing ...

    I think you need to do further debugging.

    --- Misbah


    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India) www.tes-dst.com email-misbah.khan@tes-dst.com


    • Edited by Misbah Khan Tuesday, March 5, 2013 5:14 AM Typo mistake
    Tuesday, March 5, 2013 5:12 AM
  • Misbah, what does "breezed" mean?

    Max, have you discussed this with your vendors?  Does a mouse work reliably?  USB Memory?


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com

    Wednesday, March 6, 2013 12:15 PM
    Moderator
  • Sorry its typo error, Bruce its "freezed".


    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India) www.tes-dst.com email-misbah.khan@tes-dst.com

    Wednesday, March 6, 2013 12:38 PM
  • Bruce:
    I have tried contacting the vendor (penmount) through email a couple of times but I haven't received any response. I'll try to call them tomorrow.
    Mouse and keyboard works reliably. Haven't tried USB memory though.
    The touch screen works without problems on a Windows XP-machine, but not Windows CE..

    Misbah:
    I don't know anything about the interrupts, that was Paul suggestion in his post above. That's why I asked the question.
    I guess I cannot do anything about the interrupts since I don't have the driver source code?
    Thursday, March 7, 2013 8:58 PM