After almost 2 years the issue seems still not resolved.
Although 2GB cards may not be popular anymore these days I have a couple of these which are still useful to me and sufficient for my purpose. But all fail with either EIO (line 237 in sdcard.py) or ENODEV (with os.mount()). I tested with the latest version of sdcard.py and a PyBoard 1.1 and 'black-pill' (STM32F411CEU6) with micropython 1.12-675.
No problems with several larger size cards (I have no smaller).