hydrabus / hydrafw

HydraBus HydraFW official firmware for open source multi-tool for anyone interested in learning/developping/debugging/hacking/Penetration Testing for basic or advanced embedded hardware
https://hydrabus.com/hydrabus-1-0-specifications
Apache License 2.0
370 stars 92 forks source link

NandFlash support #12

Closed relax79 closed 6 years ago

relax79 commented 9 years ago

Hi bvernoux Can you add firmware later x8 and x16 nand support (I read about nand support somewhere in web for this board)? And also add 1-2-3 wire support would be good. I noob but trying MN101EF31G MCU firmvare dumping MCU have a "Clock Synchronous Serial" port 2 or 3 wire adjustable, my board have a 2-wire type programming port, Bus pirate 2-wire is I2C based but I suspect this mcu Full or Half duplex SPI based (bus speed up to 5mhz datasheet). Some people tied MOSI and MISO together for half duplex SPI but one of the pin must be hi-z status other is working condition and other problem I can't understand "AAAh AAh 555h 55h" sequence in flash command table, datasheet says command address = 0x04000 + addr .Command data ? .Can you any advice for firmvare dumping for me or any source link? I am really helpless for this thing and I open couple of thread in forums but nobody help me. Thanks, sorry for my English.

bvernoux commented 9 years ago

Such feature (NAND 8 or 16bits) Is planned in TODO list but not in top priority (as I'm the only one developer doing this project in my spare time) as there is lot of things to do before, if a developer is motivated (and have time & hardware to test it) I can even provide free HydraBus hardware for such task.

bvernoux commented 8 years ago

To be supported natively in hydrafw (at least to read/write raw sectors):

To be supported natively in hydrafw (low priority):

Not standard bus vs other NandFlash use 16bits Data + up to 22bits Addr (will be not supported):

relax79 commented 8 years ago

Hello , i am understand and thanks for your answer. Some people including me search this type cheap or diy project for usb flash and ssd data recovery(nand programmers are very expensive). These features would be nice if it were. I am so sorry for the delayed answer. Sorry for my English, thanks.

bvernoux commented 8 years ago

NandFlash support is coming Read ID already work with my Samsung NandFlash (Samsung K9F1G08U0C NandFlash 3.3V 16Mbyte (x8) (TSOP48) from http://www.waveshare.com/wiki/NandFlash_Board_(A)) see https://github.com/bvernoux/hydrafw/tree/flash

HydraBus Reading ID of Samsung K9F1G08U0C NandFlash: HydraBus Reading ID of Samsung K9F1G08U0C NandFlash Reading ID... 0xEC 0xF1 0xC0 0x95 0xD1

Baldanos commented 7 years ago

Made some changes in order to get this mode working. Right now, it is possible to read/write 8x NANDs with the patches included in this branch

To test it, you can use this modified version of DumpFlash

Demo :

~/Projects/DumpFlash > python2 DumpFlash.py -i                                                                                                                                                   [master]
Into BBIO mode
Switching to flash mode
Setting chip enable
Full ID:    AD73AD73AD73
ID Length:  6
Name:       NAND 16MiB 3,3V 8-bit
ID:     0x73
Page size:  0x200
OOB size:   0x10
Page count: 0x8000
Size:       0x10
Erase size: 0x4000
Block count:    1024
Options:    0
Address cycle:  3
Bits per Cell:  4
Manufacturer:   Hynix
Baldanos commented 7 years ago

NAND 8x mode has been added to hydraFW (https://github.com/bvernoux/hydrafw/commit/5247a8379c008bc5c481aa8afc3f5dc9e2c6a620)

Baldanos commented 6 years ago

Since Hydraflash is now available for purchase (https://lab401.com/collections/hardware/products/hydraflash), we can consider this issue as closed. HydraFlash is Open Hardware see KiCad Schematic/Board on https://github.com/hydrabus/HydraFlash