ethernet / usb disconnects on xM Rev C

Hello

I am witnessing some problems with my brand new Beagle Board xM Rev C.
Afte a while, the ethernet disconnects with this error:

port 2 disabled by hub (EMI?), re-enabling

It happens everytime after a while, and the only way of bringing back
the network is restarting the board.

I came across this thread:
http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da

And my problem seems similar, but this is quite old and referring the
old Beagle Board, so I don't know if it's still relevant.

It seems like the problem is with the USB driver.

I am using a pre-build Ubuntu 11.04 with kernel 3.0, and I am
connecting the board to my PC with a crossed ethernet cable (my PC is
also connected to the internet through wireless).
The internet and the network work for a while, but then, all of a
sudden it stops with the error mentioned above.

Thanks in advance for any help
Adi Perry

Can you login over serial and dump kernel log after the usb dies..
"dmesg > dmesg.log" and post the dmesg.log..

Regards,

may be your power source is not enough powerful?
3A would be enough

I am using a 3A power supply, so this shouldn't be the problem.

And the error I get is:

port 2 disabled by hub (EMI?), re-enabling
(over ethernet port eth1)

This is what I got from dmesg - once it happens again, I will save a
full log file and post it here ...

BTW - I am using rcn-ee's pre-build image (natty 11.04 r3) on the BB

Adi Perry

I'm not sure if my previous post was uploaded ....

Anyway, I am using a 3A power, so this shouldn't be the problem.

And btw, I am using rcn-ee's pe-build image (natty 11.04 r3)

dmesg's output:

[ 0.032653] Initializing cgroup subsys cpuacct
[ 0.032714] Initializing cgroup subsys memory
[ 0.032775] Initializing cgroup subsys devices
[ 0.032806] Initializing cgroup subsys freezer
[ 0.032928] CPU: Testing write buffer coherency: ok
[ 0.033203] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver,
5 counters available
[ 0.033935] Brought up 1 CPUs
[ 0.033966] SMP: Total of 1 processors activated (478.91 BogoMIPS).
[ 0.034545] devtmpfs: initialized
[ 0.037811] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va
for l4_core
[ 0.037872] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va
for l4_per
[ 0.037902] omap_hwmod: _populate_mpu_rt_base found no _mpu_rt_va
for l4_wkup
[ 0.051086] omap_hwmod: i2c1: softreset failed (waited 10000 usec)
[ 0.063049] omap_hwmod: i2c2: softreset failed (waited 10000 usec)
[ 0.075042] omap_hwmod: i2c3: softreset failed (waited 10000 usec)
[ 0.076538] print_constraints: dummy:
[ 0.076873] NET: Registered protocol family 16
[ 0.077056] GPMC revision 5.0
[ 0.078216] OMAP GPIO hardware version 2.5
[ 0.078430] OMAP GPIO hardware version 2.5
[ 0.078643] OMAP GPIO hardware version 2.5
[ 0.078857] OMAP GPIO hardware version 2.5
[ 0.079071] OMAP GPIO hardware version 2.5
[ 0.079254] OMAP GPIO hardware version 2.5
[ 0.079895] omap_mux_init: Add partition: #1: core, flags: 0
[ 0.081024] OMAP3 Beagle Rev: xM C
[ 0.085144] Found NAND on CS0
[ 0.085205] Registering NAND on CS0
[ 0.085479] Unable to get DVI reset GPIO
[ 0.085571] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.088348] OMAP DMA hardware revision 5.0
[ 0.095184] bio: create slab <bio-0> at 0
[ 0.096374] SCSI subsystem initialized
[ 0.097686] usbcore: registered new interface driver usbfs
[ 0.097808] usbcore: registered new interface driver hub
[ 0.098052] usbcore: registered new device driver usb
[ 0.098815] omap_i2c omap_i2c.1: bus 1 rev4.0 at 2600 kHz
[ 0.101684] twl4030: PIH (irq 7) chaining IRQs 368..375
[ 0.101745] twl4030: power (irq 373) chaining IRQs 376..383
[ 0.102233] twl4030: gpio (irq 368) chaining IRQs 384..401
[ 0.105407] print_constraints: VUSB1V5: 1500 mV normal standby
[ 0.105834] print_constraints: VUSB1V8: 1800 mV normal standby
[ 0.106262] print_constraints: VUSB3V1: 3100 mV normal standby
[ 0.108215] twl4030_usb twl4030_usb: Initialized TWL4030 USB module
[ 0.109039] print_constraints: VMMC1: 1850 <--> 3150 mV at 3000 mV
normal standby
[ 0.109497] print_constraints: VDAC: 1800 mV normal standby
[ 0.109924] print_constraints: VDVI: 1800 mV normal standby
[ 0.110443] print_constraints: VSIM: 1800 <--> 3000 mV at 1800 mV
normal standby
[ 0.110778] omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz
[ 0.119018] omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
[ 0.119995] Advanced Linux Sound Architecture Driver Version
1.0.24.
[ 0.120697] NetLabel: Initializing
[ 0.120727] NetLabel: domain hash size = 128
[ 0.120758] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.120819] NetLabel: unlabeled traffic allowed by default
[ 0.121124] Switching to clocksource 32k_counter
[ 0.125457] Switched to NOHz mode on CPU #0
[ 0.136016] AppArmor: AppArmor Filesystem Enabled
[ 0.147094] musb-hdrc: version 6.0, musb-dma, otg (peripheral+host)
[ 0.150390] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk
combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
[ 0.150451] musb-hdrc: MHDRC RTL version 1.800
[ 0.150451] musb-hdrc: setup fifo_mode 5
[ 0.150482] musb-hdrc: 28/31 max ep, 8192/16384 memory
[ 0.150726] musb-hdrc musb-hdrc: USB OTG mode controller at
fa0ab000 using DMA, IRQ 92
[ 0.151336] NET: Registered protocol family 2
[ 0.151672] IP route cache hash table entries: 4096 (order: 2,
16384 bytes)
[ 0.152862] TCP established hash table entries: 16384 (order: 5,
131072 bytes)
[ 0.153259] TCP bind hash table entries: 16384 (order: 5, 131072
bytes)
[ 0.153625] TCP: Hash tables configured (established 16384 bind
16384)
[ 0.153656] TCP reno registered
[ 0.153686] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.153717] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.154205] NET: Registered protocol family 1
[ 0.154968] RPC: Registered named UNIX socket transport module.
[ 0.154998] RPC: Registered udp transport module.
[ 0.155029] RPC: Registered tcp transport module.
[ 0.155059] RPC: Registered tcp NFSv4.1 backchannel transport
module.
[ 0.155334] Trying to unpack rootfs image as initramfs...
[ 0.524536] Freeing initrd memory: 3604K
[ 0.525421] PMU: registered new PMU device of type 0
[ 0.525939] omap_dsp_init: 600000 bytes @ 9ee00000
[ 0.526641] audit: initializing netlink socket (disabled)
[ 0.526733] type=2000 audit(0.546:1): initialized
[ 0.682952] VFS: Disk quotas dquot_6.5.2
[ 0.683380] Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
[ 0.687042] Registering unionfs 2.5.9 (for 2.6.39-rc5)
[ 0.688262] fuse init (API version 7.16)
[ 0.689575] Btrfs loaded
[ 0.689636] msgmni has been set to 955
[ 0.691040] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 253)
[ 0.691101] io scheduler noop registered
[ 0.691101] io scheduler deadline registered
[ 0.691223] io scheduler cfq registered (default)
[ 0.754211] OMAP DSS rev 2.0
[ 0.756042] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.757171] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a
OMAP UART0
[ 0.757415] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a
OMAP UART1
[ 0.757629] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a
OMAP UART2
[ 1.569763] console [ttyO2] enabled
[ 1.573669] omap_uart.3: ttyO3 at MMIO 0x49042000 (irq = 80) is a
OMAP UART3
[ 1.587005] brd: module loaded
[ 1.593139] loop: module loaded
[ 1.599090] omap2-nand driver initializing
[ 1.603698] No NAND device found.
[ 1.607452] No NAND device found.
[ 1.611083] OneNAND driver initializing
[ 1.615539] usbcore: registered new interface driver cdc_ether
[ 1.621704] usbcore: registered new interface driver rndis_host
[ 1.627929] cdc_ncm: 01-June-2011
[ 1.631469] usbcore: registered new interface driver cdc_ncm
[ 1.637756] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
Driver
[ 3.660339] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
[ 3.666503] ehci-omap ehci-omap.0: new USB bus registered, assigned
bus number 1
[ 3.674377] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
[ 3.691619] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
[ 3.698303] hub 1-0:1.0: USB hub found
[ 3.702270] hub 1-0:1.0: 3 ports detected
[ 3.730804] Initializing USB Mass Storage driver...
[ 3.736022] usbcore: registered new interface driver usb-storage
[ 3.742309] USB Mass Storage support registered.
[ 3.750122] g_ether gadget: using random self ethernet address
[ 3.756256] g_ether gadget: using random host ethernet address
[ 3.763305] usb0: MAC 5e:e3:89:7c:4b:6a
[ 3.767333] usb0: HOST MAC ca:96:e8:3e:c3:af
[ 3.771850] g_ether gadget: Ethernet Gadget, version: Memorial Day
2008
[ 3.778808] g_ether gadget: g_ether ready
[ 3.782989] musb-hdrc musb-hdrc: MUSB HDRC host driver
[ 3.788665] musb-hdrc musb-hdrc: new USB bus registered, assigned
bus number 2
[ 3.796844] hub 2-0:1.0: USB hub found
[ 3.800811] hub 2-0:1.0: 1 port detected
[ 3.805450] mousedev: PS/2 mouse device common for all mice
[ 3.812042] input: twl4030_pwrbutton as /devices/platform/omap/
omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0
[ 3.823638] i2c /dev entries driver
[ 3.827850] lirc_dev: IR Remote Control driver registered, major
250
[ 3.835144] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
[ 3.842102] device-mapper: uevent: version 1.0.3
[ 3.847381] device-mapper: ioctl: 4.20.0-ioctl (2011-02-02)
initialised: dm-devel@redhat.com
[ 3.856628] device-mapper: multipath: version 1.3.0 loaded
[ 3.862396] device-mapper: multipath round-robin: version 1.0.0
loaded
[ 3.869689] cpuidle: using governor ladder
[ 3.873992] cpuidle: using governor menu
[ 3.878173] sdhci: Secure Digital Host Controller Interface driver
[ 3.884643] sdhci: Copyright(c) Pierre Ossman
[ 3.891082] omap_hsmmc: probe of omap_hsmmc.1 failed with error -16
[ 3.897949] Registered led device: beagleboard::usr0
[ 3.898040] Registered led device: beagleboard::usr1
[ 3.899536] Registered led device: beagleboard::pmu_stat
[ 3.900177] usbcore: registered new interface driver snd-usb-6fire
[ 3.907867] OMAP3 Beagle/Devkit8000 SoC init
[ 3.990753] asoc: twl4030-hifi <-> omap-mcbsp-dai.1 mapping ok
[ 3.997589] ALSA device list:
[ 4.000701] #0: omap3beagle
[ 4.005126] TCP cubic registered
[ 4.009399] NET: Registered protocol family 10
[ 4.017150] NET: Registered protocol family 17
[ 4.022216] Registering the dns_resolver key type
[ 4.027191] VFP support v0.3: implementor 41 architecture 3 part 30
variant c rev 3
[ 4.035278] ThumbEE CPU extension supported.
[ 4.039794] Registering SWP/SWPB emulation handler
[ 4.046417] usb 1-2: new high speed USB device number 2 using ehci-
omap
[ 4.055419] sr_init: No PMIC hook to init smartreflex
[ 4.060974] smartreflex smartreflex.0: omap_sr_probe: SmartReflex
driver initialized
[ 4.069274] smartreflex smartreflex.1: omap_sr_probe: SmartReflex
driver initialized
[ 4.077514] SmartReflex Class3 initialized
[ 4.087341] clock: disabling unused clocks to save power
[ 4.093872] registered taskstats version 1
[ 4.098449] fbcvt: 1280x720@60: CVT Name - .921M9-R
[ 4.124084] Console: switching to colour frame buffer device 160x45
[ 4.141601] regulator_init_complete: VDAC: incomplete constraints,
leaving on
[ 4.149261] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 4.156250] Freeing init memory: 352K
[ 4.208923] hub 1-2:1.0: USB hub found
[ 4.218597] hub 1-2:1.0: 5 ports detected
[ 4.258087] mmc0: host does not support reading read-only switch.
assuming write-enable.
[ 4.277740] mmc0: new SDHC card at address cbe7
[ 4.285736] mmcblk0: mmc0:cbe7 SD04G 3.69 GiB
[ 4.299163] mmcblk0: p1 p2
[ 4.348510] udev[67]: starting version 167
[ 4.512664] usb 1-2.1: new high speed USB device number 3 using
ehci-omap
[ 5.632232] EXT4-fs (mmcblk0p2): mounted filesystem with ordered
data mode. Opts: (null)
[ 7.431396] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-
ro
[ 7.577789] udev[247]: starting version 167
[ 8.070648] input: gpio-keys as /devices/platform/gpio-keys/input/
input1
[ 8.381622] rtc-ds1307: probe of 2-0068 failed with error -5
[ 8.493469] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[ 8.500427] twl_rtc twl_rtc: Power up reset detected.
[ 8.517791] twl_rtc twl_rtc: Enabling TWL-RTC.
[ 9.720336] smsc95xx v1.0.4
[ 9.910522] smsc95xx 1-2.1:1.0: eth0: register 'smsc95xx' at usb-
ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 36:1f:22:01:61:5f
[ 9.910705] usbcore: registered new interface driver smsc95xx
[ 12.655487] smsc95xx 1-2.1:1.0: eth0: link up, 100Mbps, full-
duplex, lpa 0xCDE1
[ 22.019836] eth0: no IPv6 routers present
[ 139.044006] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-
ro,commit=0
[ 5336.851348] smsc95xx 1-2.1:1.0: eth0: link down
[ 5338.427917] smsc95xx 1-2.1:1.0: eth0: link up, 10Mbps, full-duplex,
lpa 0x4061
[ 5385.017089] smsc95xx 1-2.1:1.0: eth0: link down
[ 5386.554870] smsc95xx 1-2.1:1.0: eth0: link up, 100Mbps, full-
duplex, lpa 0xCDE1
[ 7738.981872] hub 1-0:1.0: port 2 disabled by hub (EMI?), re-
enabling...
[ 7738.988952] usb 1-2: USB disconnect, device number 2
[ 7738.988983] usb 1-2.1: USB disconnect, device number 3
[ 7738.990783] smsc95xx 1-2.1:1.0: eth0: unregister 'smsc95xx' usb-
ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet

Thanks again
Adi Perry

Anyone?

I could really use some advice.

I don't know if it is solvable or there is something wrong with the
hardware ....
(as suggested here: http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da
)

Thanks
Adi Perry

Adi,

In the last two months, i noticed in a few occasions that the USB Nic automatically disable and enable itself in less than a second. I was not sure what was the reason. The error log I got was very similar to yours:

[ 5336.851348] smsc95xx 1-2.1:1.0: eth0: link down
[ 5338.427917] smsc95xx 1-2.1:1.0: eth0: link up, 10Mbps, full-duplex, lpa 0x4061

[ 7738.981872] hub 1-0:1.0: port 2 disabled by hub (EMI?), re-
enabling…
[ 7738.988952] usb 1-2: USB disconnect, device number 2
[ 7738.988983] usb 1-2.1: USB disconnect, device number 3
[ 7738.990783] smsc95xx 1-2.1:1.0: eth0: unregister ‘smsc95xx’ usb-
ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet

However, i never had a problem with a usb port disabling and failing to re-enumerate; and hence causing a usb device be completely useless. From my experience w/ USB and the linux kernel, EMI disconnection (as shown in your kernel log) is caused by electro-magnetic interference; and it is detected by the usb kernel thread called ‘khubd’. It is the USB Hub core subsystem that detects such conditions, and notifies device drivers to clean up their resources. I doubt that the issue is in the smsc95xx Ethernet driver.

First of all, thanks

Indeed it seems like a very similar problem.
The fact is that once it happens, the ethernet is down and could only
be enabled by rebooting the system.

Judging by the error log, it seems you should have encountered the
same result. ..
Were you using the Ethernet? Was it disabled and enabled immediately
like you mentioned with the USB?

Thanks
Adi

Were you using the Ethernet?
Yes

Was it disabled and enabled immediately like you mentioned with the USB?
Yes, There was no interruption in my ssh session. It almost seemed like one disconnected and reconnected the Ethernet cable.

Ok thanks

Still, I don't know what to do next...
The Ethernet and USB disconnect every once in a while and they aren't
"re-enabled" after.

I don't know if it is a hardware issue.

What could it be? And what can I do to work it through?

Adi

Request an RMA and have them look at it using their setup and power arrangement.

http://beagleboard.org/support/rma

Gerald

Hello,

I observed the same kind of disconnect on an xM rev C ASSY 00, which was running kernel
Linux omap 3.2.2-x4 #1 SMP PREEMPT Wed Feb 15 07:09:50 PST 2012 armv7l GNU/Linux
under Ubuntu, except that after the disconnect, the Ethernet and the USB remained off.

Here were the relevant kernel messages from dmesg:

[18342.125610] hub 1-0:1.0: port 2 disabled by hub (EMI?), re-enabling…
[18342.146545] usb 1-2: clear tt 4 (9041) error -71
[18342.160614] usb 1-2: USB disconnect, device number 2
[18342.160614] usb 1-2.1: USB disconnect, device number 3
[18342.161132] smsc95xx 1-2.1:1.0: eth0: unregister ‘smsc95xx’ usb-ehci-omap.0-t
[18342.211639] usb 1-2.4: USB disconnect, device number 4
[18343.887054] sched: RT throttling activated
[18343.888458] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnec0
[18343.888519] ftdi_sio 1-2.4:1.0: device disconnected

I haven’t seen this particular issue show up before. I verified that it was not possible that the USB power was shorted. Should I RMA the board?

Cheers.

PS. I still haven’t merged in this patch yet:
https://github.com/RobertCNelson/stable-kernel/blob/master/patches/omap_fixes/0002-Fix-sprz319-erratum-2.1.patch

Please retest with that patch, as boards with that issue are hard to find… there also a topic on linux-omap where a mainter is looking for feedback on that patch as of last week. Im on vacation so can’t walk you thru it…