First post, by flynth
I've been using this generic CF card to IDE drive adapter with a 16GB CF card (in a 386SX system with AMI bios 1.0). I found out CHS settings for the CF card in its datasheet. Also I used QEMU on a modern linux PC to format the disk and install DOS on it. It seems to run fine, however often I'm having a weird issue with it. Sometimes when I move the card from the DOS PC to my linux PC, the linux PC can;t mount the filesystem with errors like this in system log:
[208310.275389] Buffer I/O error on dev sdh, logical block 0, async page read
[208310.275394] sdh: unable to read partition table
[208310.275425] sd 12:0:0:0: [sdh] Attached SCSI removable disk
[208310.279667] sd 12:0:0:0: [sdh] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[208310.279673] sd 12:0:0:0: [sdh] tag#0 Sense Key : Illegal Request [current]
[208310.279675] sd 12:0:0:0: [sdh] tag#0 Add. Sense: Invalid field in cdb
[208310.279678] sd 12:0:0:0: [sdh] tag#0 CDB: Read(16) 88 00 00 00 00 00 ff ff ff 80 00 00 00 08 00 00
[208310.279679] critical target error, dev sdh, sector 4294967168 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[208310.279891] sd 12:0:0:0: [sdh] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[208310.279893] sd 12:0:0:0: [sdh] tag#0 Sense Key : Illegal Request [current]
[208310.279895] sd 12:0:0:0: [sdh] tag#0 Add. Sense: Invalid field in cdb
[208310.279897] sd 12:0:0:0: [sdh] tag#0 CDB: Read(16) 88 00 00 00 00 00 ff ff ff 80 00 00 00 08 00 00
[208310.279898] critical target error, dev sdh, sector 4294967168 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[208310.279901] Buffer I/O error on dev sdh, logical block 536870896, async page read
I can't even run fdisk on linux to check the partition table at this stage, but then if I move the CF card to the DOS box it does boot. Then I run scandisk. I let it run over the Surface scan where the data is and following that the CF card works fine in linux. Until the next time. It seems it happens mostly when I write a lot of data to it on linux.
Perhaps it is a dodgy card, or maybe modern linux's support for fat16 is not that great? I'm not sure.