查看: 94696|回复: 16

[Linux] 基于OK335xS2增加了一个百兆网卡,新增加的网卡不工作

19

主题

10

回帖

50

积分

i.MX6UL通行证FCU11xx通行证

shijunpu 发表于 2015-5-29 17:37:37 | 显示全部楼层 |阅读模式
本帖最后由 shijunpu 于 2015-5-29 22:47 编辑

修改内容:在OK335xS2的基础上,增加了一个百兆网卡(仍采用LAN8720A),原有的网卡(phyid:01)工作正常,但新增加网卡不工作。
网卡2在启动时未报错,ifconfig eth1也可以分配到ip和掩码;其他机器ping该机左边的绿色的灯也会闪,但就是ping无响应。
增加网卡2所做工作如下:
NET.rar (20.56 KB, 下载次数: 23)
1.电路图修改:
    拷贝自第一个正常的网卡,唯一的区别是将表示地址PHYAD0的引线RMII2-RXER接地(原来的是接3.3V电压拉高表示地址1,现在将第二个网卡接地,意欲表示地址0)。这样修改行不?

QQ截图20150529224036.png
双网卡的原理图见附件

2.修改内核代码:
devices.c,修改am33xx_cpsw_init函数,
#define RMII1_IO_CLK_EN 0x0040
gmii_sel |= (RMII1_IO_CLK_EN);
改为
#define RMII1_IO_CLK_EN 0x0040
#define RMII2_IO_CLK_EN 0x0080
gmii_sel |= (RMII1_IO_CLK_EN);
gmii_sel |= (RMII2_IO_CLK_EN);

增加:
am33xx_cpsw_slaves[0].phy_id = "0:01";
am33xx_cpsw_slaves[1].phy_id = "0:00";

3. pin脚设置修改,board-am335xevm.c文件
参考RMII1的pin脚设置RMII2的各个pin脚,定义第二个网卡如下:
static struct pinmux_config rmii2_pin_mux[] = {// added by sjp
{"gpmc_csn3.rmii2_crs_dv", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_wpn.rmii2_rxerr", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a0.rmii2_txen", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
{"gpmc_a4.rmii2_txd1", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
{"gpmc_a5.rmii2_txd0", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
{"gpmc_a10.rmii2_rxd1", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a11.rmii2_rxd0", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
{"mii1_col.rmii2_refclk", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},
{"mdio_data.mdio_data", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
{"mdio_clk.mdio_clk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT_PULLUP},
{NULL, 0},
};
并在static void net_init(int evm_id, int profile)函数中增加setup_pin_mux(rmii2_pin_mux);的调用

正常启动后,ifconfig能看到eth0,虽然看不到eth1,但可以通过ifconfig配置ip(和eth0不同的网段)。且插入网线后,控制台也能显示eth1 up。但eth1就是和外面机器互相ping不通

不确定地方:
两个网卡的id还是保留了相同的PHYID定义,#define AM335X_EVM_PHY_ID       0x7c0f0 ,不知道有没有影响?

那位大虾知道还需要改别的地方吗?
回复

使用道具 举报

2

主题

13

回帖

42

积分

AM335x通行证

liwx 发表于 2018-6-21 14:49:24 | 显示全部楼层

回帖奖励 +2 贡献

遇到了同样的问题,楼主问题解决了嘛
点评回复 支持 反对

使用道具 举报

2

主题

13

回帖

42

积分

AM335x通行证

liwx 发表于 2018-7-26 11:51:09 | 显示全部楼层
我这个问题已经解决

点评

怎么解决的?  详情 回复 发表于 2022-5-25 09:57
你好,相同问题,请问你是怎么解决的?  详情 回复 发表于 2021-10-12 13:31
点评回复 支持 反对

使用道具 举报

0

主题

24

回帖

59

积分

A40i\T3\T507\T527通行证i.MX6Q通行证

chemist 发表于 2020-11-10 13:30:41 | 显示全部楼层

回帖奖励 +2 贡献

想问下是什么问题造成的?
点评回复 支持 反对

使用道具 举报

0

主题

245

回帖

752

积分

A40i\T3\T507\T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2301\FCU2302通行证FCU2401通行证5G转接卡通行证AM5718通行证Hi3519A通行证AM335x通行证i.MX RT通行证XX18通行证AM62x通行证

ljb2019001 发表于 2020-11-20 17:05:59 | 显示全部楼层

回帖奖励 +2 贡献

/etc/network/inte**ce文件是配置以太网节点的
点评回复 支持 反对

使用道具 举报

0

主题

9

回帖

43

积分

i.MX6UL通行证RK3568通行证LS1012A通行证AM335x通行证

曲奇龙 发表于 2021-10-12 13:31:47 | 显示全部楼层

回帖奖励 +2 贡献

liwx 发表于 2018-7-26 11:51
我这个问题已经解决

你好,相同问题,请问你是怎么解决的?

点评

参考一下这个配置,感觉配置是没有问题的 ping不通其他设备检查一下设备是否有防火墙http://bbs.witech.com.cn/portal.php?mod=view&aid=482  详情 回复 发表于 2021-10-12 15:34
点评回复 支持 反对

使用道具 举报

0

主题

245

回帖

752

积分

A40i\T3\T507\T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2301\FCU2302通行证FCU2401通行证5G转接卡通行证AM5718通行证Hi3519A通行证AM335x通行证i.MX RT通行证XX18通行证AM62x通行证

ljb2019001 发表于 2021-10-12 15:34:51 | 显示全部楼层
曲奇龙 发表于 2021-10-12 13:31
你好,相同问题,请问你是怎么解决的?

参考一下这个配置,感觉配置是没有问题的 ping不通其他设备检查一下设备是否有防火墙http://bbs.witech.com.cn/portal.php?mod=view&aid=482

点评

就是参考这个知识库来的 新增了板级文件的rmii2_pin_mux,并setup_pin_mux(rmii2_pin_mux); 修改了phy_id顺序,原本eth0的地址是1,自制底板eth0的地址是0,eth1的地址是1 新增了slave配置am33xx_cpsw_slaves[0].  详情 回复 发表于 2021-10-12 16:16
点评回复 支持 反对

使用道具 举报

0

主题

9

回帖

43

积分

i.MX6UL通行证RK3568通行证LS1012A通行证AM335x通行证

曲奇龙 发表于 2021-10-12 16:16:13 | 显示全部楼层
本帖最后由 曲奇龙 于 2021-10-12 16:18 编辑
ljb2019001 发表于 2021-10-12 15:34
参考一下这个配置,感觉配置是没有问题的 ping不通其他设备检查一下设备是否有防火墙http://bbs.witech.c ...

就是参考这个知识库来的
新增了板级文件的rmii2_pin_mux,并setup_pin_mux(rmii2_pin_mux);
修改了phy_id顺序,原本eth0的地址是1,自制底板eth0的地址是0,eth1的地址是1
新增了slave配置am33xx_cpsw_slaves[0].phy_if = PHY_INTE**CE_MODE_RMII; am33xx_cpsw_slaves[1].phy_if = PHY_INTE**CE_MODE_RMII;
修改了寄存器
#define RMII_IO_CLK_EN 0x00C0
gmii_sel |= (RMII_IO_CLK_EN);
然而还是ping不通
  1. static struct pinmux_config rmii2_pin_mux[] = {
  2.                 {"gpmc_csn3.rmii2_crs_dv", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
  3.                 {"gpmc_wpn.rmii2_rxerr", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
  4.                 {"gpmc_a0.rmii2_txen", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
  5.                 {"gpmc_a4.rmii2_txd1", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
  6.                 {"gpmc_a5.rmii2_txd0", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
  7.                 {"gpmc_a10.rmii2_rxd1", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
  8.                 {"gpmc_a11.rmii2_rxd0", OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLDOWN},
  9.                 {"gmii1_col.rmii2_refclk", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLDOWN},
  10.                 {"mdio_data.mdio_data", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
  11.                 {"mdio_clk.mdio_clk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT_PULLUP},
  12.                 {NULL, 0},
  13. };
复制代码
  1. static struct cpsw_slave_data am33xx_cpsw_slaves[] = {
  2.         {
  3.                 .slave_reg_ofs  = 0x200,
  4.                 .sliver_reg_ofs = 0xd80,
  5.                 .phy_id         = "0:00",
  6.                 .dual_emac_reserved_vlan = CPSW_PORT_VLAN_SLAVE_0,
  7.         },
  8.         {
  9.                 .slave_reg_ofs  = 0x300,
  10.                 .sliver_reg_ofs = 0xdc0,
  11.                 .phy_id                = "0:01",
  12.                 .dual_emac_reserved_vlan = CPSW_PORT_VLAN_SLAVE_1,
  13.         },
  14. };
复制代码
#define RMII_IO_CLK_EN 0x00C0
gmii_sel |= (RMII_IO_CLK_EN);

点评回复 支持 反对

使用道具 举报

0

主题

245

回帖

752

积分

A40i\T3\T507\T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2301\FCU2302通行证FCU2401通行证5G转接卡通行证AM5718通行证Hi3519A通行证AM335x通行证i.MX RT通行证XX18通行证AM62x通行证

ljb2019001 发表于 2021-10-12 16:51:03 | 显示全部楼层
eth1 up起来了吗,eth1默认是没有开启的,ping不通有什么打印信息吗

点评

都可以up起来,插拔网线也都有反应。eth1自己ping自己也ping的通  详情 回复 发表于 2021-10-13 08:03
点评回复 支持 反对

使用道具 举报

0

主题

9

回帖

43

积分

i.MX6UL通行证RK3568通行证LS1012A通行证AM335x通行证

曲奇龙 发表于 2021-10-13 08:03:55 | 显示全部楼层
ljb2019001 发表于 2021-10-12 16:51
eth1 up起来了吗,eth1默认是没有开启的,ping不通有什么打印信息吗

都可以up起来,插拔网线也都有反应。eth1自己ping自己也ping的通

点评

解决了吗?同样的问题  详情 回复 发表于 2022-5-25 09:55
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则