|
发表于 2020-4-2 13:25:07
|
显示全部楼层
本帖最后由 Himem 于 2020-4-2 13:57 编辑
首先看端口状态汇总里,识别网线的速率是否正常
如果串口日志已经打ERROR的话,飞线考虑信号质量或反射问题,中间串个电阻
还有arduino上这代码对hybrid端口支持的并不好,Tagged port和UnTagged port不能重叠
UnTagged全标,Tagged清空
VID: 3001 1,4
VID: 3002 2
VID: 3003 3
VID: 3004 5
即可
如果需求只是端口互通限制的话,可以直接操作寄存器,如
(RTL8367C_REG_PORT_ISOLATION_PORT0_MASK,0x0011),(RTL8367C_REG_PORT_ISOLATION_PORT1_MASK,0x0012),(RTL8367C_REG_PORT_ISOLATION_PORT2_MASK,0x0014),(RTL8367C_REG_PORT_ISOLATION_PORT3_MASK,0x0018),(RTL8367C_REG_PORT_ISOLATION_PORT4_MASK,0x001f)
即1234口之间禁止互通,但能访问5口
SDK里是rtk_port_isolation_set函数,
比vlan更直观
另外带tagged包(trunk ),windows下wireshare是抓不到的,一般网卡驱动层就丢掉了,只认untagged(access )包,
intel有带vlan驱动也是不同vlan虚拟出不同网卡,为了应用层兼容性,不会在主网卡上抓到带vlan帧的包的,
linux或许能抓到,虽说我不曾试过
|
|