Yeniden başlatma sonrası da internet geldiyse iş tamamdır.
Kafanız karışmasın diye çalışan son bloğu tekrar bırakıyorum. Bunu bir yere kaydedin, fabrika ayarına dönerseniz yeniden kullanırsınız.
Kod:
# Önceki denemeleri temizle
rm -f /jffs/scripts/sol-vlan0-init.sh
rm -f /jffs/scripts/sol-vlan0.sh
[ -f /jffs/scripts/init-start ] && sed -i '\|sol-vlan0|d' /jffs/scripts/init-start
[ -f /jffs/scripts/services-start ] && sed -i '\|sol-vlan0|d' /jffs/scripts/services-start
# Çalışan VLAN 0 + PPPoE yöntemini script haline getir
cat > /jffs/scripts/sol-vlan0.sh <<'EOF'
#!/bin/sh
PHY="eth5"
VLANIF="eth5.0"
OPTIONS="/tmp/ppp/options.wan0"
CUSTOM="/tmp/ppp/options.wan0.vlan0"
LOCK="/tmp/sol-vlan0.lock"
mkdir "$LOCK" 2>/dev/null || exit 0
trap 'rmdir "$LOCK" 2>/dev/null' EXIT
ip -4 addr show ppp0 2>/dev/null | grep -q 'inet ' && exit 0
ip link show "$VLANIF" >/dev/null 2>&1 || \
ip link add link "$PHY" name "$VLANIF" type vlan id 0
ip link set "$VLANIF" up
i=0
while [ ! -s "$OPTIONS" ]; do
sleep 2
i=$((i + 1))
[ "$i" -ge 30 ] && exit 1
done
cp "$OPTIONS" "$CUSTOM"
sed -i 's/nic-eth5/nic-eth5.0/g' "$CUSTOM"
grep -q 'nic-eth5.0' "$CUSTOM" || exit 1
killall pppd 2>/dev/null
sleep 2
/usr/sbin/pppd file "$CUSTOM" &
EOF
chmod 755 /jffs/scripts/sol-vlan0.sh
if [ ! -f /jffs/scripts/services-start ]; then
printf '#!/bin/sh\n' > /jffs/scripts/services-start
fi
cat >> /jffs/scripts/services-start <<'EOF'
(
sleep 60
/jffs/scripts/sol-vlan0.sh
cru d SOL_VLAN0 2>/dev/null
cru a SOL_VLAN0 "*/2 * * * * /jffs/scripts/sol-vlan0.sh"
) &
EOF
chmod 755 /jffs/scripts/services-start
/jffs/scripts/sol-vlan0.sh
Fabrika ayarına dönerseniz:
- PPPoE kullanıcı adı ve şifresini tekrar girin.
- WAN MAC adresini 20:E1:5D:BE:8E:AB olarak tekrar tanımlayın.
- Merlin'de SSH ve JFFS custom scripts desteğini açın.
- Yukarıdaki bloğu tekrar çalıştırın.
- Router'ı yeniden başlatıp 1-2 dakika bekleyin.
Bu kurulumda Superonline PPPoE bağlantısı VLAN 0 üzerinden otomatik ayağa kalkacak.
Aynı sorunu yaşayanlar için sorunu özetleyelim:
Sorunun Superonline'ın bu hatta internet trafiğini VLAN ID 0 ile taşımasından kaynaklandığı Wireshark ile tespit ettik. ASUS RT-AX86U Pro'nun stok arayüzü VID 0 kabul etmediği için PPPoE PADI paketleri gidiyor fakat PADO cevabı alınamıyordu. Asuswrt-Merlin kurulduktan sonra WAN tarafında "eth5.0" isimli VLAN 0 arayüzü oluşturup PPPoE bağlantısını bu arayüz üzerinden başlatarak sorun çözüldü. Yukarıdaki script açılışta bunu otomatik uyguluyor. Router yeniden başlatılarak kalıcılığı da doğrulandı.