Spi flasher



Инструкция по считыванию образа nand-памяти xbox 360 по USB интерфейсу

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

если есть LPT-порт и объем nand-памяти 16Мб — на всех falcon версиях xbox 360, можно произвести считывание nand без USB-extractor по данным этой статьи или этой инструкции по установке Freeboot.

На материнских платах jasper рекомендуется использовать USB-метод, т.к считывание только одно образа nand через LTP-интерфейс занимает 7 часов ( требуется 3 как минимум для безопасности)

Доставка почтой РФ в любой город России

свободный USB-порт
Windows 2000/XP.

Инструкция по установке:

1. Подключить XBOX 360 NAND экстрактор в USB порт компьютера, установить драйвер для нового устройства.
Скачать драйвер для usb spi flasher
2. Установить PortIO. ( идет в комплекте с nandpro )
3. Перезагрузить компьютер.

Для снятия содержимого NAND флэш-памяти xbox 360:

1. Соединить контакты XBOX 360 NAND-экстрактора и материнской платы Xbox как показано на рисунке.
По этой же схеме можно собрать usb spi flasher самому, предварительно подготовив на программаторе микросхему.

2. Подключить блок питания к приставке, затем в розетку (саму консоль не включать), включить компьютер.
3. Запустить NandPro, в командной строке, ввести
Nandpro usb: -rY nand.bin (где Y – объём NAND флэш-памяти).
Nandpro usb: -rY nand2.bin — для второго считывания
Nandpro usb: -rY nand3.bin — и соответственно для получения 3-ей резервной копии nand
Убедитесь, что FlashConfig имеет верное значение (таблица ниже).


Значение flashconfig | Тип материнской платы | Объем NAND
01198010 . | Xenon,Zephyr,Falcon . | 16 Мб
00023010 . | Jasper, Cronos . |16 Мб
008A3020 . | Jasper, Cronos . | 256 Мб
00AA3020 . | Jasper, Cronos . | 512 Мб

При неверном значении FlashConfig проверьте качество соединения проводов.
Дождитесь окончания считывание NAND-а.
Во время чтения могут возникать ошибки типа 250, 280, 300. Это нормально( битые сектора в nand-памяти ), но если будут ещё другие ошибки, то проверьте качество соединение проводов. После считывания окно закроется. При наличии битых блоков нужно производить их remap ( копирование в резервную область )
Описание процесса есть в данной статье

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

Eсли Usb spi flasher применяется для записи образа в nand-микросхему, например для восстановления консоли при ошибках E71 , E79 и пр , вызванных неверным nand-образом,
то используются следующие команды

USB Nand SPI Flasher

Contents

What’s this ? Edit

With this Flasher you can read or write the xbox 360’s nand. It is very easy to build and costs about 25€. Unfortunatly if you dont have a LPT-port you wont be able to program the PIC, which is used in the flasher. But you can use a pci-lpt-card, which normally doesnt work with nandpro..

Software Edit

I am not sure if the program «PDFSUSB» is freeware/shareware so i removed it. Try to google it.

The flasher is built with PIC 18F2550, which is the cheapest out there. PIC 18F2455 works aswell.

Before you can build the flasher you need to program the PIC.

There are several ways to prog it. The easiest to build programmer is ART2003. Another programmer is the TAIT Classic Programmer.

Programmers Edit

ART2003 Edit

Parts list Edit

1x 28 IC Socket

1x Resistor 220 Ohm1/4W

1x 47-100 uF 15V

18x Diodes 1N4148

1x DB25 Male Parallel Connector

Schematics for the Programmer Edit
Programming the Pic Edit

program it with PicXBoot.hex

TAIT Classic programmer Edit

Parts list Edit

1x 270 Ohm 1/4W Resistor

1x 1K Ohm 1/4W Resistor

Schematics for the Programmer and programming the PIC Edit

You need an external 5V supply, for this you can use a USB cable, cut it. Black-wire: GND, Red-wire: 5V

Programming the PIC: Download PicPGM, plug the PIC onto the programmer, plug it in and use PicPGM to flash PicXBoot.hex

Remove the both hooks from invert in the configuration, before programming.

The Flasher Edit

(thanks to DarkstarTM, cory1492, Straßenkampf and all others who were involved)

Parts list Edit

1-12 MHz resonator

5x 100 Ohm Resistor 1/4W

2x 10k Ohm Resistor 1/4W

some connectors for USB, the jumper and the SPI output/input

Programming the Flasher Edit

Solder it together, plug it in by USB, it will be recognized as Custom USB device, use the driver in «Driver for PDFSUSB». Start PDFSUSB and flash PICFLASH.hex to it. Unplug the flasher from the PC and plug it in again. It will now be recognized as «Memory Access», this time use the driver in «Driver for the Flasher», it will then be recognized as LibUSB.

Connect it to the xbox mainboard and use nandpro.

If the flasher gets recognized by nandpro but no flash config:

— wires going to the mobo either not soldered good or soldered to the wrong points

Технохрень

Рубрики

Еще по теме

Программатор SPI Flash своими руками

В общем это нужно чтобы перепрошивать 8 ножные SPI флешки. А это в свою очередь нужно чтобы восстанавливать роутеры, сбрасывать пароли на биосы и восстанавливать их, и много чего еще.

Будем делать за 10 минут самый простой программатор своими руками на Ардуино 🙂 Понадобится Arduino Pro Micro ну или любая другая (будет отличаться только распиновка на ардуино). Собираем эту сложную схему:

Пофиг что 5 вольт, еще ничего не сгорело ни разу. Но только выпаивать флешки надо из платы, так как другие элементы могут быть не такими устойчивыми))))

Вот прошивка (скетч) для ардуины:

Metamorf

Распиновка Arduino nano v3.0
1 — d2
2 — 12
3,7,8 — vcc (5v)
4 — GND
5 — 11
6 — 13

Андрей

Привет, микросхема 25l8006e со скаллера (после кривой прошивки через усб, была не вовремя прервана). При запуске этого программатора, после выбора нужного ком-порта, открывается окно программы с белым экраном вместо данных и зависает — not responding. Куда копать? Большое Спасибо.

admin

Привет, ну либо провода слишком длинные либо что то с ардуиной не то. попробуйте подключится к ней через монитор порта на скорости 115200 и отправить букву t — если напишет COM ok то проблемы между флешкой и ардуиной или с самой флешкой. Если не напишет COM ok тогда что то не то с ардуиной 🙂
Если с флешкой проблема попробуйте укоротить провода к ней, ну или другую флешку, может какая-то несовместимость 🙂 Еще почему то не всегда программатор с arduino mini работает

Андрей

Получилось с Мегой! С Nano v3 на отрез отказывается работать. Спасибище. 🙂

Сергей

Всё отлично, хороший программатор на скорую руку получается. Автору огромное спасибо. Только вот я его нагуглил, когда хотел прошить 93C56… А такие маленькие он не шьет(

admin

прошьет))поставьте минимальный размер при прошивке. если нужно считать — фулфлеш потом обрежете просто. а если нужно записать — курсор ставьте на первый байт и записывайте файл нужного размера, хоть 64 байта ))

Алексей

Спасибо автору! Если внимательно прочитать и сделать как описано, то все получится! Впервые решил перепрошить роутер. Была под рукой запылившаяся Ардуино Нано. Соединил провода. Скачал последний IDE. Прошил успешно.

Павел

Спасибо автору огромное! Очень помогло! Вот только не решил проблему: на меге 2560 первые 128 байт заливаются сплошные FF.

admin

Может флеш не исправна?

Константин

Все собрал. ID читает. После нажатия на считывание фулфлеш программа перестает отвечать. Как с этим бороться? Заранее спасибо

admin

Вариантов несколько:
— либо слишком длинные провода к флешке
— либо слишком китайская ардуина (например нано в3)
— либо дохлая флешка

Огромное спасибо автору! Восстановил камеру Soocoo C30 после неудачной прошивки. Все супер !

Wikly

Автор молодец! Спасибо! Было бы прям совсем отлично, если бы сама прога на ПК была под 32х разрядную систему!

Wikly

И еще, при попытке скачать фулфлеш, почему то сохраняется только 4 КБ из 4096. Хм.
Arduino UNO,
flash: Winbond w25q32bv

Serprog/Arduino flasher

Contents

Hardware basics

You’ll need to have:

  • a supported Arduino, these are
    • any based on the ATmega328 (/168/88 will work with small changes too), like the Arduino Uno R3.
    • Arduino Mega or Mega2560, but notice that the software has a different branch for them.
  • a way to convert the 5V logic levels to 3.3V (except if 3.3V arduino, these are rarer)
  • a 3.3V SPI flash chip that is supported by flashrom
  • The FTDI based usb-serial converters are the fastest.
  • 1.8V conversion isnt covered here, yet.

There are some simple schematics included here (source). The idea is that you pick one version from each part 1 through 3, and connect the pin/net names.

Part 1: The Arduino

ATmega328 based ones:

For the Arduino Megas:

Part 2: Level translation

There are a few options here, ranging from the simple resistors (v1) to a buffer chip (v3).

One thing to remember about the resistor dividers is that they’re not strong enough to do ISP.

Here’s the simple resistors:

The part count for the resistor divider is 6 resistors of 2 types or 9 of one type.

Here’s one with 5 resistors, the downside is that you’ll need to modify the firmware a little:

The 3rd version is using the DIP16 HEF4050 buffer chip:

Part 3: The SPI Flash chip

The DIL-8 and SOIC-8 versions connect like this:

For the SMD SOIC-16 chips the pinout is:

Gallery of some flashers

Alternative: Shield with SPI and LPC/FWH for 5V Arduinos

  • This shield and firmware was built for 5V ATMega328s with FTDI, variations to that will need adaptations in building the shield and/or in the firmware. The Uno R3 will work with the fast-usbserial U2 firmware.
  • This shield uses a different pin for SPI CS than the other circuits on this page, and has LPC/FWH capability, thus different firmware. Frser-duino does have the code for using the CS like in this shield, but you need to modify spihw.h.
  • Note: do check for any incompatibilities between your arduino and the shield, eg. the PD7 used as LPC CLK clashes with BT reset in BT arduinos.
  • For LPC/FWH, current (16/02/01) flashrom trunk will be really slow, please use this branch instead.

Software and setup

The Arduino Uno R3 and other arduinos with an ATmega8U2/16U2 as an usb-serial converter have lots of bugs in their usb-serial firmware that prevent it from operating at more than a limited 115200 baud. The frser-duino firmware works around this by default if you use the appropriate make target, but there exists a firmware that allows these to be used like the FTDI at 2Mbaud: fast-usbserial.

Setup

Required software

To make it work you need:

  • A recent flashrom with the serprog protocol compiled in (most packaged versions do)
  • frser-duino which runs on the arduino
    • This page used to link to serprog-duino, frser-duino should build in a similar fashion and has better serial buffering and some other features (spi speed setting).
  • The avr toolchain(avr-gcc, avr-libc,make etc. )
Building the software

First get the firmware source:

For a board with a 8u2 or a 16u2:

For a board with an ftdi:

Building for the Mega1280 or 2560

As above, except use the branch for the 1280:

For the Mega2560, change the Makefile to target the correct MCU (replace 1280 with 2560). Please also verify that the avrdude command is as expected for your device.

Running flashrom

The right flashrom arguments are explained in the README.md, or here:

So for a board that has an ftdi that would give:

Speed

The speed is very dependant on the flash chip used:

  • Its capacity impacts the speed a lot, as you would expect.
  • The chip model as also a huge impact.

SPI Flasher

Got a Raspberry Pi ? A few more bucks turn it into a networked SPI Flash chip reader/writer

Become a Hackaday.io member

Not a member? You should Sign Up.

Already have an account? Log In.

Team ( 1 )

Related lists

Raspberry Pi Projects

Projects based on everyone’s favorite low cost Linux Machine — The Raspberry Pi

This project is submitted for

This project was created on 09/20/2015 and last updated 10 months ago.

Description

A small PCB (extension bus to DIP-8 adapter) and a well configured SD card are all you need to turn your RPi into a SPI Flash programmer/dumper that you can use from the command line or your browser!

Written originally for WizYAsep http://wizyasep.com in C for Linux, only the low-level routines (GPIO and SPI) are specific to the Raspberry Pi. A smart programming algorithm has been developed to reduce wear.
This system was integrated in the YGWM framework and uses the HYX file format.

It is currently limited to 3.3V chips with 24-bits addresses (128KB to 16MB capacity). I have validated 25LC1024, M25P40, A25L40P, AT26DF321, W25Q32BV, W25Q64, W25Q128F. Please contribute your own chips 🙂

Raspberry Pi 2/3 compatibility is coming.

Details

The purpose of this project is to support the #YASEP and other Free Hardware Designs with the help of a device that is :

  • Cheap: no significant investment so even beginners can do it
  • Compact and autonomous : can operate with a battery pack for easy handling on site (yes I have used mine outdoors in winter with no access to mains. )
  • Easy to make yourself : simple, easy to find components, no hard-to-solder parts.
  • Based only on Free Software (Affero GPLv3+ is chosen for everything)
  • Exempt of any proprietary technologies (directly or indirectly), such as USB: no driver or configuration to do for the user (you can use any OS or browser)
  • Plug&Play : connect it to your computer or the local hub, point your browser to the IP and start playing.
  • Perennial : store it for years on a shelf without fear of obsolescence.
  • Powerful through integration with other modules from the YASEP framework

A Flash SPI programmer is an essential engineering tool that has been done over and over. I built my first LPT-based SPI programming dongle around 2004, using instructions found on the Web. It was cheap and smart, stealing the power supply off the pull-up resistors, but you know what happened to the parallel printer port. Do you even have one left somewhere ?

Today most interfacing duties are performed over USB but this creates a whole lot of problems that will make me digress and rant.

Fortunately Ethernet is one of the last communication ports that still remains in today’s cost-conscious consumer (autistic) «PC»s. It requires no driver or explicit configuration (nowadays DHCP is the norm) and TCP/IP is a venerable, well understood protocol that reaches wayyyy beyond the boundaries of your desk. You can use the programer on a desk across the room, in another room, in another building or.

The Raspberry Pi also bridges the gap between sophisticated OS and IO bitbang, along with affordability and availability. Its success strengthens the world of the Linux nanoPCs, where the competition benefits everybody and reintroduces directly-accessible IO pins !

Deciding to host the YGWM framework on a Pi was a natural choice, despite Pi’s shortcomings (let the competition do its work :-D). For a Free Hardware Design project to succeed, it is essential that the entry barrier remains as low as possible and now most hackers have a nanoPC or two to tinker with. Turning a Pi into a SPI master interface requires little additional hardware so the differentiation comes from the software and its integration.

The OS is derived from Raspbian, my version is #Raspbian Squeezed that can work without monitor and can be abruptly powered off without any risk.

The flashing program tries to do one thing and do it well. It is a single C program working as a CGI with the standard Apache HTTP server. It handles a custom file format called .HYX that is easy to understand, parse or generate. The trick is that it can support other file formats through the use of filters, like oldfashioned UNIX programs. UNIX filters are already provided to export/import in JSON and raw binary formats. Better yet: through its integration with the #YGWM tools, you can import data from other sources and create your own filters in JavaScript, which keeps the C file short and clean.

The rebuilding work has started, with the now working #C GPIO library for Raspberry Pi a (which now supports Pi2 and Pi3) #C SPI library for Raspberry Pi. It will take a while to get the whole stack working nicely again but this is on my roadmap.

Отправить ответ

avatar
  Подписаться  
Уведомление о