IIAB/FAQ
This IIAB XSCE content does not reflect the opinion of OLPC. These pages were created by members of a volunteer community supporting OLPC and deployments.
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.
A School Server brings your classroom/school laptops together, communicating & coordinating learning in ways that deeply empower kids, teachers and community.
XSCE is built by professional volunteers, inspired by One Laptop per Child's famous laptops and their innovative Sugar Learning Platform -- but serving all!
To get a taste of longer-term possible roadmaps, please see Tony Anderson's suggested use cases, and one possible larger XSCE Vision.
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://box.lan/maps http://box.lan/books http://box.lan/library http://box.lan/owncloud http://box.lan/khanacademy
Coming Soon: In the near future (XSCE 6.x) we hope the Pathagar "E-book library" will begin to work much better with XSCE!
Can teachers display their own content?
Yes, teachers can spontaneously insert (and remove!) their own USB memory stick(s)/drive(s) anytime, using the school server hardware's USB port. Somewhat like an informal projector, the teacher's contents will then appear to students almost instantly, off of http://box.lan/usb
A priori, the teacher should create a folder called "usb" on their USB memory stick, placing audio/video materials, handouts, challenges or presentation(s) inside that folder.
The USB stick(s)/drive(s) content will then appear live to students, in places like:
http://box.lan/usb/USB0 http://box.lan/usb/USB1
More details in the Install Doc. Finally, if you have a screen attached to your server, and occasionally see an old error as follows, it is safe to ignore it:
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?
Smaller deployments often prefer the cutting-edge features provided by a recent version of the Fedora Operating System, similar to OLPC OS 13.2.7. We generally recommend Fedora 22 or higher.
Larger deployments to step back from the bleeding edge, prefering the decade-long support provided by CentOS 7 (security updates until 30 June 2024) to avoid the rapid annual turnover of Fedora.
Both above are free and open software systems supported by enterprise Linux corp Red Hat, Inc founded in 1993. Read a bit more about XSCE 6.0's out-of-the-box OS choices here.
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, 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://box.lan -- and also get to know the Admin Console at http://box.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 3, in the near-future. George Hunt and others have worked extremely hard on these, and greatly appreciate 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:
http://wiki.laptop.org/go/XO_Solar
http://lists.laptop.org/listinfo/power
http://wiki.laptop.org/go/Battery_and_power
http://schoolserver.wordpress.com/training/power-when-its-not-always-available/
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)
http://download.villagetelco.org/firmware/secn/unstable/tp-link/SECN-4/XSCE/
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:
http://wiki.villagetelco.org/Power_over_Ethernet_for_MP02_and_TP-Link_Routers
Most important: take advantage of community support, where volunteers are eager to help on the server-devel@lists.laptop.org and xsce-devel@googlegroups.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 unleashkids@googlegroups.com, 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://box.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).
WARNING: do not edit /etc/hostapd/hostapd.conf directly, unless you want these custom settings trashed upon updating XSCE! If you insist on editing this file despite the danger, consider "systemctl restart hostapd.service" to avoid rebooting.
Can I name my server something other than http://BOX.LAN ?
http://box.lan will work in 99% of all cases, and http://box should work in 90% of cases; there is no need to change these.
If however a custom name is desired, this can be implemented within each school/clinic using http://box.lan/admin -> Configure -> Network Parameters -> Host Name, if you click "Save Configuration" then "Install Configured Options" (waiting patiently for that to complete under http://box.lan/admin -> Utilities -> Display Job Status; which often takes ~25min on a Raspberry Pi 3!)
Many different names have been used in the past, such as http://schoolserver.lan and http://school.lan -- anything that resolves locally to http://172.18.96.1 should be sufficient with standard networking. For the record, some of these older names are listed within the following links:
https://github.com/XSCE/xsce/blob/8649c1ae73631ce9d9d10ab358eb5571c9e48742/roles/network/templates/named/school.external.zone.db
https://github.com/XSCE/xsce/blob/8649c1ae73631ce9d9d10ab358eb5571c9e48742/roles/network/templates/named/school.internal.zone.db
https://github.com/XSCE/xsce/blob/8649c1ae73631ce9d9d10ab358eb5571c9e48742/roles/network/templates/named/school.local.zone.db
Advanced implementers may want to change these 4 zone files too, all within the very same /var/named-xs directory:
school.internal.zone.16.in-addr.db
school.internal.zone.32.in-addr.db
school.internal.zone.48.in-addr.db
school.internal.zone.in-addr.db
Any other networking tips?
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/wiki/XSCE-Networking-Overview
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 server-devel@lists.laptop.org !
Where security tips exist?
Whether running your school server online or offline, please see IIAB/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://box.lan), you can customize /library/www/html/home/index.html, where most standard HTML tags should work. Please create a backup copy of your ongoing index.html beautifications regularly!
Coming soon in 2017, Dynamic Menuing will be an alternative approach for those wanting far less hand-coding, that (as a bonus) auto-adjusts all http://SERVERNAMES:PORTS live using browser-side Javascript, for maximum deployment flexibility. To enable this on your server, please read about Menu Definitions and HTML Fragments within this page: https://github.com/xsce/xsce/wiki/XSCE-Menuing
Likewise as many educators want quick customizations of their portal/menuing beyond the logo, some may consider experimental WYSIWYG tools like DokuWiki, WordPress, or Moodle. For example you might lay out your content in an indigenous language, linking to content gems truly relevant to locals. To try these approaches, visit your server's Admin Console at http://box.lan/admin -> Configure tab -> Server Portal -> Select Server Home Page. As of XSCE 6.2, your 4 choices here are:
- /home
- /xs-portal
- /wordpress
- /wiki
Of course enable WordPress or DokuWiki correspondingly, at the top of that page. Then click "Save Configuration", click "Install Configured Options" then monitor the result (takes about 25min on a Raspberry Pi 3) under "Utilities" tab -> "Display Job Status".
Finally, technical tips are contained in our older Portal README. But if you need further customization suggestions and tips, don't even hesitate to post to our http://iiab.io forums and/or write to: https://groups.google.com/group/unleashkids !
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.
Keep in touch as new options evolve! Make contact with http://unleashkids.org if you want to order a copy of the latest Internet-in-a-Box content from these volunteers' community effort.
How do I know what version of XSCE I'm running?
Log into your school server's Admin Console (typically http://box.lan/admin, http://school.lan/admin, http://schoolserver.lan/admin) and click "About" in the top menu.
Compare the 40-character string "Commit ID" to "Latest commit" at https://github.com/XSCE/xsce/tree/release-6.2 to confirm you have XSCE 6.2 (should begin with 929ed54 if you're running 6.2 RC2 from early February 2017). In General: if the "Commit ID" matches "Latest commit" you have the latest, for that version ("release-6.2" in this case).
Note the letter 'g' sometime appears in front of the githash, for example g929ed54 which is normal!
Experts: check the "Version" field on your About screen, which should show "release-6.2" if you're running a pre-release from https://github.com/xsce/xsce/commits/master. Feel free also to monitor the latest commites at https://github.com/xsce/xsce/commits/release-6.2.
What technical documentation exists?
Please see XSCE 6.0 Docs. Start with February 2016's new Install Doc, focusing on the "short cuts" section.
Docs are ever-evolving at https://github.com/XSCE/xsce/tree/master/docs but more generally you may want to bookmark http://schoolserver.org
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?
Great you asked! Take a look at our quasiweekly Agenda/Minutes to see what others are working on, and see if you can knock off a few volunteer microtasks.
Take seriously the "Features Planned" section of our Features page helping schools globally getting their highest priorities implemented.
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.
Finally, organizing everyone's many ideas, use cases and docs is real work, and as such we very strongly welcome savvy communicators!
Please also suggest your own ideas on mailing list server-devel@lists.laptop.org, or contact Adam Holt (holt @ laptop.org), thanks!
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:
- Design Document (September 2012, by Sridhar Dhanapalan)
- Use Cases (October 2012, by Tony Anderson)
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!