All of lore.kernel.org
 help / color / mirror / Atom feed
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.

             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.