You buy a 128 GB microSD card from a market stall for much less than the shop price. You put it in an old Android phone that you use as an offline security camera. The phone says "128 GB". Everything works for a day or two.
Then something happens and you go back to watch last Tuesday's recording. The file is there. It has the right name and the right size. It will not play.
Short answer: The card may be a fake-capacity card. It reports a big size to the phone, but it only has a small amount of real memory inside. Writing works normally until the real memory is full. After that, data is lost, and in the test results shown below, files written earlier were destroyed too. The phone gets no warning. The only reliable check is to fill the whole card with test data and read all of it back, using a free tool such as H2testw (Windows) or F3 (Linux/Mac). Do it once, on the empty card, before the card goes into the camera.
This guide is for anyone who records to an SD card with no cloud backup: a shop counter, a storeroom, a gate, a house. If the card is the only copy, the card has to be honest.
What is a fake-capacity SD card?
There are a few kinds of fake card. TP-Link's support guide for its own security cameras lists several: slow cards with fake speed labels, fake brand names, impossible sizes (it says a "2TB" microSD listing is fake because no such card exists yet), and cards that do not work at all (TP-Link FAQ 2592).
The worst kind is the reduced-capacity card. TP-Link describes it like this:
"These cards are modified to report a much larger storage size than they actually contain. For example, a 32GB card may appear as 128GB on your device. Any data written beyond the real capacity becomes corrupted or unavailable."
And:
"Reduced-capacity fake micro SD cards are the most dangerous type because they will almost certainly result in data loss."
The important word is report. The phone does not measure the memory chip. It asks the card how big it is, and the card answers. A fake card has been set up to give a bigger answer than the real chip inside.
Why is this worse for a security camera than for a photo phone?
Two reasons.
1. A camera fills the card by itself, all day and all night. A person taking photos might take months to fill 32 GB. A camera recording video non-stop can do it in a day. So a camera finds the hidden limit fast, usually when you are not looking.
2. The damage can reach back to old files. This is the part most people do not expect. The F3 project's documentation shows the test result from a real fake card. The card said it had about 29 GB free. The test wrote 29 files of 1 GB each, and every write said "OK". Then it read them back (F3 usage docs):
Validating file 1.h2w ... 0/ 2097152/ 0/ 0 Validating file 2.h2w ... 0/ 2097152/ 0/ 0 ... Validating file 24.h2w ... 1916384/ 180768/ 0/ 0 ... Data OK: 1.02 GB (2131424 sectors) Data LOST: 27.81 GB (58322336 sectors) The author's comment on this result:
"files from 1.h2w to 23.h2w were written before 24.h2w and yet had all their content destroyed. Therefore, it is not wise to test nonempty cards because if the card has a problem, it may erase the old files."
Think about what that means for a camera. Files 1 to 23 are your older recordings. They were written first. They looked fine when they were written. Later writes destroyed them. If you only check the newest clip, you could miss it completely.
(Not every fake card fails in exactly this pattern. F3's own documentation says the way a fake drive overwrites data "is arbitrary". The safe assumption is: once a fake card passes its real size, nothing on it can be trusted.)
How long until a fake card shows the problem?
That depends on how much video the camera writes per hour. Here is simple arithmetic, using 1 GB = 1,000,000,000 bytes:
GB per hour = bitrate in Mbit/s × 3600 ÷ 8 ÷ 1000
| Video bitrate | GB per hour | Real 8 GB fills in | Real 32 GB fills in | A true 128 GB would fill in |
|---|---|---|---|---|
| 2 Mbit/s | 0.9 | ~8.9 hours | ~35.6 hours | ~5.9 days |
| 4 Mbit/s | 1.8 | ~4.4 hours | ~17.8 hours | ~3.0 days |
| 8 Mbit/s | 3.6 | ~2.2 hours | ~8.9 hours | ~1.5 days |
Read one row. At 4 Mbit/s, a card sold as "128 GB" that really has 32 GB inside will start losing data after about 18 hours. The phone still thinks it has around two more days of space left. Nothing on the screen tells you anything is wrong.
These bitrates are examples, not a measurement of any specific app. Your real number depends on resolution, frame rate and the scene. The point holds at any bitrate: the camera reaches the real limit long before the phone thinks the card is full.
Can I spot a fake card just by looking at it?
Sometimes, not always. TP-Link's guide suggests checking the packaging for specifications, speed class, warranty information and a proper barcode (UPC), and buying from an authorized seller. Good warning signs:
- The price is far below what the same card costs at a proper shop.
- The size does not exist (a 2 TB microSD, for example).
- The packet has no warranty details, no barcode, or poor printing.
- The card is "used" or "refurbished". TP-Link advises against buying these.
But a good-looking packet proves nothing. The only real proof is a full write-and-read test.
How to test an SD card on a Windows PC (H2testw)
H2testw is a small free Windows program from the German computer magazine c't (heise). It needs no installation. TP-Link's guide links to a copy and describes the steps:
- Back up anything on the card, then format it. The test fills all free space, and a fake card can destroy old files during the test.
- Put the card in a card reader on the PC.
- Open H2testw and choose the card's drive letter.
- Select "all available space".
- Click "Write + Verify".
- Wait. On a large card this can take hours, because it writes the whole card and then reads the whole card.
If the card is fake, H2testw reports errors and shows how much data was really written and read back correctly. A genuine card reads back everything with no errors.
How to test an SD card on Linux or Mac (F3)
F3 means "Fight Flash Fraud". It is free software and uses the same idea as H2testw. On a Mac with Homebrew: brew install f3. On Ubuntu/Debian it is usually packaged as f3.
f3write /media/YOUR_CARD/ f3read /media/YOUR_CARD/ f3write fills the card with 1 GB test files. f3read checks every one. A good card ends with Data LOST: 0.00 Byte.
One trap to know about. Some fake cards have a small internal cache that can make the last part of the test look good if you read back immediately. F3's author found one "128GB" card with less than 8 GB real memory where about 256 MB of data looked fine right after writing and was gone after the card was reset. His advice: unplug the card and plug it back in between f3write and f3read. Do this with H2testw too, if you can.
On Linux, F3 also has a much faster test called f3probe, which needs root and an external USB card reader. It is destructive. Use it only if you are sure you have picked the right device.
What if I only have the phone? A rough check
Many people setting up a phone camera do not have a PC. You can still do a rough check with the phone alone. It is not as good as H2testw or F3, because it does not check every byte, but it catches many fakes:
- Put the empty card in the phone.
- Record or find one video file that plays well. Note its size.
- Using the phone's file manager, copy that file to the SD card again and again until the card is full. (This takes time. Keep the phone on the charger.)
- Restart the phone, so it reads the card fresh.
- Play the first copy, a copy from the middle, and the last copy.
If the first or middle copies will not play or show broken pictures, the card is fake. If all of them play, that is a good sign, but not proof. If you can borrow a PC for an hour later, run the full test.
TP-Link's guide also names an Android app, SD Insight, for checking cards. I have not tested it, so I cannot tell you how reliable it is.
I already have a fake card. Can I still use it?
Ask for your money back first. The F3 author says it too: "fight back and get your money back!"
If that is not possible, F3 includes a tool called f3fix (Linux only). It makes a new partition that only covers the real memory, so the phone sees the true size. After that, run f3write/f3read again on the fixed card. The F3 docs show one fixed card that passed, and another that still had corrupted sectors. Their advice: repeat the test, and if errors stay, "the drive is junk".
For a security camera, I would not trust a fixed fake card with recordings that matter. A fake card has already shown you the seller cut corners on the memory inside. Buy a proper card for the camera and use the fixed one for something unimportant.
A simple routine for any new card in a camera phone
- Buy from a shop that will take it back.
- Test it empty, with H2testw or F3, before first use. Reconnect the card between writing and reading.
- Keep the receipt with the phone until the test passes.
- After the camera has been running for a few days, play an old clip, not just the newest one.
- Remember a genuine card can still wear out. The full test only proves the size is real today.
Related guides
- Even a genuine card can fail quietly in 24/7 use: The microSD Card Is the Weakest Part of a 24/7 Phone Camera
- Why a single recording stops near 4 GB on many cards: The FAT32 SD Card Limit, exFAT, and…
- Whether to "format as internal storage": Should You Format the SD Card as Internal Storage on an Old Phone Security Camera?
- Buying the phone itself second-hand: Four Checks to Do at the Shop
About the app
Background Camera RemoteStream turns an Android phone into a camera that records with the screen off and keeps the video on the phone — no cloud account, and it works without internet. It can also show a live view in a browser on your local network through its built-in web server, and stream to YouTube Live; per the Play listing, browser live view and YouTube Live are Pro features, so check the listing for the current free vs Pro details.
Because the recordings stay on the device, the storage under them matters. Test the card before you trust it.
More at superfunicular.com.
