Diagram troubleshooting port LAN eth0 tidak terhubung di STB HG680P Armbian — solusi DHCP retry dan PHY watchdog via systemd

Mengatasi LAN (eth0) Tidak Terhubung di STB HG680P Armbian

Port LAN yang tiba-tiba kehilangan koneksi adalah salah satu masalah paling menjengkelkan pada STB berbasis Amlogic S905X yang menjalankan Armbian — karena perangkat ini sering difungsikan sebagai server kecil yang seharusnya berjalan tanpa pengawasan terus-menerus.

Masalah ini umumnya muncul dalam dua skenario yang berbeda penyebabnya, sehingga penanganannya pun berbeda:

Skenario 1 — Setelah mati lampu: STB menyala dalam 20–30 detik, jauh lebih cepat daripada modem atau router yang butuh waktu 1–3 menit. Di titik ini, permintaan DHCP tidak mendapat respons. Secara default, NetworkManager menganggap ini kegagalan fatal dan mematikan eth0 — tidak mencoba lagi.

Skenario 2 — Setelah warm reboot: Chip Ethernet PHY internal pada Amlogic S905X kadang tidak ter-reset dengan bersih oleh bootloader. Hasilnya, eth0 terjebak dalam status NO-CARRIER seolah kabel tidak terpasang, padahal secara fisik kabel sudah benar.

Artikel ini membahas perbaikan permanen untuk kedua skenario tersebut.


Prasyarat

  • STB HG680P (SoC Amlogic S905X) dengan Armbian build Ophub
  • Akses terminal sebagai root (SSH atau langsung)
  • NetworkManager aktif sebagai network manager

Bagian 1 — Mengatasi Masalah Pasca Mati Lampu: DHCP Infinite Retry

Secara default, NetworkManager pada Armbian dikonfigurasi dengan parameter ipv4.may-fail: "false". Artinya, jika router belum siap memberikan alamat IP pada saat permintaan DHCP dikirim, NetworkManager menganggap koneksi gagal secara permanen dan menonaktifkan eth0. Tidak ada percobaan ulang otomatis.

Solusinya adalah mengubah perilaku ini agar NetworkManager terus mencoba tanpa batas waktu.

Langkah 1 — Ubah Parameter NetworkManager

Penjelasan parameter:

ParameterNilaiKeterangan
ipv4.may-failyesNetworkManager tidak memutus interface jika DHCP gagal
connection.autoconnect-retries0Nilai 0 berarti retry tanpa batas waktu (forever)

Langkah 2 — Verifikasi Konfigurasi

Output yang benar:

connection.autoconnect-retries:         0 (forever)
ipv4.may-fail:                          yes

Langkah 3 — Terapkan Perubahan


Bagian 2 — Mengatasi Masalah Warm Reboot: PHY Watchdog

Chip Meson GXL Internal PHY pada S905X kadang tidak menyelesaikan proses reset saat warm reboot. Kernel sudah selesai booting, NetworkManager sudah aktif, tapi eth0 tetap melaporkan NO-CARRIER — tidak ada aktivitas fisik sama sekali meski kabel terpasang.

Solusinya adalah membuat sebuah watchdog kecil berbasis systemd: script yang berjalan satu kali setiap boot, memeriksa kondisi carrier eth0, dan melakukan power cycle pada level kernel jika PHY terbukti macet.

Langkah 1 — Buat Script Recovery

Script ini membaca nilai /sys/class/net/eth0/carrier — nilai 1 berarti carrier terdeteksi (kabel terhubung dan PHY aktif), nilai selain itu berarti PHY bermasalah. Jika bermasalah, script melakukan ip link set eth0 down lalu up untuk memaksa chip PHY bernegosiasi ulang, kemudian meminta NetworkManager memulihkan koneksi.

Jeda 25 detik di awal diberikan agar NetworkManager dan layanan jaringan lain sudah selesai diinisialisasi sebelum script berjalan.

Langkah 2 — Buat systemd Service

Langkah 3 — Aktifkan Service

Verifikasi service terdaftar dengan benar:

Output harus menampilkan enabled.


Pengujian dan Monitoring

Lakukan reboot untuk menguji kedua perbaikan sekaligus:

Tunggu 1–2 menit, lalu masuk kembali melalui SSH. Periksa status service watchdog:

Status Active: active (exited) dengan kode status=0/SUCCESS menandakan script berjalan tanpa error.

Untuk melihat riwayat kejadian PHY reset yang pernah dilakukan watchdog:

Jika log kosong, berarti PHY berhasil diinisialisasi dengan normal pada boot tersebut — watchdog tidak perlu mengintervensi.


Ringkasan Perintah


Referensi


Catatan Penutup

Artikel ini disusun berdasarkan pengujian langsung pada lingkungan berikut:

  • Perangkat: STB HG680P (SoC Amlogic S905X)
  • Sistem Operasi: Armbian build Ophub
  • Network Manager: NetworkManager dengan profil netplan-eth0

Kedua perbaikan ini bersifat komplementer dan direkomendasikan untuk diterapkan sekaligus. Perbaikan Bagian 1 menangani skenario mati lampu; Bagian 2 menangani skenario warm reboot. Keduanya bekerja secara independen dan tidak saling bertentangan.


Leave a Reply

Your email address will not be published. Required fields are marked *