您好!
我对AM335X evm的kernel代码进行了双网口的改造,但是最终实现出来eth0与eth1均找到了物理上的第一个网口,而第二个并没有使用。
其中,Dual Standalone EMAC mode使能的时候,好像一个网口就可以有两个mac地址,并且分别给了eth0和eth1.
我们现在使用两个网口的话,Dual Standalone EMAC mode是不是应该关掉呢?
如果是的,关了以后我们还需要做什么改动呢,ti cpsw代码中是否已有双网口的支持呢?
谢谢!
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.
您好!
我对AM335X evm的kernel代码进行了双网口的改造,但是最终实现出来eth0与eth1均找到了物理上的第一个网口,而第二个并没有使用。
其中,Dual Standalone EMAC mode使能的时候,好像一个网口就可以有两个mac地址,并且分别给了eth0和eth1.
我们现在使用两个网口的话,Dual Standalone EMAC mode是不是应该关掉呢?
如果是的,关了以后我们还需要做什么改动呢,ti cpsw代码中是否已有双网口的支持呢?
谢谢!
感谢Yaoming的回答,新年好!
我看过这个文档的,并且下载了PSP,找到了其中的switch-config应用程序.
但是我使用这个应用程序没能成功配置出两个物理网口.
因为默认是使用dual mac模式的,也就是一个网口有两个mac地址,当我关掉以后,cpsw只找到一个mac地址了.
所以,不太明白的是:
1 我要使用物理双网口,是不是必须使用switch mode,必须关掉dual mac mode?
2 如果答案是肯定的,使用switch mode,是否需要修改kernel代码去给两个物理网口分配mac地址?还是仅仅使用switch-config就可以对应,ti已经在代码中有了支持?
非常感谢!
大家好!
问题已经解决了,是硬件设计的问题。其中一个RTL8201芯片的RXER脚在reset解除时,锁到了cpu上输出的错误的电平,导致该芯片使用了fiber mode,reg0的AN EN成为了0并为只读,所以不能正常工作了。RTL8201 reset解除使用了电源系统reset,其在CPU reset解除之前,所以这时候CPU脚的电平都是不一样的默认值。
对于上面的问题,我们使用物理双网口,还是要用dual mac mode,代码本身以及我们移植的驱动并没有错。
谢谢!
Qin工:你好!我想实现AM335x的双网口设置成同一个网段,也就是eth0为192.168.1.2,eth1为192.168.1.3,我把eth0连到一台PC机,eth1链接另一台PC机,这时候只能ping通一个,如果我把eth0和eth1设置成不同网段,两台pc机都能ping通,我看了http://processors.wiki.ti.com/index.php/AM335x_CPSW_%28Ethernet%29_Driver%27s_Guide#Switch_Configuration_Utility这个资料了,但是我装完了psp以后找不到<psp>/src/examples这个路径呢?
你下载的是Linux SDK 6.0吗?连在同一个网段的话需要有VLAN的支持。
http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/06_00_00_00/index_FDS.html
release notes中:http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.11_Features_and_Performance_Guide#Ethernet_Driver
The driver supports the following features:
liu工:你好!我使用vconfig命令进行vlan划分的,
如下:
vconfig add eth0 10
vconfig add eth1 20
ifconfig eth0.10 up
ifconfig eth1.20 up
还是不行
第二种方法,我使用网桥,命令如下
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 172.16.0.99 up
这样两端的pc都能ping通,但是俩个PC间互相ping的话就ping不通,用wirshark可以抓到彼此发的广播包,但是回应的包都接收不到,这应该是甚么问题呢,
liu工帮忙指点一下,都搞了好几天了!谢谢!
havery yu 说:Qin工:你好!我想实现AM335x的双网口设置成同一个网段,也就是eth0为192.168.1.2,eth1为192.168.1.3,我把eth0连到一台PC机,eth1链接另一台PC机,这时候只能ping通一个,如果我把eth0和eth1设置成不同网段,两台pc机都能ping通,我看了http://processors.wiki.ti.com/index.php/AM335x_CPSW_%28Ethernet%29_Driver%27s_Guide#Switch_Configuration_Utility这个资料了,但是我装完了psp以后找不到<psp>/src/examples这个路径呢?
即使用vlan也不能把两个网口配到一个网段的。
linux3.12内核 make menuconfig 没有选择配置Dual Standalone EMAC mode