This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3352: Issues with Ethernet over USB

Part Number: AM3352


Tool/software: Linux

Hi

We are using kernel version 4.9.28  on our custom AM335x board.

We are using Ethernet over USB interface ( USB0) to have socket communication between AM335x and r8a66597_udc ( please check dmesg logs for enumeration).

1) Test & Setup ::

I am performing a stress test on Ethernet over USB interface USB0 as below ::

while true;
echo "down" ;
do ifconfig usb0 down ;
sleep 2 ;
echo "up"
ifconfig usb0 up ;
ping -c 2 223.254.254.252 ;
done

223.254.254.252 is the IP address of the Ethernet over USB gadget (r8a66597_udc) which the AM335x tries to ping over USB0 interface

ifconfig information on AM335x ::

usb0  Link encap:Ethernet  HWaddr 06:69:98:08:D8:6C
          inet addr:223.254.254.251  Bcast:223.254.254.255  Mask:255.255.255.0
          inet6 addr: fe80::469:98ff:fe08:d86c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:138423 errors:0 dropped:14 overruns:0 frame:0
          TX packets:132289 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35511620 (33.8 MiB)  TX bytes:61152902 (58.3 MiB)

ifconfig on Ethernet over USB gadget (r8a66597_udc) ::

usb0  Link encap:Ethernet  HWaddr 3A:69:F0:46:3E:67
          inet addr:223.254.254.252  Bcast:223.254.254.255  Mask:255.255.255.0
          inet6 addr: fe80::3869:f0ff:fe46:3e67/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13442 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11021 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9589002 (9.1 MiB)  TX bytes:3275430 (3.1 MiB)

2) Problem ::

till some time , ping is successful .

but after some time , we get error message "Network is unreachable"

when checked in dmesg logs ,  I got 3 types of error reported .

a) 

"cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped" only

please refer dmesg-a

b)

"cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped"

it is followed by disconnect of r8a66597_udc gadget  and its reenumeration after some time

please refer dmesg-b

c)

"cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped"

it is followed by musb-hdrc musb-hdrc.1: Could not flush host TX2 fifo: csr: 2403 backtrace .

please refer dmesg -c

3)

please help to debug / resolve above mentioned errors . if needed , I will create 3 different issue threads for these 3 errors .

please refer to dmesg logs enclosed below .

4) dmesg logs ::

a) dmesg-a

# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.28-pic6-geed43d1050 (chris@chris-Inspiron-1525) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #3 PREEMPT Wed Jul 26 19:17:56 EDT 2017
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: TI AM335x ALC
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] cma: Reserved 48 MiB at 0x84000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c0a3c370, node_mem_map c7ec1000
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (neon)
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyO0,115200n8 loginShell=allow earlyprintk user_debug=0 loginShell=allow rootflags=data=ordered,journal_checksum,commit=1,discard rootfstype=ext4 rootwait root=/dev/mmcblk0p5 actual_slot=ROOTFS_A
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 70532K/131072K available (6144K kernel code, 247K rwdata, 1700K rodata, 1024K init, 320K bss, 11388K reserved, 49152K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a3dec0   ( 248 kB)
[    0.000000]        .bss : 0xc0a3dec0 - 0xc0a8e20c   ( 321 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU kthread priority: 1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000018] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.008178] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.017758] OMAP clocksource: timer1 at 24000000 Hz
[    0.023417] clocksource_probe: no matching clocksources found
[    0.029851] Console: colour dummy device 80x30
[    0.034569] Calibrating delay loop... 593.92 BogoMIPS (lpj=296960)
[    0.049817] pid_max: default: 32768 minimum: 301
[    0.054848] Security Framework initialized
[    0.059215] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.066133] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.074644] CPU: Testing write buffer coherency: ok
[    0.080277] Setting up static identity map for 0x80100000 - 0x80100060
[    0.090579] devtmpfs: initialized
[    0.115144] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.123609] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.133785] futex hash table entries: 256 (order: 0, 7168 bytes)
[    0.144566] pinctrl core: initialized pinctrl subsystem
[    0.151775] NET: Registered protocol family 16
[    0.159412] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.192451] omap_hwmod: debugss: _wait_target_disable failed
[    0.263956] OMAP GPIO hardware version 0.1
[    0.293206] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.322796] edma 49000000.edma: TI EDMA DMA engine driver
[    0.331165] SCSI subsystem initialized
[    0.335605] usbcore: registered new interface driver usbfs
[    0.341469] usbcore: registered new interface driver hub
[    0.347181] usbcore: registered new device driver usb
[    0.353073] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.366704] pps_core: LinuxPPS API ver. 1 registered
[    0.371926] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.381465] PTP clock support registered
[    0.386651] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.395368] clocksource: Switched to clocksource timer1
[    0.401157] VFS: Disk quotas dquot_6.6.0
[    0.405445] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.427995] NET: Registered protocol family 2
[    0.433742] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.441078] TCP bind hash table entries: 1024 (order: 2, 20480 bytes)
[    0.447872] TCP: Hash tables configured (established 1024 bind 1024)
[    0.454611] UDP hash table entries: 256 (order: 1, 12288 bytes)
[    0.460859] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[    0.467740] NET: Registered protocol family 1
[    0.472921] RPC: Registered named UNIX socket transport module.
[    0.479218] RPC: Registered udp transport module.
[    0.484188] RPC: Registered tcp transport module.
[    0.489172] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.497006] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.507407] random: fast init done
[    0.513008] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.520456] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.527003] NFS: Registering the id_resolver key type
[    0.532428] Key type id_resolver registered
[    0.536861] Key type id_legacy registered
[    0.543094] io scheduler noop registered
[    0.547465] io scheduler deadline registered
[    0.552069] io scheduler cfq registered (default)
[    0.559138] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.569128] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.578362] omap_uart 44e09000.serial: no wakeirq for uart0
[    0.584303] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
[    0.594139] console [ttyO0] enabled
[    0.601490] bootconsole [earlycon0] disabled
[    0.611126] omap_uart 481a6000.serial: no wakeirq for uart3
[    0.617232] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 160, base_baud = 3000000) is a OMAP UART3
[    0.628697] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    0.656143] brd: module loaded
[    0.670023] loop: module loaded
[    0.678290] libphy: Fixed MDIO Bus: probed
[    0.732447] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    0.738872] davinci_mdio 4a101000.mdio: XXX: detected phy mask fffffffe
[    0.745824] libphy: 4a101000.mdio: probed
[    0.751728] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    0.761422] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
[    0.772533] cpsw 4a100000.ethernet: Detected MACID = 50:33:8b:45:af:fa
[    0.779607] cpsw 4a100000.ethernet: cpts: overflow check period 5000 (jiffies)
[    0.789067] cpsw 4a100000.ethernet: cpsw: Detected MACID = 50:33:8b:45:af:fc
[    0.799108] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.806006] ehci-platform: EHCI generic platform driver
[    0.811895] usbcore: registered new interface driver usb-storage
[    0.818328] usbcore: registered new interface driver usbtest
[    0.826855] 47401300.usb-phy supply vcc not found, using dummy regulator
[    0.837815] musb-hdrc musb-hdrc.0: Failed to request rx1.
[    0.843612] musb-hdrc musb-hdrc.0: musb_init_controller failed with status -517
[    0.852889] 47401b00.usb-phy supply vcc not found, using dummy regulator
[    0.863811] musb-hdrc musb-hdrc.1: Failed to request rx1.
[    0.869593] musb-hdrc musb-hdrc.1: musb_init_controller failed with status -517
[    0.888008] i2c /dev entries driver
[    0.893337] omap_hsmmc 481d8000.mmc: Got WP GPIO
[    0.902754] ledtrig-cpu: registered to indicate activity on CPUs
[    0.910023] NET: Registered protocol family 10
[    0.916569] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.924031] NET: Registered protocol family 17
[    0.929167] Key type dns_resolver registered
[    0.934072] omap_voltage_late_init: Voltage driver support not added
[    0.941194] ThumbEE CPU extension supported.
[    0.970330] vrtc: supplied by vcc_5v0_pmic
[    0.978774] vio: supplied by vcc_5v0_pmic
[    0.984777] vdd1: supplied by vcc_5v0_pmic
[    0.991236] vdd2: supplied by vcc_5v0_pmic
[    0.999740] vdig1: supplied by vcc_5v0_pmic
[    1.005865] vdig2: supplied by vcc_5v0_pmic
[    1.011941] vpll: supplied by vcc_5v0_pmic
[    1.017919] vdac: supplied by vcc_5v0_pmic
[    1.023936] vaux1: supplied by vcc_5v0_pmic
[    1.030006] vaux2: supplied by vcc_5v0_pmic
[    1.036061] vaux33: supplied by vcc_5v0_pmic
[    1.042198] vmmc: supplied by vcc_5v0_pmic
[    1.048200] vbb: supplied by vcc_5v0_pmic
[    1.055760] rtc rtc0: rtc-pcf8523: dev (253:0)
[    1.055802] rtc-pcf8523 0-0068: rtc core: registered rtc-pcf8523 as rtc0
[    1.063611] at24 0-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.070970] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.087412] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.093474] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[    1.101557] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.108701] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.116287] usb usb1: Product: MUSB HDRC host driver
[    1.121508] usb usb1: Manufacturer: Linux 4.9.28-pic6-geed43d1050 musb-hcd
[    1.128726] usb usb1: SerialNumber: musb-hdrc.0
[    1.134592] hub 1-0:1.0: USB hub found
[    1.138647] hub 1-0:1.0: 1 port detected
[    1.153991] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    1.159985] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[    1.168006] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.175153] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.182740] usb usb2: Product: MUSB HDRC host driver
[    1.187969] usb usb2: Manufacturer: Linux 4.9.28-pic6-geed43d1050 musb-hcd
[    1.195190] usb usb2: SerialNumber: musb-hdrc.1
[    1.200973] hub 2-0:1.0: USB hub found
[    1.205053] hub 2-0:1.0: 1 port detected
[    1.210790] omap_hsmmc 481d8000.mmc: Got WP GPIO
[    1.240850] rtc-pcf8523 0-0068: setting system clock to 2018-07-26 13:18:22 UTC (1532611102)
[    1.251774] Waiting for root device /dev/mmcblk0p5...
[    1.307550] mmc0: new high speed MMC card at address 0001
[    1.314553] mmcblk0: mmc0:0001 P1XXXX 3.60 GiB
[    1.319763] mmcblk0boot0: mmc0:0001 P1XXXX partition 1 16.0 MiB
[    1.326425] mmcblk0boot1: mmc0:0001 P1XXXX partition 2 16.0 MiB
[    1.339665]  mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 >
[    1.366142] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: data=ordered,journal_checksum,commit=1,discard
[    1.378447] VFS: Mounted root (ext4 filesystem) readonly on device 179:5.
[    1.386778] devtmpfs: mounted
[    1.391975] Freeing unused kernel memory: 1024K (c0900000 - c0a00000)
[    1.518878] EXT4-fs (mmcblk0p5): re-mounted. Opts: discard,journal_checksum,commit=1,data=ordered
[    1.591522] usb 2-1: new high-speed USB device number 2 using musb-hdrc
[    1.714683] usb 2-1: New USB device found, idVendor=0424, idProduct=2513
[    1.726406] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.746013] hub 2-1:1.0: USB hub found
[    1.753495] hub 2-1:1.0: 3 ports detected
[    2.043462] usb 2-1.2: new high-speed USB device number 3 using musb-hdrc
[    2.186121] udevd[101]: starting version 3.2.1
[    2.243852] udevd[102]: starting eudev-3.2.1
[    2.395349] usb 2-1.2: New USB device found, idVendor=0525, idProduct=a4a2
[    2.411506] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.437536] usb 2-1.2: Product: RNDIS/Ethernet Gadget
[    2.452464] usb 2-1.2: Manufacturer: Linux 3.14.28-ltsi with r8a66597_udc
[    2.762883] cdc_ether 2-1.2:1.0 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.2, CDC Ethernet Device, 16:9f:6a:6c:29:72
[    2.790765] usbcore: registered new interface driver cdc_ether
[    2.909545] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    4.522119] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[    4.584764] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[    4.604818] omap-aes 53500000.aes: will run requests pump with realtime priority
[    5.100878] net eth0: initializing cpsw version 1.12 (0)
[    5.110916] net eth0: initialized cpsw ale version 1.4
[    5.117201] net eth0: ALE Table size 1024
[    5.180061] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
[    5.204135] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.274017] net eth1: initializing cpsw version 1.12 (0)
[    5.347055] Micrel KSZ9031 Gigabit PHY 4a101000.mdio:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=4a101000.mdio:01, irq=-1)
[    5.367534] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.768137] EXT4-fs (mmcblk0p6): couldn't mount as ext3 due to feature incompatibilities
[    5.783531] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
[    5.817236] EXT4-fs (mmcblk0p7): couldn't mount as ext3 due to feature incompatibilities
[    5.831601] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: (null)
[    5.865350] EXT4-fs (mmcblk0p8): couldn't mount as ext3 due to feature incompatibilities
[    5.880435] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: (null)
[    7.248190] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    7.263477] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.402923] EXT4-fs (mmcblk0p9): couldn't mount as ext3 due to feature incompatibilities
[    7.420287] EXT4-fs (mmcblk0p9): mounted filesystem with ordered data mode. Opts: (null)
[    7.725211] EXT4-fs (mmcblk0p15): couldn't mount as ext3 due to feature incompatibilities
[    7.741023] EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: (null)
[   11.585135] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[   11.616893] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
[   13.487632] random: crng init done
[   16.044753] ccn_kmodule: loading out-of-tree module taints kernel.
[   16.059595] Initializing CCN network device driver version 1.1.11
[   16.073800] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   16.082317] CARRIER_CCN_LEN 48022000.serial: of_alias UART id = 1
[   16.089728] CARRIER_CCN_LEN 48022000.serial: CCN driver watchdog task started
[   16.103121] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 9600
[   16.103141] CARRIER_CCN_LEN 481aa000.serial: of_alias UART id = 5
[   16.129134] CARRIER_CCN_LEN 48022000.serial: CCN driver TX task started
[   16.136637] CARRIER_CCN_LEN 481aa000.serial: CCN driver watchdog task started
[   16.145048] CARRIER_CCN_LEN 481aa000.serial: CCN driver TX task started
[   16.437829] Initializing MS/TP network device driver version 1.02-001
[   17.084473] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   17.411472] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 9600
[   23.743641] CARRIER_CCN_LEN 48022000.serial: port type set to CCN
[   23.751962] CARRIER_CCN_LEN 48022000.serial: IOCTL set address :element=1, bus=0,driver_type = 0
[   23.761532] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   23.778604] CARRIER_CCN_LEN 481aa000.serial: port type set to LEN
[   23.786507] CARRIER_CCN_LEN 481aa000.serial: IOCTL set address :element=1, bus=0,driver_type = 0
[   23.795797] CARRIER_CCN_LEN 481aa000.serial: IOCTL baud_rate=6
[   23.801939] CARRIER_CCN_LEN 481aa000.serial: ccn_change_baud_rate
[   23.808352] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 38400
[   23.817523] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 38400
[  458.828786] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[  464.992630] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[  514.087154] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped

b) dmesg -b ::

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.28-pic6-geed43d1050 (chris@chris-Inspiron-1525) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #3 PREEMPT Wed Jul 26 19:17:56 EDT 2017
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: TI AM335x ALC
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] cma: Reserved 48 MiB at 0x84000000
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c0a3c370, node_mem_map c7ec1000
[    0.000000]   Normal zone: 288 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (neon)
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyO0,115200n8 loginShell=allow earlyprintk user_debug=0 loginShell=allow rootflags=data=ordered,journal_checksum,commit=1,discard rootfstype=ext4 rootwait root=/dev/mmcblk0p5 actual_slot=ROOTFS_A
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 70532K/131072K available (6144K kernel code, 247K rwdata, 1700K rodata, 1024K init, 320K bss, 11388K reserved, 49152K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a3dec0   ( 248 kB)
[    0.000000]        .bss : 0xc0a3dec0 - 0xc0a8e20c   ( 321 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU kthread priority: 1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000018] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.008180] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.017760] OMAP clocksource: timer1 at 24000000 Hz
[    0.023422] clocksource_probe: no matching clocksources found
[    0.029857] Console: colour dummy device 80x30
[    0.034577] Calibrating delay loop... 593.92 BogoMIPS (lpj=296960)
[    0.049818] pid_max: default: 32768 minimum: 301
[    0.054850] Security Framework initialized
[    0.059218] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.066135] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.074648] CPU: Testing write buffer coherency: ok
[    0.080270] Setting up static identity map for 0x80100000 - 0x80100060
[    0.090557] devtmpfs: initialized
[    0.115116] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.123579] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.133756] futex hash table entries: 256 (order: 0, 7168 bytes)
[    0.144530] pinctrl core: initialized pinctrl subsystem
[    0.151747] NET: Registered protocol family 16
[    0.159371] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.192444] omap_hwmod: debugss: _wait_target_disable failed
[    0.263965] OMAP GPIO hardware version 0.1
[    0.293212] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.322822] edma 49000000.edma: TI EDMA DMA engine driver
[    0.331197] SCSI subsystem initialized
[    0.335639] usbcore: registered new interface driver usbfs
[    0.341500] usbcore: registered new interface driver hub
[    0.347214] usbcore: registered new device driver usb
[    0.353109] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.366744] pps_core: LinuxPPS API ver. 1 registered
[    0.371965] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.381503] PTP clock support registered
[    0.386692] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.395405] clocksource: Switched to clocksource timer1
[    0.401195] VFS: Disk quotas dquot_6.6.0
[    0.405479] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.428008] NET: Registered protocol family 2
[    0.433751] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.441087] TCP bind hash table entries: 1024 (order: 2, 20480 bytes)
[    0.447881] TCP: Hash tables configured (established 1024 bind 1024)
[    0.454618] UDP hash table entries: 256 (order: 1, 12288 bytes)
[    0.460865] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[    0.467749] NET: Registered protocol family 1
[    0.472938] RPC: Registered named UNIX socket transport module.
[    0.479236] RPC: Registered udp transport module.
[    0.484206] RPC: Registered tcp transport module.
[    0.489190] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.497037] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.507443] random: fast init done
[    0.513061] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.520514] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.527051] NFS: Registering the id_resolver key type
[    0.532482] Key type id_resolver registered
[    0.536914] Key type id_legacy registered
[    0.543137] io scheduler noop registered
[    0.547517] io scheduler deadline registered
[    0.552127] io scheduler cfq registered (default)
[    0.559190] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.569171] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.578459] omap_uart 44e09000.serial: no wakeirq for uart0
[    0.584355] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
[    0.594190] console [ttyO0] enabled
[    0.601542] bootconsole [earlycon0] disabled
[    0.611186] omap_uart 481a6000.serial: no wakeirq for uart3
[    0.617292] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 160, base_baud = 3000000) is a OMAP UART3
[    0.628752] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    0.656235] brd: module loaded
[    0.670083] loop: module loaded
[    0.678364] libphy: Fixed MDIO Bus: probed
[    0.732484] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    0.738913] davinci_mdio 4a101000.mdio: XXX: detected phy mask fffffffe
[    0.745867] libphy: 4a101000.mdio: probed
[    0.751771] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    0.761552] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
[    0.772613] cpsw 4a100000.ethernet: Detected MACID = 50:33:8b:45:af:fa
[    0.779707] cpsw 4a100000.ethernet: cpts: overflow check period 5000 (jiffies)
[    0.789125] cpsw 4a100000.ethernet: cpsw: Detected MACID = 50:33:8b:45:af:fc
[    0.799162] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.806059] ehci-platform: EHCI generic platform driver
[    0.811949] usbcore: registered new interface driver usb-storage
[    0.818379] usbcore: registered new interface driver usbtest
[    0.826924] 47401300.usb-phy supply vcc not found, using dummy regulator
[    0.837906] musb-hdrc musb-hdrc.0: Failed to request rx1.
[    0.843709] musb-hdrc musb-hdrc.0: musb_init_controller failed with status -517
[    0.853023] 47401b00.usb-phy supply vcc not found, using dummy regulator
[    0.863918] musb-hdrc musb-hdrc.1: Failed to request rx1.
[    0.869704] musb-hdrc musb-hdrc.1: musb_init_controller failed with status -517
[    0.888150] i2c /dev entries driver
[    0.893531] omap_hsmmc 481d8000.mmc: Got WP GPIO
[    0.902902] ledtrig-cpu: registered to indicate activity on CPUs
[    0.910176] NET: Registered protocol family 10
[    0.916730] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.924195] NET: Registered protocol family 17
[    0.929334] Key type dns_resolver registered
[    0.934231] omap_voltage_late_init: Voltage driver support not added
[    0.941357] ThumbEE CPU extension supported.
[    0.969990] vrtc: supplied by vcc_5v0_pmic
[    0.978467] vio: supplied by vcc_5v0_pmic
[    0.984479] vdd1: supplied by vcc_5v0_pmic
[    0.990948] vdd2: supplied by vcc_5v0_pmic
[    0.999258] vdig1: supplied by vcc_5v0_pmic
[    1.005386] vdig2: supplied by vcc_5v0_pmic
[    1.011507] vpll: supplied by vcc_5v0_pmic
[    1.017507] vdac: supplied by vcc_5v0_pmic
[    1.023515] vaux1: supplied by vcc_5v0_pmic
[    1.029604] vaux2: supplied by vcc_5v0_pmic
[    1.035653] vaux33: supplied by vcc_5v0_pmic
[    1.041800] vmmc: supplied by vcc_5v0_pmic
[    1.047818] vbb: supplied by vcc_5v0_pmic
[    1.055319] rtc rtc0: rtc-pcf8523: dev (253:0)
[    1.055362] rtc-pcf8523 0-0068: rtc core: registered rtc-pcf8523 as rtc0
[    1.063152] at24 0-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.070516] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.086936] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.092959] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[    1.101024] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.108174] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.115767] usb usb1: Product: MUSB HDRC host driver
[    1.120990] usb usb1: Manufacturer: Linux 4.9.28-pic6-geed43d1050 musb-hcd
[    1.128210] usb usb1: SerialNumber: musb-hdrc.0
[    1.134007] hub 1-0:1.0: USB hub found
[    1.138089] hub 1-0:1.0: 1 port detected
[    1.153486] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    1.159509] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[    1.167553] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.174696] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.182283] usb usb2: Product: MUSB HDRC host driver
[    1.187513] usb usb2: Manufacturer: Linux 4.9.28-pic6-geed43d1050 musb-hcd
[    1.194734] usb usb2: SerialNumber: musb-hdrc.1
[    1.200590] hub 2-0:1.0: USB hub found
[    1.204649] hub 2-0:1.0: 1 port detected
[    1.210286] omap_hsmmc 481d8000.mmc: Got WP GPIO
[    1.239889] rtc-pcf8523 0-0068: setting system clock to 2018-07-19 14:47:15 UTC (1532011635)
[    1.250804] Waiting for root device /dev/mmcblk0p5...
[    1.306636] mmc0: new high speed MMC card at address 0001
[    1.313628] mmcblk0: mmc0:0001 P1XXXX 3.60 GiB
[    1.318826] mmcblk0boot0: mmc0:0001 P1XXXX partition 1 16.0 MiB
[    1.325493] mmcblk0boot1: mmc0:0001 P1XXXX partition 2 16.0 MiB
[    1.338307]  mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 >
[    1.366142] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: data=ordered,journal_checksum,commit=1,discard
[    1.378455] VFS: Mounted root (ext4 filesystem) readonly on device 179:5.
[    1.386793] devtmpfs: mounted
[    1.391991] Freeing unused kernel memory: 1024K (c0900000 - c0a00000)
[    1.519037] EXT4-fs (mmcblk0p5): re-mounted. Opts: discard,journal_checksum,commit=1,data=ordered
[    1.591547] usb 2-1: new high-speed USB device number 2 using musb-hdrc
[    1.714733] usb 2-1: New USB device found, idVendor=0424, idProduct=2513
[    1.726442] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.746027] hub 2-1:1.0: USB hub found
[    1.753535] hub 2-1:1.0: 3 ports detected
[    2.043498] usb 2-1.2: new high-speed USB device number 3 using musb-hdrc
[    2.185997] udevd[101]: starting version 3.2.1
[    2.244038] udevd[102]: starting eudev-3.2.1
[    2.394586] usb 2-1.2: New USB device found, idVendor=0525, idProduct=a4a2
[    2.412309] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.436536] usb 2-1.2: Product: RNDIS/Ethernet Gadget
[    2.454547] usb 2-1.2: Manufacturer: Linux 3.14.28-ltsi with r8a66597_udc
[    2.765896] cdc_ether 2-1.2:1.0 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.2, CDC Ethernet Device, da:31:ae:27:08:33
[    2.793787] usbcore: registered new interface driver cdc_ether
[    2.916633] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    4.523848] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[    4.580790] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[    4.598913] omap-aes 53500000.aes: will run requests pump with realtime priority
[    5.090852] net eth0: initializing cpsw version 1.12 (0)
[    5.101028] net eth0: initialized cpsw ale version 1.4
[    5.107306] net eth0: ALE Table size 1024
[    5.170093] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
[    5.194172] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.263936] net eth1: initializing cpsw version 1.12 (0)
[    5.337084] Micrel KSZ9031 Gigabit PHY 4a101000.mdio:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=4a101000.mdio:01, irq=-1)
[    5.357570] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.757874] EXT4-fs (mmcblk0p6): couldn't mount as ext3 due to feature incompatibilities
[    5.773748] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
[    5.807197] EXT4-fs (mmcblk0p7): couldn't mount as ext3 due to feature incompatibilities
[    5.821562] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: (null)
[    5.855044] EXT4-fs (mmcblk0p8): couldn't mount as ext3 due to feature incompatibilities
[    5.869640] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: (null)
[    6.817263] EXT4-fs (mmcblk0p9): couldn't mount as ext3 due to feature incompatibilities
[    6.834511] EXT4-fs (mmcblk0p9): mounted filesystem with ordered data mode. Opts: (null)
[    7.130641] EXT4-fs (mmcblk0p15): couldn't mount as ext3 due to feature incompatibilities
[    7.146536] EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: (null)
[    7.248241] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    7.260677] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   11.014022] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[   11.021091] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[   11.042502] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
[   13.053176] random: crng init done
[   15.491886] ccn_kmodule: loading out-of-tree module taints kernel.
[   15.506809] Initializing CCN network device driver version 1.1.11
[   15.521688] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   15.529317] CARRIER_CCN_LEN 48022000.serial: of_alias UART id = 1
[   15.536742] CARRIER_CCN_LEN 48022000.serial: CCN driver watchdog task started
[   15.550175] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 9600
[   15.550195] CARRIER_CCN_LEN 481aa000.serial: of_alias UART id = 5
[   15.576251] CARRIER_CCN_LEN 48022000.serial: CCN driver TX task started
[   15.583826] CARRIER_CCN_LEN 481aa000.serial: CCN driver watchdog task started
[   15.592245] CARRIER_CCN_LEN 481aa000.serial: CCN driver TX task started
[   15.885114] Initializing MS/TP network device driver version 1.02-001
[   16.536511] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   16.863509] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 9600
[   23.116625] CARRIER_CCN_LEN 48022000.serial: port type set to CCN
[   23.125093] CARRIER_CCN_LEN 48022000.serial: IOCTL set address :element=1, bus=0,driver_type = 0
[   23.134515] CARRIER_CCN_LEN 48022000.serial: CcnNetSelectBaud to 9600
[   23.149623] CARRIER_CCN_LEN 481aa000.serial: port type set to LEN
[   23.157581] CARRIER_CCN_LEN 481aa000.serial: IOCTL set address :element=1, bus=0,driver_type = 0
[   23.166900] CARRIER_CCN_LEN 481aa000.serial: IOCTL baud_rate=6
[   23.173039] CARRIER_CCN_LEN 481aa000.serial: ccn_change_baud_rate
[   23.179454] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 38400
[   23.188568] CARRIER_CCN_LEN 481aa000.serial: CcnNetSelectBaud to 38400
[ 4533.275843] cpsw 4a100000.ethernet eth0: Link is Down
[ 8402.960194] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[11795.173434] EXT4-fs (mmcblk0p6): re-mounted. Opts: data=ordered
[14757.904761] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[14822.358126] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[14840.788061] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[14877.609029] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[14893.231745] usb 2-1.2: USB disconnect, device number 3
[14893.238246] cdc_ether 2-1.2:1.0 usb0: unregister 'cdc_ether' usb-musb-hdrc.1-1.2, CDC Ethernet Device
[14898.059403] usb 2-1.2: new high-speed USB device number 4 using musb-hdrc
[14898.395181] usb 2-1.2: New USB device found, idVendor=0525, idProduct=a4a2
[14898.403310] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14898.412151] usb 2-1.2: Product: RNDIS/Ethernet Gadget
[14898.417995] usb 2-1.2: Manufacturer: Linux 3.14.28-ltsi with r8a66597_udc
[14898.448925] cdc_ether 2-1.2:1.0 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.2, CDC Ethernet Device, be:15:db:15:a7:83
[14899.177278] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[14902.216684] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
#

c) dmesg -c ::

 267.561041] usb 2-1.2: Product: RNDIS/Ethernet Gadget
[  267.567271] usb 2-1.2: Manufacturer: Linux 3.14.28-ltsi with r8a66597_udc
[  267.595854] cdc_ether 2-1.2:1.0 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.2, CDC Ethernet Device, 1e:a2:a8:17:dd:8c
[  269.482288] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
[  269.493798] ------------[ cut here ]------------
[  269.498686] WARNING: CPU: 0 PID: 1083 at drivers/usb/musb/musb_host.c:140 musb_h_tx_flush_fifo+0xe4/0xe8
[  269.508609] musb-hdrc musb-hdrc.1: Could not flush host TX2 fifo: csr: 2403
[  269.515893] Modules linked in: cfg80211 mstp_cmnet(O) ccn_kmodule(O) ti_am335x_adc omap_aes_driver crypto_engine omap_sham omap_wdt ti_am335x_tscadc cdc_ether usbnet mii
[  269.531825] CPU: 0 PID: 1083 Comm: ifconfig Tainted: G           O    4.9.28-pic6-geed43d1050 #3
[  269.541017] Hardware name: Generic AM33XX (Flattened Device Tree)
[  269.547391] Backtrace:
[  269.549984] [<c010b9dc>] (dump_backtrace) from [<c010bc98>] (show_stack+0x18/0x1c)
[  269.557912]  r7:00000009 r6:00000000 r5:c085cb6c r4:c3e77c10
[  269.563846] [<c010bc80>] (show_stack) from [<c0379074>] (dump_stack+0x24/0x28)
[  269.571418] [<c0379050>] (dump_stack) from [<c0129b90>] (__warn+0xe8/0x100)
[  269.578710] [<c0129aa8>] (__warn) from [<c0129be8>] (warn_slowpath_fmt+0x40/0x48)
[  269.586547]  r9:c3c58010 r8:c3c584e8 r7:c0a7df5c r6:c8a03c10 r5:00000000 r4:c085cbc4
[  269.594658] [<c0129bac>] (warn_slowpath_fmt) from [<c0498f84>] (musb_h_tx_flush_fifo+0xe4/0xe8)
[  269.603761]  r3:c0738048 r2:c085cbc4
[  269.607500]  r4:00002403
[  269.610158] [<c0498ea0>] (musb_h_tx_flush_fifo) from [<c049a1ac>] (musb_cleanup_urb+0xe4/0x1e0)
[  269.619268]  r10:0000df54 r9:c0a7df5c r8:c8a03c10 r7:00000000 r6:c2ca5a00 r5:00000000
[  269.627460]  r4:c3c584e8
[  269.630118] [<c049a0c8>] (musb_cleanup_urb) from [<c049a920>] (musb_urb_dequeue+0xf4/0x12c)
[  269.638864]  r10:00000001 r9:c0010400 r8:a0000013 r7:00000000 r6:c3c58010 r5:c2ca5a80
[  269.647056]  r4:c2ca5a00
[  269.649714] [<c049a82c>] (musb_urb_dequeue) from [<c046ba04>] (unlink1+0x34/0x110)
[  269.657642]  r10:00000000 r9:c2ca5a00 r8:00000006 r7:ffffff98 r6:c3c56a00 r5:c3e03c00
[  269.665836]  r4:c2ca5a00 r3:c049a82c
[  269.669583] [<c046b9d0>] (unlink1) from [<c046db3c>] (usb_hcd_unlink_urb+0x58/0x8c)
[  269.677602]  r9:c2ca5a00 r8:00000006 r7:ffffff98 r6:a0000013 r5:c3e03c00 r4:c2ca5a00
[  269.685711] [<c046dae4>] (usb_hcd_unlink_urb) from [<c046e59c>] (usb_unlink_urb+0x34/0x50)
[  269.694363]  r7:00000000 r6:60000013 r5:c3ce8618 r4:c3ce860c
[  269.700350] [<c046e568>] (usb_unlink_urb) from [<bf0078cc>] (unlink_urbs.constprop.8+0x84/0xb4 [usbnet])
[  269.710314] [<bf007848>] (unlink_urbs.constprop.8 [usbnet]) from [<bf007980>] (usbnet_terminate_urbs+0x84/0xc8 [usbnet])
[  269.721697]  r9:c3ce85f0 r8:c3ce860c r7:c3ce8534 r6:c3ce8520 r5:ffffe000 r4:00000000
[  269.729841] [<bf0078fc>] (usbnet_terminate_urbs [usbnet]) from [<bf007b0c>] (usbnet_stop+0x148/0x19c [usbnet])
[  269.740314]  r9:00000000 r8:00000000 r7:bf012cd0 r6:00000001 r5:c3ce8520 r4:c3ce8000
[  269.748453] [<bf0079c4>] (usbnet_stop [usbnet]) from [<c051436c>] (__dev_close_many+0x98/0xe0)
[  269.757470]  r8:befc2c08 r7:00001003 r6:00000001 r5:c3e77df8 r4:c3ce8000
[  269.764490] [<c05142d4>] (__dev_close_many) from [<c05144e8>] (__dev_close+0x30/0x48)
[  269.772685]  r5:00001002 r4:c3ce8000
[  269.776436] [<c05144b8>] (__dev_close) from [<c051c044>] (__dev_change_flags+0x9c/0x14c)
[  269.784909] [<c051bfa8>] (__dev_change_flags) from [<c051c114>] (dev_change_flags+0x20/0x50)
[  269.793745]  r9:00000000 r8:befc2c08 r7:c3ce8154 r6:00000000 r5:00001003 r4:c3ce8000
[  269.801856] [<c051c0f4>] (dev_change_flags) from [<c0589714>] (devinet_ioctl+0x6f0/0x7b0)
[  269.810419]  r9:00000000 r8:befc2c08 r7:c2c8af0c r6:00000000 r5:c3e77e80 r4:00000000
[  269.818531] [<c0589024>] (devinet_ioctl) from [<c058b5b4>] (inet_ioctl+0x1a8/0x1d0)
[  269.826549]  r10:00000000 r9:00000003 r8:befc2c08 r7:00000003 r6:befc2c08 r5:c32cde20
[  269.834741]  r4:00008914
[  269.837398] [<c058b40c>] (inet_ioctl) from [<c04ff208>] (sock_ioctl+0x20c/0x2e4)
[  269.845146] [<c04feffc>] (sock_ioctl) from [<c021393c>] (do_vfs_ioctl+0xa8/0x948)
[  269.852980]  r7:00000003 r6:c3dadb00 r5:c32cde20 r4:befc2c08
[  269.858908] [<c0213894>] (do_vfs_ioctl) from [<c0214250>] (SyS_ioctl+0x74/0x84)
[  269.866563]  r10:00000000 r9:00000003 r8:befc2c08 r7:00008914 r6:c3dadb00 r5:c3dadb00
[  269.874755]  r4:00000000
[  269.877414] [<c02141dc>] (SyS_ioctl) from [<c0107c80>] (ret_fast_syscall+0x0/0x3c)
[  269.885342]  r9:c3e76000 r8:c0107e44 r7:00000036 r6:0009190c r5:befc2c08 r4:000a59c3
[  269.893445] ---[ end trace 4134c3867c68bc61 ]---
[  271.931829] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[  273.978639] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[  274.158754] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[  274.190314] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
[  274.196983] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped

Regards

Amit

  • Hi Amit,

    There are a few things please try before we getting into debugging it.

    1. I see the log showing the r8a66597_udc dongle is attached to a usb hub, can you please try to remove the hub and directly attach the ethernet dongle to am335x usb port to see if the issue still happens?

    2. For debugging purpose, please test mainline v4.14.58 kernel release, there are some musb bug fixes after v4.9.28 kernel. You can download it from kernel.org and compile with omap2plus_defconfig.

    3. Is the r8a66597_udc device an evm? can you update its firmware? I often see kernel updates its usb drivers for bug fixes.
  • Amit,

    After how many test iterations will the issue happen typically?
  • Hi Bin Liu
    Thanks for the reply.
    There are no fixed iterations as such .
    when i run the test mentioned above , sometimes the issue comes very early , sometimes a bit late .
  • Use the following modified script, it prints iteration numbers.

    cnt=1
    while true; do
    echo "down $cnt" ;
    ifconfig usb0 down ;
    sleep 2 ;
    echo "up $cnt"
    ifconfig usb0 up ;
    ping -c 2 223.254.254.252 ;
    : $((cnt += 1))
    done

  • generally it comes late as shown below it took 484 iterations for this failure . logs are pasted below ::

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.049/3.605/4.162 ms
    down 483
    up 483
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=3.780 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=3.248 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.248/3.514/3.780 ms
    down 484
    up 484
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    down 485
    up 485
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    down 486

    up 486
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    down 487
    up 487
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    ping: sendto: Network is unreachable
    down 488
    up 488
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    dmesg logs ::

    [  340.545901] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  395.849104] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  481.877233] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  491.094956] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  577.119943] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  586.331138] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  755.286377] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [  768.347334] TCP: request_sock_TCP: Possible SYN flooding on port 12345. Dropping request.  Check SNMP counters.
    [  859.662838] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 1108.285005] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 1667.386124] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 1757.482777] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 1771.779313] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 1949.851856] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2127.933590] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2373.420761] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2397.968224] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2408.269717] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2425.640760] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2692.776987] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2761.350100] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2778.716229] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2849.303143] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2879.983071] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2883.060809] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2910.702484] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 2969.007362] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 3008.914684] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 3116.392788] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped
    [ 3172.038364] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped

  • Amit,

    I tested the same on my side with a usb-ethernet dongle. I don't see those error messages as that in your log, but I do notice that sometimes the link doesn't come up with 'ifconfig eth1 up' command, then one more time of 'ifconfig eth1 down/up' cycle will bring up the link again.

    So I modified the test script and attached them below, can you please modify the IF and IP address in the script and test it again?

    # ./repeat.sh ./_test.sh

    #!/bin/bash
    
    trap cleanup 1 2 3 6 15
    
    cleanup() { loop=false; }
    
    usage()
    {
    	echo "repeat.sh [-i <#loops>] [-d delay-in-seconds] [-f] <command> [params]"
    	echo
    	echo -e "-i #loops:"
    	echo -e "\tnumber of loops, default: -1 (infinite)"
    	echo -e "-d delay-in-seconds:"
    	echo -e "\tdelay in seconds between iterations, default: 0 (no delay)"
    	echo -e "-f:"
    	echo -e "\toutput iteration number to ftrace log if ftrace is enabled"
    	exit $1
    }
    
    init_ftrace_log()
    {
    	local _debugfs
    	
    	_debugfs=`sed -ne 's/^debugfs \(.*\) debugfs.*/\1/p' /proc/mounts`
    	[[ -z "$_debugfs" ]] || 
    		[[ ! -f "${_debugfs}/tracing/trace_marker" ]] ||
    		fmarker="${_debugfs}/tracing/trace_marker" || true
    }
    
    loop=true
    max_loop=-1
    delay_sec=0
    ftrace_log_enable=false
    cmd=""
    fmarker=""
    cnt=1
    
    while [ $# -gt 0 ]; do
    	case $1 in
    	-h | --help) usage 0;;
    	-i) shift; max_loop=$1; shift;;
    	-d) shift; delay_sec=$1; shift;;
    	-f) ftrace_log_enable=true; shift;;
    	*) cmd="$cmd $1"; shift;;
    	esac
    done
    
    [[ -n "$cmd" ]] || usage 1
    ! $ftrace_log_enable || init_ftrace_log
    
    ### loop ###
    while $loop; do
    	[ "$max_loop" = "-1" ] || [ "$cnt" -le "$max_loop" ] || break
    	echo "cnt: $cnt"
    	[[ -z "$fmarker" ]] || echo "cnt: $cnt" > $fmarker || true
    #	[[ -z "$fmarker" ]] || echo "ftrace cnt: $fmarker" || true
    	eval "$cmd" || break
    	: $((cnt += 1))
    	[[ $delay_sec -le 0 ]] || sleep $delay_sec
    done
    echo "done cnt: $cnt"
    
    

    #!/bin/bash
    
    _if=eth1
    _svr=192.168.1.102
    _timeout=10
    
    _retry=0
    while true; do
    	ifconfig $_if down
    
    	_cnt=0
    	while [ $_cnt -lt $_timeout ]; do
    		_stat=$(cat /sys/class/net/${_if}/operstate)
    		[ "$_stat" == "up" ] || break
    		: $((_cnt += 1))
    		sleep 1
    	done
    
    	[ "$_stat" == "down" ] || {
    		echo "down in $_timeout secs failed"
    		exit 1
    	}
    
    	ifconfig $_if up
    
    	_cnt=0
    	while [ $_cnt -lt $_timeout ]; do
    		_stat=$(cat /sys/class/net/${_if}/operstate)
    		[ "$_stat" == "down" ] || break
    		: $((_cnt += 1))
    		sleep 1
    	done
    
    	[ "$_stat" == "down" ] || break
    
    	if [ $_retry -eq 0 ]; then
    		echo "up in $_timeout secs failed, retrying..."
    		: $((_retry += 1))
    		continue
    	else
    		echo "retry up failed"
    		exit 2
    	fi
    done
    
    ping -c 2 $_svr || exit 3
    

  • Amit,

    In case you have downloaded the scripts I posted above, I just updated the script test.sh.txt. In my test with another usb ethernet dongle, it seems some are slow in bringing the link up and down, so instead of blindly waiting for 2 seconds, I modified the script to check for 10 seconds in 1 second interval. And same as the previous version, it tries again to do link down/up if link up is failed.
  • Thanks for the reply . please find my answer as per the questions ::
    1. since the hardware is fixed , this is not possible .
    2. I think the issue needs to be identified first . and then we can go for scanning the patches in latest kernel .
    is it possible to have an idea for what patches we need to look specifically for addressing this problem .
    it is not possible to migrate platform to 4.14.58 kernel.org , but if these patches are migrated to latest kernel released by TI (4.9.69 as per my information) , I can certainly give it a try . can you please point to the list of musb patches which you think we should go through , which can help address this scenario.
    3. we do not think issue lies with r8a66597_udc . its like AM335x interacting with r8a66597_udc as a co-processor and communicating over USB0. So when we reboot r8a66597_udc with keeping AM335x in same state , Network is still unreachable .
  • thanks for the scripts . I will check it soon .
    do you want to monitor cat /sys/class/net/${_if}/carrier also ?
    I asked this , as in my testing ( 2 sec test) , I observed that "carrier" reported a value of 0 when queried on r8a66597_udc shell even after rebooting the r8a66597_udc . so that means link from AM335x side is somehow broken .

    in these scripts , are we trying to wait for 10 seconds till the interface comes up ?
  • Amit,

    amit nagal said:
    1. since the hardware is fixed , this is not possible .

    Unable to remove the hub, understood.

    amit nagal said:
    is it possible to have an idea for what patches we need to look specifically for addressing this problem .

    Unfortunately no, without knowing the root cause.

    amit nagal said:
    it is not possible to migrate platform to 4.14.58 kernel.org , but if these patches are migrated to latest kernel released by TI (4.9.69 as per my information) , I can certainly give it a try .

    Thanks. Yes, you can use the Processor SDK 4.3.0.5 release which has kernel 4.9.69. It has most am335x musb bug fixes, except one. I attached the patch below, please apply it on the TI 4.9.69 kernel.

    From fe80d7385e744824443276fdfc6cfaa0a93da0cb Mon Sep 17 00:00:00 2001
    From: Bin Liu <b-liu@ti.com>
    Date: Tue, 20 Feb 2018 07:31:35 -0600
    Subject: [PATCH] Revert "usb: musb: host: don't start next rx urb if current
     one failed"
    
    commit 44eb5e12b845cc8a0634f21b70ef07d774eb4b25 upstream.
    
    This reverts commit dbac5d07d13e330e6706813c9fde477140fb5d80.
    
    commit dbac5d07d13e ("usb: musb: host: don't start next rx urb if current one failed")
    along with commit b5801212229f ("usb: musb: host: clear rxcsr error bit if set")
    try to solve the issue described in [1], but the latter alone is
    sufficient, and the former causes the issue as in [2], so now revert it.
    
    [1] https://marc.info/?l=linux-usb&m=146173995117456&w=2
    [2] https://marc.info/?l=linux-usb&m=151689238420622&w=2
    
    Cc: stable@vger.kernel.org # v4.7+
    Signed-off-by: Bin Liu <b-liu@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
     drivers/usb/musb/musb_host.c | 8 +-------
     1 file changed, 1 insertion(+), 7 deletions(-)
    
    diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
    index 55c624f2a8c0..43033895e8f6 100644
    --- a/drivers/usb/musb/musb_host.c
    +++ b/drivers/usb/musb/musb_host.c
    @@ -418,13 +418,7 @@ static void musb_advance_schedule(struct musb *musb, struct urb *urb,
     		}
     	}
     
    -	/*
    -	 * The pipe must be broken if current urb->status is set, so don't
    -	 * start next urb.
    -	 * TODO: to minimize the risk of regression, only check urb->status
    -	 * for RX, until we have a test case to understand the behavior of TX.
    -	 */
    -	if ((!status || !is_in) && qh && qh->is_ready) {
    +	if (qh != NULL && qh->is_ready) {
     		musb_dbg(musb, "... next ep%d %cX urb %p",
     		    hw_ep->epnum, is_in ? 'R' : 'T', next_urb(qh));
     		musb_start_urb(musb, is_in, qh);
    -- 
    1.9.1
    
    

  • amit nagal said:
    do you want to monitor cat /sys/class/net/${_if}/carrier also ?

    Sorry I don't know. I am an usb sw guy, knowing little about network, I am not sure what this carrier entry reports.

    amit nagal said:
    in these scripts , are we trying to wait for 10 seconds till the interface comes up ?

    Close, we check in every second for 10 seconds. If the link status changes quickly, we don't wait for 10 seconds.

    This script has two major changes on top of yours:

    1. instead of blindly waiting for 2 seconds, it checks the link status in every second for 10 times.

    2. if the link doesn't come up with 'ifconfig up' command, it tries 'ifconfig down' and 'ifconfig up' again to see if the link can recover.

  • Forgot to mention another improvement:

    If any of 'ifconfig down', 'ifconfig up', or 'ping' commands failed, which means the network has problems, the test terminates, so we can easily exam the system.

  • Amit,

    As I mentioned previously, I don't see the issues you reported in my test, but I do see sometimes the link doesn't come up with 'ifconfig up' command, and I have to do ifconfig down and ifconfig up again to recover it. I made the following kernel driver change which seems solving this issue. What the patch does is to not use DMA if the usb transfer size is 4 bytes or less, it is not efficient to use DMA to transfer small packets anyway. Can you please test the patch to see if it changes anything in your case?

    diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
    index 806451418cfe..14d92e4e0c8b 100644
    --- a/drivers/usb/musb/musb_host.c
    +++ b/drivers/usb/musb/musb_host.c
    @@ -743,12 +743,20 @@ static void musb_ep_program(struct musb *musb, u8 epnum,
     
            musb_ep_select(mbase, epnum);
     
    -       if (is_out && !len) {
    +       /* don't use dma if transfer len is 4 bytes or less */
    +       if (len <= 4) {
                    use_dma = 0;
    -               csr = musb_readw(epio, MUSB_TXCSR);
    -               csr &= ~MUSB_TXCSR_DMAENAB;
    -               musb_writew(epio, MUSB_TXCSR, csr);
    -               hw_ep->tx_channel = NULL;
    +               if (is_out) {
    +                       csr = musb_readw(epio, MUSB_TXCSR);
    +                       csr &= ~MUSB_TXCSR_DMAENAB;
    +                       musb_writew(epio, MUSB_TXCSR, csr);
    +                       hw_ep->tx_channel = NULL;
    +               } else {
    +                       csr = musb_readw(epio, MUSB_RXCSR);
    +                       csr &= ~MUSB_RXCSR_DMAENAB;
    +                       musb_writew(epio, MUSB_RXCSR, csr);
    +                       hw_ep->rx_channel = NULL;
    +               }
            }
     
            /* candidate for DMA? */
    
    
  • thanks for the patch . I will test it today and post the result.

  • Hi Bin Liu
    which kernel version i need to test it ? 4.9.69 or 4.9.28 ?
  • Amit, please start with 4.9.28. It is the one I used in my test. And it is the one you have the problem with.

  • the patch does not resolved the problem . I still see "Network unreachable issue" .

    App logs ::

    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=5.547 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=4.409 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 4.409/4.978/5.547 ms
    down
    up
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    down
    up
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---

    2 packets transmitted, 0 packets received, 100% packet loss

    kernel logs ::

    [  253.153086] cdc_ether 2-1.2:1.0 usb0: kevent 12 may have been dropped

  • Amit,

    You didn't use my test script, did you?
    What is the link status when the failure happens? If it was down, does 'ifconfig down' then 'ifconfig up' recover it? I just want to understand if your issue is the same as mine.

    # cat /sys/class/net/usb0/operstate
    # cat /sys/class/net/usb0/carrier
  • Do you have a link for the dongle so that I can order the same?
  • ok , i have downloaded the scripts and used them directly . is their any other modification i need to do in these scripts apart from IF and IP change ?

    below are the results ::

    # ./repeat.sh ./1832.sh
    cnt: 1
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=4.101 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=2.444 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 2.444/3.272/4.101 ms
    cnt: 2
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=4.396 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=3.309 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.309/3.852/4.396 ms
    cnt: 3
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=5.346 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=2.796 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 2.796/4.071/5.346 ms
    cnt: 4
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=3.615 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=5.108 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.615/4.361/5.108 ms
    cnt: 5
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=5.069 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=2.227 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 2.227/3.648/5.069 ms
    cnt: 6
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=2.685 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=3.311 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 2.685/2.998/3.311 ms
    cnt: 7
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=3.676 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=3.830 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.676/3.753/3.830 ms
    cnt: 8
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    64 bytes from 223.254.254.252: seq=0 ttl=64 time=4.685 ms
    64 bytes from 223.254.254.252: seq=1 ttl=64 time=3.165 ms

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 3.165/3.925/4.685 ms
    cnt: 9
    PING 223.254.254.252 (223.254.254.252): 56 data bytes

    --- 223.254.254.252 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    done cnt: 9
    # ping 223.254.254.252
    PING 223.254.254.252 (223.254.254.252): 56 data bytes
    ping: sendto: Network is unreachable


    # cat /sys/class/net/usb0/operstate
    up
    # cat /sys/class/net/usb0/carrier
    1
    #

  • its not a dongle . but another renesas processor supporting Ethernet over usb function over USB0 to AM35xx

  • amit nagal said:
    ok , i have downloaded the scripts and used them directly . is their any other modification i need to do in these scripts apart from IF and IP change ?

    The log you posted previously has "down" and "up" prints, but my test script doesn't print them, that is why I suspected you didn't run my script which does 'ifconfig down' and 'ifconfig up' recover.

    amit nagal said:

    ping: sendto: Network is unreachable

    # cat /sys/class/net/usb0/operstate
    up
    # cat /sys/class/net/usb0/carrier
    1
    #

    Thanks for the log, it definitely tells your issue is different from mine.

    I am afraid there is nothing else I can help further here since I am unable to reproduce it. You would have to debug the kernel for example start from the renesas usb driver to understand why the network communication is broken.

    FYI, years ago I debugged a USB WIFI issue on AM335x with another vendor's WIFI dongle. The issue was that after days of running the WIFI link still looked good but network communication was broken. It turned out the issue was that the vendor's WIFI dongle driver assumed the usb packets would be received in the same order as the the requests were sent, but there wasn't such policy set in Linux USB stack or USB Specs. The issue was solved with that the vendor updated the WIFI driver to check the sequence ID in the received packets.

  • If the network throughput is not a concern, another alternative would be to turn off MUSB CPPI DMA.
  • thanks for the information . so that means I must also capture USB packets and see if is any such abnormality exists .
    but what I am still not able to understand is , even when I reboot the renesas processor while keeping AM35xx in same state , still the network is unreachable . so does n't that mean problem lies on AM35xx side ( since renesas has rebooted ).
  • you mean turn off CONFIG_USB_TI_CPPI41_DMA ?
  • amit nagal said:
    thanks for the information . so that means I must also capture USB packets and see if is any such abnormality exists .

    Not really at this point. Every USB device firmware works in different ways. My story was just an example showing the issue could be caused in anywhere in the kernel.

    amit nagal said:
    but what I am still not able to understand is , even when I reboot the renesas processor while keeping AM35xx in same state , still the network is unreachable . so does n't that mean problem lies on AM35xx side ( since renesas has rebooted ).

    Likely yes, I didn't blame the renesas processor board, but keep in mind that there is the whole Linux kernel running on AM335x, the issue could sits in anywhere there. For example, the r8a66597 usb driver running on AM335x kernel, which is developed by the people who are familiar with the renesas chipsets.

  • amit nagal said:
    you mean turn off CONFIG_USB_TI_CPPI41_DMA ?

    Yes.