TI中文支持网
TI专业的中文技术问题搜集分享网站

关于DM8127 网口工作在非交换模式的问题

Hi Chris

        我们使用8127遇到一个问题, 

        我们使用了两个网口,  模式为       CONFIG_TI_CPSW_DUAL_EMAC

        每个网口都工作在不同的网段,例如 eth0 IP 192.168.9.182, eth1 10.100.23.251,  接在同一个交换机上,

       有一定的概率(千兆交换机大概一半,百兆交换机 五分之一),会出现网口起不来, 现象为,ping不通, 

      cat /sys/class/net/eth0/hw_stats 出现

rxsofoverruns ……………………… 5995
rxdmaoverruns ……………………… 5995

这两个overruns 一直在增加。

最终出现下面的警告信息,并且恢复不了。

 root@ipc_dm8127:~# ————[ cut here ]————
WARNING: at net/sched/sch_generic.c:258 dev_watchdog+0x148/0x230()
NETDEV WATCHDOG: eth0 (cpsw): transmit queue 0 timed out
Modules linked in: ti81xxhdmi vpss osa_kermod syslink dsplink sensor fpga gpio ti_cpsw
Backtrace: 
[<c004af70>] (dump_backtrace+0x0/0x110) from [<c036e924>] (dump_stack+0x18/0x1c)
 r6:c0457f19 r5:00000102 r4:c0481e10 r3:60000113
[<c036e90c>] (dump_stack+0x0/0x1c) from [<c006f4b8>] (warn_slowpath_common+0x54/0x6c)
[<c006f464>] (warn_slowpath_common+0x0/0x6c) from [<c006f574>] (warn_slowpath_fmt+0x38/0x40)
 r8:c02f5d94 r7:00000100 r6:00000000 r5:c04f75d4 r4:cb18b000
r3:00000009
[<c006f53c>] (warn_slowpath_fmt+0x0/0x40) from [<c02f5edc>] (dev_watchdog+0x148/0x230)
 r3:cb18b000 r2:c0457f31
[<c02f5d94>] (dev_watchdog+0x0/0x230) from [<c00797e0>] (run_timer_softirq+0x130/0x1c8)
 r6:00000100 r5:c0480000 r4:c04e2f40
[<c00796b0>] (run_timer_softirq+0x0/0x1c8) from [<c0074378>] (__do_softirq+0x84/0x114)
[<c00742f4>] (__do_softirq+0x0/0x114) from [<c0074768>] (irq_exit+0x48/0x98)
[<c0074720>] (irq_exit+0x0/0x98) from [<c003d07c>] (asm_do_IRQ+0x7c/0x9c)
[<c003d000>] (asm_do_IRQ+0x0/0x9c) from [<c03708f4>] (__irq_svc+0x34/0xa0)
Exception stack(0xc0481f38 to 0xc0481f80)
1f20:                                                       fe500000 fe600000
1f40: 0009e33d c04c1cc0 00000814 c048405c c04c1988 c0484054 80000000 413fc082
1f60: 0000001f c0481f94 c0481f80 c0481f80 c0057e2c c0057e38 a0000013 ffffffff
 r5:fa200000 r4:ffffffff
[<c0057dbc>] (ti81xx_idle+0x0/0x90) from [<c0048618>] (cpu_idle+0x50/0x90)
 r4:c0480000 r3:c0057dbc
[<c00485c8>] (cpu_idle+0x0/0x90) from [<c0369c58>] (rest_init+0x60/0x78)
 r6:c0675980 r5:00000000 r4:c04e5ecc r3:00000000
[<c0369bf8>] (rest_init+0x0/0x78) from [<c0008c08>] (start_kernel+0x264/0x2b8)
[<c00089a4>] (start_kernel+0x0/0x2b8) from [<80008048>] (0x80008048)
—[ end trace b43003bd1f8c8e29 ]—

 两个网口接在不同的交换机上无此现象。

请帮支持一下 多谢!

       

Chris Meng:

你好,

请问你使用的网络驱动是否为git上最新?http://arago-project.org/git/projects/?p=linux-dvr-rdk-dm81xx.git;a=summary

请问你是否有使能vlan?

old wang:

回复 Chris Meng:

我的网络驱动是IPNC_RDK里自带的,  不是http://arago-project.org/git/projects/?p=linux-dvr-rdk-dm81xx.git;a=summary

DUAL_MAC模式 vlan肯定是使能了。

上面帖子中那个3.2的改动,不知道哪里可以下到?

old wang:

回复 old wang:

我比了一下我的和下面链接中的网络驱动,

http://arago-project.org/git/projects/?p=linux-dvr-rdk-dm81xx.git;a=summary

主要差异为 CONFIG_PTP_1588_CLOCK_CPTS 这个不同,

davinci_cpdma.c

cpsw_ale.c

都一样,

所以应该不是我的驱动版本问题。

old wang:

回复 old wang:

编了一个版本

选了CONFIG_VLAN_8021Q

现象还是一样的

old wang:

回复 old wang:

e2e上帖子的链接

1

https://e2e.ti.com/support/embedded/linux/f/354/p/216491/764557?tisearch=e2e-sitesearch&keymatch=NETDEV%20WATCHDOG#764557

2

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/545712?tisearch=e2e-quicksearch&keymatch=transmit%20queue%200%20timed%20out

Chris Meng:

回复 old wang:

你好,

请问两个网口的mac地址是否不同?

old wang:

回复 Chris Meng:

两个网口mac地址不同。

因为没有回复,我只好照着patch,手工移植了一下,有一个告警的 oop.

但是测了10几次,貌似都好的。

old wang:

回复 old wang:

要是有完整的修复过的cpsw.c和davinci_cpdma.c代码,还是希望能发一下,参考一下。

赞(0)
未经允许不得转载:TI中文支持网 » 关于DM8127 网口工作在非交换模式的问题
分享到: 更多 (0)