Kb9012qf a3 как прошить

от admin

Kb9012qf a3 как прошить

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Подключаем программатор CH341A к компьютеру и видим, что в ОС появилось новое устройство с вином VID и PID (VID_1A86&PID_5512)

ATMEL
AT24C01B AT24C01 AT24C01A AT24C02 AT24C02A AT24C02B AT24C04B AT24C04 AT24C04A AT24C08A AT24C08B AT24C08 AT24C16 AT24C16A AT24C16B AT24C32B AT24C32A AT24C32 AT24C64 AT24C64A AT24C64B AT24C128 AT24C128A AT24C128B AT24C256B AT24C256 AT24C256A AT24C512B AT24C512A AT24C512 AT24C1024 AT24C1024A AT24C1024B

CATALYST
CAT24C01 CAT24WC01 CAT24WC02 CAT24C02 CAT24C04 CAT24WC04 CAT24WC08 CAT24C08 CAT24WC16 CAT24C16 CAT24WC32 CAT24C32 CAT24WC64 CAT24C64 CAT24WC128 CAT24C128 CAT24WC256 CAT24C256 CAT24C512 CAT24WC512 CAT24C1024 CAT24WC1024

COMMON
24C01 3V 24C01 5V 24C02 3V 24C02 5V 24C04 5V 24C04 3V 24C08 3V 24C08 5V 24C16 5V 2406 3V 24C32 5V 24C32 3V 24C64 5V 24C64 3V 24028 5V 24C128 3V 24C256 5V 24C256 3V 24C512 5V 24C512 3V 240024 3V 24C1024 5V 24C2048 5V 24C2048 3V 24C4096 5V 24C4096 3V

FAIRCHILD
FM24C01L FM24C02L FM24C03L FM24C04L FM24C05L FM24C08L FM24C09L FM24C17L FM24C16L FM24C32L FM24C64L FM24C128L FM24C256L FM24C512L FM

HOLTEK
HT24C01 HT24LC01 HT24CD2 HT24LC02 HT24C04 HT24LC04 HT24C08 HT24LC08 HT24C16 HT24LC16 HT24LC32 HT24C32 HT24LC64 HT24C64 HT24C128 HT24LC128 HT24C256 HT24LC256 HT24LC512 HT24C512 HT24C1024 HT24LC1024

ISSI
IS24O01 IS24C02 IS24C04 IS24C08 IS24C16 IS24C32 IS24C64 IS24C128 IS24C256 IS24C512 IS24C1024

MICROCHIP
MIC24LC014 MIC24AA01 MIC24AA014 MIC24LC01B MIC24LC02B MIC24AA02 MIC24C02C MIC24AA025 MIC24AA04 MIC24LC04B MIC24LC024 MIC24AA024 MIC24LC025 MIC24LC08B MIC24AA08 MIC24LC16B MIC24AA16 MIC24LC32 MIC24AA32 MIC24LC64 MIC24FC64 MIC24AA64 MIC24FC128 MIC24AA128 MIC24LC128 MIC24AA256 MIC24LC256 MIC24FC256 MIC24AA512 MIC24LC512 MIC24FC512 MIC24AA1024

NSC
NSC24C02L NSC24C02 N5C24C64

RAMTRON
FM24CL04 FM24C04A FM24CL16 FM24C16A FM24CL64 FM24C64 FM24C256 FM24CL256 FM24C512

ROHM
BR24L01 BR24C01 BR24L02 BR24C02 BR24L04 BR24C04 BR24L08 BR24C08 BR24L16 BR24C16 BR24L32 BR24C32 BR24C64 BR24L64

ST
ST24C01 ST24C32 ST24C02 ST24C64 ST24C04 ST24C08 ST24C16

XICOR
X24O01 X24C02 X24C04 X24C08 X24C16

AMIC
A25L512 A25L05P A25L10P A25L010 A25L020 A25L20P A25L40P A25L040 A25L080 A25L80P A25L016 A25L16P A25L032

ATMEL
AT25F512 AT25F512B AT25F512A AT25FS010 AT25F1024 AT25F1024A AT25F2048 AT25DF021 AT25F4096 AT25FS040 AT25DF041A AT25DF321A AT26DF321 AT25DF321 AT25DF641

COMMON
25X005 25X05 25X10 25X20 25X40 25X80 25X16 25X32 25X64 25X128 25X256 25X512 25X1024 25X2048

EON
EN25F05 EN25P05 EN25LF05 EN25F10 EN25LF10 EN25D10 EN25P10 EN25F20 EN25D20 EN25LF20 EN25F40 EN25D40 EN25LF40 EN25Q80 EN25D80 EN25F80 EN25P80 EN25T80 EN25B16T EN25T16 EN25B16 EN25D16 EN25F16 EN25Q16 EN25P32 EN25Q32 EN25F32 EN25B32 EN25B32T EN25Q64 EN25B64 EN25F64 EN25B64T EN25F128 EN25Q128

ES
ES25P10 ES25P20 ES25M40A ES25M40 ES25P40 ES25M80 ES25P16 ES25M80A ES25P32 ES25P80 ES25M16 ES25M16A

ESMT (только чтение)
F25L04UA F25L16PA F25L004A F25L32QA F25L08PA F25L32PA F25L008A F25L016A

GIGADEVICE
GD25Q512 GD25Q10 GD25Q20 GD25F40 GD25D40 GD25Q80 GD25D80 GD25T80 GD25F80 GD25Q16 GD25Q32 GD25Q64 GD25Q128

MXIC
MX25V512 MX25L4005A MX25L1635D MX25L3237D MX25L6455E MX25L12845E MX25L512 MX25V4035 MX25L1605D MX25L3225D MX25L6408D MX25L1005 MX25V4005 MX25L1608D MX25L3205D MX25L6406E MX25L2005 MX25V8005 MX25L3235D MX25L3206E MX25L6445E MX25L8035 MX25L8005 MX25L3208D MX25L6405D MX25L12805D

NEXFLASH
NX25P10 NX25P20 NX25P40 NX25P80 NX25P16 NX25P32

NSHINE
MS25X05 MS25X16 MS25X10 MS25X32 NS25X20 MS25X64 NS25X40 MS25X128 MS25X80

PMC
PM25LV512A PM25LV016B PM25LV010A PM25LV020 PM25LV040 PM25LV080B

SAIFUN
SA25F005 SA25F160 SA25F010 SA25F320 SA25F020 SA25F040 SA25F080

SPANSION
S25FL004A S25FL032A S25FL040A S25FL064A S25FL008A S25FL128P S25FL160 S25FL129P S25FL016A S25FL128A

SST (только чтение)
SST25VF512A SST25VF512 SST25VF010 SST25VF010A SST25 SST25VF020 SST25VF040B SST25VF040A SST25VF040 SST25′ SST25VF016B SST25VF032B SST25VF064C

ST
M25P05A M25PE10 M25P10A M25P20 M25PE20 M25PE40 M25P40 M25PE80 M25P80 M25PX80 M25PX16 M25P16 M25PE16 M25P32 M25PE32 M25PX32 M25PX64 M25P64 M25PE64 M25P128

WINBOND
W25X10 W25X10L W25P10 W25X10AL W25X10A W25P20 W25X20AL W25X20A W25X20 W25X20L W25X40A W25P40 W25Q40BV W25X40L W25X40 W25X40AL W25Q80BV W25Q80V W25X80 W25P80 W25X80A W25X80L W25X80AL W25P16 W25Q16BV W25Q16V W25X16 W25Q32BV W25Q32V W25X32 W25P32 W25Q64BV W25X64 W25Q128BV

Kb9012qf a3 как прошить

Программатор RT809F, поддерживает программирование популярного мультиконтроллера применяемого на материнских платах в ноутбуках Lenovo, Acer и других.

Схема подключения программатора к MIO KB9012QF

Подключаем KB9012QF проводом наименьшей длины или прямо с ног KB9012QF или (что предпочтительней) с контактов с гнезда клавиатуры.

KB9012QF — Колодка ZIF RT809F — (или к Адаптер под пайку soic8, как на фото выше)

59 — 5 — 1
60 — 10 — 6
61 — 9 — 5
62 — 6 — 2
42 — 8 — 4 ( 42 ногу mio, обязательно соедините с массой на материнской плате и с программатором 4 ногу на соик8 адаптере под пайку)

Рабочие прошивки на MIO KB9012QF , на многие модели ноутбуков, можно скачать с нашего Файло-Обменика.

Kb9012qf a3 как прошить

Схема подключения программатора TNM-5000 к KB9012:

Схемы подключения к некоторым материнкам:

В прошивки влаживайте текстовый файл с описанием ноутбука, парт-номер материнской платы и что еще посчитаете нужным.

Acer Aspire E1-571:
E1-571

на данный момент реализовано у меня следующим образом.
PC только отправляет и принимает байты прошивки + немножко накладных расходов на реализацию протокола. Скорость общения по USB каналу (через FT232RL) 921600 бит в сек. Быстрее уже не может MEGA88. 921600 / 9 (8 бит это на байт + 1 стоп бит =9 ) получаем 102400 байт в секунду и это если канал будет занят на 100% и без пауз. Рассмотрим в идеале — при такой скорости мы можем гонять около 100КБ в секунду. (102400/1024). Тоесть в «тепличных» условиях мульт с флешем в 128КБ мы за 1-2 секунды можем прочитать.
НО! Нужно организовать протокол для доступа к самой микросхеме мульта, чтобы положить/считать с нее 1 байт, плюс накладные расходы на протокол общения меги и PC, плюс мега работает на 14 мегагерцах и т.д. и т.п . В итоге мы получаем, к примеру, секунд 20.
Если кратко — вся рутина реализована на стороне MEGA88, PC только отправляет и принимает байты. Минимальный трафик передачи данных по USB. Отношение 90% времени передача дампа и 10% накладные расходы на протокол. Прошивка растет с добавлением новых задач.

Сейчас я хочу, чтобы мега занималась только положить/считать из порта. Мега будет гнать сырые данные, не анализируя. Анализировать и думать будет PC, как более быстрый и т.д.
Однако, в этом методе очень много лишних отправок и команд, но есть и свои плюсы. В теории пока получается вполне приемлимая скорость, но приходится на ходу оптимизировать.
Переход на этот метод требует переписывания почти с нуля и оболочки и прошивки в M88.
Если кратко по этому способу — вся рутина реализована на стороне PC, а мега обычный ногодрыг. Огромный лишний трафик по каналу USB. Отношение от 20% до 50% времени — передача дампа и от 80% до 50% накладные расходы из-за лишних данных. Прошивка растет только на стороне PC с добавлением новых задач.

Kb9012qf a3 как прошить

Kb9012qf a3 как прошить

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

ATMEL
AT24C01B AT24C01 AT24C01A AT24C02 AT24C02A AT24C02B AT24C04B AT24C04 AT24C04A AT24C08A AT24C08B AT24C08 AT24C16 AT24C16A AT24C16B AT24C32B AT24C32A AT24C32 AT24C64 AT24C64A AT24C64B AT24C128 AT24C128A AT24C128B AT24C256B AT24C256 AT24C256A AT24C512B AT24C512A AT24C512 AT24C1024 AT24C1024A AT24C1024B

CATALYST
CAT24C01 CAT24WC01 CAT24WC02 CAT24C02 CAT24C04 CAT24WC04 CAT24WC08 CAT24C08 CAT24WC16 CAT24C16 CAT24WC32 CAT24C32 CAT24WC64 CAT24C64 CAT24WC128 CAT24C128 CAT24WC256 CAT24C256 CAT24C512 CAT24WC512 CAT24C1024 CAT24WC1024

COMMON
24C01 3V 24C01 5V 24C02 3V 24C02 5V 24C04 5V 24C04 3V 24C08 3V 24C08 5V 24C16 5V 2406 3V 24C32 5V 24C32 3V 24C64 5V 24C64 3V 24028 5V 24C128 3V 24C256 5V 24C256 3V 24C512 5V 24C512 3V 240024 3V 24C1024 5V 24C2048 5V 24C2048 3V 24C4096 5V 24C4096 3V

FAIRCHILD
FM24C01L FM24C02L FM24C03L FM24C04L FM24C05L FM24C08L FM24C09L FM24C17L FM24C16L FM24C32L FM24C64L FM24C128L FM24C256L FM24C512L FM

HOLTEK
HT24C01 HT24LC01 HT24CD2 HT24LC02 HT24C04 HT24LC04 HT24C08 HT24LC08 HT24C16 HT24LC16 HT24LC32 HT24C32 HT24LC64 HT24C64 HT24C128 HT24LC128 HT24C256 HT24LC256 HT24LC512 HT24C512 HT24C1024 HT24LC1024

ISSI
IS24O01 IS24C02 IS24C04 IS24C08 IS24C16 IS24C32 IS24C64 IS24C128 IS24C256 IS24C512 IS24C1024

MICROCHIP
MIC24LC014 MIC24AA01 MIC24AA014 MIC24LC01B MIC24LC02B MIC24AA02 MIC24C02C MIC24AA025 MIC24AA04 MIC24LC04B MIC24LC024 MIC24AA024 MIC24LC025 MIC24LC08B MIC24AA08 MIC24LC16B MIC24AA16 MIC24LC32 MIC24AA32 MIC24LC64 MIC24FC64 MIC24AA64 MIC24FC128 MIC24AA128 MIC24LC128 MIC24AA256 MIC24LC256 MIC24FC256 MIC24AA512 MIC24LC512 MIC24FC512 MIC24AA1024

NSC
NSC24C02L NSC24C02 N5C24C64

RAMTRON
FM24CL04 FM24C04A FM24CL16 FM24C16A FM24CL64 FM24C64 FM24C256 FM24CL256 FM24C512

ROHM
BR24L01 BR24C01 BR24L02 BR24C02 BR24L04 BR24C04 BR24L08 BR24C08 BR24L16 BR24C16 BR24L32 BR24C32 BR24C64 BR24L64

ST
ST24C01 ST24C32 ST24C02 ST24C64 ST24C04 ST24C08 ST24C16

XICOR
X24O01 X24C02 X24C04 X24C08 X24C16

AMIC
A25L512 A25L05P A25L10P A25L010 A25L020 A25L20P A25L40P A25L040 A25L080 A25L80P A25L016 A25L16P A25L032

ATMEL
AT25F512 AT25F512B AT25F512A AT25FS010 AT25F1024 AT25F1024A AT25F2048 AT25DF021 AT25F4096 AT25FS040 AT25DF041A AT25DF321A AT26DF321 AT25DF321 AT25DF641

COMMON
25X005 25X05 25X10 25X20 25X40 25X80 25X16 25X32 25X64 25X128 25X256 25X512 25X1024 25X2048

EON
EN25F05 EN25P05 EN25LF05 EN25F10 EN25LF10 EN25D10 EN25P10 EN25F20 EN25D20 EN25LF20 EN25F40 EN25D40 EN25LF40 EN25Q80 EN25D80 EN25F80 EN25P80 EN25T80 EN25B16T EN25T16 EN25B16 EN25D16 EN25F16 EN25Q16 EN25P32 EN25Q32 EN25F32 EN25B32 EN25B32T EN25Q64 EN25B64 EN25F64 EN25B64T EN25F128 EN25Q128

ES
ES25P10 ES25P20 ES25M40A ES25M40 ES25P40 ES25M80 ES25P16 ES25M80A ES25P32 ES25P80 ES25M16 ES25M16A

GIGADEVICE
GD25Q512 GD25Q10 GD25Q20 GD25F40 GD25D40 GD25Q80 GD25D80 GD25T80 GD25F80 GD25Q16 GD25Q32 GD25Q64 GD25Q128

MXIC
MX25V512 MX25L4005A MX25L1635D MX25L3237D MX25L6455E MX25L12845E MX25L512 MX25V4035 MX25L1605D MX25L3225D MX25L6408D MX25L1005 MX25V4005 MX25L1608D MX25L3205D MX25L6406E MX25L2005 MX25V8005 MX25L3235D MX25L3206E MX25L6445E MX25L8035 MX25L8005 MX25L3208D MX25L6405D MX25L12805D

NEXFLASH
NX25P10 NX25P20 NX25P40 NX25P80 NX25P16 NX25P32

NSHINE
MS25X05 MS25X16 MS25X10 MS25X32 NS25X20 MS25X64 NS25X40 MS25X128 MS25X80

PMC
PM25LV512A PM25LV016B PM25LV010A PM25LV020 PM25LV040 PM25LV080B

SAIFUN
SA25F005 SA25F160 SA25F010 SA25F320 SA25F020 SA25F040 SA25F080

SPANSION
S25FL004A S25FL032A S25FL040A S25FL064A S25FL008A S25FL128P S25FL160 S25FL129P S25FL016A S25FL128A

SST (только чтение)
SST25VF512A SST25VF512 SST25VF010 SST25VF010A SST25 SST25VF020 SST25VF040B SST25VF040A SST25VF040 SST25′ SST25VF016B SST25VF032B SST25VF064C

ST
M25P05A M25PE10 M25P10A M25P20 M25PE20 M25PE40 M25P40 M25PE80 M25P80 M25PX80 M25PX16 M25P16 M25PE16 M25P32 M25PE32 M25PX32 M25PX64 M25P64 M25PE64 M25P128

WINBOND
W25X10 W25X10L W25P10 W25X10AL W25X10A W25P20 W25X20AL W25X20A W25X20 W25X20L W25X40A W25P40 W25Q40BV W25X40L W25X40 W25X40AL W25Q80BV W25Q80V W25X80 W25P80 W25X80A W25X80L W25X80AL W25P16 W25Q16BV W25Q16V W25X16 W25Q32BV W25Q32V W25X32 W25P32 W25Q64BV W25X64 W25Q128BV

Kb9012qf a3 как прошить

Kb9012qf a3 как прошить

Acer Aspire E1-571:
E1-571

Kb9012qf a3 как прошить

ENE KB9012 (KB9012QF) is a popular EC embedded controller found at many laptops’ motherboards. It controls the essential functions of laptop: internal keyboard input, fan speed (is adjusting it according to the temperature), and so on. Unlike some other ECs, KB9012 contains the internal embedded e-flash memory of 128 KB size (131072 bytes) with a firmware. Without a working firmware installed, a laptop will refuse to boot

Until recently, computer enthusiasts who needed to replace the burned KB9012 ECs (possible result of laptop’s power circuits failure) — to install a firmware to the new KB9012 they had to rely on proprietary expensive hardware and software tools. However, thanks to Paul Kocialkowski who has developed the KB9012 flashrom patches, now it is possible to flash KB9012 using the cheap open / free-as-in-freedom hardware + software: CH341A / Bus Pirate + flashrom

This expansion article below describes how to flash the KB9012 by giving an example of how to do it for Lenovo G505S — AMD based laptop that is supported by coreboot project. Even if your laptop is different, you will still benefit from reading this article because the instructions will be quite similar in your case

Getting the right tools

This article is the expansion of Flashing_a_BIOS_chip_with_Bus_Pirate — it is recommended that you have successfully followed and completed a previous article, so that you already have the necessary tools and skills. In addition to the tools described in this article, you will also need:

Keyboard-like flex cable

EC KB9012’s firmware could be flashed through the keyboard port. While some very skilled people could solder to this port or to EC directly, it is very difficult for ordinary people because of a small pitch. That is why you need a keyboard-like flex cable

For Lenovo G505S this cable is perfect:

Link is for 10 cables. Why get just 1-2 when you could have 10 for a price of 3 ?

Please note that for another laptop you might need a cable with a different count of pins or different pitch

Electrical insulation tape

White — to match the color of cable

It could be cheaper to buy this one locally, check your local electrical stores

Читать:
Копирование в буфер не выполнено в автокаде что делать
CH341A programmer

Bus Pirate is too slow while dealing with KB9012. For example, reading a firmware: CH341A does it just for 13-14 minutes; Bus Pirate needs 40 minutes even at SPI speed = 8 MHz. Full set of flashrom KB9012 operations could take several hours for BP, and — while this is acceptable if you need to do it only once (e.g. flash a firmware to the recently installed replacement of burned KB9012) — it is still highly recommended to get CH341A:

CH341A programmer is very cheap and supported by flashrom since 0.9.9 version

Test hook clips

Test hook clip could be used to expose the GND from motherboard’s corner GND copper circle. This tool is optional (as you will see later at Motherboards_GND part) but still a great tool to have

Power jack cable

This is purely optional. Although this cable could be extracted from your laptop, it is much more convenient to use a separate one:

Total expenses
Chapter Item (right mouse click —> open in a new browser tab) Price
1 Keyboard-like flex cable 10x New AWM 20624 80C 60V VW-1 FFC Ribbon, Flex Flat Cable, L= 30mm (3cm), W=30.5mm, 0.5mm Pitch, 30pin, Reverse $7
2 White electrical insulation tape 10m of 18mm PVC electrical wire insulation tape $2.12
3 CH341A programmer CH341A programmer $2.35
4 Test hook clips 10 pcs of 5 color Test hook clips SMT TEST IC with 10 pcs dupont cable $2.53
5 Power jack cable Lenovo G505S power jack cable $5.19 6 — Total expenses X $19.19

Gathering the datasheets

Datasheets are necessary to reliably determine the pinout of laptop’s keyboard, its’ relation to KB9012 pinout, and learn about the hardware in general. Try your best to find a datasheet for your laptop!

Lenovo G505S (LA-A091P)

The motherboard inside Lenovo G505S has been developed by Compal and manufactured by Palwonn and Hannstar PCB providers (according to motherboard markings). Depending on modification of G505S laptop, your motherboard could be:

[*] LA-A091P rev.1.0 — discrete graphics is 8570M

[*] LA-A091P rev.1.A — discrete graphics is 8570M

[*] LA-A091P rev.1.A — discrete graphics is R5 M230

[*] LA-A092P rev.1.A — no discrete graphics

While a datasheet is publicly available only for LA-A091P rev.1.0 , other models have the similar specifications and schematics. You could find this available datasheet by searching the internet for Compal_LA-A091P_r1.0.pdf or by following one the links below:

1) SendSpace — click blue «Download» button between «Save to my account» and «File Size: 1.85MB»

2) Datafilehost — under Download button, untick V near «Download with Secured Download manager» before clicking «Download»

3) PDF archive — scroll down the page and click «Download original PDF file (PDF1.7, 1894 KB)

ENE KB9012 (KB9012QF A3)

There are multiple hardware revisions of KB9012QF : A1, A2, A3, A4. Datasheet is publicly available only for A3 hardware revision, although the other revisions should be similar. You could find this available datasheet by searching the internet for KB9012QF.pdf or by following one the links below:

1) SendSpace — click blue «Download» button between «Save to my account» and «File Size: 3.65MB»

2) Datafilehost — under Download button, untick V near «Download with Secured Download manager» before clicking «Download»

3) PDF archive — scroll down the page and click «Download original PDF file (PDF1.5, 3739 KB)

Crafting the interface

Learning the pinout

Below is an image of keyboard-like flex cable inserted to G505S LA-A091P motherboard:

To determine the interface pinout, I had to extract the following information from datasheets:

1) KB9012 — 18 / 21 / 25 pages, ENE Debug Interface (EDI) pins

2) G505S (LA-A091P) — 36 and top right of 37 page, JKB1 keyboard port pins (enable 200% scale of document)

KB9012 pin KSI number JKB1 pin Signal name Signal description
59 KSI4 5 EDI_CS CS, Chip Select
60 KSI5 6 EDI_CLK CLK, Serial clock input
61 KSI6 3 EDI_DIN MOSI = DI, Serial Data Input
62 KSI7 2 EDI_DO MISO = DO, Serial Data Output
42 KSO3 18 TP_PLL_Lock Enable EDI: GND, Ground

Here is an updated image which shows the interface pinout:

Flashing keyboard cable

After we learned the pinout, now we need to solder five 1P cables to keyboard-like flex cable. The pitch is 0.5mm, but there is an excellent workaround of how to solder the wires very easy! Look at this picture:

Using the high quality stainless steel scissors, cut 15 mm (1.5 cm) at these thin vertical lines — surrounding the five pins which we need. Cut slowly right in the middle between the pins and watch carefully where are you cutting! Not in hurry!

Now, each needed pin could be temporarily moved away from its’ neighbours, which makes the soldering very easy. Just get five of one-sided 1P copper wires (length of each should be smaller than 10cm) and then follow the instructions from article linked below:

[*] Wire_soldering (right mouse click —> open in a new browser tab)

After you have finished the soldering, put some insulation tape on the cable to isolate the not-needed pins and make a cable stronger (its’ structure became weaker after your cutting)

If you have done everything correctly, you should receive this:

NOTE: Instead of soldering the wires to keyboard-like flex cable, you could attach the test hook clips — but this setup is physically less reliable. Also, the bottom parts of test hook clips’ ends (attached to keyboard-like flex cable) are metal — put some electrical insulation tape to prevent them touching the motherboard while flashing

1P to 3P adapter

For successful flashing we will need to unite three grounds:

[*] GND of laptop’s motherboard

[*] GND of CH341A / Bus Pirate

[*] GND of ENE KB9012

That can be done using the 1P to 3P adapter. How to make it — read a previous article:

You could re-use the 3P adapter (which has been created earlier for BIOS flashing) but it is much more convenient to have two of them. Actually you could make just 1P to 2P — because we need to unite three grounds, not four. However, it is better to make 1P to 3P for compatibility purposes — just make sure that this extra pin does not touch your board while flashing to avoid the shortening, or isolate it temporarily for a peace of mind

NOTE: Instead of soldering this adapter you do the following:

1) take two of 20cm copper 1P wires

2) cut them in half to get four of 10cm one-sided 1P wires

3) remove the insulation from their not-covered-by-plastic ends

4) twist these ends and tie them together in a knot

5) wrap the electrical insulation tape around this knot

but this setup is physically less reliable

Motherboards GND

In order to unite three grounds, we need to expose motherboard’s GND — which is located at these big «copper rings» where the screws are installed when a laptop is assembled. As you could see at one of the images above, I found a great «copper ring» with large distance between it and board’s SMD elements, then soldered 1P wire to it

Although you could repeat it after me, this is not suitable if you don’t want to solder anything to your board. Luckily, you could attach to corner GND «copper ring» without any soldering! Here are three ways of how to do it:

Just a wire

1) Get a 10 cm one-sided 1P copper wire and remove a part of insulation on its’ end (using a lighter trick from Wire_soldering article)

2) Pass it through a corner GND «copper ring» and twist like at this image:

If to twist carefully (don’t over-twist), this wire could be used for many times

NOTE: This way is less safe because those 12 strands at wire’s end — are not insulated. Make sure that they do not touch anything on board while flashing, to avoid the shortening!

Insulated wire

12 cm from 20cm copper 1P wire

2) Remove 4-5 cm of its’ insulation (using a lighter trick from Wire_soldering article)

3) Slightly twist the end of wire and tie it in a small knot (less than 1mm diameter)

4) Insulate a knot, as well as the end of wire’s insulation, using the parts of 1mm diameter shrinking tube — leaving about 2cm of not-insulated part

5) Insulate the plastic part of wire (because its’ «window» has a metal part, and also to make a stronger wire)

After following these instructions you would receive something like this:

Pass this wire through a corner GND «copper ring» and twist like at this image:

If to twist carefully (don’t over-twist), this wire could be used for many times

Test hook clip

This is a test hook clip:

It is very easy to attach it to motherboards corner GND «copper ring» :

Connecting and flashing

Connecting

Connect a flashing keyboard adapter to programmer of your choice, using the recently-obtained pinout — sorted by JKB1 pin number:

KB9012 pin KSI number JKB1 pin Signal name Signal description
62 KSI7 2 EDI_DO MISO = DO, Serial Data Output
61 KSI6 3 EDI_DIN MOSI = DI, Serial Data Input
59 KSI4 5 EDI_CS CS, Chip Select
60 KSI5 6 EDI_CLK CLK, Serial clock input
42 KSO3 18 TP_PLL_Lock Enable EDI: GND, Ground
CH341A

CH341A with connected 1P wires coming from a keyboard-like flex cable:

In some cases I need to place CH341A on top of motherboard, so I insulated the bottom of CH341A. Here is a ready-to-be-used CH341A with keyboard-like flex cable connected:

Bus Pirate

Because the pinout table is printed at another side of Bus Pirate, the order of table columns is different than if to look from the front side. This is very inconvenient. Here is a Bus Pirate v4 front pinout with the columns order already corrected:

NOTE: For Bus Pirate v3 there are different pinouts depending on its’ hardware revision, so it is more reliable if you look by yourself

Ready-to-be-used Bus Pirate v4 with keyboard-like flex cable connected:

Flashing setup

Plug in a keyboard-like flex cable to the motherboard’s keyboard port:

Connect a 1P cable of motherboard’s ground to programmer’s and KB9012QF’s grounds using the recently-created 1P to 2P/3P adapter. Grounds need to be united for the successful flashing!

After you have united the three grounds, connect a power adapter to motherboard through the power jack cable (which could be extracted from your laptop, or bought separately for convenience) But, before doing that, make sure there are no extra metal stuff (scissors, screws, screwdriver bits, etc.) touching your naked motherboard

Possible flashing setup connections:

Now, after everything is ready, you could start flashing!

Flashing

You must have a working PC with Linux to get and install the flashrom — using the instructions from here: http://www.flashrom.org/Downloads#Installation_from_source (or just boot from a LiveCD, but it «installs» temporary to your RAM so you will need to get it again each time)

KB9012 support patches have been merged with the flashrom’s master branch (12 February 2018)

^^^ That happened very recently! If you would install a flashrom version from your Linux distribution repositories, it will be some outdated «stable» version — of course without KB9012 support. Same goes for the «stable releases» of flashrom Soldering | Manufacturing | Parts and Tools | Projects

Похожие статьи