Помимо изменения самого байта с 00h на 02h по адресу 06h,
необходимо соответственно пересчитывать изменившуюся контрольную сумму иначе, например на куче свеженьких Ленов, переделанная память работать не будет (специально тестировал одну и ту же планку памяти с правленной CRC и нет), но обычно работает на всяких асусах и пр.
Самый простой способ это использовать специальную программу для работы с SPD, но spdtool уже давно безнадежно устарел, а Thaiphoon Burner конечно очень крут, но платный (в бесплатной версии как водится все нужные фичи заблокированы) и для наших простых задач избыточен, хотя кому интересно каждый байт прошивки описан и позволяет понимать как и что устроено. Есть еще китайский spd doctor, но опять же полноценно он вроде работает в привязке к аппаратному адаптеру.
Поэтому опишу как CRC пересчитать вручную ) Сама CRC хранится в 126 и 127 байтах прошивки (7Eh-7Fh).
1. В 7м бите нулевого байта прошивки указывается: CRC рассчитывается для 0-116 (чаще всего) или от 0-125 байт. Чтобы не напрягать голову лишний раз просто смотрим на нулевой байт - обычно его значение
92h, значит CRC рассчитывается по первому варианту 0-116
2. Берем какой-нибудь онлайн калькулятор типа
https://www.lammertbies.nl/comm/info/crc-calculation.html, не забываем поставить
галочку inpute type в положение hex, копипастим туда в строку 0-116 байты (по 74h), жмем calculate CRC и смотрим значение в строке
CRC-CCITT (XModem), не забываем про little-endian - то есть получившиеся байты CRC забить в прошивку (по адресу контрольной суммы) в обратном порядке
Вложение:
DDRL3_CRC.jpg
По поводу самой прошивки: если с 24с02 все понятно (для tl866 я обычно seiko выбираю), то у 34с02 помимо WP есть еще 2 другие защиты, одна из которых однократная и постоянная, то есть проще другую м/сх поставить.
прилепил еще исправленную прошивку для образца
PS естественно не всякая память такое "одобряет"