Are the drive contents, or format, dear to you?
If not, and you're OK with blowing it away (to be fdisk
'ed later), there is a test you could try (but you would do so at your own risk, since you would have to recreate the partition table, and it would execute a write cycle for every cell on the drive...and there is risk involved
Having stated that disclaimer, you could try:
dd if=/dev/zero of=/dev/sdX
where X is the letter that represents your flash drive.
(Be aware that if you get this wrong, and enter the letter for your internal drive, you will completely erase your PC!
when the command gets to the end of the device, and can't write anymore, it will display how much data was copied. This will definitively tell you the size of the drive. It will also completely erase it, preparing it for a brand new fdisk
session (writing the dos label "o", and everything
If you're at all nervous, the DO NOT
If you would like more details, or the results of this explained, post here, and we can take this further...