Jump to content
Калькуляторы

Прошивка CWDM, образы SFP прошивка и образы SFP

...попросил оригинальный модуль GLC-T, что-бы считать прошивку,

но не могу его разобрать, что-бы считать eeprom программатором.

никто не подскажет, где там защелки спрятаны ?

Share this post


Link to post
Share on other sites

...попросил оригинальный модуль GLC-T, что-бы считать прошивку,

но не могу его разобрать, что-бы считать eeprom программатором.

никто не подскажет, где там защелки спрятаны ?

А через разьем на попе не судьба?

Share this post


Link to post
Share on other sites

спасибо большое за то что помогли разобратся.

 

зашил chipprog+ в 24c02 образ с чексумами - и 3560 увидела мою SFP, хотя до этого даже секретные комманды не помогали.

 

1) оказывается eeprom от SFP можно считать прямо на cisco, которая стоит за сотни километров ;-)

в моем случае GLC-T show idprom interface g 0/1

выдает среди всего прочего и содержимое eeprom, которое можно просто зашить в другую железку:

SFF-8472 MSA EEPROM Data

===========================================

000 : 03 04 00 00 00 00 08 00 00 00 00 01 0D 00 00 00 00 00 64 00

020 : 43 49 53 43 4F 2D 4D 45 54 48 4F 44 45 20 20 20 01 00 00 00

040 : 53 50 37 30 34 31 20 20 20 20 20 20 20 20 20 20 44 20 20 20

060 : 41 0C C1 E7 00 10 00 00 30 30 30 30 30 4D 54 43 31 31 33 38

080 : 30 31 53 53 30 37 30 39 32 31 30 31 00 00 00 4C 00 00 0E C4

100 : 5D 79 AB 96 99 E3 7C 20 A0 CB FB FB A2 3D 70 00 00 00 00 00

120 : 00 00 00 00 87 43 21 A0

тоесть

0000: 03 04 00 00 00 00 08 00 │ 00 00 00 01 0D 00 00 00  ♥♦    ◘    ☺♪
0010: 00 00 64 00 43 49 53 43 │ 4F 2D 4D 45 54 48 4F 44    d CISCO-METHOD
0020: 45 20 20 20 01 00 00 00 │ 53 50 37 30 34 31 20 20  E   ☺   SP7041
0030: 20 20 20 20 20 20 20 20 │ 44 20 20 20 41 0C C1 E7          D   A♀Бз
0040: 00 10 00 00 30 30 30 30 │ 30 4D 54 43 31 31 33 38   ►  00000MTC1138
0050: 30 31 53 53 30 37 30 39 │ 32 31 30 31 00 00 00 4C  01SS07092101   L
0060: 00 00 0E C4 5D 79 AB 96 │ 99 E3 7C 20 A0 CB FB FB    ♫Д]y<-Tг|  Лыы
0070: A2 3D 70 00 00 00 00 00 │ 00 00 00 00 87 43 21 A0  ў=p         ╪C! 

правда не знаю, у каких вендоров можно записать нужные данные чераз само устройство обратно,

помнится в хуавеевских железках операторского уровня было секретное отладочное меню,

функции работы с памятью и платами - там были, хотя за sfp - не смотрел.

 

 

2) сравнил два дампа, не считая текстового серийника, они отличаются токо 128битным хешем (типа MD5) и чексуммой (типа CRC32).

может кто-то может подсказать, каким алгоритмом и от каких областей нужно считать чексумму и хеш ?

 

заранее благодарен.

Share this post


Link to post
Share on other sites

там обычная схема для i2c.

можно и sfp програмить, и аккамулятор в ноуте после перепаковки резетить.

где-то в инете даже разведенная платка для lpt разьема была.

 

я свою обычным программатором шил.

Share this post


Link to post
Share on other sites

Ищется образ SFP LX 3COM p/n 3CSFP92....
Тоже ищу образ 3CSFP92

Или любой другой SFP от 3com

Edited by Виктор Трофимов

Share this post


Link to post
Share on other sites

хм. почитал мануал по PowerPC процам, и таки разобрался, что дописывать в SFP, что-бы они работали в cisco.

и не выпрашивать при этом чужие прошивки или вводить комманды, которые не всегда помогают.

 

вот eeprom с оригинального GLC-T SFP, который уже проскакивал быше

0000: 03 04 00 00 00 00 08 00 │ 00 00 00 01 0D 00 00 00  ♥♦    ◘    ☺♪
0010: 00 00 64 00 43 49 53 43 │ 4F 2D 4D 45 54 48 4F 44    d CISCO-METHOD
0020: 45 20 20 20 01 00 00 00 │ 53 50 37 30 34 31 20 20  E   ☺   SP7041
0030: 20 20 20 20 20 20 20 20 │ 44 20 20 20 41 0C C1 E7          D   A♀Бз
0040: 00 10 00 00 30 30 30 30 │ 30 4D 54 43 31 31 33 38   ►  00000MTC1138
0050: 30 31 53 53 30 37 30 39 │ 32 31 30 31 00 00 00 4C  01SS07092101   L
0060: 00 00 0E C4 5D 79 AB 96 │ 99 E3 7C 20 A0 CB FB FB    ♫Д]y<-Tг|  Лыы
0070: A2 3D 70 00 00 00 00 00 │ 00 00 00 00 87 43 21 A0  ў=p         ╪C! 

 

по SFF-8472 описаны байты 0000....005F, их оставляем старыми, если там канешно не FFFF или какая левачина.

байты 0060....007F заполняются на усмотрение вендора, их и нужно записать правильно, для cisco.

 

у cisco тут записан:

1) байт идентификатора производителя (0x0062: 0x0E это Method, видел еще 0x02 для Finisar)

2) уникальный серийный номер, 0x0063 - обычный md5 от сложения

- один идентифиатора производителя (0x0E, или какой другой) +

- имени производителя (0x10 байт ) +

- серийного номера SFP (0x10 байт )+

- и cisco key для производителя (0x10 байт, всего 0x40 вендоров, при желании можно найти все 0x400 байт,

а для моих Method 0x0E это 4AF86716ED1E2F347CA13C9978AD8CA0, Finisar 0x02 - 8DDAE6A46EC9DEF6100BF185059C3DAB)

 

тоесть вендор, имя, серийник, ключ вендора:

0000: 0E 43 49 53 43 4F 2D 4D │ 45 54 48 4F 44 45 20 20  ♫CISCO-METHODE
0010: 20 30 30 30 30 30 4D 54 │ 43 31 31 33 38 30 31 53   00000MTC113801S
0020: 53 4A F8 67 16 ED 1E 2F │ 34 7C A1 3C 99 78 AD 8C  SJшg■н▲/4|Ў<Tx-_
0030: A0                      │                           

с нее и получается наш уникальный ID имени циско C45D79AB9699E37C20A0CBFBFBA23D70

3) чексумма 0x007С, обычный CRC32 от 0x0С байтов, в дамп токо пишем байты в обратном порядке,

если посчитало 0x12345678, записываем 78 56 34 12

0060: 00 00 0E C4 5D 79 AB 96 │ 99 E3 7C 20 A0 CB FB FB    ♫Д]y<-Tг|  Лыы
0070: A2 3D 70 00 00 00 00 00 │ 00 00 00 00

 

вообщем и все, берем SFP и Winhex, считаем и пишем в SFP цисковские 32 байта, вендор+md5+crc32,

и не паримся где найти рабочий eeprom, и наскоко он соответствует нашему.

 

 

для гугла: cisco eeprom vendor ID security code crc crc32 md5 service unsupported-transceiver 0x1BBB2B46

Edited by carver

Share this post


Link to post
Share on other sites

show idprom int - точно показывает EEPROM на 3560G с IOS 12.2(52)SE

на более старых IOS или на других свитчах с этими же sfp может не показывать.

Но то, что есть такая возможность считать EEPROM без программатора - замечательно.

 

Уважаемый carver есть вопросы по способу вычисления

 

1)

Можно подробнее, как получился

уникальный ID имени циско C45D79AB9699E37C20A0CBFBFBA23D70

 

Считал с помощью Hexprobe Multibyte Calculator

md5 от HEX-суммы

 

 

0E

+

43 49 53 43 4F 2D 4D 45 54 48 4F 44 45 20 20 20

+

30 30 30 30 30 4D 54 43 31 31 33 38 30 31 53 53

+

4A F8 67 16 ED 1E 2F 34 7C A1 3C 99 78 AD 8C A0

 

и от HEX-суммы

0E 43 49 53 43 4F 2D 4D 45 54 48 4F 44 45 20 20

+

20 30 30 30 30 30 4D 54 43 31 31 33 38 30 31 53

+

53 4A F8 67 16 ED 1E 2F 34 7C A1 3C 99 78 AD 8C

+

A0

 

такой уникальный ID не получился

 

2)

Откуда берется cisco key для производителя.

В начальном выводе EEPROM его не видно.

 

3)

чексумма 0x007С - обычный CRC32 от 0x0С байтов

Это как я понял CRC32 от числа

03 04 00 00 00 00 08 00 00 00 00 01 0d

и должно получиться число

87 43 21 A0

Использовал

http://www.hash-calculator.com/ru/

http://crc32-checksum.waraxe.us/

CRC32 получаются разные, но точно не похожи на

87 43 21 A0

 

Вообщем не получается каменный цветок, помогите, если вам удалось разобраться.

 

 

 

 

Share this post


Link to post
Share on other sites

Можно подробнее, как получился

уникальный ID имени циско C45D79AB9699E37C20A0CBFBFBA23D70

 

Считал с помощью Hexprobe Multibyte Calculator

md5 от HEX-суммы

 

 

0E

+

43 49 53 43 4F 2D 4D 45 54 48 4F 44 45 20 20 20

+

30 30 30 30 30 4D 54 43 31 31 33 38 30 31 53 53

+

4A F8 67 16 ED 1E 2F 34 7C A1 3C 99 78 AD 8C A0

у меня от этого значения, тоесть не от самой Hex строки, а от ее бинарного значения

0E434953434F2D4D4554484F444520202030303030304D544331313338303153534AF86716ED1E2F

347CA13C9978AD8CA0

и выходит C45D79AB9699E37C20A0CBFBFBA23D70

 

2)

Откуда берется cisco key для производителя.

В начальном выводе EEPROM его не видно.

cisco key - не знаю как правильно он называется, но это тот ключ - что передается cisco каждому производителю sfp.

его можно найти путем медитации над прошивкой 3560.

 

 

3)

чексумма 0x007С - обычный CRC32 от 0x0С байтов

Это как я понял CRC32 от числа

03 04 00 00 00 00 08 00 00 00 00 01 0d

не совсем так, нужно брать все 12 байт, но не сначала eeprom, а тот md5 что мы токошо расчитали,

ну и вначале производитель и нули вконце, тоесть

00 00 0E C4 5D 79 AB 96 99 E3 7C 20 A0 CB FB FB A2 3D 70 00 00 00 00 00 00 00 00 00

и считать от них. (обрати внимание, что расчитанный crc в eeprom записывается в обратном порядке)

Share this post


Link to post
Share on other sites

carver, огромное спасибо за расписанное - все работает отлично :)

Есть небольшое замечание:

3) чексумма 0x007С, обычный CRC32 от 0x0С байтов, в дамп токо пишем байты в обратном порядке
на самом деле должно быть написано
3) чексумма 0x007С, обычный CRC32 от 0x1С байтов, в дамп токо пишем байты в обратном порядке
Мелочь, но голову поломали :)

 

Ну и если вы так лихо копаетесь в прошивках, то есть вопрос:

 

Если в EEprom'е в седьмом байте (0x06 - тот, который отвечает за тип SPF) стоит 0, то циско берет тип SFP из адреса 0x60 (один или 2 байта).

Какие типы мы нашли (мы считали, что учитывается 1 байт, поэтому в 0x61 стоял ноль):

Значение: Тип:

0x01 CWDM 1470

0x02 CWDM 1490

0x03 CWDM 1510

0x04 CWDM 1530

0x05 CWDM 1550

0x06 CWDM 1570

0x07 CWDM 1590

0x08 CWDM 1610

0x2A 100BaseFX SFP

0x2D 1000BaseBX10-U

0x2E 1000BaseBX10-D

 

Хотелось бы узнать - Вы можете по этим данным вытащить остальные значения? Особенно интересуют DWDM.

 

 

Ну или если у кого есть образы DWDM сфпишек, то просьба поделиться :)

Share this post


Link to post
Share on other sites

Если в EEprom'е в седьмом байте (0x06 - тот, который отвечает за тип SPF) стоит 0, то циско берет тип SFP из адреса 0x60 (один или 2 байта).

Какие типы мы нашли (мы считали, что учитывается 1 байт, поэтому в 0x61 стоял ноль):

Значение: Тип:

0x01 CWDM 1470

0x02 CWDM 1490

....

0x2D 1000BaseBX10-U

0x2E 1000BaseBX10-D

 

Хотелось бы узнать - Вы можете по этим данным вытащить остальные значения? Особенно интересуют DWDM.

по идее - все эти значения должны быть описанны в каком-то стандарте.

а так, продолжая твой ряд, DWDM значения ниже (с полоской прокрутки в правой части "кода").

 

насколько я понимаю, сначала для гига, потом десятка.

но, в какую позицию что писать - я не подскажу, это лишь таблички,

наверно есть смысл взять похожее и просто сменить по аналогии.

 

с байтами токо возможно их местами придется в переставить,

тоесть не 0x1234 а 0x3412, или просто вписать лишь значащую часть.

 

0x0001 1000BaseSX
0x0002 0xC8 1000BaseLH
0x0002 0x4B 1000BaseLX
0x0004 1000BaseCX
0x0008 1000BaseT
0x0010 1000BaseZX

0x0100 CWDM-1470
0x0200 CWDM-1490
0x0300 CWDM-1510
0x0400 CWDM-1530
0x0500 CWDM-1550
0x0600 CWDM-1570
0x0700 CWDM-1590
0x0800 CWDM-1610
0x0900 DWDM-60.61
0x0A00 DWDM-59.79
0x0B00 DWDM-58.98
0x0C00 DWDM-58.17
0x0D00 DWDM-56.55
0x0E00 DWDM-55.75
0x0F00 DWDM-54.94
0x1000 DWDM-54.13
0x1100 DWDM-52.52
0x1200 DWDM-51.72
0x1300 DWDM-50.92
0x1400 DWDM-50.12
0x1500 DWDM-48.51
0x1600 DWDM-47.72
0x1700 DWDM-46.92
0x1800 DWDM-46.12
0x1900 DWDM-44.53
0x1A00 DWDM-43.73
0x1B00 DWDM-42.94
0x1C00 DWDM-42.14
0x1D00 DWDM-40.56
0x1E00 DWDM-39.77
0x1F00 DWDM-38.98
0x2000 DWDM-38.19
0x2100 DWDM-36.61
0x2200 DWDM-35.82
0x2300 DWDM-35.04
0x2400 DWDM-34.25
0x2500 DWDM-32.68
0x2600 DWDM-31.90
0x2700 DWDM-31.12
0x2800 DWDM-30.33
0x2900 WDM-RXONLY
0x2A00 100Base-FX
0x2B00 100Base-FX-FE
0x2C00 100Base-LX-FE
0x2D00 1000Base-BX10-U
0x2E00 1000Base-BX10-D
0x2F00 100Base-BX10-U
0x3000 100Base-BX10-D
0x3100 1000BaseCX-Cable
0x3200 100Base-EX
0x3300 100Base-ZX

0x0001 10Gbase-SR
0x0002 10Gbase-LR
0x0004 10Gbase-ER
0x0008 10Gbase-LX4
0x0010 10Gbase-SW
0x0020 10Gbase-LW
0x0040 10Gbase-EW
0x0100 10Gbase-CX4
0x0200 10Gbase-LRM
0x0300 10Gbase-ZR
0x0500 10Gbase-T
0x0900 DWDM-60.61
0x0A00 DWDM-59.79
0x0B00 DWDM-58.98
0x0C00 DWDM-58.17
0x0D00 DWDM-56.55
0x0E00 DWDM-55.75
0x0F00 DWDM-54.94
0x1000 DWDM-54.13
0x1100 DWDM-52.52
0x1200 DWDM-51.72
0x1300 DWDM-50.92
0x1400 DWDM-50.12
0x1500 DWDM-48.51
0x1600 DWDM-47.72
0x1700 DWDM-46.92
0x1800 DWDM-46.12
0x1900 DWDM-44.53
0x1A00 DWDM-43.73
0x1B00 DWDM-42.94
0x1C00 DWDM-42.14
0x1D00 DWDM-40.56
0x1E00 DWDM-39.77
0x1F00 DWDM-38.98
0x2000 DWDM-38.19
0x2100 DWDM-36.61
0x2200 DWDM-35.82
0x2300 DWDM-35.04
0x2400 DWDM-34.25
0x2500 DWDM-32.68
0x2600 DWDM-31.90
0x2700 DWDM-31.12
0x2800 DWDM-30.33
0x2900 WDM-RXONLY
0x2D00 1000BaseBX10U
0x2E00 1000BaseBX10D


0x0010 10Gbase-SR
0x0020 10Gbase-LR
0x0040 10Gbase-LRM

Edited by carver

Share this post


Link to post
Share on other sites

opticin_ddm_1470_1.25G_SFP_CWDM47.120_.txt

CWDM OptiCin SFP-CWDM47.120 прошитый под циску с кодом производителя sumitomo.

Edited by KiB.org

Share this post


Link to post
Share on other sites

OPTICAL MODULE, STM-1/4 BiDirectional, 1310nm, PLUG IN

OPTICAL MODULE, STM-1/4 BiDirectional, 1490nm, PLUG IN

STM4_1_bidir_1310_256.txt

STM4_1_bidir_1490_256.txt

Edited by yuriy78

Share this post


Link to post
Share on other sites

Lucent OML16.2 109487710 SFP 80 km

Только копия не хочет работать в ADM Universal

Подскажите что еще можно сделать?

Lucent_L16.2_1550_256.txt

Edited by yuriy78

Share this post


Link to post
Share on other sites

Коллеги, а есть ли у кого прошивки под HP (модули J4858C, J4859C, J4860C, J8177C, J9142B, J9143B)?
есть J4859B, кстати чем они от J4859C отличаются?

Поделитесь плиз прошивкой для J4859B?

 

Share this post


Link to post
Share on other sites

Поделитесь пожалуйста образом на SFP Ciena IPUIAGZTAA или подобных Гигабитных (Клиенских) на 1310

Share this post


Link to post
Share on other sites

Купил Оптисиновские CWDM SFP 1330 и 1470, написал генератор прошивок (спасибо carver).

С 1470 все ок, а 1330 Cisco не выпускает, и невозможно добиться, чтобы в sh int status было CWDM-1330. Я придумал использовать 1000BaseCX, но код 0x0004 не подходит, говорит unknown.

Если 1000BaseCX закодировать значением байта 0x6, то по sh idprom, Vendor name, PN, SN и Date выводятся не ASCII строками, а в шестнадцатеричном виде, например 0x4F454D20202020202020202020202020 %-)

Поделитесь пожалуйста, кто как решает этот вопрос?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.