Using the Poseidon USB stack

 
Home    Tutorials    Using the Poseidon USB stack
 

Introduction
Both the Amiga911 disk and the Emergency Disk II floppy can include a minimalistic version of the Poseidon USB stack. By default you will be limited to using usb hubs and mass storage devices only, but support for usb mice, keyboards & cd-rom drives can also be included.  Furthermore, Trident prefs will not be used since it requires MUI (Magic User Interface), and there's no way this can fit on the boot disks.  Instead the alternative method of running Poseidon will be used, where the AddUSBHardware and AddUSBClasses commands are controlled directly by some small script files I have created.


The poseidon.library used
A special cut-down smaller version of the poseidon.library (where PoPo, online support and most string tables are removed) will be included on the disks, This library have been supplied to me by Chris Hodges, who also gave me permission to include it with the Amiga911 Maker distribution. I hope it's OK for me to include it on the ready-made boot disks as well.
Have in mind that this version of the poseidon.library is NOT meant to be used as a replacement of the original library!  If you want Poseiden to be installed on your Amiga, and you also want to use Trident as well, you should ALWAYS use the poseidon.library that's included with the Poseidon distribution.


How to use Poseidon
After booting up your disk, just take look in the Ram:System/System dir (Amiga911), or the Ram:System drawer (Emergency Disk II), where you'll find a file called PoseidonMan. Double click this and the requester you see on the right will appear, then you can simply use this for starting and stopping the stack. You can also find PoseidonMan in the workbench menu as well.

The "Add Classes" button is there in case you need to add more usb classes after the stack has been started. An example of this can be classes that isn't present on the boot disk, but that you have stored somewhere else. Then all you have to do is copy the requested classes to Ram:System/Classes/USB drawer, run PoseidonMan, and finally click "Add Classes".

Please note! Upon starting the stack, there might be a "object not found" message amongst the output created. This is the result of a minor fault in the script, and it doesn't mean there's something wrong with Poseidon. The reason is due to a failed attempt at using the Skip command.
 


If you want Poseidon to be automatically launched upon booting, you can open the Startup-Sequence on the boot disk by using Ed or another text editor, then scroll down the text file until you can see the following line:
 
;Execute >NIL: S:StartPoseidon
 
Remove the semi-colon at the beginning of the line, and save the file. Now Poseidon should start automatically the next time you boot the disk.


Adding more classes and hardware drivers
To Amiga911 Maker projects:  If you want to add some other usb classes or drivers that cannot be selected in Amiga911 Maker, all you have to do is copy the requested classes to the "System1/Classes/USB" drawer found in your project dir,  For hardware drivers, just copy the wanted one(s) to the "System1/Devs/USBHardware" drawer.  By copying the file(s) to these two drawers, it makes sure that they are included in the System1.lzx archive on the finished boot disk, where they will use less disk space than in uncompressed form.

To already existing boot disks:  If you need to add more classes to your disk, all you have to do is create a "Classes/USB" drawer on the floppy, and then copy all the wanted classes to it.  As for usb device drivers, just make sure that a "Devs/USBHardware" dir exists on the disk, and copy the wanted driver(s) into it.



Some general notes regarding Poseidon
1.  The minimum requirements for using the Poseiden stack is AmigaOS 3.0 and a 68020 processor.
2.  One of the main limitations of using Poseiden the way it's done on the boot disks, is that Posidon will only use it's default settings. And the default for USB CD-ROM drives is to use AmiCDFS as the filesystem, it will not work with other CD-ROM filesystems (although there may be workarounds). So even when the Emergency Disk II already has CacheCDFS included, it will still need AmiCDFS for proper USB CD-ROM support.
3.  For proper USB Mouse and Keyboard functionality, the system will be patched with a newer input.device upon booting the disk, this is done by using the LoadModule command.


Some notes for Emergency Disk II only
1.  Be careful with stopping the Poseidon stack after you have booted AmigaOS 3.9 from a USB device! This is because you may not be able to start it again. Nothing bad will happen, but it might require a reboot.
2.  The version of PoseidonMan that's included on the Emergency Disk II, contains a small workaround which fixes a SYS: issue. The thing is that AddUSBClasses is hard-coded to load all classes from SYS:Classes/USB, and after AmigaOS 3.9 has booted, SYS: is assigned to the actual CD (or other media). This means that it will look for the classes there, where it obviously can't find anything.  So the workaround used is that before AddUSBClasses is run, SYS: will temporarily be assigned to Ram:System, and after the usb classes are added, SYS: will be assigned back to AmigaOS3.9:Emergency-Boot. The way this is done should be pretty bullet-proof, but I thought it was worth a mention anyway.


Using PoseidonMan on other systems
The PoseidonMan and StartPoseidon scripts is now available as a seperate distribution on Aminet. This version of PoseidonMan lacks the "Add classes" button, and has the "object not found" issue fixed. There is also an extra PoseidonManX script included, which is meant to be used with a standard Poseidon install.

You can find the package right here: http://aminet.net/package/util/misc/PoseidonScripts




    Followed a link? Please go to the Main Site                   © Roger E. Håseth 2011 - 2016