AROS: the long and painful road to 1.0

I needed to take a leave a bit from the blog scene because my main laptop has been infected badly by a virus so that had to reformat and reinstall my OS: plus as bonus the backup DVDs i made looks like have errors and so i might be unable to recover my old AROS virtual disk: thank god i used to work my lua scripts on Windows and have copies on my SD card.

Anyway, despite Przemyslaw “Qus” Szczygielsky fixed its TCPPrefs control panel for AROS,this does not mean that I should abandon my lua Network config project: the problems withmy computer stopped me for a while but am ready to go on: at least i hope the related aros-exec thread should be a good didactic reference point for whoever want to start an Amilua project. Anyway, is my intention to post a tutorial when will have some free time.

I already set up the user interface: both mazze answers in the thread and some lua regular expression tutorials helped me in parsing the configuration files and do backup copies of it (in a bit rudimental way, parsing them and writing in a new renamed file via script), so what else is missing?
First of all I need to set the graphical frontend gadgets according to the preferences set in the files, including pre-set the cycle gadget on the actual network card; second i need to write the new configuration with the user set parameters. And last, if i would indulge in a little ego trip, a menu with a voice to show the about window 😉 .

My Network Config Amilua app and part of the debug output window

Once done with this control panel, I would like to write sometihng to manage the Amistart calendar: one of the few widgets for Amistart, that also should be taken as example for those that want to write some more – is not happening yet, dont know why ;  another idea tingling my mind is to write a simple bookmark manager for OWB but so far there is no way to make OWB open a new address using the DOS getURL command and it is only possible to use the command OWB [url to launch] in order to open the program: it is not possible to use it with an open session: the old one needs to be closed first; i tested it personally.

At the begin of may I helped on write the AROS website status update: in this one I asserted that the latest months progresses brought AROS on the verge to be available for a daily usage; but in order to reach this goal still several obstacles need to be overcome, both on software availability, and on the system stability and affordability.

Neil Cafferkey still continues in its work on the ata.device; being this a critical piece of AROS, every time he or somebody else put its hand on it there is the risk something that used to work might break and, once it was fixed, might make it wonder how the hell was able to work before, but first let’s get the facts: An updated ata.device patch has been provided with the Icaros desktop 1.1.1 upgrade; the upgrade has been temporarily removed by Paolo Besser itself due to the fact that on computers with southbridge board AMD SB600 or with similar architectures severe data corruption occured writing data in the disc partition; beside this, several users were greeted with a black screen and the red pointer with no further boot progress. For those the solution, was less drastic, citing from the Icaros website:

If you can’t boot Icaros and the process stops after the red pointerappeared on the screen, please do as follow to fix the issue:- turn on PC
– choose a resolution from Grub’s menu but DON’T press Enter
– press ‘E’ instead
– move cursor after “ATA=32bit” and change it either to “ATA=nodma” or “ATA=nopci” (depending on what it works for you)
– press Ctrl+X to continue bootingIfbooting has success open /boot/grub/grub2.cfg with the AROS editor,search for the “ATA=32bit” string and replace it with “ATA=nodma” or”ATA=nopci”. You can do this easily, using the ‘replace’ option in the’search’ menu of the editor.

At the same time, in answer to the problem exposed by Paolo Besser, Neil Cafferkey unveils what happened in the developer’s mailing list:

I think I’ve found the cause of these problems: we don’t set the
controller’s timing registers.My guess is that when DMA *did* work with older driver versions, it was
just a coincidence: ata.device re-set the drive mode that the BIOS had
already set, so there was no need to change the timing registers.If we want to use a drive in a mode that the BIOS hasn’t set, we need to
set the controller’s timing registers to match that mode. Unfortunately,
there is no single standard for these timing registers. This is why Linux
for example has numerous PATA drivers: one for Intel, one for ATI, one for
Silicon Image etc.This problem probably became more apparent because the new driver version
checks the cable report register bits to determine if the 80-wire cables
necessary for high-speed UDMA are present. My mistake was to assume that
all PCI controllers followed the T13 spec for these registers, but I
should have realised that that was unlikely given that the spec was only
published as recently as 2003. The T13 spec is implemented by Intel (and I
only have machines and emulators with Intel chipsets to test on), but I
suspect that T13 were actually following Intel’s established design. Other
manufacturers have incompatible controller registers.

So on non-Intel controllers, the driver will incorrectly determine that
only 40-wire cables are installed, and downgrade the DMA mode from say
UDMA5 to UDMA2. Since the timing will then be wrong, data corruption is
likely to occur.

As a solution, I propose that, at least in the short term, ata.device does
not attempt to set a mode for any drive, but simply detects and uses the
mode already set by the BIOS. I hope that this will not lead to a
degradation in performace in most cases: in my small sample, BIOSes in
modern machines seem to set the best available mode for each drive by
default. I have this fix working locally. We already rely on the BIOS to
set addresses for PCI devices and enable bus-mastering, so this is just
one more thing.

In the longer term we could look at setting timings ourselves, but this
looks like a complicated procedure, and probably wouldn’t give any
performance gain in most cases.

To help confirm my theory, I set a disk in one of my PCs to MDMA mode in
the BIOS instead of UDMA, and ata.device failed to access it after it put
the drive into UDMA2 mode. It had worked perfectly when the BIOS had set
it to UDMA (UDMA1 as it happens, but probably close enough not to cause

once the ata.device was fixed, the icaros update has been restored and is now available again for download.
In the Icaros Website Paolo expressed the fact that, despite he is doing the best to offer maximum stability and performance with the most recent system libraries and programs, sometimes it might happen that some components were not fully tested, also because is hard to test all hardware configurations, and especially for a small volunteered project as AROS; Paolo also assures how, despite the actual problem, the actual situation is even improved, considered that  now AROS boots even in machines where was unable to boot before, and that, thanks to the fact that the actual users and testers are aware of the beta nature of the syatem, damage was pretty limited; those kind of accidents might happen in open source projects- without mention Linux and its well known breakages – i might not say it happens often, but it happens.

Recently Neil also worked on fix other ata.device problems, including the fact that the device thought there were two DVD drive in case a SATA DVD drive was used. The change of the device enumeration system is also planned.

Neil is actually checking DHCP system, due to the fact that, once the shell command arostcp stop is given (or  a CTRL-C break command, as is called in unix environments), the DHCP stack become unresponsive and bring the CPU usage to 100%.

At the same time Michal Schulz worked on improve graphic performance on ATI Radeon – same graphic card that he as on Efika; bot Michal and Nik  “Kalamatee” Andrews  seen how the themes design (bad) implementation is among of the culprit in slowing down Wanderer performance – this in a fairly slow system such as Efika is much more perceived ; therefore Michal worked hard in accelerate several display redraw functions and the performance on ATI radeon both on x86 and PPC are improved quite dramatically.
Kalamatee, beside its actual task in improving and modernizing Wanderer, is considering whether to take the Graphic Subsystem Bounty, but so far nothing more is known about this topic.

And, at last, a rare happening in the actual Amiga oses landscape: with a joint effort, users from both Amiga OS, MorphOS and AROS partecipated to reach the $4000 goal set for the Poseidon USB Bounty: Thanks also to the initiative of a community member, that offered to double further received offers, the actual bounty quota is at $4170. Chris Hodges, the author of the Poseidon stack, started to work at the port – which source code will be open – and the stack will be released on the APL license; this will also allow other Amiga-like oses to port and to update extend and improve the stack code.

Outside the Amiga communities (with maybe the exception of the Haiku os) the bounty system concept might sound unknown – considered that in example a bigger open source player system such as Linux usually projects are founded from those government and commercial entities interested in their further development and maintenance; for smaller projects and communities, instead – such amiga-like oses –  the bounty system is the major (almost unique for AROS) source of funding. Therefore projects like this really are funded from the community and literally belong to the community, in a sort of similar fashion to the gothic cathedrals in the middle age.

And now a last word on the Aros-exec portal: last May 22nd the portal, after another virus exploit, was once again closed: now, after a week, the portal is finally back online using an updated and exploit -free xoops version and also a nice blue-metal new skin. I by the way remember that aros-exec is mainly a development-oriented portal; is my advice to point final users to the more user-oriented portal test

commento di   Manu –   lasciato il 3/6/2009 alle 18:30


Nice status update. It was a happy read. Thanks