网络指示灯修改

网络指示灯修改

类别

需求

索引类别

网络指示灯状态

问题描述

平台是RT1296,目前百/千兆网络指示灯的状态是一样的(绿灯常亮,橙灯闪烁),为了肉眼可以区分,在网络指示灯的状态修改为在百兆的状态下绿灯灭、橙灯闪烁,千兆网络指示灯状态为绿灯常亮,橙灯闪烁。

代码关联

对应的代码修改部分如下:


//对应DTS的配置
@@ -166,3 +166,9 @@
     mute_gpio = <&rtk_misc_gpio 7 1 1>;
     status = "okay";
 };
+
+// gmac: This configuration is required only for Gigabit network cards.
+&nic {
+    status = "okay";
+    phy-max-speed = <1000>;
+};
diff --git a/drivers/net/ethernet/realtek/r8169soc.c b/drivers/net/ethernet/realtek/r8169soc.c
index 69c7bfa..4f12154 100644
--- a/drivers/net/ethernet/realtek/r8169soc.c
+++ b/drivers/net/ethernet/realtek/r8169soc.c
@@ -885,6 +885,7 @@ struct rtl8169_private {
        u32 monitor_en;
        u32  macaddr1;
        u16  macaddr2;
+    u16 phy_max_speed; /* 100: 100M, 1000: 1000M*/
 };


 MODULE_AUTHOR("Realtek and the Linux r8169 crew <netdev@vger.kernel.org>");
@@ -1575,17 +1576,22 @@ static void rtl_link_chg_patch(struct rtl8169_private *tp)

        if (!netif_running(dev))
                return;
//0x000670#$ (最后两位分别控制绿灯和橙灯,最后一位代表绿色指示灯,倒数第二位是代表橙色指示灯,数值代表的意思是网络指示灯闪烁的频率,数值越大闪烁频率越大)
+    if(tp->phy_max_speed == 1000) {
+        if (RTL_R8(PHYstatus) & _1000bpsF) {
+            RTL_W32(LEDSEL, 0x000670e6);
+        } else if (RTL_R8(PHYstatus) & _100bps) {
+            RTL_W32(LEDSEL, 0x000670e0);
+        } else if (RTL_R8(PHYstatus) & _10bps) {
+            RTL_W32(LEDSEL, 0x000670e0);
+        } else {
+            RTL_W32(LEDSEL, 0x00067066);
+            netif_info(tp, ifdown, dev, "xcyan report: Unknown internet speed (<10Mbps or >1000Mbps)\n");
+        }
+        printk("Net card supports 1000M\n");
+    } else {
+        printk("Net card supports 100M\n");
+    }

        if (tp->mac_version == RTL_GIGA_MAC_VER_34 ||
                tp->mac_version == RTL_GIGA_MAC_VER_38) {
            
            
@@ -8081,6 +8087,7 @@ rtl_init_one(struct platform_device *pdev)
        int rc;
        int rtl_config;
        int mac_version;
+    int phy_max_speed;
        u32 tmp;
        int irq;
        int retry;
@@ -8123,6 +8130,9 @@ rtl_init_one(struct platform_device *pdev)
        if (of_property_read_u32(pdev->dev.of_node, "ext-phy-id", &ext_phy_id)) {
                dprintk("%s can't get RGMII external PHY ID", __func__);
        }
            
     //通过设备节点和属性名,获取DTS中的配置
+    if (of_property_read_u32(pdev->dev.of_node, "phy-max-speed", &phy_max_speed)) {
+        dprintk("%s can't get RGMII PHY max speed", __func__);
+    }
        if (soc_is_rtk1195() && (realtek_rev() == RTK1195_REV_A)) {
                if (of_property_read_u32(pdev->dev.of_node, "rtl-features", &(cfg->features))) {
                        cfg->features &= ~RTL_FEATURE_GMII;
@@ -8207,6 +8217,7 @@ rtl_init_one(struct platform_device *pdev)
        tp->rgmii_rx_delay = rgmii_rx_delay;
        tp->ext_phy_id = ext_phy_id;
        tp->monitor_en = 0x8020080; /* disable PHY interrupt, disable  EEE interrupts, and enable timer monitor */
+    tp->phy_max_speed = phy_max_speed;

        mii = &tp->mii;
        mii->dev = ndev;

知识拓展

参考资料:

https://www.sohu.com/a/319791719_227417

改进建议

工作记录。。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可将 RS-232/485 串口设备连接至以太网 业界首款全双工、不间断、低成本服务器 支持TCP服务器、TCP客户端、UDP模式 支持虚拟串口、Web登录或使用VirCom进行配置 ZLSN5102 概述 ZLSN5102串口转以太网模块是上海卓岚信息科技有限公司开发的一款RS232/485和TCP/IP之间协议转化器。该串口转以太网模块可以方便地使得串口设备连接到以太网和Internet,实现串口设备的网络化管理。和同类产品相比,其显著特点是稳定性(可以全双工、不间断发送大批量数据而不丢失一字节)和适中的价格。 特点 通过ZLSN5102内嵌Web服务器可配置其网络参数、串口参数、登录口令等。 Web服务器支持密码登录,以防止随意修改。 支持跨网关:能够将串口服务器和任何Internet上有公网IP的主机连接。 支持1200~460800波特率。 支持9位数据发送功能:第9位可以为无、奇校验、偶校验、1、0,五种方式方便在485通信中区分数据帧和地址帧。 ZLVirCom配置工具可在网络上自动寻找NETCOM设备联网服务器。 支持虚拟串口。 支持数据写保护,防止随意篡改。 支持默认配置启动。 LINK连接指示。 硬件流控CTS/RTS。 1KV网络浪涌保护。 规格 网络界面 以太网 10/100 Mbps, RJ45 保护 内建2KV电磁隔离,防雷保护 串口界面 界面 RS-232/485 串口数 1 校验位 None, Even, Odd, Space, Mark 数据位 5~9 停止位 1,2 流控 RTS/CTS,DTR/DCR,XON/XOFF 速率 1200bps~460800bps 软件特性 协议 TCP,HTTP,UDP,ICMP,ARP,IP,DNS,DHCP 虚拟串口平台 Windows 95/98/ME/NT/2000/XP/WIN7 配置方式 Web浏览器、卓岚ZLVirCom、串口类AT命令 电器特性 电压输入 DC9~24V,100mA 机械特性 外壳材料 无 尺寸 长×宽×高=9.4cm×6.5cm×2.5cm 工作环境 工作温度,湿度 -45~85℃,5~95% RH 储存温度,湿度 -45~165℃,5~95% RH W
### 回答1: ESXi 主机网络图标是 VMware 虚拟化技术中的一个重要组成部分,它代表了在虚拟化环境中运行的 ESXi 主机的网络连接和配置。ESXi 是一种高性能的虚拟化平台,可以将一个物理服务器划分为多个虚拟服务器,每个虚拟服务器都可以运行不同的操作系统和应用程序。 ESXi 主机网络图标通常包括多个主要组件,如网卡、虚拟交换机和虚拟局域网(VLAN)。网卡通常代表物理主机上的网络适配器,可以连接到物理网络。虚拟交换机可以被看作是虚拟网络中的交换机设备,可以帮助虚拟机之间和虚拟机与物理网络之间进行网络通信。而虚拟局域网(VLAN)则用于隔离虚拟机群组,使它们可以在相同的物理网络上独立操作,提高网络安全性和管理灵活性。 通过 ESXi 主机网络图标,管理员可以轻松管理和配置网络连接,为虚拟机提供所需的网络资源。管理员可以为每个虚拟机分配特定的网络带宽和连接性,并对网络流量进行调整和监控。此外,ESXi 主机网络图标也提供了基础网络故障排除工具和网络安全功能,可以帮助管理员快速识别和解决网络问题,确保虚拟机的正常运行。 总而言之,ESXi 主机网络图标是 VMware 虚拟化环境中网络管理的关键工具,它提供了对 ESXi 主机上网络配置和连接的可视化表示,帮助管理员轻松管理虚拟机的网络资源,提高虚拟化环境的可靠性和性能。 ### 回答2: ESXi主机网络图标是一种用于表示VMware ESXi虚拟化主机网络连接的图标。ESXi是一种基于x86架构的虚拟化平台,它允许用户在单个物理服务器上运行多个虚拟机。主机网络图标通常用于ESXi管理界面或虚拟机管理工具中,用于显示ESXi主机的网络连接状态和配置信息。 ESXi主机网络图标通常是一个简单的图标,通常是一个小图标。它可能包含一些基本的元素,如一个网络连接表示网络的存在和连接状态,或者一个主机图标表示它是一个虚拟化主机。通常,它的颜色和形状可能会根据网络连接的状态改变,例如绿色表示正常连接,红色表示断开连接,黄色表示故障或警告。 通过查看ESXi主机网络图标,管理员可以快速了解主机的网络状态和健康状况。这对于监视网络连接是否正常,处理网络故障或进行网络配置更改非常有用。管理员可以通过点击图标或与之交互来打开主机网络设置界面,以查看和修改网络配置,例如IP地址、子网掩码、网关等。这样的图标还可以显示主机上运行的虚拟机的网络连接,让管理员能够了解每个虚拟机的网络连接状态。 综上所述,ESXi主机网络图标是一个用于表示VMware ESXi虚拟化主机网络连接状态和配置信息的图标,在虚拟机管理和网络管理中发挥重要作用。通过这个简单的图标,管理员可以方便地监控和管理主机的网络连接。 ### 回答3: ESXi 主机网络图标是一种用于表示虚拟化主机的图标。ESXi 是一款由 VMware 公司开发的虚拟化操作系统,可用于在服务器上运行多个虚拟机。网络图标通常是一个简化的图形,用来代表 ESXi 主机在网络环境中的位置和连接。 ESXi 主机网络图标通常以物理服务器的形式出现,具有类似于传统服务器的外观,但通常有一些微小的差异。图标上可能会显示主机的名称或标识符以便于识别。此外,图标上还可能会显示一些指示符,如泡表示主机是否处于开机状态,或者链表示主机的网络连接状态。 使用 ESXi 主机网络图标可以方便管理员在服务器集群中快速识别并管理特定的主机。通过查看图标,管理员可以迅速确定主机的状态和性能,并对其进行相应的操作。这对于在虚拟环境中执行管理任务非常重要,因为管理员可以直观地了解集群中每个主机的位置和网络连接情况。 总之,ESXi 主机网络图标是一种用于表示虚拟化主机的简化图标。它可以帮助管理员在虚拟环境中快速识别和管理主机,并提供有关主机状态和性能的信息。这对于有效管理和维护虚拟化环境非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值