Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
dd can read about 32 MB of the entire 256 MB and ends with errors. The image contains almost exclusively the pattern of FFs with a few blocks of 00s inside...
Therefore, at least that portion has no pictures in it.
Again, if dd will not read the entire card, I know no other tricks.
Try the noerror,sync options of dd. This will cause it to just keep reading when it finds an error, and it will pad the output file to accommodate those portions of the data that it couldn't read, thus retaining filesize and presumably boundaries etc.
Dd used with the above switch starts to read device without errors up to about 32 MB, then stops for a while, then starts to read large block claiming about errors, then stops for a while etc:
dd: reading `/dev/sdd': Input/output error
63968+960030 records in
1023998+0 records out
524286976 bytes (524 MB) copied, 480.618 s, 1.1 MB/s
dd: reading `/dev/sdd': Input/output error
63968+960031 records in
1023999+0 records out
524287488 bytes (524 MB) copied, 480.618 s, 1.1 MB/s
63968+960032 records in
1024000+0 records out
524288000 bytes (524 MB) copied, 480.644 s, 1.1 MB/s
From the entire 512 MB it read about 512 MB of data in comparison to about 32 MB of output of dd used without any switches.
Final myoutfileimage contains first and foremost null data (the patterns of FFs). From time to time there are small parties of data. For example the first such party starts at offset 0x00030201 and ends at offset 0x00034002, the second starts at offset 0x003381ce and ends at offset 0x0033bfff etc. Before them and between them are the patterns of FFs.
No I go to buy some new xD picture card to test my camera and my card reader, and to compare valid card to invalid one.
YOu might also try it without the sync option. This will remove the output padding and the resulting filesize will be different than the input card size.
You might get more useful information this way, and at a minimum you will know directly how much of the card is considered to be bad.
It would be very interesting if the bad section turns out to be a power of two in size; that would suggest a bad address line in the card (which might be repairable).
I'm back here. I bought a new xD picture card. There is no in the market 512 MB cards so I was forced to buy 1 GB card.
Smaller cards are better than bigger ones. If small card fails you lose fewer pictures. The recovery of data from smaller cards is cheaper. So it's better to buy four small cards then one big one. Of course I don't take into the consideration the price, but remember: the price of the recovery of data by professional company is a few times higher than the price of the picture card.
Well... My camera works. Mu card reader works. My new card works. So now I need to send my old card to some experts...
dd: reading `/dev/sdd': Input/output error
127968+0 records in
127968+0 records out
65519616 bytes (66 MB) copied, 467.523 s, 140 kB/s
127968+0 records in
127968+0 records out
65519616 bytes (66 MB) copied, 467.571 s, 140 kB/s
An here's the content of mytwinoutfileimage, which in fact isn't the twin of myoutfileimage:
1. FFs from offset 0x00000000.
2. Nice looking data starting a partition é..FF-DSC01.. .......ø}.?...5...K.....)...............FAT16 .. etc. from offset 0x00006a00.
3. Then various logically looking data.
4. 00s from offset 0x0000ac2c.
5. Then FFs, then 00s.
6. Logically looking data from offset 0x00016600.
7. 00s.
8. Nice looking set of data including phrase .5......100_FUJI ..d..
9. 00s.
10. Nice looking data such as .5......DSCF2254JPG .dÆ.Â8Â8..Æ.Â8..¬J..DSCF2255JPG ..Ñ.Â8Â8..Ñ.Â8b.....DSCF2256JPG.
11. 00s.
12. The first picture ÿØÿá%~Exif..II*....... at offset 0x00030000.
13. The consecutive pictures at offsets 0x001a8000, 0x0031c000, 0x00488000, 0x005ec000, 0x00754000, etc.
It's real miracle! I used the same command but the result isn't the same: myoutfileimage was full of FFs with small parties of garbage -- mytwinoutfileimage looks like the image of the device.
I do almost nothing between myoutfileimage and mytwinoutfileimage. In fact I do something. I used card reader with my new xD card. I can't find any other explanation of that miracle.
***
# fdisk -l /dev/sdd
Disk /dev/sdd: 524 MB, 524288000 bytes
17 heads, 59 sectors/track, 1020 cylinders
Units = cylinders of 1003 * 512 = 513536 bytes
Disk identifier: 0xffffffff
Disk /dev/sdd doesn't contain a valid partition table
dd: reading `/dev/sdd': Input/output error
63968+960031 records in
1023999+0 records out
524287488 bytes (524 MB) copied, 471.287 s, 1.1 MB/s
63968+960032 records in
1024000+0 records out
524288000 bytes (524 MB) copied, 471.31 s, 1.1 MB/s
You plugged it in one time and it worked, but it is erratic. You might try cleaning the contacts, or you might just accept that you did get a good dump and go with that, and scrap out that card.
I removed 27136 bytes of data from the beginning of mytwinoutfileimage, mounted the remain in the file system, and copied 91 photos to hard disk. Bingo!
Not all photos are pretty. 1 displays nothing (that file starts with a block of FFs); 3 have at the edge narrow stripe cut up from the same photo (it's possible to frame them); 7 have more or less wide gray stripe and sometimes additional geometrical distortions (it's impossible to frame them in a reasonable way); 6 have geometrical distortions (they look like cut up into rectangles and stripes, and puzzled together in a strange way); 74 are pretty.
In total: 81% of pretty photos, 3% usable after framing, 6.5% usable if you like strange effects, 8.5% unusable. Good result assuming a few hour ago I had nothing.
I don't think that problem is caused by dirty contacts. My old picture card is clean and my old card reader reads my new card without problems. I think it's a kind of undeterministic bug in my old card. I will try to create a few mytoutfileimages to see the results.
The facts: my old picture card has invalid partition table; in most of cases my card reader can't read entirely my old picture card without errors; if it read it some photos are invalid.
I am totally impressed how you stuck with this. Do you realize the percentage that give up at the first roadblock?
So we can all sleep better, please assure us that you won't try to use that card in your camera again. Flash memory simply goes bad after a while, and no amount of tweaking or formatting will change that.
Sometimes persistence pays. I have had to do things like this sometimes to recover stuff off of a dead hard drive. I once found one that would work if I stood it on edge, but not if I laid it flat.
I just called Ontrack Data Recovery department in my country. The standard procedure takes a few days. Expert analysis costs 40 USD; recovering of the data costs from 180 to 550 USD.
The picture card can be damaged logically or physically.
As I said above there is no 512 MB xD picture cards on the market. The price of 1 GB xD picture card is 27 USD.
Your card is damaged physically. The symptoms make that absolutely clear, and if the damage was logical then dd would have extracted everything for you.
The picture card can be damaged logically or physically.
The above general remark about picture cards I referred to pixellany, who wrote in #13:
Quote:
Originally Posted by pixellany
I don't know what "hardware repair" you have in mind for a solid-state device, but I wish you the best of luck.
He was doubt the picture card can be physically damaged. I asked the guys from Ontrack and they said it can.
***
As for my picture card I thought so far it's logically damaged, because I could read data using software methods. Now I think you're right, jiml8. It explains strange, non-logical behavior of that card.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.