- DISCLAIMER: this guide is provided here only "just for fun" for experimental, research and educational purposes without any guarantees (or warranties, responsibilities, obligations, liabilities etc.; even no repeatability guaranteed, as this guide has been based solely on just one particular specimen device, sorry), so use it at your own risk (even more, the so-called "reverse engineering" can possibly be illegal in some areas);
- ATTENTION (DANGER): it can result in an irreversible destruction of ALL or ANY data stored on the target device (including the loss of important metadata like device usage statistics, but it's not wise to hope it will heal / recover / restore any worn-out memory blocks / chips or make the device good as new in performance) and, in theory, on some other storage devices -- please back up ALL the valuable data FIRST;
- CAUTION: it may even brick your device;
- WARNING: moreover, it may void the warranty, if any.
- Feel safe & free to enjoy! ;-)
Software & hardware info, reviews, notes, tutorials, FAQs and HOWTOs...
Having fun is mandatory!
Showing posts with label flash. Show all posts
Showing posts with label flash. Show all posts
2014-07-01
Hints: how to upgrade customized Micron C400 SSDs to the latest generic firmware version
Important notes:
2013-10-03
2013-01-06
HOWTO: stress-test a USB flash drive for bad blocks in Linux
Once upon a time you may like to test your USB flash drive [or maybe a SATA HDD, who knows] for bad blocks.
First of all, backup all the data stored on the target drive;
then you should unmount any mounted partitions located on that drive:
Then you can begin the tests (CAUTION: these tests will destroy all the stored data on the tested drive).
You can use
or with pseudorandom data:
and it will stop unexpectedly on a bad block.
And there's also a little more handy utility called
It will sequentially fill the entire
References:
First of all, backup all the data stored on the target drive;
then you should unmount any mounted partitions located on that drive:
# umount /dev/sdz1
You can use
dd
utility to fill the drive with zeros:# dd if=/dev/zero of=/dev/sdz
# dd if=/dev/urandom of=/dev/sdz
And there's also a little more handy utility called
badblocks
:# badblocks -wso /tmp/badblocks.log /dev/sdz
/dev/sdz
device with some patterns (0xAA, 0x55, 0xFF, 0x00), then read and compare the read data with an actual pattern. A list of bad blocks will be written to /tmp/badblocks.log
file.References:
2012-11-21
Some notes about the serial ports & USB-to-serial bridge controllers / converters / cables
Sometimes you may need to get a serial / console cable to connect your embedded device (a router / mobile phone / etc.) to your desktop / laptop computer to do some debugging / administration / maintenance operations (e. g. firmware upgrade).
Basically, there are 2 common versions of serial ports which have incompatible voltage logic levels: ones using TTL/CMOS [lower, 5V / 3.3V] levels and others with RS-232 [higher, up to 25V!] ones.
There are some signal level shifters / converters though, such as the Maxim MAX232 chip.
USB-to-Serial/UART bridge chips operate mostly with TTL/CMOS-level signals; the most widely used series are:
meanwhile, Prolific PL-2303 are probably the most popular series of the USB-to-serial converter chips found in old cheap mobile phone USB data cables; therefore, you can easily modify such cable to get a cheap USB-to-serial (UART) adapter instead of buying a separate one.
Warning: poor quality PL-2303 Chinese chip clones can often be found in cheap "data cables".
Here are sample USB device IDs of 2 counterfeit chips (data provided by
Last updated: 2014-06-10
Basically, there are 2 common versions of serial ports which have incompatible voltage logic levels: ones using TTL/CMOS [lower, 5V / 3.3V] levels and others with RS-232 [higher, up to 25V!] ones.
- RS-232-level serial ports are commonly found on relatively older PCs; these ports are often marked as "COM" and usually have DB9M connectors; in some cases, serial ports have DB25F connectors and should not be confused with parallel ports ("LPT") which were commonly used for connection of printers.
- The majority of modern embedded devices (such as routers, phones, GPS navigators, multimedia players and TVs) have an internal TTL/CMOS-level serial port.
There are some signal level shifters / converters though, such as the Maxim MAX232 chip.
USB-to-Serial/UART bridge chips operate mostly with TTL/CMOS-level signals; the most widely used series are:
- Silicon Labs: CP21xx (CP2101, CP2102, CP2103, CP2104, CP2105, CP2108, CP2109, CP2110 etc.);
- FTDI: FT232 (B, H, R etc.);
- Prolific Technology: PL-2303 (EA, HX (HXA, HXD), RA, SA, T (TA, TB), X (XA) etc.).
- MS Windows & Apple Mac OS X drivers can be usually found on manufacturer's website (see above);
- in modern Linux distributions, the necessary drivers are built-in.
meanwhile, Prolific PL-2303 are probably the most popular series of the USB-to-serial converter chips found in old cheap mobile phone USB data cables; therefore, you can easily modify such cable to get a cheap USB-to-serial (UART) adapter instead of buying a separate one.
Warning: poor quality PL-2303 Chinese chip clones can often be found in cheap "data cables".
- Fake chips are marked like "AS8303", "MS3303" etc., or even fully imitate original markings.
- Production date printed on the chip is often invalid (e. g., it's far in the future).
- Their USB device IDs (VID & PID) can be identical to the original chips or different.
- The chip drivers provided for MS Windows installations are represented by the original or slightly (new copyrights & device IDs only) modified original (often outdated to bypass the original vendor driver protection) PL-2303 drivers.
- Data communication powered by such a fake chip cable is unstable, can often be interrupted and result in data loss and other problems.
Here are sample USB device IDs of 2 counterfeit chips (data provided by
lsusb
utility from the usbutils package in Debian GNU / Linux OS):
- marked as "MS3303HG", USB IDs don't resemble the original ones:
ID 0e55:110b Speed Dragon Multimedia, Ltd MS3303H USB-to-Serial Bridge - marked as "A1 AS8303DS", USB IDs are identical to the original ones:
ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Last updated: 2014-06-10
Subscribe to:
Posts (Atom)