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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.