Jump to content

Is your SD-Card a fake? - check with SD Insight Android App


Recommended Posts

Posted

After reading about the actual 2018 performance test of @tkaiser and reading about the manfid and oemid of SD-Cards I did found out that my "SONY Class 10" card is a fake - also because armbian told me at the first login that the card is to slow:

Attention: Your SD card seems to be very slow. Please check performance using armbianmonitor -c

 

While searching for manfid/oemid I did read about a Android-App which can identify SD-Cards using manfid/oemid: SD Insight.

 

Doenst work not on all Android >=7.0 devices (because of a change in 7.0) but on devices <7.0 :)

On the webpage they are using a smartphone - but SD Insight work fine on a Android-TV-Box (which many here - like me - do have for installing armbian).

So I used a "old" MINIX Android-TV Box and installed SD Insight (its free) 

 

SD Insight tolds me, that my "SONY Class 10" is a SD Card from Phison Electronics Corp.

and this slow card has the same manfid/oemid ( oemid 0x5048 / manfid: 0x000027 )

like the crappy Intenso-Cards which are also has been tested in the SD-Performance test by tkaiser

 

Also interesting for me was that a old Kingston 4GB Class 4 Card is from TOSHIBA :) (out of 2016)

 

You can get SD Insight in the Google Playstore and information about the app at
https://www.humanlogic.com/sdinsight/

SD_Insight.jpg

Posted
6 minutes ago, guidol said:

interesting for me was that a old Kingston 4GB Class 4 Card is from TOSHIBA

 

Why do you think so? Most probably it's just a fake card with Kingston printed on the surface and copied flash metadata from a Toshiba card. Kingston was pretty popular amongst fraudsters some time ago: https://www.bunniestudios.com/blog/?page_id=1022

 

Also how should such an app help detecting fake flash that simply reads out some (faked) metadata, looks up in a database and then displays $something? Fake cards use faked metadata. It's pointless to trust in this metadata at all (see my above link).

 

My personal take on avoiding faked flash:

  1. Only buy A1 rated cards any more (since for the 'SBC use case' buying anything else is just a mistake)
  2. Immediately after purchase check them with either F3 or h2testw. This test will not identify modern fakes who do not fake capacity any more but use real capacity but are made out of inferior components compared to genuine cards
  3. After flashing an Armbian image with Etcher the first thing to test is 'iozone -e -I -a -s 100M -r 4k -r 16384k -i 0 -i 1 -i 2'

Why? Since fake cards suck wrt especially random IO performance. The result of such an iozone test might look like this:

root@rock64:~# iozone -e -I -a -s 100M -r 4k -r 16384k -i 0 -i 1 -i 2
	Iozone: Performance Test of File I/O
	        Version $Revision: 3.429 $
		Compiled for 64 bit mode.
		Build: linux 

	Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
	             Al Slater, Scott Rhine, Mike Wisner, Ken Goss
	             Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
	             Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
	             Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
	             Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
	             Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
	             Vangel Bojaxhi, Ben England, Vikentsi Lapa.

	Run began: Thu Jul 19 12:36:21 2018

	Include fsync in write timing
	O_DIRECT feature enabled
	Auto Mode
	File size set to 102400 kB
	Record Size 4 kB
	Record Size 16384 kB
	Command line used: iozone -e -I -a -s 100M -r 4k -r 16384k -i 0 -i 1 -i 2
	Output is in kBytes/sec
	Time Resolution = 0.000001 seconds.
	Processor cache size set to 1024 kBytes.
	Processor cache line size set to 32 bytes.
	File stride size set to 17 * record size.
                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     1272     1303     7799     7865     6380      140
          102400   16384     9837     9640    15924    14124    15921     8077

 

The 4k number for random writes (here 140) must exceed 2000 since A1 specs require at least 500 IOPS with 4k block size, iozone reports KB/s and with 4K that means we need to multiply 500 IOPS with 4K to get at least 2000 KB/s displayed. So if iozone reports anything below 2000 here I immediately ask the seller for return/refund since the card sold is not compliant to A1 performance class. Of course it's important to buy SD cards only from sellers who have a 'no questions asked' return/refund policy.

Posted

BTW: the above mentioned checks for fake capacity (and data integrity) and SD card performance are accessible in an easy way:

armbianmonitor -c $HOME

will run both f3 and iozone checks but on slow/crappy/faked cards this can take ages. Also f3 is only able to check the free remaining space on the SD card so it's strongly recommended to burn the image only with Etcher since shitty burning tools that do not do a mandatory verify (a comprehensive list of tools to avoid got collected here) would otherwise allow for areas of the card which cause data corruption to be undetected.

 

Example output from 'armbianmonitor -c':

 

tk@rock64:~$ armbianmonitor -c $HOME
Starting to fill /dev/mmcblk0p2 with test patterns, please be patient this might take a very long time
Free space: 13.47 GB
Creating file 1.h2w ... OK!
Creating file 2.h2w ... OK!
Creating file 3.h2w ... OK!
Creating file 4.h2w ... OK!
Creating file 5.h2w ... OK!
Creating file 6.h2w ... OK!
Creating file 7.h2w ... OK!
Creating file 8.h2w ... OK!
Creating file 9.h2w ... OK!
Creating file 10.h2w ... OK!
Creating file 11.h2w ... OK!
Creating file 12.h2w ... OK!
Creating file 13.h2w ... OK!
Creating file 14.h2w ... OK!
Free space: 160.88 MB
Average writing speed: 10.10 MB/s

Now verifying the written data:
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
Validating file 2.h2w ... 2097152/        0/      0/      0
Validating file 3.h2w ... 2097152/        0/      0/      0
Validating file 4.h2w ... 2097152/        0/      0/      0
Validating file 5.h2w ... 2097152/        0/      0/      0
Validating file 6.h2w ... 2097152/        0/      0/      0
Validating file 7.h2w ... 2097152/        0/      0/      0
Validating file 8.h2w ... 2097152/        0/      0/      0
Validating file 9.h2w ... 2097152/        0/      0/      0
Validating file 10.h2w ... 2097152/        0/      0/      0
Validating file 11.h2w ... 2097152/        0/      0/      0
Validating file 12.h2w ... 2097152/        0/      0/      0
Validating file 13.h2w ... 2097152/        0/      0/      0
Validating file 14.h2w ...  561290/        0/      0/      0

  Data OK: 13.27 GB (27824266 sectors)
Data LOST: 0.00 Byte (0 sectors)
	       Corrupted: 0.00 Byte (0 sectors)
	Slightly changed: 0.00 Byte (0 sectors)
	     Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 119.12 MB/s

Starting iozone tests. Be patient, this can take a very long time to complete:
	Iozone: Performance Test of File I/O
	        Version $Revision: 3.429 $
		Compiled for 64 bit mode.
		Build: linux 

	Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
	             Al Slater, Scott Rhine, Mike Wisner, Ken Goss
	             Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
	             Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
	             Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
	             Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
	             Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
	             Vangel Bojaxhi, Ben England, Vikentsi Lapa.

	Run began: Thu Jul 19 13:41:07 2018

	Include fsync in write timing
	O_DIRECT feature enabled
	Auto Mode
	File size set to 102400 kB
	Record Size 4 kB
	Record Size 512 kB
	Record Size 16384 kB
	Command line used: iozone -e -I -a -s 100M -r 4k -r 512k -r 16M -i 0 -i 1 -i 2
	Output is in kBytes/sec
	Time Resolution = 0.000001 seconds.
	Processor cache size set to 1024 kBytes.
	Processor cache line size set to 32 bytes.
	File stride size set to 17 * record size.
                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4     2116     2801    15913    11167    10142     2507                                                          
          102400     512    44468    20183    78366    77570    77159    12012                                                          
          102400   16384    13459    13774   119536   119121   119391    12728                                                          

iozone test complete.

The results from testing /dev/mmcblk0p2 (btrfs):
  Data OK: 13.27 GB (27824266 sectors)
Data LOST: 0.00 Byte (0 sectors)
Average writing speed: 10.10 MB/s
Average reading speed: 119.12 MB/s
                                            random    random
reclen    write  rewrite    read    reread    read     write
     4     2116     2801    15913    11167    10142     2507                                                          
   512    44468    20183    78366    77570    77159    12012                                                          
 16384    13459    13774   119536   119121   119391    12728                                                          

Health summary: OK

Performance summary:
Sequential reading speed:119.12 MB/s 
 4K random reading speed: 10142 KB/s 
Sequential writing speed: 10.10 MB/s 
 4K random writing speed:  2507 KB/s 

To interpret the results above correctly or search for better storage
alternatives please refer to http://oss.digirati.com.br/f3/ and also
http://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-microsd-card
and http://thewirecutter.com/reviews/best-microsd-card/

 

 

So in general rule 2) above applies: check the SD card with either F3 or h2testw prior to burning any image with Etcher. It's IMPORTANT!

Posted
7 minutes ago, tkaiser said:

Also how should such an app help detecting fake flash that simply reads out some (faked) metadata, looks up in a database and then displays $something? Fake cards use faked metadata. It's pointless to trust in this metadata at all (see my above link).OK

OK- I didnt know that they also could clone the metadata or they expend so much effort in cloning wrong metadata.
Then it would be only a little help for bad fakes where the metadata of the card hasnt changed and they only printed a wrong counterfeit on the card.

Posted
11 minutes ago, guidol said:

I didnt know that they also could clone the metadata or they expend so much effort in cloning wrong metadata

 

You should really read the above link:

Quote

the small vendors are entirely brazen about selling you well-crafted fakes. Typically, the bare cards are just sitting loose in trays in the display case; once you agree on the price and commit to buying the card, the vendor will toss the loose card into a “real” Kingston retail package, and then miraculously pull out a certificate, complete with hologram, serial numbers, and a kingston.com URL you can visit to validate your purchase, and slap it on the back of the retail package right in front of your eyes.

 

The fraudsters can use whatever metadata they want. And the 'better' ones now use metadata you can't distinguish from genuine products.

Posted

Small question i bought 32G kingstone memory card class10

But when use SD Insight app it can't detect and recognize the company

■is that mean my card is fake??!!

Note

 when use H2testw program it can read and write 30457MByte without error

But !!

THE WRITE SPEED WAS ONLY 6.79MByts/s

And read speed was only 18.2MByte/s

■it class 10 how write speed only 6.7mb is that error or what???!!!

Posted

sounds like a fake card.

you could test the speed with another usb 2.0 reader/writer.

 

kingston isnt the best brand anymore.

 

Sandisk and Samsung do build better cards.

Posted
On 8/31/2018 at 1:48 PM, guidol said:

kingston isnt the best brand anymore.

 

Sandisk and Samsung do build better cards.

 

Any card vendor can be counterfeited...

 

I've done wholesale with a trust vendor/distributor, and have got caught out with bad cards on all three brands you mention.

 

That being said - SanDisk and Samsung are vertically integrated - e.g. they design, build, sell - I've had good luck with both, but Kingston is good, as they partner up with trusted flash vendors.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines