Çözüldü Nokia/Alcatel-Lucent OLT altyapısında sahte O5 durumu ve IP alamama sorunu

  • Konuyu başlatan Konuyu başlatan Majdev
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 31
  • Görüntüleme Görüntüleme 968
  • Etiketler Etiketler
    fakeo5
Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Majdev

Uzman
Katılım
26 Aralık 2023
Mesajlar
266
Makaleler
2
Çözümler
9
Beğeniler
207
Merhaba, GPON altyapısında Nokia/Alcatel-Lucent OLT kullanılan sahalarda karşılaştığımız oldukça ilginç ve can sıkıcı bir durumu paylaşmak istiyorum. Eğer ISP’nizin sağladığı mevcut ONT/ONU cihazını değiştirmek istediğinizde ve Nokia/Alcatel-Lucent bir OLT’ye bağlıysa, cihazınız O5 durumuna geçmesine rağmen IP alamıyor ve mevcut VLAN ID’lerini göremiyorsanız, aslında aldığınız O5 durumu gerçekte sahte olabilir. Bu konuyla ilgili hack-gpon.org üzerinde bir açıklama yapılmış. Kısaca özetlemek gerekirse; ONT/ONU cihazınızın yazılım sürümü ile OLT’nin beklediği yazılım bilgileri uyuşmadığında, OLT cihazınızın yazılımını güncellemeye çalışıyor fakat bunu başaramıyor. Bu nedenle, bağlantı durumu O5 olarak görünse de doğrulama süreci tamamlanmadığı için gerçek anlamda bir bağlantı kurulamıyor. Ben de benzer bir sorun yaşadım ve OLT ile ONT arasındaki iletişimi dinleyerek bu durumu kanıtlayan log ve veriler kaydettim. Şimdi, bu probleme yönelik çözüm üretmek ve deneyimlerimizi paylaşmak amacıyla tüm çalışmaları tek bir başlık altında toplamayı planlıyorum. Katkı sağlamak isteyen veya benzer durumla karşılaşan herkesi sürece dahil olmaya davet ediyorum.

hack-gpon.org üzerindeki açıklama:
Alcatel/Nokia OLT’lerde, sahte O5 ONU durumu verme sorunu bilinen bir durumdur. OLT’ler, doğru OMCI bilgisi alınana kadar OMCI yapılandırmasını (provisioning) bekletir. Bu durum, OLT, ONT’nin “sarhoş” (kararsız veya uyumsuz) olduğunu tespit ettiğinde meydana gelir ve GEM bağlantısını açmadan önce cihazın yazılımını güncellemeye çalışır. Eğer böyle bir durum yaşanırsa, kullanıcının yazılım sürümünü veya bazı verileri değiştirmesi gerekebilir. Muhtemelen bu sistem, hatalı yapılandırılmış ONT’lerden kaynaklanan logları azaltmak ve ONT cihazlarına otomatik güncellemeler gönderebilmek için uygulanmaktadır.

Kaydettiğim iletişim logları.
 
Çözüm
[omcid] 22:13:44 MIB PRN: Removed...

[omcid] 22:13:45 MIB PRN: Removed...

Mİb siliniyor fakat olt tekrar istediğinde eksik veya yanlış gönderiyor ya da çok bekliyor:

[omcid] 22:13:45 Core ERR: Service_action - Action Event wait timeout

Ini dosyasında düzen nasıl şekilde?
Henüz tam bir sonuç elde edemedim. Yoğunluk mevcut müsaitken denemelere devam edeceğim.

1745187939720.webp


Nokia/Alcatel-Lucent OLT Fake O5 çözülmüştür :)
Ayrıca AZ'de ilk olduğuna yemin edebilirim ama kanıtlayamam.
Detayları yakında paylaşacağım.
Hız limiti MikroTik kaynaklı olup SFP'yi 2.5Gbps modunda çalıştıramadığımız için bu konuda MikroTik ile görüşmeler devam ediyor.

Fake O5 Durumu Hakkında Bilgilendirme ve Çözüm

Fake O5, özellikle Nokia ve Alcatel marka OLT (Optical Line Terminal) cihazlarının bulunduğu sahalarda karşılaşılan bir durumdur. Bu durum, kullanıcıların O5 (Operational Status 5) durumunda olmalarına rağmen IP adresi alamamaları ve mevcut VLAN ID'lerini görememeleri ile kendini gösterir.

Bu sorunun temel nedeni, MIB (Management Information Base) bilgisi ile OLT cihazı arasındaki uyumsuzluktur. OLT cihazı, bağlantıdaki ONU/ONT cihazınızı güncellemeye çalışırken, birkaç kez IMG dosyası gönderir. Bu güncelleme işlemi, genellikle OLT’nin, bağlı ONU/ONT cihazının eski veya geçersiz bir yazılım sürümüne sahip olduğunu tespit etmesi sonucu başlar. OLT, bu durumu fark ettiğinde, cihazın yazılımını güncellemeye yönelik bir işlem başlatır. Bu durum, genellikle ISP (Internet Service Provider) tarafından etkinleştirilen bir seçenek olarak düşünülmektedir ve yalnızca Nokia ve Alcatel OLT cihazlarında görülür. Diğer markalarda ise bu sorunla karşılaşılmamaktadır.

Peki, "FTTH Altyapıda SFP-GPON ile İnternete Nasıl Erişilir?" rehberinde kullandığımız firmware'de MIB bilgisini değiştirmiyor muyduk? Evet, değiştirdiğimiz doğru. Ancak burada önemli bir fark var: Kullandığımız Çin tabanlı firmware, MIB bilgilerini tamamen kaydetmiyor ve bağlantı esnasında, bizim verdiğimiz MIB bilgilerini kullanmıyor. Bu durum, Fake O5 durumuna yol açmaktadır. Bu sorunun başlıca nedeni, yazılım sürümünün yani OMCID'yi yanlış iletmesiydi.

Peki, neden diğer OLT cihazlarında bu stabil olmayan firmware'i kullanmamıza rağmen sorunsuz bir şekilde internete erişebildik? Bunun cevabı aslında oldukça basittir: Diğer marka OLT cihazları, MIB bilgisini kontrol etmediğini varsaydığımız için, eğer yanlış bir bilgi girilmiş olsa bile, SN (Serial Number) doğru olduğunda cihaz, O5 durumuna geçiyor ve bağlantıyı başarıyla kurabiliyor. Yani, bu cihazlar MIB bilgisi hatalı olsa bile, bağlantıyı sağlamak için daha esnek bir yaklaşım sergiliyor.

Peki çözüm nedir? En etkin çözüm, doğru ve düzenlenmiş firmware'lerin kullanılmasıdır. Rehberimizi takip eden bazı kullanıcılar, "FS Modded" adlı firmware'i kullanarak internet erişimine başarılı bir şekilde ulaşabildiklerini belirtmişlerdir. Ancak, bu benim için ideal çözüm olmadı. Eğer daha az uğraşmak istiyorsanız, önerim önce "FS Modded" firmware'ini denemenizdir. Fakat bu firmware'in bazı sınırlamaları vardır: Web arayüzü bulunmamaktadır ve tüm işlemler yalnızca SSH komutları ile gerçekleştirilir. Bu, bazı kullanıcılar için ekstra bir zorluk oluşturabilir. "FS Modded" firmware'i hakkında daha detaylı bilgiye hack-gpon.org sitesinden ulaşabilirsiniz. Bu sitedeki rehberde, firmware'in nasıl kullanıldığına dair daha derinlemesine açıklamalar sunmaktadır.

Peki, ben MA5671A için nasıl bir çözüm buldum? Linux ortamında, daha önce yayınladığım GPON SFP Custom OpenWrt Firmware'yi dd komutuyla parçaladım. Çünkü firmware’i incelediğimizde, içerisinde farklı bölümler olduğunu görebiliyoruz.

Bölümler:
Kod:
majdev@PC-MAjdev:~/Masaüstü/test$ binwalk custom_openwrt_firmware_2025.04.15.img

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0xC676714F, created: 2022-03-21 07:34:17, image size: 1212233 bytes, Data Address: 0x80002000, Entry Point: 0x80002000, data CRC: 0x7DD7692A, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "SFP_7.5.3"
64            0x40            LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 3519244 bytes
1212297       0x127F89        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2879034 bytes, 999 inodes, blocksize: 262144 bytes, created: 2025-04-15 21:07:49
4128768       0x3F0000        JFFS2 filesystem, big endian

Parçalama:
Kod:
img="custom_openwrt_firmware_2025.04.15.img"
dd if=$img of=uimage_header.bin bs=1 count=64
dd if=$img of=kernel.lzma bs=1 skip=64 count=$((1212297-64))
dd if=$img of=rootfs.squashfs bs=1 skip=1212297 count=$((4128768-1212297))
dd if=$img of=rootfs.jffs2 bs=1 skip=4128768

Benim için gerekli olan bölüm rootfs.squashfs idi. Bu bölümü de açtım (unpack ettim). Bu adım, firmware'in iç yapısını daha ayrıntılı incelememe ve gerekli düzenlemeleri yapmama olanak sağladı.
Kod:
unsquashfs rootfs.squashfs

Artık tüm firmware dosyaları, oluşan squashfs-root klasörünün içindeydi. Yapmam gereken, bu firmware içindeki bazı metinsel verileri bulup kendi bilgilerimle değiştirmekti. Bunun için Notepad++ yazılımını kullandım ve aşağıdaki verileri kendi verilerimle güncelledim.
Kod:
HWTC -> ONT/ONU Vendor Id
6BA1896SPE2C05 -> ONT/ONU Yazılım Sürümü (OMCID)
CC4.A -> ONT/ONU Donanım Sürümü
MA5671A-G1 -> ONT/ONU SN numarası
MA5671B -> ONT/ONU SN numarası

Örnek:
HWTC -> ALCL
6BA1896SPE2C05 -> 3FEXXXXXXXXX
CC4.A -> 5DEXXXXXXXXX
MA5671A-G1 -> ALCLB44XXXX
MA5671B -> ALCLB44XXXX

1745235009547.webp


Not: Bu aşamada değiştirdiğiniz verileri dikkatlice kontrol edin. Yapacağınız en ufak bir hata, SFP'nin açılmamasına sebep olabilir. Ayrıca, SFP'nin loglarını sürekli olarak TTL üzerinden takip etmek önemlidir. Tüm sorumluluk kullanıcıya aittir.

Evet, artık kendi bilgilerimle güncellenmiş custom (özel) bir firmware'im oldu. Ancak, bunu tekrar tek parça bir IMG dosyası haline getirmemiz gerekiyor. Bunun için aşağıdaki komutları kullanabilirsiniz:

Kod:
mksquashfs squashfs-root/ rootfs.squashfs -comp xz -noappend -b 262144
cat uimage_header.bin kernel.lzma rootfs.squashfs rootfs.jffs2> custom_openwrt_firmware_rebuild.img

Oluşan IMG dosyasını SFP'ye yazarak denemeler yapabilirsiniz. Ancak, her imaj yazdıktan sonra firstboot ve reboot komutlarını çalıştırmayı unutmayınız. Ayrıca, eski varsayılan yazılım sürümünü değiştirmek için aşağıdaki komutlarıda kullanınız:

Kod:
fw_setenv image0_version 3FEXXXXXXXXX (ONT/ONU Yazılım Sürümü (OMCID))
fw_setenv image1_version 3FEXXXXXXXXX (ONT/ONU Yazılım Sürümü (OMCID))
fw_setenv omci_version 3FEXXXXXXXXX (ONT/ONU Yazılım Sürümü (OMCID))

Bazı Tecrübeler ve İpuçları
  1. Firmware Düzenleme İşlemi: Firmware düzenleme işlemini kesinlikle Windows veya macOS gibi işletim sistemlerinde yapmayınız. Bu işlemi yalnızca Linux tabanlı işletim sistemlerinde gerçekleştirin. Aksi takdirde, imajı yazdıktan sonra SFP panik hatası alabilirsiniz.
  2. Bağlantı Sorunu: Düzenlenmiş firmware üzerinde, önceki rehberlerdeki gibi ayar yaptıktan sonra bağlantı sağlayamıyordum. Ancak, cihazı sıfırladıktan sonra default olarak, bizim manuel şekilde düzenlediğimiz bilgilerle bağlantı sağlayabildim. Yani, OpenWrt arayüzünde değişiklik yapmadan bağlantıyı kurabildim.
  3. Log Takibi: Tüm işlemler sırasında TTL üzerinden COM portundan SFP'nin loglarını kontrol edin; bu işlem, ileride işinize yarayacaktır veya bir yerde takıldığınızda size bilgi verecektir. Logları izlemek için MobaXterm kullanabilirsiniz. Bağlantı hızı: 115200 bps.
  4. Düzenlenecek Dosyalar: Düzenlemeniz gereken dosyaların listesi genellikle şu şekildedir:
    • squashfs-root\etc\config\gpon
    • squashfs-root\etc\init.d\omcid.sh
    • squashfs-root\etc\mibs\data_1g_8q_us640_ds512.ini
    • squashfs-root\etc\mibs\nameless.ini
    • squashfs-root\etc\mibs\alu_data_1g_8q.ini
    • squashfs-root\opt\lantiq\bin\config_onu.sh
    • squashfs-root\opt\lantiq\bin\omcid
    • squashfs-root\opt\lantiq\bin\system_info.sh
  5. Gereksiz Dosyalar: Düzenleme yaparken, /etc/mibs klasöründe data_1g_8q_us640_ds512.ini haricindeki tüm dosyaları silin, çünkü bunlar gereksizdir ve düzenlemenize gerek yoktur.
Denemek isteyenler için, kendi hazırladığım firmware dosyaları ve oluşturduğum IMG dosyasını şu linkten indirebilirsiniz: https://drive.google.com/file/d/1mRc364ju5OkqFkzqSfFq3OepyBxfQuO1/view?usp=sharing
Biraz deneme yanılma biraz tecrübe gerekiyor, sorularınız olursa cevaplamaya çalışacağım :)
1000005481.webp


44454641554C54000000 = DEFAULT
Yani ploam password DEFAULT olarak SFP'ye klonlanmalı.
Arayüzdede ploam olarak default yazıyordu zaten.
Bunu denediğimde bende hala fake O5 Ti.

Yazılım ve hardware sürümü arayüzdeki ile aynı, SFP üzerinden klonladığımdada bir şey değişmemişti, SSH ile bağlanığ yine kaydettim fakat kaydedilmesine rağmen hala fake o5.

MAC adresi arayüzdeki ile aynı: Atıyorum Mac1 (ONT etiketinde yazan): 12:34:56:78:89: BB
Mac2 (lan Mac yazmıyor sistemde oluşturuluyor yani Mac1 + 3 = 12:34:56:78:89: BE oluyor.

Equipment ID'ye: ONT modeli girilmeli seri numara değil! G-010G-R

Sonuç: Hala fake O5 fakat SFP'nin yazılım sürümünü kaydetmediğini düşünüyorum.
SFP Firmware uyumlu değil.

Yeni sipariş ettiğim gelince deneme yapacağım.

Alcatel saha sfpyi taktığım gibi direk o5 veriyordu bu arada.

@Majdev logu inceledim olt sürekli mib siliyor ve tekrar up olarak yeni mib gönderiyor fakat SFP 0 veriyor hep ayrıca me hatalı managed entity.
Burada SFP fwsinde mibin kaydediliş biçiminde veya iletiliş biçiminde kesin bir sorun var.
Çünkü olt o5 kuruyor ve omci paket iletişiminde.

Kesinlikle sfpnin oltye mib iletiliş şeklinde veya kaydetme şeklinde sorun var. Olt mib alamıyor, istiyor ama sfp 0 gönderiyor.

Sorun sonunda belli oldu :) sfp mib gönderemiyor yani omci emülasyonu yapamıyor, diğer sahalarda omci kontrolü olmadığı için sorunsuz bağlanılıyor.
 
Son düzenleme:
Eki Görüntüle 141600

44454641554C54000000 = DEFAULT
Yani ploam password DEFAULT olarak SFP'ye klonlanmalı.
Arayüzdede ploam olarak default yazıyordu zaten.
Bunu denediğimde bende hala fake O5 Ti.

Yazılım ve hardware sürümü arayüzdeki ile aynı, SFP üzerinden klonladığımdada bir şey değişmemişti, SSH ile bağlanığ yine kaydettim fakat kaydedilmesine rağmen hala fake o5.

MAC adresi arayüzdeki ile aynı: Atıyorum Mac1 (ONT etiketinde yazan): 12:34:56:78:89: BB
Mac2 (lan Mac yazmıyor sistemde oluşturuluyor yani Mac1 + 3 = 12:34:56:78:89: BE oluyor.

Equipment ID'ye: ONT modeli girilmeli seri numara değil! G-010G-R

Sonuç: Hala fake O5 fakat SFP'nin yazılım sürümünü kaydetmediğini düşünüyorum.
SFP Firmware uyumlu değil.

Yeni sipariş ettiğim gelince deneme yapacağım.

Alcatel saha sfpyi taktığım gibi direk o5 veriyordu bu arada.

@Majdev logu inceledim olt sürekli mib siliyor ve tekrar up olarak yeni mib gönderiyor fakat SFP 0 veriyor hep ayrıca me hatalı managed entity.
Burada SFP fwsinde mibin kaydediliş biçiminde veya iletiliş biçiminde kesin bir sorun var.
Çünkü olt o5 kuruyor ve omci paket iletişiminde.

Kesinlikle sfpnin oltye mib iletiliş şeklinde veya kaydetme şeklinde sorun var. Olt mib alamıyor, istiyor ama sfp 0 gönderiyor.

Sorun sonunda belli oldu :) sfp mib gönderemiyor yani omci emülasyonu yapamıyor, diğer sahalarda omci kontrolü olmadığı için sorunsuz bağlanılıyor.
Logları incelediğimde, kaydettiğim yazılım ve donanım sürümlerinin hiçbir yerde geçmediğini fark ettim. Bu durum, sorunun FW kaynaklı olduğunu gösteriyor. FW'yi dumplayıp genel bir string araması yaptığımda, yazılım sürümü olarak "6BA1896SPE2C05" iletiliyor ve ne kadar değişiklik yaparsam yapayım bu değer değişmiyor. Şimdi FW'yi kendi bilgilerimle düzenleyecek ve yeni bir imaj oluşturup deneyeceğim.
 
Logları incelediğimde, kaydettiğim yazılım ve donanım sürümlerinin hiçbir yerde geçmediğini fark ettim. Bu durum, sorunun FW kaynaklı olduğunu gösteriyor. FW'yi dumplayıp genel bir string araması yaptığımda, yazılım sürümü olarak "6BA1896SPE2C05" iletiliyor ve ne kadar değişiklik yaparsam yapayım bu değer değişmiyor. Şimdi FW'yi kendi bilgilerimle düzenleyecek ve yeni bir imaj oluşturup deneyeceğim.

Çok iyi olur, sorun büyük ihtimal bu.
 

Arama Sonuçları


Aranan Değer: 6BA1896SPE2C05

  • sfp_dump\etc\init.d\omcid.sh
    Satır 144:
    Kod:
    omcid_version_default="6BA1896SPE2C05, internal_version =1620-00802-05-00-000D-01"
  • sfp_dump\opt\lantiq\bin\config_onu.sh
    Satır 258:
    Kod:
    local omcid_version="6BA1896SPE2C05, internal_version =1620-00802-05-00-000D-01"
  • sfp_dump\opt\lantiq\bin\omcid
    Satır 4630
    Satır 4993
  • sfp_dump\opt\lantiq\bin\system_info.sh
    Satır 97:
    Kod:
    ver_o=`echo $ver | grep -c '6BA1896SPE2C05'`
    Satır 99:
    Kod:
    ver=6BA1896SPE2C05



Aranan Değer: CC4.A

  • sfp_dump\etc\config\gpon
    Satır 40:
    Kod:
    option ont_version 'CC4.A\0\0\0\0\0\0\0\0'
  • sfp_dump\opt\lantiq\bin\config_onu.sh
    Satır 62:
    Kod:
    uci set gpon.onu.ont_version="CC4.A\0\0\0\0\0\0\0\0"
    Satır 97:
    Kod:
    uci set gpon.onu.ont_version="CC4.A\0\0\0\0\0\0\0\0"
    Satır 168:
    Kod:
    uci set gpon.onu.ont_version="CC4.A\0\0\0\0\0\0\0\0"
  • sfp_dump\opt\lantiq\bin\config_onu.sh
    Satır 84:
    Kod:
    uci set gpon.onu.equipment_id="MA5671A-G1\0\0\0\0\0\0\0\0\0\0\0"
    Satır 155:
    Kod:
    uci set gpon.onu.equipment_id="MA5671A-G1\0\0\0\0\0\0\0\0\0\0\0"

Aradığın değer kendi FW bilgilerin ise Değer doğru gözüküyor gibi

Yukarıda iletmişsin 6BA1896SPE2C05 bu çıkıyor diye sürekli, evet sorun var fw kaydetmiyor yeni farkettim.
 
Son düzenleme:
@Majdev normal yüklü FW'de, sn: Hepsi büyük harfle, ploam: DEFAULT, equipment ID: G-010G-R, WAN Mac: (etiketteki)
Lan Mac: Etiketteki + 3 olarak kaydedip.
Dener misin?
Deneyeceğim fakat ben Türkiye'de deneme yapmıyorum şuanda ve kurtulmak istediğim harici ONT G-010G-R değil, dahaili ONT+Router olan G-1425G-B.

Ve bingo:
1744985932670.webp


Birkaç saniyeliğine herşey yolunda gidiyor fakat sonra yine güncellemeye çalışıyor. Fakat artık VLAN ID'ler görünüyor.
Loglar:
 
Son düzenleme:
Deneyeceğim fakat ben Türkiye'de deneme yapmıyorum şuanda ve kurtulmak istediğim harici ONT G-010G-R değil, dahaili ONT+Router olan G-1425G-B.

Ve bingo:
Eki Görüntüle 141680

Birkaç saniyeliğine herşey yolunda gidiyor fakat sonra yine güncellemeye çalışıyor. Fakat artık VLAN ID'ler görünüyor.
Loglar:
Ne oldu, ne değiştirdin?
 

Yeni konular

Geri
Yukarı Alt