EEPROM yeniden kodlama: parolalar ve mekanizma · Sık karşılaşılan sorunlar ve çözümler · Optik alıcı-vericiler ve kablolar · Belgeler · CodingBox
CodingBox Belgeler

EEPROM yeniden kodlama: parolalar ve mekanizma

Yıllara yayılan mühendislik tartışmalarından çıkan temel içgörü şudur: alıcı-verici uyumluluğu ürün yazılımı değildir — I²C üzerinden okunan EEPROM’daki tanımlama dizeleridir. Bir anahtar, bir modülü yalnızca satıcı dizesini tanımadığı için reddeder. Bu tek gerçek, “her şeyi Cisco olarak kodlamak — neredeyse her yerde işe yarar” yaygın uygulamasını ve kodlama araçlarının tüm pazarını açıklar.

Parolalar nerede bulunur

Modül belleğinin korumalı alanlarına yazmak, yazmadan önce sabit bir adrese girilen 4 baytlık bir parola gerektirir:

Modül türüBellek bloğuParola ofseti
SFP / SFP+A2h (I²C adresi 0x51)0x7B–0x7E
QSFP / XFPA0h0x7B

Sık belirtilen parolalar

ParolaNotlar
00 00 10 11MSA varsayılan değeri — denenecek ilk şey
00 00 00 00, FF FF FF FFsık görülen varsayılan değerler
9B B0 3D FAbir dizi modülde görülür
4F 43 50 00ASCII “OCP”

Bazı satıcıların QSFP-DD modülleri kendi sabit varsayılan değerleriyle gelir ve birkaç mikroişlemci tabanlı modül, değişen bir değişken parola kullanır — bu da kaba kuvvet deneyen herkes için bir tuzaktır.

Kaba kuvvetin neden çözüm olmadığı

Tüm bellek haritasını koruyan üretici düzeyinde bir parolayı kaba kuvvetle kırmak, kabaca 100+ gün sürer; host düzeyinde bir ASCII parola bile yaklaşık üç güne kadar sürer. Pratik yol, orijinal modüllerden yakalanan bilinen kodlar ve parolalar veritabanıdır — bir kodlama aracının gerçek değeri de (basit olan) I²C donanımında değil, tam olarak buradadır.

Kendin yap programlayıcıların tuzakları

  • Ucuz CH341A programlayıcılar SFP sağlama toplamını hesaplamaz. Geçerli bir CC_BASE/CC_EXT olmadan bir görüntü yazmak, anahtarın reddedeceği bir modül üretir. Sağlama toplamlarını otomatik olarak yeniden hesaplayan bir araca ihtiyacınız vardır.
  • Bazı anahtarlar yalnızca 0x50 adresine yazar, bu yüzden 0x51’deki parolaya anahtarın kendisinden ulaşılamaz — uygun bir programlayıcı kart gereklidir.
  • EEPROM yazma koruma pini — bazı fabrikalar WP’yi Vcc’ye bağlar, böylece modül sahada yazmaya karşı kilitlenir.

Sahadan örnek olaylar

  • Bir satıcı olarak kodlanmış modüller, başka bir satıcının anahtarında otomatik anlaşma yapmıyordu; anahtarın kendi satıcı dizesine yeniden kodlandıklarında hemen çalışmaya başladılar.
  • Bazı optik satıcıları, alıcının hedef platform için kodlamasını bekleyerek tasarım gereği kodlanmamış modüller gönderir.
  • DWDM modülleri, kodlama için kullanılan aynı yönetim arayüzü üzerinden dalga boyuna ayarlanır.

CodingBox’ta nasıl yapılır

  1. Modülü okuyun; bu otomatik olarak code database’a kaydedilir ve herhangi bir yazmadan önce bir yedek alınır.
  2. Yazma korumalı bellek ve parolalar bölümünde tablo adresini, parola adresini ve parola değerini ayarlayın — veritabanındaki bilinen parolalar otomatik olarak uygulanır.
  3. Satıcı, parça numarası ve diğer kimlik alanlarını EEPROM editor içinde düzenleyin. CC_BASE ve CC_EXT sizin için yeniden hesaplanır.
  4. Seçili sayfaları yazın, ardından doğrulamak için geri okuyun. Modülü, Optiklerin doğrulanması bölümündeki komutlarla anahtar üzerinde kontrol edin.

Modülleri yalnızca hakkınız olan birlikte çalışabilirlik için kodlayın ve kuruluşunuzun ve satıcıların politikalarına uyun.

Temiz bir yeniden kodlamanın arkasındaki kurallar — alan biçimleri, hangi bitlerin ayarlanacağı ve hangi toplamların düzeltileceği — şurada bulunur: Satıcı alanları, Uyumluluk kodları ve Sağlama toplamları.

Fabrikanın aynı adımda ne yaptığı ve dikkatsiz bir yazmanın yok edebileceği kalibrasyonu hangi alanların tuttuğu: Üretim ve test, Kontrolör ve ürün yazılımı.

Düzenlemeden önce hangi baytın neyi tuttuğu: SFF-8472 A0h haritası, SFF-8636 üst sayfa haritası, CMIS üst sayfalar haritası, XFP haritası.

Satıcıya göre hedef parça numaraları ve bunların grameri: OEM parça numaraları; her platform sınıfının yazmadan sonra neyi kontrol ettiği: Her NOS bir modülü nasıl doğrular.


Bu materyalde bir yanlışlık veya hata bulursanız ilgili bölümü seçin ve Ctrl+Enter tuşlarına basarak .