dinsdag, oktober 11, 2005

eCos

I've been playing with eCos lately. As I haven't got enough spare PCs -and because it allows me to work more efficiently- I'm using eCos on Qemu. The network card emulated by Qemu, is the widely support good old NE2000 (both ISA and PCI versions are emulated). Unfortunately, eCos doesn't support that network card, which in one way kinda surprised me, as it was a very widely supported card on desktop OSs. In fact, eCos just supports a few network cards on PC systems. Ofcourse, in another way, this isn't so surprising, x86 and it's related hardware aren't exactly the target of eCos.

Luckily, Antony T Curtis wrote a patch for Qemu to support another network card, the AMD PC-Net II. But, unfortunately, the latest release of eCos doesn't support that card either. Now, I've got three versions of eCos on my system: the latest release from the webpage, the Debian package and the latest CVS tree. After some playing around, I noticed that Qemu kept segfaulting when using the PC-Net card. Some googling turned up a few patches - which BTW have made it into the Xen repository (didn't know Xen was using Qemu) but haven't made it to the Qemu-patches page.

Now, the networkcard is nicely recognised by eCos, but the CVS branch of eCos has some other issues. Ofcourse, this is to be expected, it's the unstable CVS branch where developers push in their latest changes, but still it is kind of annoying. There hasn't been an eCos release in two years or so, so hopefully a new release will follow soon.

For the moment I'm stuck with some annoying issues: When booting Redboot, it just hangs for half a minute. The 2.0 release and also the Debian package with the same configuration on the same system, don't show this behavior. And after this, there's some problem with configuring the network card. I'm not sure whether the networkcard implementation in Qemu is to blame or the eCos driver. And I can't revert to the older eCos release to find out, as it doesn't support the card.
I'm pretty sure my code isn't to blame, as the official test mentioned in the eCos manual (ftp_test.c) doesn't work either. A mail to the eCos mailinglist could help.

Geen opmerkingen: