CodingBox Q&A Ask question

Programmer bisa baca SFP+ FTLX8571D3BCV-IT, tapi waktu ditulis jawabnya No Acknowledge

Asked Active Viewed 110 AI translation from Русский
6

Saya kelola dana tukar-menukar modul kecil-kecilan: node-nya tersebar di seluruh kota, dan hampir tiap switch orang lain butuh recoding SFP. Untuk modul gigabit skemanya sudah lama beres, tapi yang sepuluh gig ini bikin macet.

Yang ada di meja:

  • programmer dengan cage untuk SFP/SFP+, catu daya 3.3 V
  • Finisar FTLX8571D3BCV-IT dan FTLX1471D3BCV-IT, keduanya terbaca
  • Cisco GLC-LH-SM dari stok lama
  • HP J4858B dan J4859C

Pembacaannya stabil dan bisa diulang, kedua bank penuh. Penulisannya tidak jalan di semua varian:

read  A0 0x00-0xFF ... OK
read  A2 0x00-0xFF ... OK
write A0 vendor name ... No Acknowledge
write A0 serial (bytes 68-83) ... No Acknowledge

Yang sudah saya cek:

  • operasi yang sama di SFP gigabit biasa dengan programmer yang sama lancar, jadi rangkaian dan catu dayanya hidup;
  • ambil unit kedua FTLX8571D3BCV-IT, perilakunya byte demi byte sama persis;
  • di GLC-LH-SM, No Acknowledge langsung muncul, bahkan sebelum coba menyentuh field vendor.

Jadi ini bukan soal unit tertentu. Apa ini proteksi tulis hardware di modulnya sendiri, atau di SFP+ memorinya sudah bukan EEPROM telanjang lagi dan tulis biasa lewat I2C memang tidak bisa masuk ke situ? Dan secara terpisah saya penasaran soal HP J4858B/J4859C: ada yang pernah menulisnya dengan programmer biasa, atau itu memang jalan buntu dari awal?

Comments 6

Accepted answer

Di sini bercampur dua mekanisme berbeda, dan cara mengatasinya juga beda.

Pertama - EEPROM biasa dengan proteksi tulis hardware. Chip memorinya punya pin write protect, dan selama itu ditarik naik, baca jalan tapi tulis gagal. Cara yang disarankan orang-orang yang pernah mendalami ini - hubungkan pin itu ke ground selama proses flashing. Untuk sebagian modul gigabit, itu sudah cukup.

Kedua - yang kamu hadapi di sepuluh gig ini. Di SFP+ datanya sering tidak ada di EEPROM terpisah, tapi di belakang mikrokontroler modulnya sendiri: dia sendiri yang menyerahkan A0 dan A2 untuk dibaca dan cuma menerima tulis lewat urutan command miliknya sendiri. Programmer standar tidak tahu urutan seperti itu dan dapat No Acknowledge di percobaan apa pun, tidak peduli field mana yang kamu incar. Tidak ada yang bisa digroundkan di situ.

Yang benar-benar membantu melewati cage-nya: solder kabel langsung ke pin 4 dan 7 modulnya, yaitu di jalur I2C, melewati konektor programmer. Menurut laporan orang, setelah itu sebagian modul yang diam di cage jadi bisa ditulis. Caranya kasar, tangannya harus rapi, dan modulnya setelah itu hidup atas tanggung jawab kamu sendiri.

HP itu cerita tersendiri. Programmer standar tidak bisa menangkapnya, di situ perlu penanganan sendiri, dan di J4858B/J4859C dengan rangkaian biasa saya tidak akan berharap berhasil. Kalau tujuannya cuma dapat modul yang jalan di switch orang lain, lebih murah tidak menyiksa HP, tapi ambil modul dengan memori jujur dan tuangkan image vendor lengkap ke situ: dari 256 byte dump yang signifikan cuma 128 byte pertama, sisanya cadangan pabrikan.

Tidak ada vendor yang mendukung recoding semacam itu, jelas: dengan modul yang sudah di-reflash, kamu tidak punya apa-apa untuk dibawa ke support.

3 Russialambdaops44RU Show original (Русский) AI translation

Jelaskan dulu beberapa hal, kalau tidak ini jadi tebak-tebakan. No Acknowledge itu muncul di alamat device-nya sendiri atau sudah setelah byte data pertama? Dari log programmer biasanya kelihatan. Dan programmer kamu itu apa - alat jadi atau buatan sendiri dengan rangkaian sendiri? Itu menentukan apa yang bisa diharapkan dari 3.3 V di cage-nya.

Satu lagi yang menarik, perilaku saat catu daya diberikan: penolakannya sama persis segera setelah modul dipasang dan setelah dia berdiri dengan daya nyala beberapa menit? Dan keempat tipenya berperilaku sama atau Finisar dan HP berbeda: HP biasanya punya penyebab penolakan sendiri, lebih baik langsung dipisahkan dari yang lain.

3 RussiadwdmmonkRU Show original (Русский) AI translation

Lapor hasilnya. Solder ke jalur I2C langsung ke pin 4 dan 7, melewati cage-nya. Finisar berhasil: FTLX8571D3BCV-IT tertulis dan terkonfirmasi lewat pembacaan balik, FTLX1471D3BCV-IT juga. GLC-LH-SM berhenti memberi No Acknowledge dan tertulis normal.

HP tetap tidak menyerah. J4858B secara formal menerima tulis, tapi setelah diubah, modulnya ditolak oleh switch-nya, J4859C berperilaku sama. Jadi buat saya pertanyaannya cuma setengah selesai: Finisar dan Cisco sekarang bisa saya tulis, HP saya tunda dulu sampai waktu yang lebih baik.

1 KazakhstanlinkguruKZ Show original (Русский) AI translation

Dengan HP jebakannya lebih dalam dari sekadar proteksi tulis, jadi hasil kamu memang sudah diduga. Di J4858B, waktu byte 68-83 diubah, yaitu serial number, checksum di byte 124-127 ikut berubah, dan modulnya sesudah itu ditolak. Ini bukan CC_BASE dan CC_EXT ala MSA, yang menghitungnya tidak masalah, tapi checksum vendor terpisah di empat byte terakhir A0. Algoritmanya tidak pernah berhasil dibongkar secara publik, seberapa pun sudah diutak-atik.

J9150A dari cerita yang sama. Dan di modul HP dan Aruba yang lebih baru malah sudah pindah dari checksum statis ke skema request-response, HPIDv2, dan di situ programmer sama sekali tidak berguna. Jadi "tertulis, tapi tidak diterima" itu persis apa yang memang seharusnya terjadi.

1 Kazakhstanlambdaowl20KZ Show original (Русский) AI translation

Karena kamu punya banyak modul, bukan cuma satu, saya bahas soal tool-nya. Untuk recoding Huawei S5731 dan S6730 serta HP 6120XG saya pakai UACC-SFP-WIZARD dari Ubiquiti - sebagai programmer murah, itu cukup hidup. Cuma untuk modul Ubiquiti sendiri beredar daftar password, entry seperti 0x00001011, SFPX, QSFP, dan tanpa itu sebagian modul tidak terbuka untuk ditulis. Dari image yang saya pakai ada FTLX8571D3BCV dan FTLX8574D3BCV, lebih jarang SNR-SFP+W73-3 dan W37-3.

3 Russiaportrunner91RU Show original (Русский) AI translation

Saya koreksi sedikit generalisasi di atas, biar tidak ada yang buru-buru pegang solder duluan: tidak di setiap SFP+ memorinya tersembunyi di belakang mikrokontroler. Punya saya, FTLX8574D3BCV dan sepasang SNR-SFP+W73-3, tertulis dengan programmer biasa di cage, tanpa solder sama sekali. Jadi sebaiknya cek dulu unit spesifiknya, baru setelah itu masuk ke cara memutar.

Menggroundkan pin write protect, ngomong-ngomong, juga bukan resep universal: di modul dengan mikrokontroler itu tidak memberi apa-apa, penolakannya di situ bukan dari memori, tapi dari firmware kontrolernya. Operasi ini cuma ada artinya di tempat yang benar-benar punya EEPROM terpisah yang jujur, dan harus dilakukan di modul yang tidak sedang diberi daya, kalau tidak gampang dapat bata, bukan modul.

2 UkrainecoremonkUA Show original (Русский) AI translation
Log in to comment. Log in