Home

Giant Android Tablet - magazine ODROID

image

Contents

1. MAURO RIBEIRO THE SOFTWARE GENIUS BEHIND ODROID S LINUX KERNELS edited by Rob Roy What ts your official title and role at Hard kernel Senior Software Engineer I mainly do Kernel work Linux Support and deal with our forums Trying to get onto the Hardware world too Its a lot of fun As one of the moderators of the ODROID forums what do you like most about the ODROID community I think that what I like most the is amount of information that we managed to share and how many users that we had with no Linux knowledge now they are quite advanced How did you get started with computers Since I was 2 years old from what I can remember ve shown a tendency in dealing with electric and electronic stuff Mostly because of my uncle s influence who taught me basic electronics since I was kid I was 5 or 6 years old when my uncle showed me an Apple 2 From a friend of his This was on 1989 or 1990 ODROID MAGAZINE 42 A year later my un cle gave me an awesome I still recall the exact specs 386 DX40 4MB of RAM VGA Card 14 Color Monitor CRT Dual Floppy 5 1 2 and 3 1 4 And an out standing 260MB Sea gate HDD I kept this machine The CRT and HDD are dead but ev erything else works 386 computer I really got into Linux in 1998 A friend of mine brought me a CD ROM from USA containing Slackware 97 That is where everything started What are some of your favorite pr
2. NICEES CONTINUE Check that your OS version is higher than Beta 1 G Settings gt Tablet System gt About The Build Number has a date code and should be April 2013 or later This image is 24 April 2013 Download the Android update file Visit http dn odroid com An droid Beta_1 8 0 U2 for other models of ODROID leave off the U2 at the end Select the SD or eMMC im age depending on the card that you have installed and start the download Create the updater directory Create the directory sdcard up dater using File Explorer that should be included in your Apps list Move the update file to the updater folder Copy the downloaded zip file con taining the Android Beta into the sd card updater folder Start the update process Settings gt About Tablet gt ODROID ODROID MAGAZINE 7 POTE HIGH COMPUTE LIKE YOU NEVER DID BEFORE Cooper Filby and Anthony Skjellum Runtime Computing Solutions LLC Magazine we discussed the ben efits of using ODROIDs for High Performance Computing HPC in g n the previous issue of ODROID addition to various discoveries while working with XU E s related to set ting up our own cluster in a com mercial setting But what about the home user that wants to experiment with HPC In part one of this multi part series we outline the setup and configuration of a basic headless cluster with the end goal of running parallel
3. to emulate and compare their pro and cons are to help you decide which is the best choice for you This will somewhat reflect my own opinion and might differ from other people s opinion so please consider this article more as a sugges tion than hard facts If you have already downloaded and installed my ODROID GameSta tion Turbo image available for free on the ODROID forums you have a good idea of what systems the ODROID is able to emulate First on the list is the Amiga I had a few Amigas back in the day and really Sega Genesis so I m not able to compare the Amiga to other contempo loved to play games on it In the 1990s rary systems the Amiga was very popular Compared to other PCs of the day Apple GS Color Macintosh and IBM PC it had improved graphics and far better sounds than most of the PC ports of that time In my opinion the Amiga was far ahead of its time With games that took 15 disks or more multi The Amiga desktop This was the system that made all of your friends jelly and you feeling like the coolest kid in school No kidding I never had an actual console like a Su per Nintendo Entertainment System or a Workbench gGigGig Piktogramm Hilfsmittel i Neue Schublade anlegen bergeordnete Schublade ffnen Markierungen l schen a Inhalt aufr umen Gr e anpassen Fixieren Inhalt anzeigen Inhalt auflisten actually has some games that can be played to ge
4. Match the options shown in Fig utes 5 8 substituting the preferred stor age directory for the one shown in the screenshot For the purposes of run ning the stress tests detailed below set Configuring the Samba options in Whisper ie Samba Server Configuration File Preferences Help ml odroid var lib samba prin root Samba Server Configuration File Preferences Help Create Samba Share i var lib samba p 2351c Access Only allow access to specific users W odroid gt Allow access to everyone cancel SETTING UP A 1080p HOME MEDIA CENTER the shared directory to home odroid Downloads since this is the default save directory for Trans mission Firefox and Chromium If using an external USB drive con figure all three applications to save to a shared Samba shared storage directory located on the external drive Setting Up the Client Now that the server is ready dis connect the keyboard mouse and monitor and connect them to the Android Pocket Rocket client ma chine From now on the Whisper serv er will not need any peripherals except in the case of network or router failure The server s desktop command line in terface files and CPU are all available to the Android Pocket Rocket client via the the SSH VNC and Samba protocols The initial connection between the two computers is via SSH so that the VNC desktop server may be started which then allows t
5. There was a time in our history when this activity was just as popular accessible and even fun for users as running com mercial apps It s a shame because never before has there been such a tremendous variety of knowledge and useful comput ing capability sitting at our fingertips Rebol On All Platforms For more than a decade a small group of developers coding in Rebol have known what it means to be truly productive using a single simple tool to create applications of all types for ev ery popular platform that has come and ODROID MAGAZINE 30 gone includingmore than 40 hardware platforms and operating systems so far and the web All the core components that make modern computing possible graphic user interfaces network connectivity manipulation of standard data formats etc are handled in Rebol using the sim plest possible syntax and implemented using a tiny interpreter that runs exactly the same way on every operating system Rebol was designed from the ground up to eliminate complexity caused by patch ing together disparate tools and it suc ceeds brilliantly in that regard Rebol side steps most of the mess that has evolved over the years in main stream software development technolo oy and for a wide range of common de velopment tasks it Just works quickly easily and more simply than can be imagined by anyone mired in the mess of traditional programming tools Rebol has a special abili
6. time but that wasn t important for a handheld console 300 games available for the GameGear There were about and if it ran on the Sega Master System there is a good chance that it was ported for the GameGear as well Even some of the Genesis games were published for the GameGear so give it a try and see what you like best The next console on the mar ket to make an impact on gaming was Sony with its PlayStation al though by now it s considered retro as well The PlayStation has an advantage ovet the previously mentioned con soles because it s from a newer gen eration but still it offers some console game classic that were updated for the new platform Looking at the quality of the PS1 games there are beautiful movies narrative speech and high resolution eraphics The PS1 outranks all the previous named consoles and if you find a game that was originally made for the SNES or Sega Genesis you can expect the PS1 version to have lots of additional content like movie cut scenes and probably better music Although the retroarch port of PS1 uses a software renderer to dis play its graphics they perform flu ently on the ODROID Classics like Final Fantasy 7 8 and 9 offer a few examples of its high resolu Even better the PS1 was designed for multiplayer which tion graphics means you can play with some friends on the same TV Finally we reach the most impres sive emulator on the ODROI
7. 002 Device 001 14b 0002 Linux Foun on 2 0 root hub uter Systems ith the 42 inc Le OOS Device ODI ID 1deb 0002 Linux Foundation 2 0 root Ink touch screen manufacturers in China of P n y Ww Bue O04 Device DOl ID 1d86 0003 Linux Foundation S 0 rect RE touch screen connected an entr Ae i teh dh LIME E Aa E AE lig on Aa a rered to supply the driver source code f YID 1870 PID 0119 appear AE e E T O appeared IGRI for their products but the sample code Bus 002 De 068 nge3 0610 Ger oats Inc 4 port hub was not useful in the real world The to represent a touch screen from eama a 4 Inte Integrated Rate Matching Hub Bus 002 Devi O01 2 Linux Fou ion 2 0 root hub Bus 006 De 1d6b 3 Linux Fo 3 0 root hub JUT d6b 0002 Linux Fou D root hub best alternative Was a touch screen that Reading the VID and PID of the USB e 004 Devic 00 5b 03 i ux ou dat io 3 0 root hub us 003 Devi Ol ooo Ue Linux Foundation 2 0 root hub oe supported Windows 8 HID compliant touchscreen using a Linux PC Seat co ped AB pm tag eco geht pi ar as odroid odroid Plug amp Play diat ODROID MAGAZINE 5 Step 3 Build the kernel with the HID MULTITOUCH option enabled Type make menuconfig to config ure the kernel then go to Device Drivers gt HID Devices gt Special HID drivers gt HID Multitouch panels and select it as an embedded driver as seen below config Linux ara 3 0 51 Kernel Configuration
8. Android Alternatively multi line programs can be written with any text editor and executed using Rebol For instance if you create a file called gui demo r that you can execute from the Rebol 3 com mand line That s it Pleas note that Rebol has numerous GUI dialects The examples shown in this and future articles make use of the R3 GUI dialect which is based on and very similar to the popular Rebol 2 Visual Interface Dialect VID In the next article we ll look at creat ing a fully functional text editor graphi cal calculator and more ODROID MAGAZINE 3 0 PORTS ON ODROID US I O SHIELD ACCESS USING THE C C LANGUAGE FOR ODROID US Justin Lee and Kevin Kim ne of the exciting accessories available for the ODROID U3 is the I O shield which was designed as versatile general purpose data acquisition and control module to provide a direct connection to the ODROID U3 I O connector The I O shield includes a big pro totyping area so you can wire up DIP chips sensors and more Along the edges all the GPIO ADC PWM and power connectors are broken out to 0 1 pins for ease of access There are also two 3 pin headers for small servo motor connections and a 10 pin connector of 12C GPIO for further expansion This article will get you started with using the I O shield using examples in the C language Installation The drivers are installed by default on Ubunt
9. Es cape to get back to the Android desktop instead of clicking on the Home button with the mouse from within any An droid application a d hy bYNC Free JuiceSSH Settings Connecting with VNC Launch the bVNCFree application Match the configuration options to those and select New Connection shown in Figure 8 again using the static IP address registered with the router and used when setting up JuiceSSH VNC Connection Settings 192 168 1 100 OFF Tap Button to Show Hide Advanced Settings Import Export Settings en Configuration options for bVNCFree lished the Whisper desktop opens up allowing the Android client to take full control of its storage CPU and resourc es By also enabling the Fit To Screen scaling option the virtual system gives the appearance that the server desktop is running natively on the local Odroid client while simultaneously running An droid applications Running the Media Server Now that the two systems are connect ed they are ready to perform some tough tasks to show off how well the networked machines handle a high volume of disk I O For comparison Pocket Rocket will do all of the work on its own as an exam ple of single boxing By stress testing the client system the areas of improvement become more apparent when many large files are processed at the same time For the single box test download sev eral files start a few torrents and watch
10. ODROID Then mount the device and enjoy the file sharing USB GADGET DRIVERS Load the g serial module on the ODROID Launch dmesg and find the Serial Function gadget driver ready message Connect the Micro USB cable be tween the host PC and the ODROID which should give the following message on the host Data should now be transmitted through dev ttyACMO PC dev ttyGsS0O ODROID and OLRO 0 MAGAZINE 15 USB GADGET DRIVERS Load the g ether module on the ODROID Launch dmesg to get the Ethernet Function gadget driver ready message and details about the ethernet connection ODROID MAGAZINE 16 Connect the Micro USB cable be tween the host PC and the ODROID and which should show the ing messages on the host after typing follow dmesg Now the ODROID will be able to send and receive data through the usbO port USB GADGET DRIVERS Ethernet over USB Storage over USB Being able to work alongside network stor age and serial will save your life more often than you think Emulating a multi function link The full package A multi function link emulates a mass ral e 6 e J40 OO rs storage serial and ethernet connection A using only one combo g_multi module mount sudo umount After connecting the ODROID s Micro USB cable to the PC all three functions listed above may be used si multaneously Wow 162Mbps is faster than
11. Point of Sale POS systems satellite navigation devices mobile phones video games and some e books The Android OS one of the main Operating systems for the ODROID has an intuitive user interface designed for use with a touch screen This article describes how to use an ODROID to change any monitor or TV into a giant Android tablet Infrared vs Capacitive touch screen Touch screens primarily use either infrared or capacitive technology Ca pacitive touch screens are more popu lar for smartphones and tablets but are ODROID MAGAZINE 4 also more expensive especially when the screen size is larger than 20 inches A capacitive screen can only be acti vated with an exposed finger no gloves of pointers and can experience opera tional difficulties if the monitor is not correctly mounted into a metal housing due to the electrical field Considering its ease of use and lower cost the in frared type touch screen is better suited for this project Infrared IR Grid touch screens wz Active Area Edge Photo Receptors Infrared Transparent Bezel inside 4 Opto Matrix Frame inside the Bezel LED Light Grid Principle of IR Infrared touch screen An infrared touch screen uses an array of X Y infrared LED and photodetec tor pairs around the edges of the screen to detect a disruption in the pattern of LED beams These LED beams cross each other in vertical and horizontal pat terns which helps the s
12. Special HID drivers Arrow keys navigate the menu lt Enter gt selects submenus gt Highlighted letters are hotkeys Pressing lt gt includes lt N gt excludes lt M gt modularizes features Press lt Esc gt lt Esc gt to exit lt gt for Help lt gt for Search Legend built in excluded lt M gt module lt gt a I i i Logitech Rumb ePad Rumblepad 2 force feedback support Logitech Flight System G940 force feedback support Logitech Speed Force Wireless force feedback support lt gt Apple MagicMouse multi touch support lt gt Microsoft non fully HID compliant devices lt gt Monterey Genius KB29E keyboard lt gt N Trig touch screen lt gt Ortek PKB 1700 KB 2000 Skycable wireless keyboard and mouse lt gt Pantherlord Greendsia game controller Pantherlord force feedback support lt gt Petalynx Maxter remote control lt gt PicoLCD graphic version CB A E ES lt Exit gt lt Help gt Configuring the touch screen with an embed ded driver in the kernel configuration Then set another two options as an em bedded driver indicated with an asterisk Device Drivers gt Input de vice support gt touch screens gt USB touch screen Driver and Device Drivers gt Input de vice support gt touch screens gt GeneralTouch touch screen de vice support config Linuxfara 3 0 51 Kernel Configuration Touchscreens Arr
13. The call to nanoTime should threaded Java ARM13 ARM Limited Multi be commented out in production code This exercise has been made as an ad threading technology and the ERES hoc BYOD type project The content challenges of meeting perfor When high work load is given to parallel eade aen an eA a aa here as such does not imply anything mance and power consumption the number of available processors should be about actual products of NSN demands for mobile applica used The Runtime getRuntime tions 9 pages 2013 availableProcessors method can References be can be used for this purpose DAVO7 David F M Car JAC13 Jackson Joab Ora Use Linux tools like vmstat and htop to vali tvyle w eC and Campbell R cle and ARM to tweak Java 2 date loading and kernel time For profiling H Context Switch Overheads on pages 2013 http www java an application jvisualvm in JDK s bin di Mobile Device Platforms Uni world com article 2078833 en rectory can be used Don t trust self made versity of Illinois at Urbana terprise java oracle and arm Menagen TA 2 Leea eer Champaign 201 N Goodwin Ave Ur to tweak java html surement tool version 1 1 April ist 0G Roue 3 I insert mode i i at bol Ta replace 3 Saat char 13 l mode A ppend S at eol i used visual lines visual mode motion moves the cursor or defines Main command line commands ex the range for an operator iw save g quit q quit w o s
14. accessing a Windows desktop from a Macintosh running a Linux desktop from within Windows or wirelessly controlling mul tiple Odroids from an An droid phone or 1Pad Clients Alread Reserved Assign IP Address To This MAC Address A wel Ss TS A ODROID MAGAZINE 38 SSH is a Secure SHell which creates an encrypted text based connection be tween two computers using a networked terminal With SSH remote commands may be sent to the server using the standard command line interface to start and stop applica tions reboot the system and perform In the media center example below it will be used to launch the VNC server Samba is a free software implemen tation of the SMB CIFS networking protocol allowing remote file servers to other administrative functions be mounted as local drives For purpos es of media sharing the Samba server enables video audio and other files to be accessed by the Android media client via the ethernet port To improve system security all three protocols require separate usernames and passwords For convenience Sam ba SSH and VNC are initially synchro c nized to use odroid as the username and password These passwords should be changed before moving on to the next step but in the following screen shots the security remains unedited and all password fields contain the default value of odroid Setting U
15. an XBMC video using only Pocket Rocket Although the Android system performs well under medium to heavy load there will be brief moments during video play back where the screen will stutter or the audio will be out of syne due to spikes in disk access Because the eMMC or exter nal drive has many applications competing The Alt Tab menu in Android Pocket Rocket for storage the playback experience gets slightly degraded at random intervals due to locked resources To improve stability and video play back the tasks of downloading and han dling high volumes of disk access ate delegated to the Whisper server in the dual box setup This separation frees up the processor cycles and disk usage on the Android client so that the video player isn t waiting for another application to finish before loading the next piece of the video from the hard drive In order to perform the dual box stress test shut down all of the downloads and torrents on the Android system so that only the video player is running Press Alt Tab to switch to the bVNCFree ap plication then use the Whisper desktop to download several large files and torrent a few more using the web browser and Transmission After one of the media files has fin ished downloading press Alt Tab to switch to the Android video player such as XBMC then play the file from the newly added Samba shared directory The simplest way to load a media file is to log into the Samba s
16. echo 0 gt sys devices system cpu cpu2 online and cpu3 Actually if you set any fre quency below 700Mhz on the U3 it will turn of 2 cores Lower bars less wattage usage The SoC Drawer and SoX BoX clusters dis assembled those guys pack quite a punch The power use logging setup on using the Odroid U3 References PowerNap Tutorial http ti nyurl com PowerNapTutorial Slurm Integration Gey 7 tinyurl com SlurmIntegration Power Use Logging http ti nyurl com WattsUpLinuxUtil ODROID MAGAZINE 13 USB GADGET DRIVERS hen developing applica tions for the ODROID its often necessary to trans fer files and commands from a main host PC to the development comput er This can be performed via FTP or SSH through the Ethernet port but it can be also be done over USB to sim plify the setup This article describes how to use the USB device port on your ODROID to communicate with yout host PC To get started a micro USB cable is required to make a physi cal connection between ODROID and yout host PC ODROID MAGAZINE 14 By connecting the ODROID to a PC using its USB port it can be enumerat ed to appear as another common USB device depending on the type of com munication desired Serial communication device Network device Mass storage device You can also use the USB cable to emulate each of these data connections at the same time as a multi function link Gone are t
17. larger num ber of users and nodes In addition to allowing us to hide cluster traffic from the rest of the network this head node will also host services that will streamline cluster management such as LDAP for user management Puppet for content management NFS for file sharing and vatious networking services In part two of this series we will begin to convert odroid server0 into a proper head node ONTROL ON ODROID CLUSTERS FINE GRAINED POWER CONTROL ON ODROID CLUSTERS wes 24 HIGH PERFORMANCE CORES FOR 35 WATTS Kurt Keville ut team has experimented re cently with a number of new energy saving techniques avail able to server system administrators and managers of High Performance Com puting HPC clusters Our specific ex periences come in the form of testing a mini cluster of ARM Cortex A9 boards running the development Ubuntu ver sion targeted at that platform In addition to the Hardkernel rec ommended default install of the OS and concurrent headless server applica tion suite including MPI discussed on the last article we installed cpufrequtils WattsUp and PowerNap and then up dated the systems accordingly These packages are mainly what we will discuss in this article since they are where the bulk of our power energy savings and reporting are attained The power savings are considerable in clusters that have significant reduced usage periods and an aggressive power saving sched
18. let the ARM proces sor do the work that traditionally has been assigned to desktop computers we also made a comparison with two laptop computers one having a Celeron pro cessor at 2GHz and another having an 15 2520M at 2 5GHz The Celeron has one core while the 15m has 2 cores with 2 hyper threads We refer to these pro cessots as x64 to signify that they are 64 bit x86 processors The comparison is shown above With this different scale in the graph it is obvious that something starts to throttle the performance from the 5th thread on Adding more threads up to 12 does not seem to degrade the per formance of the one core Celeron at all Meanwhile we see that the application performance at XU is being degraded User Idle XU performance sec ODROID MAGAZINE 26 is shown together with perfor mance see the figure at bot tom left We don t know the actual reason for the behavior but we can guess things like con text switching is not efficient or work load is not even but unbalanced or the share of sequential work is large or something similar The first guess can be sorted out with the following reasoning 1 there are no problems in ker nel compilation 2 literature multi threaded Linux seatch shows that context switch time should be at maximum 0 4 of overall time DAV07 and 3 the development environment IntelliJ IDEA uses multiple threads flawlessly We leave t
19. ll need the following items all of which are available from the Hardkernel website you d like to use your ODROID ODROID XU E or Lite USB 3 0 to Gigabit LAN Adapter MicroUSB 3 0 to USB OTG Cable USB 3 0 to 802 Ilac Adapter microSD or eMMC with Ubuntu Server in stalled The ODROID XU works best for this project because it offers a USB 3 0 port so that we can use the full band width of it for Wifi AC and because the XU models also permit the use of the USB 3 0 Gigabit LAN adapter For best throughput we ll use our 10 100 On board LAN as the WAN Port The USB 3 0 to Wifi adapter used in thie article is a Netis WEF2190 which is based on the Realtek 8812AU chip If you have problems finding the Netis WF2190 Adapter there is a listof equiv alent adapters using the same chip here http goo gl dNwdnyY Before starting make sure that you have at least 4GB of free disk space The following values are used in this tu torial for example purposes your local network may differ The LAN address will be 10 10 10 0 24 The LAN gateway ODROID will be 10 10 10 254 The DHCP Range will be 10 10 10 1 to 10 10 10 253 ODROID MAGAZINE 34 Believe us this setup means business The LAN Interface is eth Gigabit Adapter The WAN Interface is ethO Connected to the internet The Wifi Interface is wlan2 Although unlikely the Wifi interface value the last item on the list may be dif ferent for your LAN but
20. normal 7 J7indow size 85 3 KByte Bp ee 100Mbps Ethernet ault OLRO O MAGAZINE 17 GAMES LINUX GAMING ON ODROID THE RIGHT SYSTEM FOR YOUR GAMES Tobias Schaaf hen it comes to gaming ev eryone has different tastes There are many gaming genres including First Person Shooter Role Playing Arcade Adventure Simu lation Real Time Strategy and many more Some games are better suited for consoles while others are only playable if you have a mouse and keyboard avail able Since the ODROID platform can run many types of games choosing your gaming system really depends on per sonal preference It also depends on whether you like to play on your own single player mode with others team or competition mode on the internet network mode or with a friend in the same room in front of your TV multi player or split screen mode It also depends on whether you want the old classics with the original beeping sounds or prefer high fidelity audio and video with orchestral sound tracks and stunning 3D graphics This month I give an overview of the gaming opportunities that the ODROID platform offers giving you some ideas regarding what games you might like to explore Finding the right system Since the ODROID offers so many emulators and games it s hard to figure out what system to choose from So I want to examine some of the gam ing systems that the ODROID is able OROID MAGAZINE 18
21. programs based on message passing using the Message Passing Interface MPI parallel programming model in particular In subsequent articles we plan to expand on this setup to build a cluster with a centralized head system or node complete with services such as Puppet NES and LDAP a configuration that is capable of supporting a much larger number of ODROID systems nodes configured as an HPC cluster For ex ample in part two we will cover basic networking configuration of the head node including dnsmasq NAT and adding more nodes to the cluster while in part three and further installments we will cover additional services such as LDAP NFS Autofs and Puppet ODROID MAGAZINE 8 PERFORMANCE COMPUTING AT HOME Installing the Operating System There are a number of prebuilt Linux operating systems available for ODROID boards from http dn odroid in To get started download the Ubuntu Server im age for your ODROID model and extract the IMG XZ archived image using an ar chiving tool such as 7zip on windows or by typing xz from the Linux command line Finally you can copy to the medium of your choice such as an SD card or an eMMC module using the dd com mand on Linux OS X systems or the Win32DiskImager exe for ODROID on Windows For more detailed instructions on copying over the OS please refer to Bohdan Lechnowsky s article titled In stalling an OS on an ODROID from the January 2014 i
22. secure of creating new user accounts with the adduser command such as by running sudo adduser kilroy Generally speak ing do three things key with your node passwords make them long make them hard to guess and store it in a secure lo cation Configuring Networking Before getting both ODROIDs on line we need to change a few settings as to eliminate hostname and MAC address conflicts that may occur on your home network with an ODROID cluster To change the hostname we will need to edit two files etc hostname and etc hosts changing odroid server to the hostname of your choice and reboot ing the machine so the changes take effect For the purposes of this article we will use odroid server0 and odroid serverl to refer to the first and second ODROID respectively Alternatively if your operating system supports it you can also type sudo odroid config to change the hostname You can use other names of your choice they have to be unique to each node The MAC address conflict was a sub tle issue that we encountered when we first set up multiple ODROID XU BE s We found that by default the onboard ethernet devices all shared the same MAC address which made it impossible to work ona single ODROID if multiple were powered online and on the same network If the two ODROIDs you re working have identical MAC addresses there are two straightforward ways to resolve this 1 configure o
23. systems supported by Rebol 3 For years developers have been hear ing that some new language technol ogy will supposedly cut their develop ment time by orders of magnitude That sort of talk is so common that it falls on deaf ears This introductory section provides a few short examples to sub stantiate some of the productive capa bilities which Rebolers enjoy Nothing else even comes close to its simplicity Using R3 you can build a GUI hello world application for Android Linux Windows and Mac as simply as this On Android there will be no close button on the window so press Es cape on the keyboard to get back to the Rebol command line The program above is much more than the typical text based console hel lo world app It s actually a complete windowed form capable of displaying all sorts of other useful Graphic User Interface GUI widgets Here s another simple program that displays some text entry fields buttons lists and other common GUI widgets PROGRAMMING WITH REBOL Notice that every single widget word maps directly to something that appears on screen There is no wasted syntax you really don t even need to understand anything about programming to fol low what this code does On Android the Rebol command line currently only takes single line com mands This is not a problem as Rebol is syntax free Simply enter the com mand like this on
24. this is covered below It s also very important for secu rity that you change both the root pass word and the odroid user password in case the board is exposed to the internet Install the necessary packages and dependencies apt get install git build es sential bridge utils Build the kernel git clone depth 0 https github com hardkernel linux git b odroidxu 3 4 y linux cd linux make odroidxu ubuntu defcon fig make j5 make modules install cp arch arm boot zImage me dia boot sync amp amp reboot This builds a new XU kernel from the latest GitHub source code Now you have an updated copy of the kernel on your ARM Board Dealing with Realtek Wifi drivers Realtek wifi drivers are slightly tricky to configure Use the provided drivers Netis ships a mini cd with the drivers Youll have a linux folder with the following folder RTL8812AU 8821AU linux_ v4 2 0 6952 20130315 Copy that folder to your ODROID since these are the drivers that we need to build Linux inside Build the wifi drivers cd RTL8812AU 8821AU linux_ v4 2 0 6952 20130315 driver tar zxvf rtl8812AU 8821AU _ linuxi vai 0 6 9 022 Ue 0 3 1 51 Car gz ca rt18812AU 8821AU linux_ v r 2016952720130315 edit the Makefile and on line 583 ARCH change to ARCH arm Now your Wift drivers should be working properly Test the Wifi Driver Note that if wlanO doesn t exist chec
25. to the end of the hid ids h header file be less likely to work with Android define USB VENDOR ID PRIMAX0x0461 aa define USB DEVICE ID PRIMAX KEYBOARDOx4e05 Elitegroup Con r systems define USB VENDOR ID ELITEGROUP 0x03fc Principle of IR Infrared Multi touch screen There are 4 steps to using the touch define USB DEVICE ID ELITEGROUP_TOUC screen with the Android OS in a define USB VENDOR_ID_NEXTO 0x1870 How to Choose an nutshell define USB DEVICE ID NEXIO TOUCH fendif Infrared touch screen 1 Get the Vendor ID and Product ID from the You can make your own touch screen RR RR Saran SE ieniape Example PID and VID values added to by following guides found on the Inter 2 Modify the files hid ids h and hid kernels drivers hid hid ids h net but it is not easy to implement the multitouch c both located in kernel drivers complex multi touch algorithm and well hid Also add the new ID in the hid aligned IR emitter receiver pairs 3 Build the kernel with the HID MULTITOUCH auio e Senres Cle Ie aause be Before purchasing an infrared touch option enabled and transfer the kernel image placed in the hid_device_id mt_devices screen it s important to evaluate its com to the ODROID structure define patibility with Android It must meet at gt Create an IDC Input Device Configuration ile least one of the following requirements 1 Is your touch screen listed in the Linux multi touch compatibility table Step l
26. Check the Heep lid enae win en ar VID and PID chitecture linux input multitouch devices html If yes it will be very easy to activate your Plug the touch screen into any Linux PC then find the VID and PID by typing touch screen lsusb in the terminal as below right To determine which device entry 2 Is your touch screen Windows 8 compatible is associated with the touch screen list If yes you need to add a few lines in the Kernel the devices before connecting the touch i driver and an input configuration file bani af Example of adding the touch screen ID to screen then list them again after connect pe ee ae ing it The new entry will correspond to hid multitouch c 3 Does your touch screen manufacturer sup ply specific Android driver source code If yes you need to follow their porting in the touch screen device During our project when the odroid odroid Isusb 0 struction 23 inch touch screen was con us 0 2 002 80 24 Intel Corp egrated i Parei iag Hub us 2 001 Uc nuy 4 ee nected an entry of VID 03FC Weegt 001 1D 1d6b 0002 Linux Fe 0 root hub jL O01 d U3 x Fo 0 root hub PID 05D8 appeared in the de REES DOI 1D 1d6b 0002 Linux Fo O root hubs CT EET a SS e ee vice list which represents a touc l requirement was not available in our lo i O3fc group Computer Systems 7 screen made by Elitegroup Com RSiaaRSnaEn TEET cal Korean or Chinese markets Some S 4 o P ok us
27. D so far PPSSPP which can play Play Station Portable PSP games on the ODROID The PSP runs a large collection of games that offer beautiful 3D graphics with movie cutscenes and real voice acting Although PPSSPP runs best on a PC running Win dows Linux or Android I also successfully ported it to the ODROID There are lots of PSPgames that run quite nicely on the ODROID in an X11 en vironment using PPSSPP The Sony age PS One s Final Fantasy VIII and the PSP games of Little Big planet Soul Calibur Fifa Soccer Al right Three Way Shuriken 2011 Wipeout Pure and Naruto Shippuden are not far from your ODROID WHAT EMULATOR AND WHAT SYSTEM IS BEST FOR YOU If we compare the different systems by their power look and feel consid ering color depth game content mu sic fidelity and hardware technology line up nicely from least powerful to most powerful NeoGeo since its games look the best and have an awesome look and feel in my opinion Another way of deciding what games to tty might be whether the emulators offers the opportunity to lack the ability to play together with someone else unless you connect wiih a miend over the Internet or through your home network using two computers Each Covered system that I GB lt GBC lt NES lt SMS lt GAMEGEAR lt GENESIS lt SNES lt GBA lt PSI lt PSP Not included in this ranking is the Amiga which is more
28. DHCP Reservation Select Clients from DHCP Tables LAI F Wireless 192 168 1 104 android b0d906bf9ba5cf29 192 168 1 108 android 906bf ba5ct29 Wireless 192 168 1 110 Eo J 192 168 1 0 00 00 00 00 00 00 Add IP Address MAC Address Ghent Name 192 168 1 107 one i Add Clients Enter Client Name Assign IP Address To This MAC Address Ll Manually Add Client admin panel and setting a static IP address To reserve the static IP ad dress boot up Whisper with its ethernet port connected to the router then login to the router from any comput er on the network Follow the manufacturer s instruc tions setting the static IP ad dress for the Odroid running Whisper to a convenient and easy to remember number such as 192 168 1 100 Enabling Desktop Sharing Samba and SSH The two Odroid have three chan nels of communication with each other known as protocols Each protocol pro vides a different service to allow specific types of remote access to the host servet s disk memory and peripheral resources VNC stands for Virtual Network Computing a protocol that broadcasts a graphical desktop to a remote system and processes input from the remote keyboard and mouse as if they were con nected locally VNC servers and clients are available for nearly all modern operating systems including iOS An droid Windows Linux and OSX Its wide appeal per mits unique combinations like
29. NE 10 Use the appropriate ethernet device id previously found with ifconfig in this case eth2 Then power down the ODROID put the ethernet cable that was attached to the the onboard device into the USB ethernet adapter and pow et the ODROID back on If for some reason you aren t able to connect try plugging the cable back into the onboard slot and verifying that the USB ethernet adapter is still showing up using the if config a command It s also possible that the ethernet device ID itself has changed if the adapter is unseated in which case you can update the etc net work interfaces file accordingly At this point the ODROID should be configured and accessible on the net work Before heading on to the MPI section configure the second ODROID using the same steps described above Message Passing Interface MPI Now that we have two nodes con figured appropriately we can now start looking towards how we can execute HPC jobs on our two node cluster A parallel programming en vironment such as MPI helps you do this MPI takes care of start ing up the processes that make up the parallel programming model and provides a standardized appli cation programming interface API for those cooperating communicating sequential processes to use to make the parallel program work To accomplish this we will make use of MPI or Mes sage Passing Interface which provides an API that allows nodes to send and
30. ODROID And create the ultimate Android experience High Performance computing at home T P 8 Meet an Odroidian Creation and fine granular control _ l l Mauro Ribeiro Senior Software engineer e Estimating Radio net interference Using Java mutithreading 7 7 7 e USB Gadget drivers f 8I 02ac router with odroid XU Dominate your device ports to do everything Get up to 433mbit sec EDITORIAL service to the world wide ODROID and Open Source communities Hard Kernel is proud to present its newest contribution to ARM technology ODROID Magazine a free monthly PDF e zine This cutting edge online publication brings you the latest ODROID news as well as featured articles from the expert community that has grown around the amazing ODROID family of micro powerhouse computers Intended for all levels of expertise from beginner to guru ODROID Magazine A features definitive guides for new owners with easy to follow steps in setting up your ODROID installing operating systems and software and troubleshooting common issues For more technical users each month will feature expert tips hacker discus sions cutting edge projects and technical articles to explore new ways of making your ODROID even mote versatile Hard Kernel s ODROID Magazine is an ideal opportunity for our community to come together to share and contribute articles so that everyone can be successful with their ODROID Each mo
31. OID MAGAZINE 28 the name under which you want your script to be saved see vi cheat sheet above for some basics on how to use it After editing your script you will need to change the permissions so it can be accessed by Rebol 3 exam ple chmod 755 myscript r vi Cheat Sheet ce vi was created back in the days when there were very few special keys Keys like Esc escape and the arrow cursor One of the great advantages of the vi editor is that on computer keyboards keys didn t even exist it is available on nearly any unix based operating system including Android Because of the early limitations of computer keyboards vi was designed to have two modes The first is the input mode and the other is the command mode On the Android version of vi these two modes are toggled by press ing CTRL and more simply referred to as CTRL D During input mode any key you type is entered at its face value During command mode here are some helpful commands 1 Insert at current position I Insert at beginning of line Append at current position A Append at end of line dd Delete current line yy Yank copy current line Repeat last command CW Change current word dw Delete current word p Paste yanked data Enter extended command mode Here are a few extended commands w Write save the file q Quit don t save the file wq Write and quit q Quit even if the file has been changed si
32. Rebol Modern software development tools are ovetly complex Creating even a small program to allow users to com plete the most basic computing task typically requires the installation of a complex Integrated Desktop Environ ment IDE a bloated Software Devel opment Kit SDK and other support ing tools Developers need a working knowledge of diverse chains of tools patched together along with library Application Programming Interfaces API database systems and more just to create a simple application For most developers the thought of building mobile apps desktop GUI programs and web applications repre sents mastering a tremendous variety of in congruent work flow patterns incompatible data formats and incon sistent development methodologies that sap productivity at every turn For these developers it s an unavoidable part of the job We live in a time when ubiquitous and inexpensive handheld wireless de vices and ODROIDs connect us all to an enormous world of useful data re soutces Those devices enable critical data business management communications transactions entertainment and other practical benefits which deep ly affect the nature and quality of our daily lives The primary frustrations of device ownership have been eliminated by new generations of technology Users don t need to know how networks work to connect to the Internet Cameras mi crophones speakers GPS and other se
33. able to the NES the Sega Genesis is similar to the SNES and the Sega GameGear was also a Handheld like the GBA or GBC Street Fighter 3 3rd Strike N 1944 The Loop Master Sonic the Hedgehog Alex Kidd in Miracle World Sega Master System Double Dragon Double Dragon which was actually a really nice console but its hard to a ae a a oa as amme Sega Systems always tried to be just a little bit better than the Nintendo consoles The Sega Master System had more RAM and more colors than the NES and was slightly faster The most popular game was not actually Sonic the Hedgehog but Alex Kidd in Miracle World Still Sonic was Sega s answer to Mario and it worked well for Sega Se R If you compare the games available for the NES and Sega Master System side by side you can see that the Sega actually looked a lot better than the NES If your favor ite game on the NES is also available for the Sega Master System I recom mend playing the Sega Master System version instead ODROID MAGAZINE 2 The called the Sega Genesis wasn t as good as the SNES since it had less colors to choose from next generation and developers had a hard time porting games to the Genesis since Nintendo did not allow its companies to produce for any console other than Nintendo Still there were quite some nice games for the Genesis and they look great Although you can see more details in the SNES ve
34. ad only master copy on the Whisper server Ad ditionally bVNCFree allows text data to be transferred between previously unconnected desktop environments ex between Windows and Linux us ing the Copy and Paste function of the Android desktop instead of resorting to an intermediate file or email Building a Cluster of Odroids Follow the steps again to connect more computers to the cluster with a separate SSH and VNC session control ling each additional system For my pet sonal multi boxing system I connected several Odroid computers which offer a dedicated web server application devel opment packages and a security testing suite all operating in their own resource spaces coordinated using the Android Pocket Rocket desktop Advanced Miulti boxing Seasoned Linux users can add auto mation to the Media Center by sched uling cron jobs adding RSS feeds and kickstarting downloads using the rTor rent command line interface Further customizations include enabling the web interface in XBMC and Transmission for true remote management and installing a local Apache website for managing sorting and displaying the media library contents in an easy to read format Handbrake has also recently been port ed to the Odroid which can be included in the download process for converting media files to the preferred resolution and codec before making them available to the Android client ODROID MAGAZINE 4I MEET AN ODROIDIAN
35. all platforms whereever a virtual machine is available To imple ment threads we used Java s modern concurrency package A typical development ses sion with the application Poiju is shown on the next page The prediction parameters dialog is shown in the front and the main window of the Pou ap v Poiju a Net Db Dominance Coverage al LTE FS I ls Rect K Reset Center Fit Fit Selected East North 246086 83 136244 99 Width 80 33 km Scale 8 91 Translation x 236 21 y 139 84 plication is below it Also shown are the htop terminal and the lowest application is the development environment called Iltel liJ IDEA The ODROID XU s ARM proces sor offers 4 power efficient A7 cores and 4 high performance A15 cores ARM13 At any one time either a cluster of little cores or a cluster of big cores is working known as big LITTLE architecture Hence there are 4 processes available The Poiju appli cation is using only the big cores while intensive computations are made The performance of application is measured with self made instrumenta tion by taking core specific times prior to doing something and then the next time right after doing the task We are doing all tests with 10 000 ra dio cells at each time The performance 7500 0 31N C isComputcOnlyatvifferentBand C isComputeOnlyBlindSpots Sey cea Uae aaa ai Li easeMemory C isStatisticsRu
36. ame Java tasks for which desktop computers have been traditionally used Although it cant compete against the brand new and more expensive x64 pro cessors it can be used as a replacement for a mobile i5 The ODROID XU is clearly better than an older single core x64 com puter and Java applications benefit signifi TECHNICAL ARTICLE cantly from the usage of multiple threads Through this exercise the per bana IL 5 pp 2007 http formance of the Poiju on other plat www cs huji ac il feit exp The default on demand governor of Linux is forms was improved by 40 On the expcs07 papers 136 pdf biasing performance test results because ODROID XU alone the improvement the CPU s clock frequency is being changed oo aufonfatirally Therefore inline one lt Hould was huge from the initial design stage LEA99 Lea Doug Concur use performance frequency scaling governor In general desktop Java applications can rent Programming in Java De during performance tests be improved when they are also tested sign Principles and Patterns on the ARM based XU The ODROID Second Edition Addison Wes The System nanoTime method costs a lot of computes interference estimate to 10 ley ISBN 0 201 31009 0 411 kernel time The nanoTime method problem fas etl eon aun Mull TORE 000 radio cells in 9 6 seconds by using pages November 1999 while the mobile i5 processor does not suffer pixel based computation and multi from it as much
37. application software on boot There s a place on the kernel to load modules as needed However you can t use it to send echo commands or values to sysfs without root or super user permis sions Fortunately there is a way to over come this limitation by using a conf file to launch the module as a daemon then using a shell script to perform the initialization 1 Create the file etc init tca6416 conf which may require root privileges description TCA6416 Module Initialization start on runlevel 2345 usr sbin tca6416init 2 Create the file usr sbin tca6416init sh bin bash Load the Kernel Module modprobe gpio pca953x Set the I2C address of the module echo tca6416 0x20 gt sys de vices platform i2c gpio 4 i2c 4 new device Enable all GPIO s on the board for gpio n in seq 289 304 do echo Sgpio n gt sys class gpio export done By adding these two files all the GPIO ports will be permanently en abled on reboot You can also add your application software in the tca6416init sh as an alternative method Additional Credits The FirmataC library and exam ples are made by jdourlens which were slightly modified for use on the ODROID https github com jdourlens FirmataC ODROID MAGAZINE 33 TECHNICAL ARTICLE USING AN ODROID XU AS A WIFI ROUTER GET TO 802 1IAC WITH STYLE by Mauro Ribeiro Hardkernel Developer XU as a wireless router you
38. aving 1 use x before a yank paste del command direct action command e f o en file A to use that register clipboard x a z command if red it enters insert mode 0s x 2 replace x by y filewide e g ay to copy rest of line to reg a ai E h help in vim new new file in vim 3 requires a motion afterwards 2 type in a number before any action operates between cursor amp Other important commands to repeat it that number of times destination CTRL R redo vim e g 2p d2w 51 d4j special functions CTRL F B page up down 4 ns j extra requires extra input CTRL E Y scroll line up down 3 aa ate OF TE Lally T 4 ZZ to save amp quit ZQ to quit w o saving commands with a dot need CTRL V block visual mode vim only q a char argument afterwards Visual mode bol beginning of line eol end of line Move around and type operator to act 5 zt scroll cursor to top mk mark yank copy on selected region vim only zb bottom zz center words quux oo bazl 6 i top of file vim only sf open file under cursor vim only Dear reader I honestly have to do a better cheat sheet than this one but this fellow one helped me on countless times and believe me it will help you immensly for our next page article Sincerely Bruno Doiche WORDs For a graphical vi vim tutorial amp more tips goto www viemu com home of ViEmu vi vim emulation for Micros
39. com puter programming I manage a team of technologists plus develop custom solutions for companies ranging from small businesses to worldwide corpora tions ODROIDs are one of the weap ons in my arsenal for tackling these projects languages are Rebol and Red both of which run fabulously on ARM based systems like the ODROID U2 I have deep experience with many unique op My favorite development erating systems Spent his last vacation doing nothing And didn t manage to do the half of it ODROID Magazine published monthly at http magazine odroid com is your source for all things ODROIDian e Hard Kernel Ltd e 704 Anyang K Center Gwanyang Dongan Anyang Gyeonggi South Korea 431 815 Makers of the ODROID family of quad core development boards and the world s first ARM big LITTLE architecture based single board computer Join the ODROID community with members from over 135 countries at http forum odroid com and explore the new technologies offered by Hardkernel at http www hardkernel com d IVERTING A MONITOR TOR ANT ANDROID TA j ln i i nit T Fistin Lee and Charles Park l 1 ET ral E a b Dns An gt Pe fe BAD N a Say a i 2 fi ai ee a ouch screens are common in de vices such as smartphones game consoles all in one computers and tablets They also play a prominent role in the design of digital appliances such as dig ital signage
40. dscape of tools is a painful mess The remnants of every ODROID MAGAZINE 29 legacy software and hardware solution still haunts and infects the process of writing modernized code Numerous at tempts to standardize on different com mercially motivated platforms and for mats have led to the need to support a huge variety of data structures language syntaxes and tool sets To even begin creating a typical hello world app for Android you need to install hundreds of megabytes of software onto a desktop computer including an Integrated Development Environment IDE a Soft wate Development Kit SDK a device emulator and any productivity enhanc ing tools that help ease the wildly com plex process of writing an applications Even for seasoned developers modern application development is a weighty en deavor If you also intend to port your ap plications across mobile desktop and web platforms you need truly deep experience skill and lots of time It s not uncommon to see teams of professional engineers devote themselves to building and supporting a single appli cation Despite the fact that Android is an open platform today s devices feel closed or at least cumbersome for developers The hurdles to learning how to program are too much for all but full time develop ers Gone are the days when even hobby ists could write useful custom applications for their personal and business computing devices
41. e done by calling the Runtime getRuntime avail ableProcessors method We see also that OracleJDK is performing better than OpenJDK OpenJDK is the default installed Java on Ubuntu so the user must manu ally install Oracle JDK it is freely available from the Oracle De Fortunately veloper website The perfor With htop and vmstat we see that more than half of the time is used by kernel instead of user space This is a major problem that we so far noticed only on XU What is wrong in the ap plication If there is some internal er ror in a program and a lot of exception are thrown and treated silently it would affect the performance significantly However that should not be visible as kernel time After several other similar 1 6 GHz sec 1 8 GHz sec r 1 8 GHz no nanoTime sec ODROID MAGAZINE 25 TECHNICAL ARTICLE Celeron1core sec when 5 and more threads are used From the vmstat output we can produce a graph where user space time and idle time SM2 2 sec we XU 1 9 GHz sec guesses and trials we were not able to find the reason Finally we commented self made detailed instrumentation that was being generated with Java s nano Time method As a result two thirds of the computation time disappeared We can expect that nanoTime inef ficiency and any other similar feature of Java on ARM will be streamlined in future as there is news of co operation JAC13 Since we
42. e it if necessary The kernel tree gt GPIO Support gt sys class gpio path is Device Drivers sysfs interface If you embed the driver you can ac cess the GPIO via the kernel node 0 PORTS ON ODROID US sys class gpio If you want to work with a particular GPIO you must first reserve it set the input output direction then start man aging it Once you reserve the GPIO and finish using it you also need to free it to allow other modules or processes to use them This rule applies whether you want to use the GPIO from the ker nel or at the user level GPIO Export By typing sudo modprobe in the Terminal window after booting the Linux kernel the GPIO driver and TCA6426 devices will be attached to the i2c epio 4 bus 16 Ports are mapped to GPIO 289 304 I O Shield pin number POO PO07 P10 P i sudo gpio pca953x modprobe sudo su c echo tca6416 0x20 gt sys devices plat form i2c gpio 4 i2c 4 new _ device dmesg i2c i2c 4 new device In stantiated device tca6416 at 0x20 Next build the u3_shield_GPIO_ sysfs c located in the examples folder using g Please note that the GPIO sys_init function need the super user permission to do modprobe and attach i2c device The default password on the official Hardkernel images is odroid POO port LED blink P10 port key press then GPIO 297 read value 0 otherwise GPIO 297 read value 1 Starting your
43. e networks should support DNS by default which will allow you to connect simply by the hostname If this fails you can alternatively connect using the IP address assigned to the ODROID by your router instead If neither of the hostnames resolves for you check your routet s lease table to search for the IP address often labeled as the DHCP cli ent table in the router s admin panel Since we used identical copies of the same image on both nodes by default they had a hostname conflict which we resolved by bringing them online one at a time then changing the individual network settings If you don t have ac cess to the router s admin panel you can also make use of the nmap command to scan your network for hosts to find the ODROIDs if you know your network information For example nmap 192 168 1 0 24 Look for a host that has port 22 open Power on one of the ODROIDs then enter ssh odroid ubuntu server or ssh if using the IP address in the odroid xxx xx xx xxx Terminal or Putty window of the host computer which will establish a secure connection to the ODROID To login type odroid as the password Once the command prompt appears you may want to run sudo apt get update amp amp sudo apt get upgrade to ensure that your OS is up to date Furthermore we recom mend you run the passwd command and change the password for the odroid user to something a little more
44. e only used the lowest and highest speeds We measured the following scenari os All boards at peak freq all boards at minimum freq while retaining all cores all boards with 2 CPUs on at min and all boards with 1 CPU on at max PowerNap in our conventional us age controlled cpufreqd to dial down the CPU speed to its factory enabled minimum when an idle period is de tected An idle period can be user de fined as well as other parameters as sociated with reporting grace periods and other functionalities Our recommendations are to ig nore hibernate in a server scenario if you need immediate shutdown just power off underutilized cores at a board level Rebooting takes 10 sec onds each in our configurations While the U3 might not compete with the XU on FLOPs per Watt it does on FLOPs per dollar It is cheaper than an Intel Galileo and compares favor ably in the openbenchmarking tests by that standard Moreover it appears that power ef ficiency scales superlinearly with fre quency and core count So you if you have a power budget and few time re strictions you can script your cpufreqd to make that a priority and aggressive manage your power use OWER CONTROL ON ODROID CLUSTERS Governor setting versus watt utilization Governor freq Avg Watts for 6 boards Performance 1 7 Ghz 33 6 Userspace 700 Mhz 21 0 Powersave w 2 core 3 6 Performance w core 23 4 via a PowerNap script that invokes
45. ed many new options to this functionality progressively in the form of software support for the nut and upsd code bases see http www net workupstools org We can now hook the invocation of this script into a user defined usage in our case tied to a drop in processor usage below 20 NUT is compatible with Ganglia and Nagios in that it affords quite a few scripting op tions so sysadmins familiar with adding ad hoc functionality to their cluster man agement tools should have little problem integrating it with their custom setup Additionally cpufrequtils and pm utils are very handy sets of tools that are compatible with the Linux kernel at least as recently as 3 2 PowerNap lets you manage this via a script interface You can lock your board into its high est speed setting by invoking cpu freq set g performance from the command line or by hooking it into PowerNap s config scripts if you prefer a degree of automation Note the ODROID U3 output above right when your processors are set to performance mode one report for each processor core normally When you set the U3 proces sor frequency to the stock maximum of 1 7 Ghz and run the workload at http openbenchmarking org result 1401173 UT 1309189UT21 you can successfully peg the processors at close to maximum utilization Our power peaked at 6 3 Watts and aver ODROID MAGAZINE 12 root odroid Report erro analyz nax mum 1
46. ensors pick up the exact location of the touch A major benefit of the infrared system is that it can detect essentially any input including a finger gloved finger stylus or pen It is generally used in outdoor applications and point of sale systems which cannot rely on a conductor such as a bare fin ger to activate the touch screen Unlike capacitive touch screens in frared touch screens do not require any patterning on the glass which increas es durability and optical clarity of the overall system However infrared touch screens ate sensitive to dirt and dust that can interfere with the IR beams and suffer from parallax in curved sur faces and accidental touch notifications UR GIANT ANDROID TABLET if the user hovers his her finger over It s important to check whether the Nexio Co Ltd Other touch screens will the screen while searching for the item touch screen is really Windows 8 com report different VID PID and vendor to be selected patible or not True Plug amp Play de information vices do not require a separate driver Step 2 Modify E IR emitter to be installed ona hid ids h and hid Windows PC If the multitouch c touch screen needs a LED LED P IR receiver specific device driv After downloading the appropriate Android kernel source from dn odroid er it is not natively com navigate to the kernels drivers hid compatible with Windows 8 and will directory then add the VID and PID
47. es The SNES was a great im provement over the NES since it had more colors and m i offered a lot more pos r sibilities than the A a DEn An a oy Zelda Mario and Kirby the a R very long time THE best of Nintendo s goldenage D ENEMY gaming console for people including professional gamers ODROID MAGAZINE 19 Another advantage of these consoles was that they were made for two con trollers which resulted in a large library of games that could be played competi tively or cooperatively with friends Be tween all of the consoles covered in this article I consider the SNES to be the best console for multiplayer games In my opinion GBA is often over looked when it comes to retro gaming and Nintendo The GBA was a handheld console from Nintendo very much like the GameBoy GB and GameBoy Color GBC and was actually compatible with both GB and GBC games It even had a second processor specifically for back wards compatibility so that GameBoy owners could still play their older games on the newer console Otherwise it was very much like the SNES which made the small handheld device very powerful for its time The GBA also had 5 bit color and the CPU was 32 bit as compared to the I6 bit pro cessor of the SNES It also offered 32KB 96KB of Video RAM internal to the CPU and 256 KB WRAM outside the CPU If you compare these specs the GBA was a better system than the SNES in nea
48. g system usage most systems are fully in use if you organize your jobs correctly We there fore investigated fully on fully off and almost off systems with an eye towards energy savings relative to the various op tions available to us that don t involve a full power down Cold boots time for our demo cluster was less than 10 seconds and therefore validated this model A more likely sce nario for traditional datacenters how ever would include systems that are rarely powered down since they need to respond to requests quicker than a pow er on would allow For those scenarios we investigated suspend and resume and the novel PowerNap acpi modes Datacenter sysadmins have always had a way to do a safe managed shut down of their servers in case of a power outage The UPS vendor APC in partic ular has been a leader in this field when ODROID MAGAZINE II POWER CONTROL ON ODROID CLUSTERS they introduced their SmartUPS line The original software application that shipped with these UPSes utilized a seri al RS 232 connection that would allow the system to initiate a shutdown script on a server when the UPS detected that it was no longer getting charged Since the original releases there have been many improvements to this approach affording substantial scripting flexibility to the sysadmin and introducing alter native hardware options like USB and SNMP connections The open source community has also add
49. hare using either ES File Explorer s LAN tab and single click a media file from the shared directory or by starting XBMC and logging into the Samba share using the XBMC interface Notice that moving the downloads to the Whisper server allows the videos to SETTING UP A 1080p HOME MEDIA CENTER play smoothly on Android without stut tering or momentary freezing The play back on the Android client remains con sistent despite heavy stress on the server which grealy improves the experience of using Pocket Rocket by itself Peeking Under the Hood Since the Android operating system and video player have no competition for the local hard drive overall per formance improves on the Android client since it has immediate access to the hard disk now that the media files streams have been moved over to the ethernet port The result of the coordi nation between the two systems is that the Android client remains responsive at all times while the Whisper server accomodates the increased disk activity in the background without locking the Android system s resources The dual box version of the Media Center per forms better than the single box ver sion because of its compartmentalized use of each system s peripherals Files may also be copied and shared from one system to another using ES File Explorer so that documents may be edited locally on the Android client system while maintaining a re
50. he X11 desktop to be shared After the Vino server loads JuiceSSH remains in the background while the Android ap plication called bVNCFree gives remote control of the Whisper desktop I Samba Server Configuration File Preferences Help or 7 Directory Create Samba Share Basic Access var lib samba p Directory Share name DAMIETE Description home odroid Downloa Browse v Writable v Visible cancel Samba Server Configuration File Preferences Help oe w Directory Share name Permissions Visibility Description var lib samba printers print Read Only Visible Printer Drivers home odroid Downloads Downloads Read Write Visible bW NC Free Juice SSH Pocket Rocket desktop contains JuiceSSH and bVNCFree make good use of them Connecting the Client to the Server Launch JuiceSSH and select Man age Your Connections and match the options shown in below figures using the static IP address registered with the router in the first step Advanced users may skip the SSH step by adding Vino as a Linux startup task JuiceSSH Update Connection Nickname Type Address Port 22 Identity Odroid Connect Via Run Snippet Groups Add Group JuiceSSH configuration options JuiceSSH Update Identity Nickname Odroid Username 0 dr oid Password Update Clear Private Key Set optional ODROID MAGAZINE 39 Connecting J
51. he cause as a puzzle to be solved For an alternative ap proach we implemented threading differently and also made a couple of other changes Now cells are or ganized into as many work lists as there are threads to be used Both service areas and interferences are com puted in parallel so there are N cells being computed at same time The work is now fully or almost fully parallelized and the performance of the application clearly improved The Performance graph follows now our expectation model Multi threading uses the whole capacity of the XU board In this comparison the ODROID XU was used at 1 6 GHz with the perfor mance governor option To make a more legible comparison we take times at i5m sec XU sec Celeron sec 0 5 10 15 20 2 the 4th thread and put the numbers of partially and fully parallel runs into one illustration below In this test the multi core ARM processor is doing its jobs much faster than the one core Celeron processor With 4 threads the performance is 1 8x better Meanwhile the mobile 15 processor is 3 3x faster than the XU Fully parallel thread configuration jM sec XU 1 6 GHz sec Celeron sec m partially parallel XU 1 9 GHz fully parallel XU 1 6 GHz 5 changes these numbers to 2 5x and 3 2x respectively In this comparison the XU does 1 3rd of the work that an I5 can do at the same time Summary The ODROID XU board performs the s
52. he days when notebooks came with Ethernet and COM ports What do you do if you are stranded with nothing but a USB cable Installation In order to use the Gadget drivers first verify that the following modules are present on the ODROID system Mass storage emulation 1ib modules uname r kernel drivers usb gadget g mass storage ko Serial emulation lib modules uname r 7 kernel drivers usb gadget g_serial ko Ethernet emulation lib modules uname r kernel driv ers usb gadget g_ether ko Mass storage Serial Ethernet lib modules uname r kernel driv ers usb gadget g_multi ko If the drivers aren t initially present the Kernel and driver modules need to be updated Type the following commands into a Terminal window to upgrade In the following code examples the ereen characters show the Terminal win dow running on the ODROID and the blue characters show the Terminal on the Host PC Load the ule with a storage node which will be mass_storage mod mounted on your host PC Launch dmesg and find the Mass_ Storage Function gadget driver message Connect the ODROID s mictro USB cable to your PC and switch to using the Linux host On the Linux Host If a recent Linux distribution is in stalled the device should be automati cally mounted Otherwise follow these steps to manually add it to the host PC As root launch dmesg and find the dev sdX device assigned to the
53. ientationAware 1 keyboard builtIn mode navigation cursor orientationAware lcursor The file name must be Vendor_xxxx_ Product yyyy idc Vendor ID yyyy Device ID I made two files for Elitegroup and Nexio The filename XXXX 3 is case sensitive Vendor 03fc Product 05d8 idc and Vendor 1870 Product 0119 idc Copy the IDC files to your ODROID with the below commands adb remount adb push Vendor 03fc_ Product 05d8 idc system usr idc adb push Vendor 1870_ Product _0119 idc system usr ide adb reboot How to Attach the 42 inch Touch Panel to the TV Screen Carefully attach the touch screen to alion the viewing window Preparing the touch screen Attaching the double sided tape to the touch screen frame Test the touch screen Our touch screen could detect up to 6 points Testing the touch screen 6 points guarantee the sensor integration with the software This smaller 23 inch touch screen panel came with 4 velcro belts and it was relatively easy to assemble EJE T f i J D 3 C Eo i 23 inch touch screen panel with velcro belts playing Fruit Ninja on android Q2 0 56 BEST 159 gt m lt ia Conclusion Besides gaming and personal use the ODROID is ideal as the core computing de vice for kiosks digital signage human inter face reseatch and more because of its high performance computing power relatively l
54. in full speed So I consider the Amiga an unstable system to actually use on the ODROID There are some emu lators that can run directly for example E UAE and FS UAB which give better performance than the retroach port but they require advanced configuration and won t run easily with gamepads which the retroarch port does well There are some beautiful games on the Amiga but most of them have been ported to other consoles or to the PC which can be em ulated more successfully The benefit of the Amiga is that it Next on the list of emulators is It was possible to pack much more data on a SNES cartridge the Nintendo which allows for more con Entertain tent and made games look ment Sys a lot better as seen in a di tem NES the rect comparison between the Super Nintendo NES and the SNES The SNES also used video rendering layers which allowed Entertainment Sys tem SNES and the GameBoy Advance GBA If people talk about Nintendo and especially about retro games you are going to hear about NES and SNES con soles The NES is rather old for a console but it introduced some legendary classics more effects and content to put in a single scene and had a higher resolution than its predecessot that changed gaming history Titles such as Legend of Zelda or Super Mario are games that will probably never be forgotten and are one of the most important of Nintendo s fran chis
55. ine image may be used in stead of Whisper and the Couch Potato SD card image may be substituted for Pocket Rocket in case an eMMC module is not available Gathering the Equipment Setting up an Odroid multi boxed virtual computer requires any two Odroids from the X U or XU series and a modern wi fi router The remov able eMMC modules available Hardkernel give the best disk perfor from mance and for media storage a high capacity external USB drive or SD card permits sharing of large files between the computers without crowding the main operating system partition The following guide outlines the steps necessary for building a typical Home Media Center with two Odroids using one Odroid as the media server 1080p HOME MEDIA CENTER and another Odroid as the media client Since XBMC for Android gives the best performance in 1920x1080 resolution I chose Android Pocket Rocket as the client which already has the necessary SSH VNC and Samba protocols in stalled For the media server Lubuntu Whisper works well because of the pre configured Desktop Sharing Transmis sion and Samba applications Both im ages ate available for download from the Odroid forums at http forum odroid com In this dual box system media ac quisition is performed only by the Linux server which can elegantly handle a high volume of disk and ethernet activity When media files are ready for viewing the Android system load
56. k for wlan1 or wlan2 by typing if config a Save this information for later because we ll need to know the wifi card name in an upcoming step At this point you ll see the list of Wift networks in Range You can now use your ODROID as a Wifi client to connect to other wireless networks Building hostapd and wpa_supplicant Because Realtek 8812 isn t supported on Linux yet we need to build the drivers including hostapd from the manufactur er s source provided on their website Build hostapd from the manufacturer s source Before building and installing hos tapd let s just make sure that we don t have Ubuntu s hostapd installed Building wpa_supplicant Again we have to make sure that Ubuntu s wpa_supplicant isn t present This installs all of our wifi drivers along with the manufacturer s provided tools Let s move on into the configura tion part Configuration The Ubuntu Network Bridge must be configured in order to create the inte eration between the Wireless and Wired connections ae Oe ay ie etwork You ll also need to edit the interfaces file using the following screenshot as an example eth n a N AN ace 1U inet dhcp as manual and TECHNICAL ARTICLE After rebooting your LAN interface will be called brO with eth1 being part of it Using hostapd Since the wireless adapter doesn t have dual radios you have to choose be
57. l rarely find the RPG Adventures or Sim ulation genres on an Arcade machine It s hard to compare Arcade games with a SNES or Sega since the Arcade games evolved a lot and so did the hardware that was supporting these games Some Arcade games have NES quality graph ics while others have resolution as good as a PlayStation The ODROID platform can run ra i most of these games without issue and for this it s really nice to have There even is a project documented on the forum where someone built their own Arcade Machine at home with a U2 http bit ly lcmrgjK Another big company back in the earlier days of console gaming was Sega which directly competed with Nintendo The Sega team had very good ideas but in the end upset a lot of developers and publishers and now Sega only produces games for other consoles The Genesis Mega Drive and the Sega Sega MasterSystem Sega GameGear are the emulators that I in cluded in the ODROID GameStation Turbo image and are probably their well known They also produced a most consoles more like couple systems NeoGeo the Sega 32X Sega Mega CD Sega Saturn and NES SMS the Sega Dreamcast find tors to emula run these Systems on Linux and ARM so they are not included in the image yet If you want to compare the different Sega systems to others of its time you could say the Sega Master System is compar
58. lable from the Hard kernel website B C E G H I J StandardFirmata Arduino 1 1 0 5 dfsg2 O X File Edit Sketch Tools Help StandardFirmata Firmata is a generic protocol for communicating wit from software on a host computer It is intended tc any host computer software package To download a host software package please clink c to open the download page in your default browser 153 nia i wo ee Cl 2006 2005 Copyright Copyright Copyright C 20 Hans Christoph Steiner All C 2010 2011 Paul Stoffregen All rights 09 Shigeru Kobayashi All rights re Copyright C 2009 2611 Jeff Hoefs All rights rese This library is free software vou can redistribute IOSHILD Match the simple circuit shown here and have your U3 like we are showing below the GPIO from the Linux User Space GPIO means General Purpose In Accessing put Output and is a special pin present in some chips that can be set as either in put or output and is used to move a signal high or low in output mode or to get the sional current status in input mode Usu ally these pin are directly managed by kernel modules but there is an easy way to manage these pins from the user space as well Standard Linux kernels contain a special interface which allows access to the GPIO pins By running the kernel menuconfig command before compiling the kernel you can easily verify if this interface is active and enabl
59. like an old time PC despite its variety of games and other options Amiga games ranged from very simple to spectacular offers beautiful music and even more colors than an SNES or GBA up to 24bit Also missing are the Arcade ma NeoGeo Pocket NeoGeo and MAME since these systems of fer a variety of games from the clas sic Pac Man up to Tekken 6 for the Sie chines Of these consoles I prefer to play with other people together in front of your TV For multiplayer gaming the best consoles are MAME NeoGeo SNES and the PS1 There are also multiplayer games for Sega Master System and Sega Genesis as well but I encountered them rather rarely so I think that SNES would be the best choice if you want to play with a friend Although handheld devices such as the GBA might be the best single player gaming console they normally in this article has its own charm They all have some unique and en gaging games and it s usually the gameplay not the graphics that makes a particular game so enjoy able With an ODROID you have the possibility of experiencing all of them just by switching from one emulator te anore And with ODROID GameStation Turbo you have all of these emulators already set up ready to play games with your favorite controller ODROID MAGAZINE 23 TECHNICAL ARTICLE ESTIMATING RADIO NETWORK INTERFERENCE WITH MULTI THREADED JAVA Jussi Opas he project described in this ar ticle inv
60. n OK Apply Il Cancel Simple Inspect Convergence Cle TECHNICAL ARTICLE x results with OpenJDK and OracleJ DK are shown below right measurement The vation is obser that theoretical model as first our presented before is being partially fol lowed Each added thread is speeding up the program ex mance of the ap plication on XU is practically identical between 4 different Linux distributions Debian Xubuntu Fe dora and Ubuntu with Mate desktop There is a small but hardly visible improvement in JDK releases 1 6 1 7 and 1 8 It is also of interest to see how performance is improved when frequency is changed from 1 6 to 1 8 GHz as shown in at end of this page ecution until the 4th thread The first added thread yields the best performance boost XU OpenjDK sec XU OraclejDK sec This is partially affected also by Just In Time JIT compila tion JIT improves execution performance when same byte code is executed repeatedly Adding the 3rd and the 4th threads predictably improves performance while the addition of the 5th thread de creases performance We guess here that thread scheduling and context switching does not come for free when there are many threads waiting for execution time When we know this it is better to limit the number of threads to 4 in the ap plication program That can b
61. n and you can run Linux in parallel with Android for the world domination half of your inven tion as explained in the January 2014 CHRO issue of ODROID Magazine Handily you printed out and bound the entire last issue of ODROID Magazine for easy reference Sometimes it s Just nice to feel paper between your fingers After a few cobbled attempts at down loading the latest Android release for the ODROID you actually slow down and study the proper way to do it As the U3 is for most intents and purposes identical to the U2 you fol low the procedures for installation on the U2 You find the latest full version of Android for the U2 is the Android Beta 1 6 and the newer versions are sim ply updates to that version You download Android_Beta_1 6 for the U2fromhttp dn odroid com Android Beta_1 6 U2 and write it to your SD eMMC card as explained in the January 2014 issue of ODROID Magazine Once it has completed you plug the card into your ODROID and yell PUSH THE BUTTON this time remembering that you have neither a minion nor a flippy type switch You catch yourself cackling in glee as the AN DROID logo appears across your mini display connected to your U3 You find instructions for updating to a newer version of Android on the odroid com blog and you make some changes to bring it up to the current ver sion like so STALLING ANDROID ON AN ODROID INSTALLING ANDROID ON AN OPR ID gt
62. nce last write Search forward for the text following the slash Search backward for the text following the slash There are much more in depth vi cheat sheets online but the above com mands should allow you to edit just about Although it may seem uncomfortable to use at first anything you need in vi seasoned vi users can often edit more ef ficiently than users on any other editor graphical or not On Ubuntu ARM As open source Rebol 3 is still in very active development the graphi cal port of Rebol for ARM has not yet been released According to the devel opers at Saphirion they predict a work ing ARM port of Rebol 3 with graphics to be available sometime in February ot March 2014 Keep checking the http development saphirion com experimental builds directory for an ARM port The graphical ver sion for Linux x86 is already available but it wont work on your ODROID The Linux ports are being helped heav ily by a partnership with Saphirion and other commercial interests so expect a lot of movement in this area over the next few months In the meantime Rebol 3 is avail able in the non GUI variety from http rebolsource net and can work wonders as a replacement to bash perl PHP Python and other lan guages that don t have a native GUI OGRAMMING WITH REBOL PROGRAMMING WITH REBOL REDUCING COMPLEXITY IN DEVELOPMENT by Nick Antonaccio and Bohdan Lechnowsky Editor Why
63. ne or both of the ODROIDs to use a different MACaddress or 2 setup USB ethernet dongles which should all have unique MAC addresses The specific values you choose really don t matter as long as you keep them unique on your Local Area Network LAN To change the MAC address of the onboard device edit etc network interfaces with your text editor of choice and add the line hwaddress ether newmac where newmac is an ad dress in the format b6 8d 67 7b cb e0 underneath the following labels Then reboot the ODROID so the changes take effect Make sure to verify the new address using the ifconfig com mand Alternatively you can opt to plug your USB Ethernet adapters into the USB 3 0 slot and then run ifconfig a grep eth which should yield a list simi lar to this By default ethO will be the onboard 10 100 ethernet connection while the second ethernet device in this case eth2 will be the USB Ethernet Adapter If only ethO shows up try reseating your ODROID MAGAZINE 9 Yeah we are serious when it comes to gi ant robots taking over your hometown but Voltron always wins USB Ethernet adapter and or verifying that it works on another machine To set up the adapter for using DHCP on boot to get an IP address we will need to modify etc network interfaces and add the following two lines between the entries for auto lo and auto ethO ODROID MAGAZI
64. niport Adapter IP Address 0 0 0 0 Subnet Mask U U U U Gateway Realtek 8812AU Wireless LAN 802 11ac USB NIC IP Address 192 168 2 45 Subnet Mask 255 255 255 0 Gateway 192 168 2 254 4 V show Iray Icon I Radio Off To make your router even more useful you can also attach USB disks to the USB 2 0 ports of the ODROID XU then create a Torrent server a Samba file server or any other type of shared network resource I ve tested the ODROID XU router with my Nexus 5 phone and it report ed a throughput of 433Mb s That s quite nice for Wifi isn t it It could go faster but I think that 433Mb s is a limitation of the Nexus 5 THE ART OF MULTI BOXING 080p HOME MEDIA CENTER USING POCKET ROCKET AND WHISPER by Rob Roy Chief Editor ulti boxing is an advanced net working technique of connect ing two or more computers to create a single virtual system Originally referring to gamers who dominated on line matches by controlling several play ers simultaneously the methods can also be used in other applications besides gaming as a way to use parallel comput ing to improve the overall responsiveness of the user experience Compared to a single box system which requires a reboot to switch be tween platforms the key combination Alt Tab switches between the different desktops of the multi boxed machines Tasks that would normally slow down the user interface such as downloading video conversion o
65. nsors are built into every tablet phone netbook and desktop PC and they work transparently without having to install hardware drivers or OS patches Tiny form factors like ODROID and inexpensive cellular network con nections enable new types of applica tions that werent practical even on laptop machines a few years ago The high speed quad core ODROID pro cessors not to mention even the least expensive modern phones and tablets run circles around the best desktop PCs of a decade ago Deep data content of every sort in every field of study and interest is available instantly online to anyone around the globe Mainstream handheld hardware is tiny the interfaces are beautiful standard formats exist for virtually every type of data images au dio video structured tables of text and numeric data etc and well known op erating systems and software all function in a relatively uniform and familiar way so that everything just works the way that users expect Being able to use the amazing pro oerammable network connected comput ing power in our pockets and all around us makes available enormous cultural potential that has never before been available and gives us the ability to cre ate custom applications which leverage that tremendous power will only con tinue to grow in importance for future generations This situation is fantastic for users of apps but for software develop ers the current lan
66. nth a series of article topics will be posted for consideration and all community members are encouraged to send submissions in exchange for monthly rewards for those selected for publication The best articles are those that walk the reader through complex concepts and procedures in a simple to read format At least one picture or graphic per article is required and should be between 500 2000 words In this issue we show you how to turn your ODROID into an enormous 42 touchscreen Android tablet suitable for kiosks digital signage gaming accessibility and just plain fun You ve never played Fruit Ninja like this ODROID Magazine Rob Roy Chief Editor Bo Lechnowsky Editor Bruno Doiche Art Editor I am a computer programmer living and working in Silicon Valley CA USA designing and building websites such as Vevo Hi5 Dolby Laboratories and Hyundai My primary languages are jQuery Angular JS and HTML5 CSS3 I also develop pre built operat ing systems custom kernels and opti mized applications for the ODROID platform based on Hardkernel s official releases for which I have won several Monthly Forum Awards I own a lot of ODROIDs which I use for a variety of purposes including media center web server application development work station and gaming console I am President of Respectech Inc a technology consultancy in Ukiah CA USA that I founded in 2001 From my background in electronics and
67. o has a low level subsystem called Red System While Rebol is an interpreted only lan guage Red and Red System can run ei ther as an interpreted language or as a compiled language Red s founder and lead developer is Nenad Rakocevic aka DocKimbel The Rebol language family was recently recognized as the most expressive multi purpose languages as seen in the chart at http bit ly 1iikGlr Expressive ness is the measure of what can be accom plished by a given amount of coding The only two languages rated as more expressive than Rebol are Au geas and Puppet both of which are not general purpose Red falls in the same category as Rebol as far as expressive ness is concerned Red along with Red System is the first real contender to be a full stack program ming solution Several popular languages are compared and contrasted at http bit ly 1ltHdcbS for their Natural scope of application Notice how Red coupled with Red System cover the entire stack of application abstraction levels even more so than Rebol itself Another language to learn I ve heard it all before Before starting on this section make sure you have completed the Rebol 3 in stallation outlined in the article by Boh dan Lechnowsky in this same issue The screenshots shown in this and future articles are taken from a Windows work station but will look nearly identical on Ubuntu Android or any of the other op erating
68. oal then also the pre viously sequential work should be paral lelized The compilation time of Linux kernel on ODROID XU demonstrates this expectation model well at right Our sample application called Poiju computes estimation of radio network interference at the beginning of next page To do the estimation combined coverage and service area of each radio cell must be calculated Then at each pixel the field strength of interfering cells is computed This is done over the setvice area of carrier cells Computa tion is made on pixels of size from 30 to 350 meters The size of radio cells may vary from 200 meter to 50 kilometers The computational challenge is expo nential in its nature as the amount of pixels to visit and to compute grows in potency when a more accurate resolution is used 2 eee 2S S ASE Linux kernel compilation with many threads min 10 11 12 The characteristics of the program are that it uses only RAM no file ac cess and all work can be done by the CPU since no GPU related work is performed Parallelization has been designed so that for each cell service area is computed first sequentially and after that interference is computed with many threads for cell specific closest candidates Physical cores and or hyper threads ate visible as available LEA99 ing operating system and hardware so processors Java threads hide underly the same program can be used on
69. oft Visual Studio ODROID MAGAZINE 27 HOW TO INSTALL REBOL HOW TO INSTALL REBOL A BEGINNER S GUIDE by Bohdan Lechnowsky Editor ebol Based Object Language is a Relative Expression revolutionary advancement in programming language emerging from over thirty years of language research It offers enormous flexibility and power with a focus on intuitive lan guage patterns that promote new ways of thinking about software tasks Follow these steps to install open source Rebol 3 with GUI support Open a web browser and navigate to http development saphirion com experimen tal builds android Download r3 droid apk amazingly it s smaller than 2MB When finished double click on the down load icon usually by the clock and grant in stallation permissions Go to the apps list and click the icon for R3 Droid Additional Android notes When using the Android Termi nal app it is almost always necessary to have root permissions To login 2 as root enter su at the command prompt This needs to be performed each time Terminal is opened On my installation of Android I commonly get a message when I try to create a new file stating Read only file system To overcome this enter mount o remount at the command prompt This needs to be performed each time Terminal is opened To edit a script using Terminal en ter vi myscript r where myscript r is ODR
70. ojects that youve seen ODROIDs being used for I love projects that deal with light con trol and ambiance light control I don t think I have seen any of those so far us ing ODROID s ve seen some pretty g neat robots powered by ODROID s and Pm on my own personal project to do some light control with ODROID s Do you have any personal projects that you re work ing on using ODROIDs Yes ambient light control It s using a U3 Shield board to control the light on my room using 5 10W leds Right now I have it about 70 complete Minor bits are missing such as cabling housing and remote control Software What other interest and hobbies do you enjoy Race Cars are probably what I love most apart from the computer side ve been part of the scene dealing with cars ECU s Combustion engines are fun About my dogs They are two Lhasa Apso Meg is the older she s 6 years old now Junior is the last born of her mother he s 4 years old now Laika and Res were my very first dogs They are the couple that gave birth to all of my current dogs Unfortunately Laika passed away early last year due to complications of a surgery to remove stones on her bladder Res sadly passed away a couple months later Laika died at age of 7 and Res at age of 9
71. olves the estimation of radio network interference using a multi threaded Java application How does the ODROID compare to other computers performing the same work If some tasks can be parallelized then each additional thread shortens the execution time of the whole job Given that there is an execution pro cess available for performing each add ed thread let s say that it takes 8 units to do some work sequentially Adding one new thread shortens the time to 4 units while adding a third thread fur ther shortens to 2 67 units and the 4th additional thread lessens the time to 2 units If the work is not fully paral lelizable there is always some portion that must be done in sequence by one thread and that part of the work can not be accelerated by adding threads Let s start with the assumption that the non parallelizable work takes 2 units to perform and assume that adding more threads does not incur any extra cost Then we add up to 12 threads The whole work should then be done in constant time from the 4th to the 12th thread With this informa tion we can draft an expectation mod el as shown by the square dotted solid line to the right ODROID MAGAZINE 24 It is of interest to see that adding even more equally performing cores shortens the used time but not by much as shown by the dashed line The se quentially done 2 unit work throttles the overall performance If the full benefit of all cores is the g
72. ow cost and open platform which allows modifications such as this touch screen A video of the results of this project is on http www youtube com watch v HDsnuxchxtJ and for more giant action http www youtube com watch v n8 cV NewQ8 THE MAD SCIE Bohdan Lechnowsky T a by the soft glow of your plasma dis his moment finds you in your fa miliar laboratory hunched over your lab counter illuminated play network indicator lights catalyzing chemicals in various test tubes and such Before you lays a brand new ODROID U3 which you ate in the process of mod ifying into a combination superphone world domination device On another ODROID inches to your right plays an inspiring YouTube video of The Ben Heck Show while you hack old IDE ribbon cables and connect your U3 to various items on your worktop like batteries and miniature displays Upon completing the last solder con nection you look up with a menacing smile of accomplishment and say Flip the switch After a brief moment of inactivity you remember that you still don t have a lab minion Not only that but there is no switch to flip However there is an on off button on the U3 You power on your U3 but then real ize after another brief moment of inac tivity that you don t have an OS on your SD or eMMC card You decide that you should probably install Android as it is the best choice for the superphone por tion of your inventio
73. ow keys navigate the menu lt Enter gt selects submenus gt Highlighted letters are hotkeys Pressing lt gt includes lt N gt excludes lt M gt modularizes features Press lt Esc gt lt Esc gt to exit lt gt for Help lt gt for Search Legend built in excluded lt W gt module lt gt lt gt Touchwin serial touchscreen eGalax eTurboTouch CT 410 510 700 device support PanJit device support 3M Microtouch EX series device support ITM device support eTurboTouch non eGalax compatible device support DNC TSC 10 25 device support IRTOUCHSYSTENS UNITOP device support IdealTEK URTCIOO0 device support GeneralTouch Touchscreen device support GoTop Super_Q2 GogoPen PenPower tablet device support be tl t Gunze AHL61 device support fe tl be ni a e EAEE lt Exit gt lt Help gt Configuring the touch screen with an embed ded driver in the kernel configuration Save the Kernel configuration and compile it to make a zImage Transfer the zImage to your ODROID via fastboot protocol in the u boot ODROID MAGAZINE 6 Step 4 Create an IDC Input Device Configuration file If you don t make a proper IDC file the resolution of the touch screen will not match the HDMI resolution Create a plain text file as below touch deviceType Sereen touch orientationAware device internal 1 keyboard layout qwerty keyboard characterMap qwer ty2 keyboard or
74. p the Server For the initial setup connect the Odroid running Whisper to the key Enable Desktop Sharing by selecting Desktop board mouse and monitor Sharing from the Internet menu and matching the options to those shown below Choose an appropriately secure password for desktop access which will later be used in setting up the Android bVNCFree client Desktop Sharing Preferences Sharing Allow other users to view your desktop Allow other users to control your desktop Security L You must confirm each access to this machine Require the user to enter this password ecccce Automatically configure UPnP router to open and forward ports Show Notification Area Icon Always Only when someone is connected Never Help 3 Close 4 odroid odroid File Edit Tabs Help collisions txqueuelen 0 Output of ifconfig command on the Whisper server As a double check verify that the IP address of the Whisper system matches the one selected in the DHCP Reserva tion router setup by running Terminal from the Whisper desktop and typing ifconfig If the addresses don t match it may be necessary to reboot Whisper in order to register it under the new IP ad dress stored in the router Finally connect any large capacity device to use as a shared directory for media files such as an external USB drive to the Whisper server and run the Samba applet from the Preferences menu
75. r torrents are moved to a second computer which performs its job seamlessly in the background but appears on the first machine as if it were a native application As a multiple Odroid owner it s more economical to connect several Odroids together ac cessed by a single monitor and keyboard than to purchase separate equipment for each computer The primary advantage of delegating tasks among several computers is that if disk or CPU activity is high on one machine the performance of the other systems ate unaffected since each com puter has its own local resources without needing to compete for processor cycles ot hard drive access For example when watching videos heavy background downloading can affect the frame rate of the video playback causing video artifacts frame stuttering and audio de lays Using a second system to do the work of gathering media files then frees up the main system for playing smooth video without glitches caused by spikes in disk activity To illustrate the concept of Odroid multi boxing two of the community images available on the Odroid forums Android Pocket Rocket and Lubuntu Whisper can work cooperatively to run two Odroids as a virtual octa core system Operating two images simulta neously improves the stability and effi ciency of both environments with the advantage of doubling the computing power RAM and disk storage available for use Alternatively the full featured Dream Mach
76. receive messages while processing jobs A command called either mpirun or mp iexec will start all the processes needed across yout ODROIDS under your control There are two common open soutce MPI implementations available for download MPICH and OpenMPI For ODROID clustering purposes over Ethernet both work equally well Both of these MPI implementations are avail able through apt get To install MPICH run sudo apt get install mpich2 or run sudo apt get in stall openmpi bin to install OpenMPI as an alternative What you can do once you ve loaded MPI I Run test applications that use multiple cores on a single ODROID 2 Run example programs that use both ODROIDS and a total of 8 cores 3 Learn how to build your own MPI programs In this article we ve focused on show ing you how to do the first and the sec ond approaches You can read the exam ple programs that come with OpenMPI and MPICH to learn more There are also a number of excellent online tutori als and a few good books on program ming MPI such as Using MPI from MIT Press one of us co authored that book Building it Better The content of this article represents just a fraction of what we will be able to do with our cluster down the line While this setup is more than adequate for handling two nodes and only a few users if we want to grow our cluster we will want to make use of a dedicated head node to better handle a
77. rsion of the game the Sega Genesis had better game mechanics and included a sword which was not in the SNES version Interestingly Disney il lustrators were involved in creating the animations in the Sega Genesis version which made them look much better OF ROID MAGAZINE 22 A comparison of SNES and Genesis graphics Can you tell which system is which Earthworm Jim 2 Aladdin SNES vs Aladdin Mortal Kombat Sega tried to reach older gamers as well and wanted to appeal to profes sional gamers For this the uncensored version of Mortal Kombat was pub lished on the Genesis which had blood and other effects that had been removed from the SNES version published many sports games that were Genesis also very popular among adults Overall the SNES had better hardware and games looked more impres sive than the Sega Genesis but Genesis tried to counter that with better game me chanics and more serious games and gameplay The GameGear was Sega meant to be a superior handheld device and the di rect competitor of the GameBoy GB but it was far more than that In fact the Sega GameGear was even more powerful than the Sega Master System and had an adapter to watch TV The Sega GameGear is somewhere in between the Sega Master System and the Sega Genesis It actually had even more colors than the Genesis but the downside of the GameGear is that the resolution was rather low even for its
78. s them from a common shared directory and plays them using a hardware decoded video player like XBMC or MXPlayer The first step after downloading and copying the images to an eMMC mod ule or SD card is to set up the network neighborhood so that the Odroids can find each other Configuring the Router The server system running Whisper needs a local static IP address so that the other Odroid can locate it on the net work easily Without a static IP the con nections would need to be reconfigured with a new IP address after each reboot The option to assign a permanent IP address also called DHCP reservation is included in the wi fi router s adminis trative panel For example using a stan ODROID MAGAZINE 37 DHCP Reservation Mozilla Firefox DHCP Reservation praana mac raans LAN A N N esnavnanenss wees eee Manually Add Client Add Clients Enter Client Name Assign IP Address To This MAC Address lz Clients Alread Reserved Client Name Assign IP Address To This MAC Address MAC Address dard home Cisco router the admin page is accessed at 192 168 1 1 with a default blank username and password of ad min Some routers use 192 168 0 1 10 0 0 1 or another similar address in stead For specific instructions refer to the router manufacturer s website or user manual for details on accessing the DHCP Reservation Mozilla Firefox 192 168 1 1 DHCP_Static asp
79. ssue of ODROID Magazine We recommend using the eMMC modules available from Hardker nel for better performance but SD cards work well too Connecting to your Odroid and User Configuration Since we opted to use the Ubuntu Server image for our ODROIDs we can connect to our XU E systems we ll call them nodes for simplicity from now on via the ssh protocol using Terminal or Putty if running Windows in order to continue setting up our cluster Because of potential initial hostname and MAC address conflicts that we will resolve in the next section we will need to boot the first ODROID and set a few settings be fore starting the second Editors Note If one is available a develop ment machine running Linux or Windows is recommended to more easily setup and reboot the cluster troubleshoot hardware problems and other necessary debugging An alterna live to using a separate computer is to plug a USB keyboard and HDMI cable into the first ODROID and use it directly to boot strap the cluster instead of via SSH as de scribed in the next few paragraphs Press Ctri AH F1 to use the framebuffer console if X11 ts not running In order to connect to your ODROID you ll need to discover the hostname or IP address of the board For the Ubuntu server image we used on our XU E cluster the default host name is odroid server while for other images we ve used it s been odroid Most hom
80. stems GB GBC GBA NES SNES run fine on the ODROID using the emulators provided on ODROID GameStation Turbo I prefer to run SNES in retroarch and play the other Nintendo emulators using mednafen since mednafen per forms better than retroarch for these platforms and allows software scalers such as hq2x or super2xsai which can enhance the picture quality and make the games look more modern than they really are If you are a fan of retro Arcade machines you ll prob ably enjoy MAME NeoGeo and NeoGeo Pocket which are available for the ODROID MAME and NeoGeo are available on retroarch and NeoGeo Pocket is available on mednafen NeoGeo Pocket is similar to the GBA and is somewhere be tween a GBC and GBA but it was not very popular and lacks the large game library of its competitors Still it s similar to the other Arcade machines and of fers some challenging action games MAME and NeoGeo have a lot of fast action games like Street Fighter 3 Night Swordcraft Gua rd 3rd Strike and 1944 The Loop Master Arcade games vary from those that have simple graph ics to 3D games to some with sprite technology like the previous mentioned 1944 The Loop Mas ter If you like a lot of action and expert gameplay the Arcade games that the ODROID can run is what you are looking for especially when playing with friends However the Arcade genre is limited and implies fast action games You wil
81. te powerful custom business and personal applica tions with it quickly and easily on any chosen platform Despite its extremely simple na ture R3 is not a hobbyist toy or lim ited learning environment Rebol is a powerful and deep professional tool which has proven itself in numerous critical commercial projects across a wide array of demanding industry environments around the world for more than a decade Evolution of Rebol For most of its life Rebol 2 was a closed source commercial tool which thrived as a secret weapon among only a small community of users who communicated privately and covertly us ing invite only communication channels the executables of which were devel oped using Rebol 2 With the release of open source R3 and the new potential for Android de velopment in addition to more than 40 legacy platforms and web develop ment Rebol has attracted a new group of coders interested in its practical and productive capabilities for creat ing software of all sorts In future ar ticles we will show you how easy it is to get started Red On All Platforms During the closed source era of Rebol 2 and 3 several languages were developed as open source variants of Rebol including Boron Topaz World and Red The data interchange format JavaScript Object Notation JSON was also heavily inspired by Rebol s clean data format The front runner of these efforts presently is Red which als
82. ther with a friend so I consider it a great multiplayer i system Games J like Banshee or The Chaos Engine are really awesome to play with a friend Left Banshee a great Amiga shooter Right The Chaos engine The SNES was a big improvement com pared to the NES and other consoles but that is not a big surprise if you compare the specs of the two consoles The NES had only about 2KB of RAM and 2KB of Video RAM and a maximum of 25 colors simultaneously out of 48 colors and some grays lts successor the SNES could use up to I5bit colors 32 768 possible colors and had 128 KB of RAM and a large amount of Video RAM 64 kB main RAM 512 32 bytes sprite RAM 256 15 bits palette RAM The ROM size of games from the NES were between 8 KB to IMB On the SNES the ROM size was between 256KB and GMB tasking the ability to use hard drives to store games and programs and the Work bench Graphical User Interface it was very impressive There are some emula tors that run Amiga games well but it takes lots of configuration to get the games to run and often you have to switch between Kickstart disks the BIOS of the Amiga Simply switching through the many disks can also get somewhat annoying Although the graphics of the Amiga was outstand ing it can hardly compare to other con soles now I use retroarch in my ODROID GameStation Turbo image to run Ami ga games but unfortunately not all of them run
83. tly every aspect The only advantage that the SNES had over the GBA was the resolution which was only 240x160 pixels Even with the lower resolu tion the cartridge size went from 1MB up to 32MB rewi Captain we are about Cecil Good Mote size equals more content and once again the GBA was a big improve It of fered movie cut scenes beautiful music ment when it came to content and very nice graphics which is why I prefer GBA emulation over SNES Many games that existed on the SNES were ported to the GBA and they not only look much better but in many cas es have additional content Although the GBA is in my opinion a far better console than the SNES it has a downside The GBA is a handheld console and although it had multiplayer capabilities between two consoles via a connection cable it makes it impossible to play GBA games with a friend on the same machine However if you prefer single player mode you should definitely take a look at GBA games You can also see if your favorite SNES games exist for GBA and maybe get a newer better experience from your game If you re looking for a new game to try you should definitely check out the GBA game library Overall I really like the GBA and I routinely play some GBA since they Final Fantasy IV SNES vs GBA side by side Riviera Vi Promised Land have very attractive graphics and immersive gameplay All of the Nintendo sy
84. tween the 5GHz or 2 4Ghz frequency If you are on a network with only 5Ghz devices which most are nowadays use the 5Ghz config to allow a maximum speed of 800Mb s If you need extra compatibility with older computers or your devices aren t 5Ghz use the 2 4Ghz configuration shown below To begin configuring the hostapd service start by creating the following file using root privileges ODROID MAGAZINE 35 TECHNICAL ARTICLE You should customize the inter face parameters ssid and wpa_pass phrase for your network Auto Start hostapd Edit etc rc local and add the following lines before the exit 0 line ODROID MAGAZINE 36 DNS and DHCP Our network needs both a DNS and a DHCP Server in order to auto con figure our clients In this case we ll use dnsmasq since we already installed it as a dependency in the first step Create the file etc dnsmasq d odroid conf Now that our devices can connect to out new network they need to be able to access the internet We ll fix that right now Creating IP tables for internet access Edit etc rce local and before exit 0 add the following lines Now were done and you should have a fully functional wireless router Status Associated Speed Tx 867 Mbps Rx 867 Mbps Type Infrastructure Encryption AES sso M Signal Strength 100 Unk Quality ii 97 m Network Address MAC Address 04 80 38 07 F4 03 Microsoft Virtual WiFi Mi
85. ty to wrap new capabilities into simple language structures also known as dialects domain specific languages or DSL s which control multiple layers of com puting functionality It goes far beyond the abilities promised by old rigid Ob ject Oriented Programming OOP ap proaches and it has a proven record of reducing complexity in widely varied de velopment tasks Recently Rebol version 3 Rebol 3 ot R3 was released by Carl Sassenrath as an Open source project and a version for Android named Saphir is forked and maintained by the Saphirion group Saphirion is a commercial application development company that uses Rebol as their primary development tool Free open source R3 Saphir releases also exist for Windows Mac and Linux desktop Operating systems and R3 server ver sions enable easy and portable web de velopment strategies In most cases Saphir R3 download sizes range between 0 5 and 1 5 mega bytes with GUI networking and all other required components included and it s shockingly simple to learn and use An entire development toolkit for R3 requires less than a minute to install since absolutely no hefty SDK or IDE installations are required even for An droid development Rebol works the exact same way on every platform without any changes to code or workflow routine Even people who spend the majority of their time doing things other than writ ing code can learn to crea
86. u 13 10 which is available for download from the ODROID forums Verify that you have the following mod ule Ifs TCA6416A I2C to Parallel Port Ex pander in your kernel source tree lib r drivers gpio gpio pca953x ko modules uname kernel Ubuntu Software Center File Edit View Help 2 a Q arduino a All Software Installed History All Software By Relevance foro Arduino IDE 59 Create physical computing projects Remove Show 8 technical items ODROID MAGAZINE 32 Usage Download the Fir mata software for I O shield and setup the configuration as follows Port setup Tools gt Serial Port gt dev tty ACM99 Open the example code and upload it to your IO_shield File gt Examples gt Firmata gt Stan dardFirmata Download the I O shield source code hetcp dan odroid com u Accessory u3_IOshield_ex ample tgz Extract source code using the tar xvzf command 2 Build the libfirmatac a library 3 Build the Example code which links libfirmatac a ledBlink ex is an IO Shield D13 port LED blink example servotest ex is an IO Shield D3 port servo motor control example Firmata example code Launch Ubuntu Software Center search for arduino and install it Making a Test Circuit with the US I O shield and the Tinkering Kit Use the following parts from the tin kering kit also avai
87. uice SSH connecting to the Whisper server the JuiceSSH drops into the remote server s Once server is connected scripting shell known as the command line interface or command prompt For convenience Whisper includes a local Vino script which automatically shares the current desktop using a sin gle command Launch the VNC server by typing vino at the SSH command prompt and entering the root password of odroid JuiceSSH after running the vino command Keyboarding Like a Pro Before moving on to using the graphical X11 desktop it s important to become comfortable with the Android interface itself To optimize the user experience Android provides several keyboard shortcuts that permit quick window management and data sharing functions while also alleviating the need for using the mouse ODROID MAGAZINE 40 Android has many built in shortcut key combinations that closely resemble those used in Windows and OSX Esc Close a popup window Control W Close the current window Control T Open a new browser tab Control C Copy Control X Cut Control V Paste Control A Select all Tab Navigate to next input field Alt Tab Switch to another appli cation Alt Tab gt Alt Esc Return to the desktop same as Home button Mouse Right click Go to previous window or close a popup window if there s one open As an example of keyboard naviga tion you can press Alt Tab then Alt
88. ule yielded no negative re sults in our findings Even if you do not have big LITTLE enabled apps which we do not have on our U2 U3 cluster you can tune your performance require ments with rules written against pack ages like Slurm which is currently one of the most popular queueing systems schedulers in the HPC world ssdd a 2 The big takeaways from this project Server hibernate is of decreasing utility since poweroff and reboot is just as quick in our usage Governer invocation is now the stan dard The Powersave governor is of considerable value and should be used as a default in HPC clusters And manual processor affinity is no longer necessary if you are using modern kernels on your ODROIDs We have boot times on our eMMC fitted U2 and U3s of less than 10 sec onds so there is no argument you can make for suspend resume or hibernate thaw that isn t better exemplified by an on off solution or a scripted governor call in embedded HPC In an academic datacenter you are quite often utilizing 100 of your most restrictive computational resources in your applications or waiting for a job Frrr wey Vor p z EF way ae e Z1 WDY voy LE S75 tees A gt a A big problem of early software engineering was not how much power those old dinosaurs demanded but the lack of safety hats to be initiated Because of conventional standard practices of nice level man agement and queuein
89. v AN Z a U U aged 5 6 per node over the course of the benchmark suite run Itis interesting to note that while these particular bench marks managed to keep the CPUs busy it did not fully utilize available memory which is also reflected in power usage om Some benchmarks represent usage as 400 of one process rather than 100 of 4 processes depending on wheth er they are initiated as MPI jobs We tracked the power use using an FTDI scodowski 2004 2009 cpufreq info will show this 4 times but if you go for powersave or conservative get ready to see less active processors when idle top command sampling a lu A benchmark connected WattsUp meter Clearly the XU E is much better suited to this ex periment not to mention the substan tially better performance with the big LITTLE architecture Our test setup We wanted a demo micro cluster that captured the power being used by six 6 ODROID U2 computers Those items were connected to our WattsUp meter which allowed us to measure rel atively small power fluctuations since they aggregated We captured this with the Linux utility described below Additionally we measured single node numbers on an ODROID U3 Baseline power usage on boot note that boots put us into ondemand mode at ini tially 200 Mhz was negligible While a range from 200 MHz to 1 7 GHz were available speed options for our boards without overclocking as a practical matter w

Download Pdf Manuals

image

Related Search

Related Contents

Series D - SSP Pumps    MEDIA PAD - SAPHIR MEDIA  2015v3 - TimeTronics  "取扱説明書"  1 - Casa Veerkamp  WAHT-SA1  Manual del usuario - Epson America, Inc.    

Copyright © All rights reserved.
Failed to retrieve file