首页 > 其他分享 >光电复用口link错误

光电复用口link错误

时间:2023-09-25 10:24:38浏览次数:34  
标签:serdes copper 光电 复用 phy link eq port1

现象:光电复用口,电口和光口接满线,电口与光口各亮一对

serdes_link=0
copper_link=0
get_combo_link_status()
{
    port1=$1
#   local tmp_reg=`bcmsh "linkscan off ; phy ${port1} 0x17 0xf7e ; phy ${port1} 0x15 0; phy ${port1} 0x1e 0x21 ; phy ${port1} 0x1f ; linkscan on" | awk -F "Reg 0x001f: " '{print $2}'`
                                    		|
		                                    |
        			                        ---> 使能RDB访问模式


    local tmp_reg=`bcmsh "phy ${port1} 0x17 0xf7e ; phy ${port1} 0x15 0; phy ${port1} 0x1e 0x21 ; phy ${port1} 0x1f" | awk -F "Reg 0x001f: " '{print $2}'`
    serdes_link=$((${tmp_reg} & (0x1 << 6)))
    copper_link=$((${tmp_reg} & (0x1 << 7)))
}


combo_check()
{
    local port1=$1
    local port2=$2
    local count1=0
    local count2=0
    
    # 首先读一下当前这组光模块的link状态
    get_combo_link_status

    if [ ${serdes_link} -eq 0 -a ${copper_link} -eq 0 ]; then
        echo "port ${port1},${port2} not lnik."
        return
    fi
    
    # 如果link的不是光口对这两个光电复用口重新 disable - enable
    while [ ${serdes_link} -eq 0 -a  ${count1} -lt 5 ]
    do
        # 重新 disable - enable
        bcmsh port ${port1},${port2} e=0 > /dev/null 2&>1
        sleep 6     # 这个时间需要足够长
        bcmsh port ${port1},${port2} e=1 > /dev/null 2&>1
        sleep 3
        
        # 再读取一下端口link状态
        get_combo_link_status
        echo "port ${port1} serdes_link : $serdes_link, copper_link : $copper_link"
        
        count2=0
        while [ ${serdes_link} -eq 0 -a ${copper_link} -eq 0 -a ${count2} -lt 5 ]
        do
            # 如果端口还没起来,那就等它起来
            get_combo_link_status
            echo "port ${port1} serdes_link : $serdes_link, copper_link : $copper_link"
            
            count2=$((${count2} + 1))
            sleep 1
        done

        count1=$((${count1} + 1))
        if [ ${serdes_link} -eq 0 -a ${copper_link} -eq 0 ]; then
            echo "port ${port1},${port2} not lnik."
            continue
        fi
        
        if [ ${serdes_link} -ne 0 ]; then
            break
        fi
    done
}


标签:serdes,copper,光电,复用,phy,link,eq,port1
From: https://www.cnblogs.com/fallenmoon/p/17727314.html

相关文章

  • 光电复用口查看当前是光还是电
    Sundray-SW[Undefine-0/32|LC]/#bcmshcomboge2excute:ovs-appctlplugin/bcmshcomboge2Portge2:ge2:Coppermedium(active)enable=1preferred=1force_speed=1000force_duplex=1master=Autoautoneg_enable=1autoneg_advert=(0x0)......
  • Java LinkedList与ArrayList源码解析:根本区别和表面区别的详解
    在Java中,LinkedList和ArrayList是两个常见的集合类。它们都实现了List接口,但它们在实现方式上有很大的区别。本篇博客将详细解析LinkedList和ArrayList的源码,解释它们的根本区别和表面区别,并提供详细的代码解释。LinkedList与ArrayList的根本区别:数据结构:LinkedList是基于链表......
  • 12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue
    12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue前言上篇文章聊到并发集合CopyOnWeiteArrayList的实现与特点,其不足之处是不适合写多的场景也不适合并发量大的场景本篇文章来聊聊并发场景下高性能的ConcurrentLinkedQueue阅读本文大概需要10分钟在阅读本文前,需要理解CAS......
  • 阿波罗H743开发板串口下载0KB出错,使用STLINK解决方法
    导师那边的博后给了一块正点原子的阿波罗H743(非常不好意思地花了人家600+,我还以为是实验室那边本来就有的开发板给我学习呢,结果给我买了全新的还带一个wifi模块,越发觉得任重道远今天尝试连电脑使用,并按照原子那边的教程用flyMCU下载hex文件,反正就是用它一下载,第一遍烧录可以,第二......
  • 2.单列集合(List系列 ArrayList,LinkedList)
    单列集合(ArrayList,LinkedList)ArrayList概念:1.集合的长度是可变的;2.集合只能存储引用数据类型,不能存储基本数据类型;创建集合:例:ArrayList<E>list=newArrayList<>(); 1.<>是泛型:限定集合中存储数据的类型,类型只能是引用类型;要使用基本数据类型,则需要使用对应......
  • 【Java 基础篇】Java LinkedHashSet 详解:有序唯一元素存储的完美选择
    Java中的集合框架提供了多种数据结构,用于存储和操作数据。LinkedHashSet是其中的一个特殊类型,它结合了哈希表和链表的特性,适用于需要保持元素插入顺序并确保唯一性的情况。本篇博客将详细介绍LinkedHashSet,包括它的概念、特性、使用方法以及示例代码,旨在帮助初学者更好地理解和......
  • 【Java 基础篇】Java LinkedList 详解:数据结构的灵活伙伴
    在Java编程中,数据结构起着至关重要的作用。这些数据结构可以帮助我们组织和管理数据,使我们的代码更加高效和可维护。其中之一是LinkedList,它是一个灵活的数据结构,允许我们高效地进行插入和删除操作。本篇博客将深入探讨Java中的LinkedList,从基础概念到高级用法,为您呈现全面的......
  • Flink的部署模式:Local模式、Standalone模式、Flink On Yarn模式
    Flink部署、执行模式Flink的部署模式Local本地模式、Standalone模式和FlinkonYARN模式是Flink的三种常见部署模式。1.Local本地模式:在本地模式下,Flink以单机模式运行,无需启动分布式资源管理器。这种模式适用于本地开发和测试,用于验证Flink代码的正确性和性能。2.Standalon......
  • Flink的Checkpoint状态和Kafka Broker上的提交位点一致
    Flink的Checkpoint状态和KafkaBroker上的提交位点一致消息队列Kafka连接器_实时计算Flink版-阿里云帮助中心https://help.aliyun.com/zh/flink/developer-reference/kafka-connector消息队列Kafka更新时间:2023-09-1910:33:27  本文为您介绍如何使用消息队列Kaf......
  • JOIN org.apache.flink.table.api.TableException: Cannot generate a valid execut
    实践:1、--enricheachorderwithcustomerinformationSELECTo.order_id,o.total,c.country,c.zipFROMOrdersASoJOINCustomersFORSYSTEM_TIMEASOFo.proc_timeAScONo.customer_id=c.id;  org.apache.flink.table.api.TableException:Canno......