The new hotplug script uses comedi/usbdux.c for firmware upload and not fxload
any more. fxload is too unreliable and seems to be missing or different among
different distros. All users of usbdux boards report problems which are fxload
related. The new hotplug script simply uses comedi_config -i firmware.hex. This
fix also removes problems with the usbdevfs (race in 2.6, sleep, ...). The
usbdevfs is no longer needed.
Bugfix version of the firmware. When running ./cmd and ./ao_waveform at the same
time I got CRC errors on the USB. Reason: some registers in the FX2 need a
syncdelay. After a write to a register no other write is allowed to any other
register for a certain time. This is called "Syncdelay". Introduced syncdelays
for all EP registers. Now the CRC errors are gone.
Another bugfix: the byte for the CPUCS register was wrong (shifted one bit to
the left). This resulted in undefined processor speed. The speed was chosen just
by chance at power up (12Mhz,24Mhz,48Mhz).
Had to change the USB 2.0 transfer protocol from IRQ transfer to ISO transfer.
Reason: IRQ transfer is still not stable (2.4/2.6). However, ISO transfer has
been rewritten in the kernel and works (just now in 2.6 but will be backported
sooner or later)!
I supply new firmware and a new version of the driver which now uses ISO
transfer throughout (1.1 / 2.0).