The net4801 board uses a single chip x86 processor from National Semiconductor, the SC1100. It is based on the Cyrix GX1 core and the CS5530 support chip, but has some differences. So far we have identified the following issues that might need a patch to the operating system:
1) TSC stops during auto halt. The GX1 core has a bug (or feature ?) where the TSC stops during auto halt. That means that the TSC is somehow useless and should not be used.
2) The SC1100 has a bug where certain PCI config cycle conbinations can cause the processor to lock up. comBIOS version 1.21 or newer reprogram the chipset to fix the problem.
3) The SC1100 built in busmaster IDE controller is pretty standard, but has two bugs: data transfers need to be dword aligned and it cannot do an exact 64Kbyte data transfer. Those bugs do not affect Compactflash modules as they by definition cannot do busmaster transfers, but will cause problems when using a 2.5" disk drive and busmastering drivers not directly supporting the SC1100.
Below are instructions for updating the different operating systems. The list will be updated as everything is being tested:
1) A patch for the TSC issue is avaliable at http://188.8.131.52/fbsd_index.html. Please note that the bcopy patch is not needed as the SC1100 do not have any video hardware.
2) Use comBIOS version 1.21 or newer.
3) FreeBSD first try using busmaster mode on a hard drive, but do a fallback to PIO when it fails. The ATA drivers maintainer Søren Schmidt has received a net4801, so a fully updated driver should be expected soon....
The quick fix is to patch /usr/src/sys/dev/ata/ata-dma.c around line 103:
scp->alignment = 0x3;
We have not been able to provoke the 64K max transfer issue, but have been told it can happen....
Kianusch Sayah Karadji has a webpage with a set of patches for Linux kernel 2.4.22.
A quick test with a OpenBSD 3.3 CompactFlash image went fine, but further testing is needed...
Should be fixed in latest version.