版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
情况:
在给新的硬件烧录固件并测试性能的过程中,因为新的设备只有两个网口,测试下来发现两个网口互通,在一个vlan下。
导致两个网口只能设置成一种模式,要么是wan口,要么是lan口。wan口状态下可以收到上级路由的dhcp,但同时接入的pc也能收到上级路由的dhcp。如果是其他连接方式的话导致下级pc可能无法正常联网。
分析:
测试下来不管怎么配置,总是感觉两个端口在一个网段上。感觉是vlan的原因。
尝试:
1、在etc/config/network中配置vlan
config switch option name 'vlans' option enable_vlan '1' config switch_vlan option device 'vlans' option vlan '1' option ports '0' config switch_vlan option device 'vlans' option vlan '2' option ports '1'
没有任何效果
2、更换uboot
在日志列表中看到uboot启动时有提示 SET WAN/LAN LLLLW,便在uboot编译时更换模式为WLLLL,编译烧录。
结果每次启动好之后呗程序修改了,日志上开机上电时打印WLLLL,启动好时打印LLLLW。没有用
3、更改固件配置
在编译工程目录下找到内存配置文件
target/linux.ramips/dts/mt7621.dtsi,找到llllw 改为 wllll 再编译烧录
没用
4、命令行手动配置
通过整个系统的搜索,找到配置的关键代码,在package/ramips/a[[lications/switch/files/switch.sh :111
if [ "$1" = "LLLLW" ]; then 62 if [ "$CONFIG_RAETH_SPECIAL_TAG" == "y" ]; then 63 #set PVID 64 switch reg w 2014 10007 #port0 65 switch reg w 21