From: victorascroft@gmail.com (Victor Ascroft)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Query on USB related debugging
Date: Thu, 27 Nov 2014 14:26:44 +0530 [thread overview]
Message-ID: <5476E74C.4030901@gmail.com> (raw)
Hello,
I have an embedded device with a Freescale ARM Cortex A5 processor, running the 3.18-rc5 kernel. I have a problem where using the Ethernet over USB client stops functioning after a while. If I set the IP of the usb0 interface and try to ping the device from the host or vice versa, it works fine up to that point. Running iperf, establishes a connection to the host, but, doesn't complete even one cycle. Checking /proc/interrupts shows that after a while, probably a few seconds, it freezes. No more interrupts are serviced it seems. I put in a few debug prints in udc_irq to check, if things go right superficially at least, udc_irq seems to exit cleanly and of course my device doesn't hang.
root:~# cat /proc/interrupts
CPU0
27: 15122 GIC 27 gt
107: 162 GIC 107 40034000.usb
The above number of interrupts does not increase at some point, showing that irq's are not serviced any more.
My main query is how can I go about and start debugging this issue? What process, tools or methods I can use to debug and solve this problem. I have done some debugging before in the kernel/u-boot, but, the problems have always been which lead to crashes. So, the origin of it was at least clear, if not the source/cause of it. In this scenario, I am at a loss in which direction to start digging.
I enabled prints for the whole USB driver section, with dynamic debug, but, this doesn't help much or at least I am not able to make out much from it. Below is the relevant dmesg log.
[ 1.175253] using random self ethernet address
[ 1.182722] using random host ethernet address
[ 1.205327] using random self ethernet address
[ 1.212857] using random host ethernet address
[ 1.220419] g_ether gadget: adding config #2 'RNDIS'/808055c8
[ 1.220467] g_ether gadget: adding 'rndis'/8ea48300 to config 'RNDIS'/808055c8
[ 1.220545] g_ether gadget: RNDIS: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[ 1.220566] g_ether gadget: cfg 2/808055c8 speeds: high full
[ 1.220583] g_ether gadget: interface 0 = rndis/8ea48300
[ 1.220599] g_ether gadget: interface 1 = rndis/8ea48300
[ 1.220617] g_ether gadget: adding config #1 'CDC Ethernet (ECM)'/8080551c
[ 1.220646] g_ether gadget: adding 'cdc_ethernet'/8ea483c0 to config 'CDC Ethernet (ECM)'/8080551c
[ 1.220701] g_ether gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[ 1.220721] g_ether gadget: cfg 1/8080551c speeds: high full
[ 1.220737] g_ether gadget: interface 0 = cdc_ethernet/8ea483c0
[ 1.220753] g_ether gadget: interface 1 = cdc_ethernet/8ea483c0
[ 1.220778] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 1.230557] g_ether gadget: g_ether ready
[ 1.682860] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)
[ 1.692933] g_ether gadget: init ecm
[ 1.692957] g_ether gadget: notify connect false
[ 1.702757] g_ether gadget: activate ecm
[ 1.702798] g_ether gadget: ecm_close
[ 1.710720] g_ether gadget: packet filter 0e
[ 1.710734] g_ether gadget: ecm req21.43 v000e i0000 l0
[ 1.786925] g_ether gadget: packet filter 0e
[ 1.786946] g_ether gadget: ecm req21.43 v000e i0000 l0
[ 1.789824] g_ether gadget: packet filter 0e
[ 1.789843] g_ether gadget: ecm req21.43 v000e i0000 l0
[ 1.790733] g_ether gadget: setup complete --> -108, 0/0
[ 1.790750] g_ether gadget: packet filter 0e
[ 1.790768] g_ether gadget: ecm req21.43 v000e i0000 l0
[ 1.806118] g_ether gadget: notify connect false
[ 1.838131] g_ether gadget: notify speed 425984000
[ 6.277081] g_ether gadget: packet filter 0e
[ 6.277103] g_ether gadget: ecm req21.43 v000e i0000 l0
[ 294.926900] [472] usb_f_ecm:ecm_open:665: g_ether gadget: ecm_open
[ 294.926930] [472] usb_f_ecm:ecm_do_notify:405: g_ether gadget: notify connect true
[ 294.945515] <intr> usb_f_ecm:ecm_do_notify:420: g_ether gadget: notify speed 425984000
[ 294.948877] <intr> usb_f_ecm:ecm_setup:490: g_ether gadget: packet filter 0e
[ 294.948904] <intr> usb_f_ecm:ecm_setup:519: g_ether gadget: ecm req21.43 v000e i0000 l0
[ 295.009820] <intr> usb_f_ecm:ecm_setup:490: g_ether gadget: packet filter 0e
[ 295.009846] <intr> usb_f_ecm:ecm_setup:519: g_ether gadget: ecm req21.43 v000e i0000 l0
[ 324.637471] <intr> usb_f_ecm:ecm_setup:490: g_ether gadget: packet filter 0e
[ 324.637500] <intr> usb_f_ecm:ecm_setup:519: g_ether gadget: ecm req21.43 v000e i0000 l0
Any pointers would be useful. Thanks!
--Regards.
next reply other threads:[~2014-11-27 8:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 8:56 Victor Ascroft [this message]
2014-11-30 6:35 ` Query on USB related debugging Vignesh Radhakrishnan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5476E74C.4030901@gmail.com \
--to=victorascroft@gmail.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).