This is a writeup I found on the internet about the ac86u on a Chinese forum: https://www.cnblogs.com/u128393/p/11629969.html
This has nothing to do with me, all the credits belongs to the user called: u128393
Below are the google translations of the three articles:
-------------------------------------------------------------------
Shanghai Telecom TL-EP110 + RT-AC86U to watch 4K IPTV without jam (2019-10)
Foreword
There are many examples of routers connected to IPTV on the Internet, which helped me a lot in the early stage. But the two devices I selected left me two big pits, and after a lot of tossing, I could finally watch it smoothly. In the process, I learned a lot of things that Baidu / Google can't find or are hard to find. Share them.
Topology
Two big pits
According to the example on the Internet, it is found that RT-AC86U does not have robocfg, and there is no alternative method. I am desperate. But I saw an example where someone mentioned vlanctl, but it was not configured correctly. Google only saw someone studying it, and there was no result. However, I found that this command was actually used in the source code of Merlin. After careful comparison of the context and the rapid operation of the brain [funny] (in fact, it took a whole day to figure out the parameters), I finally figured it out.
Because the example is too long, I posted a separate blog: RT-AC86U VLAN Configuration-vlanctl
In addition, the process also found that using vconfig can also configure VLAN, even simpler, see: RT-AC86U VLAN Configuration-vconfig
It doesn't matter if you don't read it, there is a complete script at the end of this article.
IGMP Snooping
After configuring VLAN 85, the IPTV box can obtain the IP addresses of the public network and the private network at the same time. But things are not so smooth. At this time, you will find that you will be stuck after watching the live broadcast, and then you will be stuck directly after a while.
Before talking about how to solve it, let me talk about my situation at that time. For some reason that I don't need to elaborate, I removed my optical cat (TL-EP110) and replaced it with a telecom optical cat. At this time, the packet capture will find that the multicast data is transmitted in VLAN 85.
After performing packet capture analysis on each layer of interface, it is found that the multicast data is not transmitted to the vlan85 bridge. Fortunately, at the time, I spent time madly supplementing multicast knowledge, and I felt it should be related to IGMP Snooping. After a few searches, I saw the bcmmcastctl command in the Merlin source code.
Available after testing! [Tears burst into tears] However, I was still too happy ...
VLAN 51
Change back to his light cat, and found that the live broadcast is still a card, then a group of grass mud horses floated in my heart. Continue to capture packets and find that the multicast data is coming in from VLAN 51, but when using the telecommunications light cat, I don't see the shadow of VLAN 51 at all! At this time, I made a bold assumption that the telecommunications optical cat must forward the data of VLAN 51 to VLAN 85 on the LAN side, as shown in the following figure:
When I said it was too fast (in fact, I was stupid), I immediately tried to make a similar configuration on the router. (Although it may not be seen in the future)!
Final configuration:
Choose one of the two versions. The vconfig version is recommended. In addition, remember to configure DHCP OPTION 125 (Baidu).
Author: u128393
This has nothing to do with me, all the credits belongs to the user called: u128393
Below are the google translations of the three articles:
-------------------------------------------------------------------
Shanghai Telecom TL-EP110 + RT-AC86U to watch 4K IPTV without jam (2019-10)
Foreword
There are many examples of routers connected to IPTV on the Internet, which helped me a lot in the early stage. But the two devices I selected left me two big pits, and after a lot of tossing, I could finally watch it smoothly. In the process, I learned a lot of things that Baidu / Google can't find or are hard to find. Share them.
Topology
Two big pits
- RT-AC86U does not support the robocfg command, and there are no examples of correctly configured VLANs on the Internet.
- The examples that can be found so far are the use of telecommunications equipment to set up multicast (VLAN 51), which hides some details behind it. Improper configuration will cause stuttering / stuck.
- If the router is connected to IPTV, DHCP OPTION 125 (Shanghai Telecom is this) needs to be configured on the router. There are many examples on the Internet, which will not be repeated here.
- Shanghai Telecom dial-up Internet access (PPPoE) uses Native VLAN (untagged), IPTV private network uses VLAN 85, and multicast uses VLAN 51.
- Someone on the Internet mentioned that VLAN 51 is not needed for 4K IPTV now, but it is actually needed. This is related to the pit mentioned earlier.
According to the example on the Internet, it is found that RT-AC86U does not have robocfg, and there is no alternative method. I am desperate. But I saw an example where someone mentioned vlanctl, but it was not configured correctly. Google only saw someone studying it, and there was no result. However, I found that this command was actually used in the source code of Merlin. After careful comparison of the context and the rapid operation of the brain [funny] (in fact, it took a whole day to figure out the parameters), I finally figured it out.
Because the example is too long, I posted a separate blog: RT-AC86U VLAN Configuration-vlanctl
In addition, the process also found that using vconfig can also configure VLAN, even simpler, see: RT-AC86U VLAN Configuration-vconfig
It doesn't matter if you don't read it, there is a complete script at the end of this article.
IGMP Snooping
After configuring VLAN 85, the IPTV box can obtain the IP addresses of the public network and the private network at the same time. But things are not so smooth. At this time, you will find that you will be stuck after watching the live broadcast, and then you will be stuck directly after a while.
Before talking about how to solve it, let me talk about my situation at that time. For some reason that I don't need to elaborate, I removed my optical cat (TL-EP110) and replaced it with a telecom optical cat. At this time, the packet capture will find that the multicast data is transmitted in VLAN 85.
After performing packet capture analysis on each layer of interface, it is found that the multicast data is not transmitted to the vlan85 bridge. Fortunately, at the time, I spent time madly supplementing multicast knowledge, and I felt it should be related to IGMP Snooping. After a few searches, I saw the bcmmcastctl command in the Merlin source code.
Code:
bcmmcastctl mode -i vlan85 -p 1 -m 1 # 对 vlan85 启用 IGMP Snooping
bcmmcastctl mode -i vlan85 -p 2 -m 1 # 对 vlan85 启用 MLD Snooping(这个是针对 IPv6 的,可以不管)
VLAN 51
Change back to his light cat, and found that the live broadcast is still a card, then a group of grass mud horses floated in my heart. Continue to capture packets and find that the multicast data is coming in from VLAN 51, but when using the telecommunications light cat, I don't see the shadow of VLAN 51 at all! At this time, I made a bold assumption that the telecommunications optical cat must forward the data of VLAN 51 to VLAN 85 on the LAN side, as shown in the following figure:
When I said it was too fast (in fact, I was stupid), I immediately tried to make a similar configuration on the router. (Although it may not be seen in the future)!
Final configuration:
Choose one of the two versions. The vconfig version is recommended. In addition, remember to configure DHCP OPTION 125 (Baidu).
Code:
#!/bin/sh
# 该脚本需要在 services-start 中运行
ifconfig eth0 allmulti up
#####################################################################
vlanctl --mcast --if-create eth0 0 #
vlanctl --if eth0 --rx --tags 0 --set-rxif eth0.v0 --rule-append #
ifconfig eth0.v0 up #
#
brctl addbr br1 #
brctl addif br1 eth0.v0 #
ifconfig br1 up #
#
nvram set wan_ifnames=br1 #
nvram set wan_ifname=br1 #
nvram set wan0_ifname=br1 #
#####################################################################
#####################################################################
brctl delif br0 eth1 #
#
vlanctl --mcast --if-create eth1 0 #
vlanctl --if eth1 --rx --tags 0 --set-rxif eth1.v0 --rule-append #
ifconfig eth1.v0 up #
#
brctl addif br0 eth1.v0 #
#####################################################################
vlanctl --mcast --if-create eth0 85
vlanctl --if eth0 --rx --tags 1 --filter-vid 85 0 --pop-tag --set-rxif eth0.v85 --rule-append
vlanctl --if eth0 --rx --tags 1 --filter-vid 51 0 --pop-tag --set-rxif eth0.v85 --rule-append
vlanctl --if eth0 --tx --tags 0 --filter-txif eth0.v85 --push-tag --set-vid 85 0 --rule-append
ifconfig eth0.v85 up
vlanctl --mcast --if-create eth1 85
vlanctl --if eth1 --rx --tags 1 --filter-vid 85 0 --pop-tag --set-rxif eth1.v85 --rule-append
vlanctl --if eth1 --tx --tags 0 --filter-txif eth1.v85 --push-tag --set-vid 85 0 --rule-append
ifconfig eth1.v85 up
brctl addbr vlan85
brctl addif vlan85 eth0.v85
brctl addif vlan85 eth1.v85
ifconfig vlan85 up
bcmmcastctl mode -i vlan85 -p 1 -m 1
bcmmcastctl mode -i vlan85 -p 2 -m 1
Code:
#!/bin/sh
# 该脚本可手动执行,或放入 wan-start 中开机自动运行
vconfig set_name_type DEV_PLUS_VID_NO_PAD
vconfig add eth0 85
vconfig add br0 85
brctl addbr vlan85
brctl addif vlan85 eth0.85
brctl addif vlan85 br0.85
bcmmcastctl mode -i vlan85 -p 1 -m 1
bcmmcastctl mode -i vlan85 -p 2 -m 1
ifconfig eth0.85 up
ifconfig br0.85 up
ifconfig vlan85 up
vconfig add eth0 51
brctl addif vlan85 eth0.51
ebtables -A FORWARD -i eth0.51 -o ! br0.85 -j DROP
ebtables -A FORWARD -o eth0.51 -j DROP
ifconfig eth0.51 up
Author: u128393
Last edited: