Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Majdev

Yetkin
Katılım
26 Aralık 2023
Mesajlar
331
Makaleler
2
Çözümler
10
Beğeniler
257
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 :)

Bir şeyler eksik ama bende bilmiyorum ne eksik :) olt senin ONT profilinde bir şeyi eksik görüp mib siliyor tekrar istiyor gönderiyor.
Omci provise süresi <30 saniyeden az olmalı.
Unı portlar düzgün açılmıyor.

[omcid] 22:13:45 CORE ERR: service_action - action event wait timeout

Bu arada bende SFP varken gözüme takılmıştı equipment ID'ye normalde ONT modelini giriyordum fakat SFP seri numara ile değiştiriyordu, yani kaydetmiyordu g-010G-R olarak. Onada dikkat et. Rehberdekinin aksine equipment ID ONT modeli olmalı!
Ploam: DEFAULT
Sn: Hepsi büyük harfle: ALCLFE1234567
 
Bir şeyler eksik ama bende bilmiyorum ne eksik :) olt senin ONT profilinde bir şeyi eksik görüp mib siliyor tekrar istiyor gönderiyor.
Omci provise süresi <30 saniyeden az olmalı.
Unı portlar düzgün açılmıyor.

[omcid] 22:13:45 CORE ERR: service_action - action event wait timeout

Bu arada bende SFP varken gözüme takılmıştı equipment ID'ye normalde ONT modelini giriyordum fakat SFP seri numara ile değiştiriyordu, yani kaydetmiyordu g-010G-R olarak. Onada dikkat et. Rehberdekinin aksine equipment ID ONT modeli olmalı!
Ploam: DEFAULT
Sn: Hepsi büyük harfle: ALCLFE1234567
1745006568243.webp

FS Modded deneyeyim dedim tekrardan yine IP alamıyorum ve buda galiba güncelleme yapmaya çalışıyor.
 
Eki Görüntüle 141829
FS Modded deneyeyim dedim tekrardan yine IP alamıyorum ve bu da galiba güncelleme yapmaya çalışıyor.

[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?
 
Son düzenleme:
[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 :)
 
Son düzenleme:
Çözüm
Henüz tam bir sonuç elde edemedim. Yoğunluk mevcut müsaitken denemelere devam edeceğim.

Eki Görüntüle 142373

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

Eki Görüntüle 142441

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 :)
Eline sağlık, Alcatel için de denemelerin olacak mı hocam ?