A new ALOE unstable version [wiki:CostTerraSummerSchoolDemo has been relased!]. Features: improved performance, reduced overhead, USRP support, improved GUI signal visualization, OFDM demo application 2-20 MHz bandwidth (128-2048 FFT size) and many more. = ALOE Quick Start Guide = This page describes how to download, install and run an example waveform for ALOE for Linux OS. Supported processors are: * x86_32 * x86_64 * ARM (tested in MARVELL processors from [http://www.plugcomputer.org/ SheevaPlug]) * PPC440 comming soon... == Downloading & Installing == Download the latest ALOE version from http://flexnets.upc.edu/svn/phal/tags/aloe-1.4.5.tar.gz Older versions are available at http://flexnets.upc.edu/downloads/source/ Before installing, make sure you have the following libraries in your system: * readline (4.0 should be fine) * ftp://ftp.gnu.org/gnu/readline/ * termcap * ftp://ftp.gnu.org/gnu/termcap/ * (optional) To use the soundcard converters you'll need jack libraries * http://jackaudio.org/download For debian users, just type: {{{ sudo apt-get install libreadline5-dev }}} and download jack libraries typing: {{{ sudo apt-get install libjack-dev qjackctl libjack0 jack jackd jack-tools }}} If libraries are not detected during the configure script, the converter won't be accessible. Untar, compile and install: {{{ tar xzvf aloe-1.4.5.tar.gz cd aloe-1.4.5 ./configure make sudo make install }}} Before running ALOE, we must tune some kernel parameters to enable large messages buffers. You can use sysctl to make changes permanently, add the following lines to /etc/sysctl.conf {{{ kernel.msgmnb=1048576 kernel.msgmax=10485760 kernel.msgmni=128 }}} And run sysctl with root permissions: {{{ sudo /sbin/sysctl -p }}} == Running an example == From the same directory where the source is (aloe-1.4.5): {{{ runph }}} To run ALOE in real-time you must launch it with root permissions: {{{ sudo runph }}} Note that since ALOE executables are installed in /usr/local/bin, make sure this path is accessible from sudo (visudo command). And in the runph prompt: {{{ runph$: phload modem runph$: phinit modem runph$: phrun modem }}} And the waveform is running! You can now view information about execution time: {{{ runph$: execinfo modem }}} You can list available statistics and view/modify them: {{{ runph$: statlist modem runph$: statget modem turbodecoder max_iterations runph$: statset example turbodecoder max_iterations 12 }}} Remember to kill background ALOE processes when you finish. After closing the GUI, type: {{{ sudo killph }}} === aloeUI === To run the aloeUI start runph as a daemon and then run the GUI: {{{ sudo runph --daemon runph -gui }}} === ALOE performance test === ALOE now includes a simple application to test the system performance. Since the application signal processing load is very low, the maximum performance is limited by the middleware overhead. To test the performance on your system, reduce the time slot duration until you experience real time failures. Load and run the waveform and check the computing resource utilization: {{{ runph$: phload bpsktest runph$: phinit bpsktest runph$: phrun bpsktest runph$: execinfo bpsktest }}} Observe the relinquish time of the last component (the first row in the execinfo output table). Theoretically, you could achieve a time slot duration as low as that time. To do so, stop the aloe session, edit the file at /usr/local/etc/platform.conf, set the 'tslot' field to a lower value and start runph again. [[BR]] [[BR]] [wiki:ALOE "[Back to ALOE]"]