基于KSZ9897VLAN 虚拟WAN网络接口

目录

1:先看看高通的8327是如何虚拟网络接口

2: Linux 内核中选上802.1Q

3: 实际效果展示

4:配置使用



1:先看看高通的8327是如何虚拟网络接口


root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'wifi0'
        option type 'qcawifi'
        option macaddr '68:89:75:04:e9:c0'
        option hwmode '11ng'
        option htmode 'HT20'
        option channel '4'
        option txpower '0'

config wifi-iface
        option device 'wifi0'
        option mode 'ap'
        option ssid 'OpenWrttest'
        option network 'lan'
        option encryption 'psk2'
        option key '12345678'

config wifi-device 'wifi1'
        option type 'qcawifi'
        option channel 'auto'
        option macaddr '68:89:75:04:e9:c1'
        option hwmode '11ac'
        option disabled '1'

config wifi-iface
        option device 'wifi1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

root@OpenWrt:~# ifconfig
ath0      Link encap:Ethernet  HWaddr 68:89:75:04:E9:C0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:158 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:244211 (238.4 KiB)  TX bytes:0 (0.0 B)

br-lan    Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:919 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:246795 (241.0 KiB)  TX bytes:279067 (272.5 KiB)

eth0      Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1520 errors:0 dropped:74 overruns:0 frame:0
          TX packets:1505 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:392488 (383.2 KiB)  TX bytes:271968 (265.5 KiB)
          Interrupt:4

eth0.88   Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:380 errors:0 dropped:0 overruns:0 frame:0
          TX packets:732 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:42182 (41.1 KiB)  TX bytes:122441 (119.5 KiB)

eth0.99   Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet addr:192.168.50.165  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fdac:5b71:2b57:0:6a89:75ff:fe04:e9bb/64 Scope:Global
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:988 errors:0 dropped:0 overruns:0 frame:0
          TX packets:766 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:305141 (297.9 KiB)  TX bytes:142917 (139.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wifi0     Link encap:UNSPEC  HWaddr 68-89-75-04-E9-C0-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4654 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2979 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2699
          RX bytes:958592 (936.1 KiB)  TX bytes:841975 (822.2 KiB)
          Interrupt:47 Memory:b8100000-b8120000

root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    0      0        0 eth0.99
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.88'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ieee1905managed '1'

config interface 'wan'
        option ifname 'eth0.99'
        option proto 'dhcp'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '44'
        option ports '0t 1 2 3 4'
        option vid '88'

config switch_vlan
        option device 'switch0'
        option vlan '55'
        option ports '0t 5'
        option vid '99'

在openwrt中,我们需要注意的是字段:option vid '99' 和 option vid '88',这个表示switch内部使用的VID是多少,跟option vlan '55'和option vlan '44'没有任何关系,个人觉得是VLAN的名称而已,可以任意设置.

2: Linux 内核中选上802.1Q

3: 实际效果展示

root@yachtsense-main:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    10     0        0 eth0.99
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
198.18.0.0      0.0.0.0         255.255.248.0   U     203    0        0 eth0
root@yachtsense-main:~# ping www.baidu.com
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=50 time=9.04 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=50 time=8.90 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=3 ttl=50 time=8.90 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6018ms
rtt min/avg/max/mdev = 8.904/8.953/9.047/0.101 ms
root@yachtsense-main:~# cat /etc/resolv.conf
nameserver 240e:1f:1:0:0:0:0:1 # IPV6 wwan0
nameserver 240e:1f:1:0:0:0:0:33 # IPV6 wwan0
nameserver 202.96.128.86
nameserver 202.96.134.133
root@yachtsense-main:~# ifconfig
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP NOARP  MTU:16  Metric:1
          RX packets:1865 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14920 (14.5 KiB)  TX bytes:0 (0.0 B)
          Interrupt:191

eth0      Link encap:Ethernet  HWaddr 00:11:c7:11:10:88
          inet addr:198.18.2.99  Bcast:198.18.7.255  Mask:255.255.248.0
          inet6 addr: fe80::211:c7ff:fe11:1088/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:249867 (244.0 KiB)  TX bytes:416396 (406.6 KiB)

eth0.99   Link encap:Ethernet  HWaddr 00:11:c7:11:10:88
          inet addr:192.168.50.56  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::211:c7ff:fe11:1088/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:242 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:30250 (29.5 KiB)  TX bytes:13675 (13.3 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:404308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:404308 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13561857 (12.9 MiB)  TX bytes:13561857 (12.9 MiB)

root@yachtsense-main:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    10     0        0 eth0.99
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
198.18.0.0      0.0.0.0         255.255.248.0   U     203    0        0 eth0
root@yachtsense-main:~# udhcpc -i eth0.99
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 192.168.50.56
udhcpc: lease of 192.168.50.56 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 192.168.50.1
root@yachtsense-main:~# cat /etc/resolv.conf
nameserver 192.168.50.1
root@yachtsense-main:~# ping www.baidu.com
PING www.a.shifen.com (183.2.172.42) 56(84) bytes of data.
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=1 ttl=50 time=7.90 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=2 ttl=50 time=7.84 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5022ms
rtt min/avg/max/mdev = 7.844/7.875/7.906/0.031 ms
root@yachtsense-main:~#

4:配置使用

由于KSZ9897 有5个带phy的端口,在当前的项目中,5个port都是LAN口,即接到电脑下面的PC都从设备上面获取IP地址,即设备提供DHCP server 的功能。

目前希望将5个port中的任何一个用来做WAN口,使这个port作为设备的上行有线网络接口。此处我们使用port2

每一个端口使用一个bit来表示

All=0x7F, port2=0x2, port3=0x4, ports 2&3=0x6, port4=0x8, port5=0x10
port1 =0x01 sw0
port2 =0x02 sw1
port3 =0x04 sw2
port4 =0x08 sw3
port5 =0x10 sw4 

下面的port6和port7用来与主控CPU进行连接

port6 =0x20 
port7 =0x40 -

ifconfig eth0 up 
vconfig add eth0 99
iptables -t nat -A POSTROUTING -o eth0.99 -j MASQUERADE
cd /sys/devices/platform/30a40000.i2c/i2c-2/2-005f
echo 99 > sw1/1_vid
echo 1  > sw/vlan
echo 99 > sw/vlan_index
echo 0 > sw2/1_ingress
echo 99 > sw/vlan_fid
echo 0x42 > sw/vlan_ports
echo 0x2 > sw/vlan_untag
echo 0x1 > sw/vlan_valid
#==========================================			
echo 1  > sw/vlan
echo 8 > sw/vlan_index
echo 8 > sw/vlan_fid
echo 0x7D > sw/vlan_ports
echo 0x7D > sw/vlan_untag
echo 0x1 > sw/vlan_valid	
udhcpc -i eth0.99 &

上面的配置参考下面的资料

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ksz9896c port6 (rgmii模式)是指Ksz9896c芯片的第六个端口,它在RGMII模式下被用作phy。网络调试问题.pdf可能是一份关于使用Ksz9896c port6进行网络调试的文档。 在网络调试中,RGMII(Reduced Gigabit Media Independent Interface)模式常用于连接以太网PHY和MAC层芯片之间的接口。Ksz9896c芯片是一种集成了以太网交换功能的器件,它提供了多个端口以实现局域网的连接和管理。 在这份文档中,可能会介绍如何配置Ksz9896c port6的网络参数,如IP地址、子网掩码等,以及如何进行网络连接的测试和故障排除。 调试网络问题通常需要检查硬件和软件配置。对于硬件方面,需要确保网线连接正确,以太网PHY和MAC层芯片之间的接口没有问题,并检查电源供应等。对于软件方面,需要确认操作系统和驱动程序的正确安装和配置。 在文档中可能还会介绍如何使用相关的网络调试工具和命令,如ping、ifconfig等,来验证网络连接和进行故障排除。 综上所述,针对ksz9896c port6 (rgmii模式)作为phy使用的网络调试问题.pdf,它可能是一份关于使用Ksz9896c芯片进行网络调试的文档,涵盖了硬件和软件配置以及网络连接测试和故障排除等内容。 ### 回答2: ksz9896c port6(RGMII模式)作为PHY使用的网络调试问题.pdf是一份网络调试问题的文档,主要涉及到使用ksz9896c芯片的port6作为PHY时可能会遇到的问题。 在网络调试中,ksz9896c芯片的port6是按照RGMII模式来工作的,这种模式可以提供高速数据传输和低延迟的优势。然而,在实际应用过程中,可能会遇到多种问题,需要进行调试。 首先,可能会出现连接问题,如无法正确连接到局域网或互联网。这可能是由于网络配置错误、接线不正确或硬件连接问题导致的。在调试中,我们需要检查网络配置、确认接线是否正确,并检查硬件连接是否正常。 其次,可能会出现数据传输问题,如数据传输速度慢、数据丢失或数据错误等。这些问题可能是由于网络带宽限制、传输线路噪声干扰或芯片设置错误等原因引起的。在调试中,我们需要检查网络带宽是否足够、确认传输线路是否受到噪声干扰,并检查芯片的设置是否正确。 另外,还可能会出现性能问题,如网络延迟过高、吞吐量不足等。这些问题可能是由于网络拥塞、芯片性能不足或软件配置问题等引起的。在调试中,我们需要通过网络监测工具来检测延迟和吞吐量,并确认芯片的性能是否符合要求。 综上所述,ksz9896c port6作为PHY使用的网络调试问题主要涉及到连接问题、数据传输问题和性能问题。我们需要仔细检查网络配置、接线和硬件连接,确认数据传输线路是否受到噪声干扰,并通过网络监测工具来评估网络性能。只有通过仔细调试和排查问题,才能保证ksz9896c port6作为PHY的网络正常运行。 ### 回答3: 这个问题是关于使用 ksz9896c 芯片的 port6 作为 PHY 的网络调试问题。首先,ksz9896c 是一种以太网交换机芯片,支持多种网络模式,包括 RGMII 模式。 RGMII 是 Reduced Gigabit Media Independent Interface 的缩写,是一种用于以太网 PHY 与 MAC 之间通信的接口规范。在 RGMII 模式下,以太网 PHY 将数据从 MAC 传输到物理介质,或从物理介质接收数据并传输给 MAC。 网络调试可以涉及多个方面,下面列举几个可能遇到的问题和解决方法: 1. 网络连接问题:首先,需要确认连接到 port6 的网络电缆是否正确连接,并且两端都没有损坏。如果连接有问题,可以尝试更换电缆或者确认连接的设备是否正常工作。 2. 配置问题:ksz9896c 芯片需要进行相应的配置才能正常工作。可以检查芯片的寄存器设置,确认是否正确配置了 port6 作为 PHY,并选择了正确的工作模式。 3. 软件驱动问题:如果使用了操作系统和相应的网络驱动程序,可能需要确认驱动程序是否正确安装和配置。可以尝试更新驱动程序或者重新安装驱动程序来解决问题。 4. PHY 状态问题:可以检查 PHY 的状态寄存器,确认是否有任何异常状态或错误发生。如果出现异常,可以根据芯片的手册或厂商提供的文档来定位和解决问题。 总之,对于 ksz9896c 芯片的 port6 作为 PHY 的网络调试问题,需要综合考虑硬件连线、芯片配置、软件驱动和 PHY 状态等多个方面。通过逐一排查这些方面可能出现的问题,并根据实际情况进行相应的调整和修复,可以解决网络调试问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家有工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值