Welcome, Guest. Please login or register.

Author Topic: CF card on A1200 IDE: disk block read/write errors (only on files >= 1 kiB)  (Read 4904 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline screwtopTopic starter

I've recently been trying out an IDE-to-CF adapter (the buffered design by Matthias Münch available from Amigastore.eu). I'm using a 1 GB SanDisk Extreme III CF card, which I have partitioned into one large FFS partition with a MaxTransfer of 0x1fe00. It has a minimal Workbench 3.0 installed and can boot and initially seems to work, but then the system starts reporting "read error on disk block <n>" when trying to open files.

What's interesting is that when this happens, very small files can still be opened, but larger files give read errors. I can't be sure about the exact threshold (this A1200 currently has no keyboard!), but it seems that any files 1 kiB or larger would fail, while any smaller than 1 kiB are fine. Once it starts, the size-related behaviour seems quite consistent, and rebooting gets things working again.

Has anyone seen this kind of issue when working with CF cards on Gayle's IDE port (scsi.device unit 0)? I was hoping to scan for bad blocks using Pavel Fedin's CheckDisk but it reports an error getting the drive geometry, saying the device might not be a disk drive.
« Last Edit: March 11, 2025, 10:59:33 AM by screwtop »
 

Offline Boing-ball

Re: CF card on A1200 IDE: disk block read errors (only on files > 1 kiB)
« Reply #1 on: October 21, 2024, 10:22:44 AM »
Could be an issue with the CF card. Not all CF cards work in the Amiga. It has been well documented through the ages.
The other thing to consider is the workbench version. I take it you are using KickStart 3.0? If so then this could also be the issue with the version of scsi.device and FastFileSystem. Which version of scsi.device are you using?
 

Offline screwtopTopic starter

Re: CF card on A1200 IDE: disk block read errors (only on files > 1 kiB)
« Reply #2 on: March 11, 2025, 12:44:58 AM »
This A1200 finally has a usable keyboard again, so I've been able to test some more. It is a Kickstart 3.0 (V39.106) system, scsi.device V37.64, Fast File System V39.27 with directory-caching. I've been able to confirm that the read errors don't happen initially, but once they do, reading any file of 1024 bytes or larger will fail with error 255. After a reboot it works again for a short time. I don't know if the errors start after a fixed time interval or a certain amount of data read/written, or maybe it's just random.

I've tested the memory with AmigaTestKit and it seems OK. This machine has had problems with the Alice chip and CCKQ clock signal amplitude, which I've fixed by feeding -2.8 V directly to Vbb. I probably can't rule out other hardware issues, e.g. a fault with Gayle, but I'm not sure how I would diagnose that. FWIW I haven't seen this problem using the original ST9150A hard drive in the same machine, though that's using FFS-Intl rather than FFS-DC and is a mere 40 MB.

I'll try changing some variables and see what happens:
  • Smaller MaxTransfer
  • Different CF card/size
  • Different CF adapter
  • Non-DC FFS filesystem
  • Newer filesystem version
  • PFS or SFS rather than FFS
  • Newer scsi.device
  • Newer Kickstart version (I might be able to soft-kick something)

Thanks for the suggestions!
 

Offline screwtopTopic starter

Re: CF card on A1200 IDE: disk block read errors (only on files > 1 kiB)
« Reply #3 on: March 11, 2025, 10:59:11 AM »
Some useful results from tonight's testing. I can confirm that when the errors start, it affects writes as well as reads (once the errors start, I can't read any file of 1024 bytes or greater, or copy any file of 1024 bytes or greater to the filesystem, but smaller files are OK). Lowering the MaxTransfer to 0x1 does avoid the filesystem read/write errors on files 1024 bytes or larger.  However, setting MaxTransfer so low breaks other functionality: SysInfo can't run its disk speed test, ReOrg gives a warning that the MaxTransfer is too small and gives I/O errors when trying to read the root block, and of course filesystem performance is likely worse than it could be. However, it's definitely preferable overall!

I have two of these CF adapters (these buffered ones from Amigastore.eu), and both show the same (mis)behaviours.

I also tested the same CF card in the same A1200 with the same Kickstart and Workbench, with MaxTransfer=0xfe00, but using a different CF adapter (a PC Engines GMBH passive one that I've been using in my other A1200). No I/O errors on files 1024 bytes or bigger, and ReOrg runs just fine. So, maybe the SanDisk CF cards just don't like the buffered adapters for some reason. Any thoughts?
« Last Edit: March 11, 2025, 09:22:00 PM by screwtop »