XS Community Edition/FAQ
How does XS Community Edition (XSCE) help?
Bring the power of a free Digital Library of Alexandria into the hands of any school worldwide! Read about Internet-in-a-Box (rich open content often included with XSCE) and build up your school's very own E-book library below.
Where is XSCE used?
As of 2015/2016, XS Community Edition is used in more than 10 countries, from smaller communities to large-scale deployments.
Examples include several orphanages and schools in Haiti to a youth community in Malaysia, to villages in Northern India, to a girls science school in Rwanda, to rural communities across southwest Ghana -- and more broad Central American deployments like Nicaragua, Costa Rica and 6 schools in the Dominican Republic beginning late 2015.
Of course, many contributors are using XSCE for other personal/community purposes as well, helping refine our community product for diverse/larger impact.
What can I do with E-books and Internet-in-a-Box ?
Purchase a packed hard-drive full of the incredible Wikipedia + Maps + Literature + Khan Academy resources of http://internet-in-a-box.org.
This permits entirely new opportunities for semi-connected schools and offline libraries worldwide, for the 1st time ever starting in 2013.
We'd like educators' suggestions especially -- how should kids best take advantage of these crown jewels of learning? Perhaps starting with OLPC/Sugar's laptop browser in places like:
http://schoolserver/maps http://schoolserver/books http://schoolserver/library http://schoolserver/khanacademy
Can teachers display their own content?
Yes, teachers can do this "instantly" by inserting their USB memory stick(s) into the school server. Somewhat like an informal projector, the USB key's contents will then appear to students within seconds, off of http://schoolserver.lan/content
A priori, the teacher should create a folder called "share" on their USB memory stick, and place materials, handouts or presentation(s) inside that folder.
The USB stick(s) content will then appear live to students, in places like:
Unable to mount 2.0 GB Volume Device /dev/sdb1 us already mounted at '/media/usb0'.
What hardware should I use?
XSCE (XS Community Edition) is free software that runs on many different hardware platforms. Some of the most popular examples include:
- Deployment Managers: a paticularly tough, well-rounded, lower-power unit (great for developing world) is the Intel NUC many of us have had great luck with since 2014. We usually insist on NUC models that accept SATA (2.5 inch hard drives) and work with DC voltages up to 19V (low-end NUC models only work right near 12V). This is not a fan less device, however it's proved extremely reliable to date. Some are very hopeful that ARM CPUs like TrimSlice / Utilite and Cubox by SolidRun will catch up with Intel NUC in overall stability/reliability. Check back as many more global deployments' experiences accumulate, and rugged low-end hardware hopefully emerges eventually!
- Technical/DIY Implementers: roll your own on XO-1.5, XO-1.75 (ARM), XO-4 (ARM), x86 and x64 -- with support emerging rapidly in 2016 for Raspberry Pi 3 and Pine64! For an earlier discussion of possible external USB hard disks and their risks, see: http://lists.laptop.org/pipermail/server-devel/2013-June/thread.html#6490
What OS should I use?
Other OS/distribution support for this global community project would be most welcome in future!
Is a quick installation possible?
Yes, a number of XSCE 6.x Pre-installed Images are available and more are in the works.
Please see the new Install Instructions from February/March 2016, especially the "short cuts" section, for a list of what is available, where to get it, and general instructions on installing. Visual shortcuts to some of the more common images can also be found at the top-right of http://schoolserver.org
Images for each platform are accompanied by a ReadMe page with additional instructions.
Advanced users may also find useful tips in Tom Gilliard's 6.0 Installation Notes & Screenshots and Tony Anderson's XSCE 6.0 Install Recipe. Be sure to turn off UEFI in your PC/server's BIOS if possible! Jerry Vonau is working on a routine that may allow UEFI support out-of-the-box in future. Legacy/complete XSCE 5.1 installation instructions are here.
Finally, to get down to real business (education!) there are a variety of ways to add content to your XSCE School Server. Please see Adding Content.
After installation, please explore learning materials within your own server's http://schoolserver.lan -- and also get to know the Admin Console at http://schoolserver.lan/admin which permits you to (1) configure your school server and (2) download new content. Example screenshots:
We're hopeful that more offline installers will appear for many of the most common hardware platforms, like Raspberry Pi 2, in the near-future. George Hunt especially has worked extremely hard on these, and greatly appreciates all your "fieldback" !
How do I provide Solar Power to my school, library or orphanage?
This is a very hard question depending on the growth path of your electrical needs, maintenance options within the country in question, price, theft, etc. Some experienced deployment voices provide concrete examples, typically involving a standard 12-volt deep-cycle battery. Please don't wait to get your feet wet today however! That means investing in the hard work of research, getting this right for your own community:
Thanks for taking solar engineering seriously, as we do wherever possible! Engineers definitely subscribe to Richard Smith's "power" discussion list if you can.
How do I provide Wi-Fi (wireless) to all my kids?
If you want a self-contained (single-unit) knowledge hotspot, consider Wi-Fi capability physically inside your server (despite its limited radio power?) If so, run "iw list" to determine if it is capable of Access Point (AP) mode, enabled by hostapd. Of course you may need to run "yum install iw" first, so the iw command is available on your server.
If you want higher-powered Wi-Fi equipment and antenna(e) fully external to the server itself, consider approaches from http://villagetelco.org where possible, detailed below. More experimentally, Anish Mangal has experimented successfully with cantenna(e) in India, between classrooms and schools.
Within classrooms, many deployments use the $20 TP-LINK TL-WR841N as these Wi-Fi Routers have proved generally reliable over the years.
We recommend deployments double the classroom capacity of these WR841 routers (to almost 40 simultaneous connections) by trying Terry Gillett's SECN-XSCE firmware here: (based on OpenWrt, but far simpler)
April 2016's RC3 firmware release is increasingly stable: strongly consider it or more recent. It should be followed shortly by a stable/official release we hope. There is firmware for all recent versions of WR841 hardware (v8, v9, v10 and v11) so be sure to select the correct one.
When flashing a TP-LINK with original factory firmware, install using a firmware file labelled "factory" from the RC1 or RC2 folders. Otherwise, use a firmware file labelled "sysupgrade" to upgrade from one OpenWrt-based version to another.
There is also a wiki page outlining how to use PoE (Power over Ethernet) and how to daisy-chain multiple such routers together:
Most important: take advantage of community support, where volunteers are eager to help on the firstname.lastname@example.org and email@example.com mailing lists. There's always tons to learn from the latest Wi-Fi fieldwork success stories.
Also consider IRC channel #schoolserver on http://webchat.freednode.net for live chat, and firstname.lastname@example.org, which is a great place to ask educators about various schools' filtering recommendations, across different age groups and cultures, whether your school is online or off!
Finally, don't hesitate to blog or write up your own specific recommendations, no matter how large or small your school. This vital engineering shop-talk upholds more schools, libraries and orphanages than we can count (building our community repertoire of Wi-Fi wisdom, often far from the Internet, creating "knowledge hotspots" in every sense) in turn allowing kids to take advantage of amazing free Digital Libraries like http://internet-in-a-box.org and Pathagar e-books.
How do I change the wireless network name?
The wireless network name is how people connect to your school server when they are using a Wi-Fi device. This name is also known as an SSID.
How to change it depends on whether your wireless access point is fully-external (such as a wireless router) or rather under direct OS control (e.g. internal, or a tiny USB-connected wireless adapter) :
- If it's fully-external, change its SSID (wireless name) using the documentation that came with the router.
- If it's under direct OS control, then the school server is the wireless access point. George Hunt's command "xs-hotspot-on <SSID>" solves this on XO-1.5 and similar. Conversely "xs-hotspot-off" to turn the internal hotspot off entirely. You might also open your server's Admin Console http://schoolserver.lan/admin by logging in as xsce-admin per usual, then change the SSID (wireless name) there, under Configure -> Internal WiFi AP -> Internal Wifi Access Point Name. This setting will not take effect until you click on Configure menu -> Install Configured Options (red button), and wait many minutes for all new settings to take effect (monitor status under Utilities menu -> Display Job Status).
What networking tips exist?
If you use a USB-to-Ethernet dongle (for upstream Internet, generally) use a permanent marker on the server's correct USB port, so that it's not accidentally moved to another USB port!
Also, do not swap the dongle for another, as each dongle has a fixed/unique MAC address. Worst case if your dongle is lost or broken, you will later (after the new dongle is inserted) need to rerun "./runansible" from directory /opt/schoolserver/xsce when your Internet connection is live.
A high-level networking summary is here: https://github.com/XSCE/xsce/blob/master/docs/NETWORKING.rst
More advanced networking insights will follow from the stock instructions for setting up upstream and downsteam routers attached to Intel NUC hardware, just as an example.
Classrooms within 100 meters of your school server can easily be connected using standard Ethernet wiring, or using Wi-Fi repeaters. Outdoor wiring is possible (preferably below ground) but check with experts to avoid problems with lightning. Beyond 100 meters, a more deliberate tree and branch solution may be needed.
Please ask questions about your specific school's networking/wiring challenges on mailing list email@example.com !
Where security tips exist?
Whether running your school server online or offline, please see XS Community Edition/Security and help us contribute to this evolving knowledge of 21st century hygiene, thanks to professional volunteers from many backgrounds.
How do I customize my school server's start page?
If you want to showcase your school or community logo/colors on the portal/start page (what people see at http://schoolserver.lan or http://myserver.lan), you can customize /var/www/html/xs-portal/index.en.php, where most standard HTML tags should work. Please create a backup copy of index.en.php first!
If you want to create your own look and feel, create a standard HTML file /var/www/html/xs-portal/index.html alongside, which takes precedence over the above index.en.php when users visit http://schoolserver.lan
To redirect the home page you can edit /etc/httpd/conf.d/xsce-home-page.conf. If you choose to hide the server's standard portal/start page, remember that your school server's Admin Console should always be available at http://schoolserver.lan/admin for general administration and maintenance.
Increasingly, many educators also prefer to personalize their school server's portal beyond their logo, using WYSIWYG tools like DokuWiki, WordPress, or Moodle. For example, adding gems from indigenous languages and unique local content -- if you need customization suggestions, don't hesitate to write to: https://groups.google.com/group/unleashkids
Finally, technical tips are contained in the Portal README.
Can my XO-based server boot with a unique startup sound?
Yes, when using an XO as a server, it is easy to mistake it for a child's laptop, when it has been detached from storage and networking components.
Here are instructions for adding a unique startup sound.
How do I get Internet-in-a-Box updates every few months or semester?
Great question: the magicians behind http://internet-in-a-box.org anticipated this will be critical. In the same vein, Internet-in-a-Box improved its Wikipedia full-text-search in 2014/2015, which remains compatible with XSCE 0.4, 5.x and 6.0.
And yet an honest calculation of terabyte download costs and frustrations explains why drop-shipped hard drives "content catalogs" are more economic and efficient that overweight monolithic download torrents.
On the high end, XSCE's admin console supports piecewise incremental content updates for those schools with extremely high/affordable bandwidth.
More typically, schools receive USB 3.0 hard drives and 128GB every semester or so, containing new maps/encyclopedia/books/video lessons flown/driven in from a partner.
How do I know what version of XSCE I'm running?
Compare the 40-character string "Commit ID" to "Latest commit" at https://github.com/XSCE/xsce/tree/release-6.0 to confirm you have XSCE 6.0 (should begin with e47f9db if you're running the release from February 2016's release). If the "Commit ID" matches "Latest commit" you have the latest, for that version ("release-6.0" in this case).
Note the letter 'g' sometime appears in front of the githash, for example ge47f9db which is normal!
Experts: check the "Version" field on your About screen, which should show "master" if you're running a pre-release from https://github.com/XSCE/xsce/commits/master. Feel free also to check https://github.com/XSCE/xsce/commits/stable and https://github.com/XSCE/xsce/commits/release-6.0.
What technical documentation exists?
The earlier XSCE 5.1 + Internet-in-a-Box Install Doc for Intel NUC can also be very useful for details.
Also: Add a Service to School Server by Creating a Plugin (for XSCE 0.3 and 0.4, original written April 2013) and others by George Hunt at http://schoolserver.wordpress.com
Finally, Anish Mangal hopes to formally write up his deployment recommendations / 8-part training materials based on his experience setting up XSCE in Northern India, while http://unleashkids.org documents the human experiences around a growing number of Haiti deployments.
Please suggest improvements to this FAQ where you can, and check back to reread at a later date, Thank You!
How can I help?
Schools greatly benefit from testing on diverse hardware if you can help! Online contribution are strongly welcome, with in-person human interaction at our quasi-quarterly face-to-face meetups advancing our education efforts faster yet.
Where can older versions of XSCE be found?
Older RPM builds from 2013, at your own risk, may be available from: http://xsce.activitycentral.com/repos/xsce/devel.
Or consider main repo definition: http://xsce.activitycentral.com/repos/xsce-devel.repo
How did XSCE's design evolve?
Here's our brief-but-growing participatory design archive / lineage:
Original OLPC XS design and implementation is available here.
Community history is vital to all seeking to avoid reinventing mistakes of the past, thanks to Everyone's thoughtful input past & present!