CodingBox Q&A Ask question

Bir DGS-1210-28'in OpenWrt'teki 24-28 portlarına SFP takmak hiçbir şeyi değiştirmiyor, link bakırda kalıyor

Asked Active Viewed 96 AI translation from English
3

Homelab switch: stok web arayüzüyle uğraşmayı bırakmak için OpenWrt flashladığım bir D-Link DGS-1210-28 revizyon F1. Bakır/fiber combo olan son dört port dışında her şey çalışıyor.

  • Switch: D-Link DGS-1210-28 rev F1
  • Firmware: OpenWrt 21.02.0-rc3 (r16172-2aba3e9784)
  • Port 24-28: bir RTL8214FC PHY arkasında RJ45/SFP combo (geri kalanı RTL8218B/RTL8218D üzerinde oturuyor)
  • Modül: başka bir switch'te sorunsuz link kuran generic bir 1G optik

Cage'e ne koyarsam koyayım, port sıradan bir RJ45 portu gibi davranıyor. Bakır taraf seçili kalıyor ve fiber taraf hiç gelmiyor:

# ethtool lan28
        Supported ports: [ TP MII FIBRE ]
        Port: MII
        Link detected: yes

Boot log, bu portların gerçekten RTL8214FC combo PHY driver'ına bağlı olduğunu gösteriyor, ve o driver'ın SFP'yi bilmesi gerekiyor, yani donanım tarafı doğru görünüyor.

Şimdiye kadar denenenler:

  • modülü yeniden oturttum, sonra ikinci bir tanesini denedim
  • bir öncelik meselesi olma ihtimaline karşı bakır kabloyu porttan tamamen çektim - port bakırda kalıyor
  • modülü başka bir switch'e taşıdım, orada link kuruyor

Üzerinde vendor firmware'i varken, bu switch bir modül girdiği anda portu kendiliğinden fibere çeviriyordu. Bu build'de medium'u seçmenin bir yolu var mı, yoksa combo portlar henüz kullanılabilir değil mi?

Comments 3

Accepted answer

Hiçbir şey bozuk değil, sadece realtek target'ında otomatik medium seçimi yok. RTL8214FC, bir bakır yarısı ve bir fiber yarısı olan bir combo PHY, ve bu firmware'de bir şey ona aksini söyleyene kadar MII/bakır tarafında kalıyor. Bir modül takmak driver için hiçbir anlam ifade etmiyor, çünkü kimse switchover'ı implemente etmemiş.

Medium'u kendiniz userspace'den seçiyorsunuz:

ethtool -s lan28 port fibre

Bundan sonra cage o portta aktif medium oluyor ve optik geliyor. Portu RJ45 yarısına geri vermek için:

ethtool -s lan28 port tp

Diğer combo portların her biri için aynı çağrı, port başına bir kere.

Stok firmware'den hatırladığınız şey sınırlı bir auto-select'ti: her iki yarıya da bakıyordu ve ikisinde de link olduğunda bakır kazanıyordu. Bunun bir regresyon gibi okunmasının sebebi de bu, ama değil - fonksiyon bu target için basitçe hiç yazılmamış.

İki uyarı. Sadece CLI, LuCI'de sunulmuyor, ve insanlar bir süredir bunu istiyor. Ve bu build'de hiçbir şey medium'u sizin için seçemiyor, yani her boot'tan sonra fiber istiyorsanız, o çağrının gerçekten çalıştığından emin olun.

7 South KoreanetrunnerKR Show original (English) AI translation

Aynen oydu, teşekkürler. Tek bir çağrı ve port geçiş yaptı:

# ethtool -s lan28 port fibre
# ethtool lan28 | grep Port:
        Port: FIBRE

Optik hemen geldi ve RJ45 yarısı sessizleşti. Diğer üç combo port için de aynısını yaptım ve dediğiniz gibi hiçbir şey seçimi hatırlamadığı için dört çağrıyı bir startup script'ine koydum.

Port başına bir toggle'ın bir shell script'inde yaşaması hafifçe can sıkıcı, ama portlar artık kullanılabilir, ihtiyacım olan da buydu.

4 VietnamtxhawkVN Show original (English) AI translation

O portların üzerine monitoring kurmadan önce bilmeye değer: bu kartların SFP tarafındaki link durumu her zaman güvenilir değil. DGS-1210-10P'de device tree'de hiç sfp node'u yok, yani kernel hiçbir zaman module-present ya da loss-of-signal almıyor ve MAC kalıcı bir carrier raporluyor - ip link, boş bir cage'le lan9 için <BROADCAST,MULTICAST,UP,LOWER_UP> basıyor, ve içinde patch kordon olmadan oturmuş bir GLC-T-CO bakır SFP ile up kalıyor. DGS-1210-10MP böyle davranmıyor, çünkü onun DTS'inde node'lar zaten var.

Oradaki düzeltme, 10MP ve Zyxel GS1900-10HP'yi model alan bir device tree değişikliğiydi: cage başına bir i2c-gpio bus, los-gpio, mod-def0-gpio ve tx-disable-gpio ile cage başına bir sfp node'u, porttan referans verilen sfp = <&sfp0>, phy-mode = "1000base-x" ve managed = "in-band-status". Bunlar yerinde olunca cage I2C üzerinden probe ediliyor ve carrier sonunda gerçek optik sinyali takip ediyor.

O dönemin stok image'larında davranış devam ediyor, yani sizin herhangi bir şeyiniz bir combo ya da SFP portunda carrier izliyorsa, fiberi çektiğinizde gerçekten düştüğünü doğrulayın.

3 South Korealinkadmin79KR Show original (English) AI translation
Log in to comment. Log in