it worth a try to monitor signals on PM pins of ETH chip using oscilloscope
On Thu, Jul 5, 2012 at 1:31 AM, Michael Malyshev mike.malyshev@gmail.comwrote:
the datasheet for the chip is here
http://www.smsc.com/media/Downloads_Public/Data_Sheets/9514.pdf
reading this paper I noticed that power management is shared between USB and ETH. I think that when you move your mouse ETH is waken up because USB is waken up. the datasheet says
"Many customers use a single poly fuse to power all their devices. For the ganged situation, all power control pins must be tied together"
I think you need to check the schematics for your board and analyze how PM is implemented. I had problems with TI's implementation of ETH support on other boards. It always was a low priority for some reason. Maybe because Linux kernel is being updated too often and ETH is not that required.
as a conclusion I would look into PM implementation differences in working and non-working kernels including PLL and power domain configurations
On Wed, Jul 4, 2012 at 11:45 PM, Émeric Vigier < emeric.vigier@savoirfairelinux.com> wrote:
----- Mail original -----
De: "Jassi Brar" jaswinder.singh@linaro.org À: "Émeric Vigier" emeric.vigier@savoirfairelinux.com Cc: "Vikram Pandita" vikram.pandita@ti.com, "linaro-android" <
linaro-android@lists.linaro.org>,
pandaboard@googlegroups.com, omapandroid-discussion@gforge.ti.com Envoyé: Mercredi 4 Juillet 2012 11:22:29 Objet: Re: [Omapandroid-discussion] smsc95xx: download ok, upload hangs
On 4 July 2012 18:51, Émeric Vigier emeric.vigier@savoirfairelinux.com wrote:
Disabling CONFIG_CPU_IDLE does not improve anything, TX remains stuck. Interrupt 109 ehci_usb:usb1 occurs, I logged usb_hcd_irq successfully, but only on when RX i on-going. When it occurs, my TX gets resumed for some time. When I move my mouse, dozen of 109 interrupts occurs, then TX gets resumed for a longer period. And eventually got stuck again.
I made a usbmon trace yesterday. I am not a USB expert, but if someone in the room finds something (not) obvious (to me), that would make my day (week actually...). http://pastebin.com/v9GXn5Z7
Perhaps someone could relieve me of my naivety, but I think unlike mouse/keyboard input and ethernet RX, the TX isn't triggered by any interrupt, so WFI not moving on is only natural ?
You may be right, I only see interrupts in usbmon traces when I moved my USB mouse. The fact that mouse activity resumes TX activity would then not be related to interrupts, but something else. Argh... I hate making assumptions, because I know it is the worst way to debug a problem.
I booted linaro kernel built with panda_defconfig, and my current android images. Android zygote did not start, but I could test eth0 from command line anyway. Not surprisingly, TX worked fine, achieving ~10MBps (compared to 20KBps when TX gets stuck).
The panda_defconfig from linaro and mine has only CONFIG_DYNAMIC_DEBUG difference. Then my bug must come from the sources: $ git diff kernel_linaro/drivers/usb kernel/drivers/usb > linaro-11.09_android-omap-panda-3.0_kernel-drivers-usb.diff http://pastebin.com/Cdas1SMc
There is a huge part concerning PM_RUNTIME in drivers/usb/host/ehci-omap.c that looks suspect... I will try without related patches.
$ git diff kernel_linaro/drivers/net/usb kernel/drivers/net/usb only contains diffs on cdc_ncm.c, asix.c. Not interesting...
$ git diff kernel_linaro/drivers/net kernel/drivers/net has huge differences... But I prefer to ignore them for now.
git diff kernel_linaro/arch/arm/mach-omap2 kernel/arch/arm/mach-omap2 has huge differences as well... The omap44xx_usbhs_ehci_hwmod is not present in linaro kernel for instance.
Regards, Emeric
Omapandroid-discussion mailing list Omapandroid-discussion@gforge.ti.com https://gforge.ti.com/mailman/listinfo/omapandroid-discussion