修改了内核里的/arch/arm/mach-omap2/devices文件的
static struct platform_device ti816x_emac2_device = {
.name = "eth_offload",
.id = 1,
.num_resources = ARRAY_SIZE(ti816x_emac2_resources),
.resource = ti816x_emac2_resources,
};
.name = "davinci_emac",开启了eth1,驱动也加载好了,ifconfig出来的信息如下:
eth0 Link encap:Ethernet HWaddr 88:C2:55:86:99:86 inet addr:192.168.1.236 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:40 Base address:0x8000
eth1 Link encap:Ethernet HWaddr 88:C2:55:86:99:87 inet addr:192.168.1.237 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:44
现在的情况是eth0和eth1都可以和pc连接上,但是eth0可以ping通,eth1却ping不通。
两个网口的硬件可以保证是一样的
是使用eth1还需要修改其他地方吗?还是说别的什么问题?请各位大神帮忙分析一下!!
Chris Meng:
Ben,
你使用的驱动版本是不是比较旧?现在驱动默认两个EMAC都是支持的。
建议升级驱动到git上最新的,http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary
user4546956:
回复 Chris Meng:
DRK版本是DVRRDK_04.00.00.03
现在是连接eth1 ping的时候,eth1只接收数据,几乎没有发送数据出去,而且奇怪的是lo居然在进行收发数据,网卡信息如下:
eth0 Link encap:Ethernet HWaddr 78:A5:04:C6:BD:14 inet addr:192.168.1.236 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:40 Base address:0x8000
eth1 Link encap:Ethernet HWaddr 78:A5:04:C6:BD:15 inet addr:192.168.0.237 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30 errors:0 dropped:0 overruns:0 frame:0 TX packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2902 (2.8 KiB) TX bytes:60 (60.0 B) Interrupt:44
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:27 errors:0 dropped:0 overruns:0 frame:0 TX packets:27 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3024 (2.9 KiB) TX bytes:3024 (2.9 KiB)
user4546956:
回复 Chris Meng:
而且连接eth0 ping的时候,两个IP地址都能ping通,这也挺想不通的
Chris Meng:
回复 user4546956:
Ben,
如果你使用的DVR RDK4里面的驱动,你就不需要修改驱动代码。你能否改回去在尝试呢?
我看到你输出的信息eth0/eth1的ip不是在一个网段的,这是你需要的,对么?
user4546956:
回复 Chris Meng:
eth0和eth1同一网段,eth1两个IP都能PING通,eth0 PING不通;不在同一网段,eth0两个IP都能PING通,eth1 PING不通。。。
我那份驱动默认是没有开启eth1的
Chris Meng:
回复 user4546956:
Ben,
建议你对比一下git上最新的驱动:http://arago-project.org/git/projects/?p=linux-dvr-rdk-dm81xx.git;a=summary。
user4546956:
回复 Chris Meng:
好的,我现在使用的phy芯片是ksz9021,如果想要在uboot中使用,是否需要在uboot移植相应的驱动?