Problems With the Dell Axim X51 PDA Platform
Update : Dell have issued a ROM upgrade to A12 which addresses these problems. Please see below for more information and a link to this new ROM version.
Elan has observed several different problems with the Dell Axim X51 WM5 system compact flash card slot. It is clear from reading the Dell usergroups that Dell Axim X51 users have experienced a variety of problems with all types of CF card, including memory cards. Some customers report that Dell have replaced their X51 stating that the replacement includes a fix, but so far we have not found a Dell customer who's problems have been completely fixed in the new host (although for some, operation has got better) One customer has reported to Elan that Dell told him that they plan to release another ROM version which will fix the problems, but we do not know when that is expected to be.
Elan has found two specific problems with the Dell Axim X51 WM5 model :
Changes to card detection routine
Previously all CE-based operating systems would automatically look for inserted cards and check any devices found to see if they could recognise them and determine which driver to use for them. On some Dell Axim X51 WM5 systems the O/S now requires an install script for every inserted card. This change will mean that some cards are not recognised when inserted into an X51. (Non-Elan cards may also be affected)
Elan has issued a new version of elSerial to enable Elan serial cards to be detected by the Axim. Customers using an older version of elSerial will need to upgrade, and customers who were not previously using elSerial (it is not required for standard operation) will need to download and install it.
Customers offering their own card based on the Elan VPU silicon products should contact Elan for advice, bearing in mind the second problem observed with the Axim (see below)
Interrupt Latency problems
The VPU chip (used on all Elan serial cards), in common with other standard UART devices, requests an interrupt from the host as soon as the first bit of a data stream is received. The delay between this request being issued and the interrupt being generated (and thus the data collected) is known as the interrupt latency, and during this time the VPU chip stores incoming data in it's buffers.
For a typical serial application running at 38400 baud (not a particularly high speed for serial communications), an interrupt latency of 4ms is the maximum that can be tolerated without data loss. A latency in excess of this will cause the FIFOs on the VPU to fill up before the host collects the data, causing the loss.
Elan has measured the interrupt latency on the X51 at 36ms.
This means that for any application running at 'normal' serial speeds on the X51, data loss will occur because the Axim takes too long to respond to an interrupt. The most likely reason for this is that some other driver or process on the X51 is running at a higher priority and is 'blocking' the interrupt for a short time.
Elan believes that it is this problem that Dell plan to fix in a future ROM upgrade, but we do not have any confirmation of this belief from Dell.
The only work-around to prevent data loss would be to slow down the application to a data rate slow enough for the latency not to cause data loss.
Work Around
Dell have issued a new ROM version for the Axim X51 platform which addresses these problems. Affected customers should download the new ROM image A12.
