Re: [BUG] bisected: PandaBoard smsc95xx ethernet driver error from USB timeout
From: Frank Rowand <hidden>
Date: 2013-03-22 18:24:46
Also in:
linux-omap, lkml
On 03/22/13 03:03, Mats Liljegren wrote:
Frank Rowand wrote:quoted
On 03/21/13 07:41, Alan Stern wrote:quoted
On Wed, 20 Mar 2013, Frank Rowand wrote:quoted
Hi All, Not quite sure quite where the problem is (USB, OMAP, smsc95xx driver, other???), so casting the nets wide... The PandaBoard frequently fails to boot with an eth0 error when mounting the root file system via NFS (ethernet driver fails due to a USB timeout; no ethernet means NFS won't work). A typical set of error messages is: [ 3.264373] smsc95xx 1-1.1:1.0: usb_probe_interface [ 3.269500] smsc95xx 1-1.1:1.0: usb_probe_interface - got id [ 3.275543] smsc95xx v1.0.4 [ 8.078674] smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-ehci-omap.0-1.1, smsc95xx USB 2.0 Ethernet, 82:b9:1d:fa:67:0d [ 8.091003] hub 1-1:1.0: state 7 ports 5 chg 0000 evt 0002 [ 13.509918] usb 1-1.1: swapper/0 timed out on ep0out len=0/4 [ 13.515869] smsc95xx 1-1.1:1.0: eth0: Failed to write register index 0x00000108 [ 13.523559] smsc95xx 1-1.1:1.0: eth0: Failed to write ADDRL: -110 [ 13.529998] IP-Config: Failed to open eth0 I have bisected this to: commit 18aafe64d75d0e27dae206cacf4171e4e485d285 Author: Alan Stern [off-list ref] Date: Wed Jul 11 11:23:04 2012 -0400 USB: EHCI: use hrtimer for the I/O watchdogI don't understand how that commit could cause a timeout unless there are at least two other bugs present in your system.quoted
Note that to compile this version of the kernel, an additional fix must also be applied: commit ba5952e0711b14d8d4fe172671f8aa6091ace3ee Author: Ming Lei [off-list ref] Date: Fri Jul 13 17:25:24 2012 +0800 USB: ehci-omap: fix compile failure(v1) The symptom can be worked around by retrying the USB access if a timeout occurs. This is clearly _not_ the fix, just a hack that I used to investigate the problem: http://article.gmane.org/gmane.linux.rt.user/9773 My kernel configuration is: arch/arm/configs/omap2plus_defconfig plus to get the ethernet driver I add: CONFIG_USB_EHCI_HCD CONFIG_USB_NET_SMSC95XX I found the problem on 3.6.11, but have not replicated it on 3.9-rcX yet because my config fails to build on 3.9-rc1 and 3.9-rc2. I'll try to work on that issue tomorrow.Let me know how it works out.My PandaBoard builds fail on 3.9-rcX due to ARM multiplatform issues. Either there is something I need to change about the way I build it, or it is broken (that is a side issue). My simple expedient was to hack around multiplatform, and just make it build (patch below if anyone else wants a _temporary_ hack).I have built 3.9-RC2 for PandaBoard ES and the only problem I have seen is that you need to add "LOADADDR=0x80008000" when building uImage target.
Yes, that is essentially what my hack patch does. The result of my patch is that arch/arm/boot/Makefile is invoked with MACHINE="arch/arm/mach-omap2" so that at the top of the makefile, the "include $(srctree)/$(MACHINE)/Makefile.boot" which pulls in the proper values for addresses. -Frank