# Önceki services-start yöntemini kaldır
if [ -f /jffs/scripts/services-start ]; then
grep -v '/jffs/scripts/sol-vlan0.sh' /jffs/scripts/services-start > /tmp/services-start.clean
cat /tmp/services-start.clean > /jffs/scripts/services-start
chmod 755 /jffs/scripts/services-start
fi
rm -f /jffs/scripts/sol-vlan0.sh
# VLAN 0'ı servisler başlamadan hazırlayan script
cat > /jffs/scripts/sol-vlan0-init.sh <<'EOF'
#!/bin/sh
PHY="eth5"
VLANIF="eth5.0"
# ASUS PPPoE'yi fiziksel eth5 yerine VLAN 0 arayüzünden başlatsın
nvram set wan0_ifname="$VLANIF"
nvram set wan_ifname="$VLANIF"
# Fiziksel WAN arayüzünün oluşmasını bekle
i=0
while ! ip link show "$PHY" >/dev/null 2>&1; do
sleep 1
i=$((i + 1))
[ "$i" -ge 30 ] && exit 1
done
# VID 0 arayüzünü oluştur
ip link show "$VLANIF" >/dev/null 2>&1 || \
ip link add link "$PHY" name "$VLANIF" type vlan id 0
ip link set "$VLANIF" up
logger -t sol-vlan0 "WAN VLAN 0 hazir: $VLANIF"
EOF
chmod 755 /jffs/scripts/sol-vlan0-init.sh
# init-start içine ekle, mevcut dosya varsa ezme
if [ ! -f /jffs/scripts/init-start ]; then
printf '#!/bin/sh\n' > /jffs/scripts/init-start
fi
grep -qF '/jffs/scripts/sol-vlan0-init.sh' /jffs/scripts/init-start || \
echo '/jffs/scripts/sol-vlan0-init.sh' >> /jffs/scripts/init-start
chmod 755 /jffs/scripts/init-start
# Şu anki oturumda da uygula
/jffs/scripts/sol-vlan0-init.sh
# WAN'ı ASUS'un kendi servisiyle yeniden başlat
service restart_wan
sleep 15
echo
echo "WAN arayüzü:"
nvram get wan0_ifname
echo
echo "PPPoE yapılandırması:"
grep 'plugin rp-pppoe' /tmp/ppp/options.wan0 2>/dev/null
echo
echo "PPP bağlantısı:"
ip -4 addr show ppp0 2>/dev/null
sync
En altta:
eth5.0
ve PPPoE satırında:
nic-eth5.0