以太网开发指导FAQ

FAQ001: 以太网唤醒

问:唤醒包是任意包还是特定包?

答:唤醒包是特定包,magic packet,下面是唤醒包参考脚本

#!/usr/bin/env python3
# coding=utf-8

import sysfrom socket
import *

def main():
        if len(sys.argv) != 3:
                print("Usage %s dev count"%(sys.argv[0]))
                return
        print("Transmit %s frames via dev %s"%(sys.argv[2],sys.argv[1]))
        s = socket(AF_PACKET, SOCK_RAW)
        s.bind((sys.argv[1], 0))
        src_addr = b"\x00\x00\x00\x11\x22\x33"
        dst_addr = b"\xff\xff\xff\xff\xff\xff"
        ethertype = b"\x11\x22"
        src_addr = b"\x00\x00\x00\x11\x22\x33"
        dst_addr = b"\xff\xff\xff\xff\xff\xff"
        #dst_addr = b"\x00\x11\x22\x33\x44\x55"
        payload_0 = (b"\xff\xff\xff\xff\xff\xff")
        # 5a:c3:4f:a7:03:d2
        payload_1 = (b"\x00\x11\x22\x33\x44\x55"*16)     #wake up mac address
        for i in range(int(sys.argv[2])):
                s.send(dst_addr + src_addr + ethertype + payload_0 + payload_1)
                print("Send frame %d"%(i))
        s.close()
        return

if __name__ == "__main__":    main()

FAQ002: vlan与tso

问:如果配置了vlan进行数据收发的话,是不是必须把tso给关掉?

答:TSO是 tcp segment offload,vlan是二层的,收发vlan包与关不关TSO没有关系


FAQ003: IP与MAC

问:保存在EMMC里面的MAC和IP,是否有保护措施,让用户没有机会随便修改,如果有,能否介绍下

答:DVB板子上 emmc的MAC和IP可以hrut_ip和hrut_mac命令修改。一般OEM会修改defaultip.sh固定IP/MAC及vlan不会提供修改接口。


FAQ004: TSN

问:我们支持哪些TSN标准?

答:基于信用的整形器机制(credit-based shaper,CBS)(IEEE 802.1-Qav)

增强型整形机制(Enhancements to Scheduled Traffic, EST)(IEEE 802.1Qbv-2015)

帧抢占(Frame Preemption, FPE)(IEEE 802.1Qbu-2016)


FAQ005: 硬件特性

问:matrix5-双J5的MAC1接的PHY芯片是88EA1512,但是看驱动里面PHY1的compatible是”marvell,88E1518”,请问下这两个是什么关系

答:同一系列的芯片,PHY驱动的适配是根据PHY ID匹配的


问:ETH工作电压是否支持3.0V mode?

答:硬件设计指导已明确不支持3.0 mode