分享

Ftrace:snoop i2c bus transactions – technolinchpin

 WUCANADA 2018-03-28

Ftrace:snoop i2c bus transactions

The data transferred by the system over the i2c bus (and smbus) can be snooped using the kernel’s FTRACE facility. To use this, the following kernel options need to be enabled:

  • CONFIG_FTRACE
  • CONFIG_ENABLE_DEFAULT_TRACERS

i2c tracing can then be enabled by:

echo 1 >/sys/kernel/debug/tracing/events/i2c/enable

Note that this will, by default, trace the traffic through all i2c adapters on the system. You can be selective about what you trace by something like:

echo adapter_nr==1 >/sys/kernel/debug/tracing/events/i2c/filter

The trace output can be found in prettified text form by:

cat /sys/kernel/debug/tracing/trace

This will look something like:

... i2c_write: i2c-5 #0 a=044 f=0000 l=2 [02-14]
... i2c_read: i2c-5 #1 a=044 f=0001 l=4
... i2c_reply: i2c-5 #1 a=044 f=0001 l=4 [33-00-00-00]
... i2c_result: i2c-5 n=2 ret=2

Where the components are:

  • i2c-<adapter-nr>
  • #<message-array-index>
  • a=<addr>
  • f=<flags>
  • l=<datalen>
  • n=<message-array-size>
  • ret=<result>
  • [<data-transferred>]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多