IIAB/FAQ: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 88: Line 88:
* '''Other Mini PCs competitors:''' [https://en.wikipedia.org/wiki/Micro-Star_International MSI] units have proven very solid, and the [http://www.gigabyte.us/Mini-PcBarebone Gigabyte BRIX] is almost an exact clone of the NUC, but allows internal Wi-Fi to scale beyond the Intel NUC's annoying limitation of 12 connections maximum. To make this happen, insert an appropriate Atheros Wi-Fi module (typically < $10) into the BRIX. [https://schoolserver.wordpress.com/author/georgejhunt/ George Hunt] can answer questions around which Atheros Wi-Fi modules have been tested to work, as of February 2017. ''Recap: scaling up internal Wi-Fi is sadly not possible with Intel NUCs since 2015 (5th generation NUCs and onwards) as Intel's Wi-Fi module is unfortunately soldered in.''
* '''Other Mini PCs competitors:''' [https://en.wikipedia.org/wiki/Micro-Star_International MSI] units have proven very solid, and the [http://www.gigabyte.us/Mini-PcBarebone Gigabyte BRIX] is almost an exact clone of the NUC, but allows internal Wi-Fi to scale beyond the Intel NUC's annoying limitation of 12 connections maximum. To make this happen, insert an appropriate Atheros Wi-Fi module (typically < $10) into the BRIX. [https://schoolserver.wordpress.com/author/georgejhunt/ George Hunt] can answer questions around which Atheros Wi-Fi modules have been tested to work, as of February 2017. ''Recap: scaling up internal Wi-Fi is sadly not possible with Intel NUCs since 2015 (5th generation NUCs and onwards) as Intel's Wi-Fi module is unfortunately soldered in.''


* '''ARM Mini PCs:''' CPUs like [http://trimslice.com TrimSlice / Utilite] and [http://solid-run.com Cubox by SolidRun] might one day catch up, providing much-needed community momentum/stability/packaging. To date however we have been disappointed in the quality of their firmware, and the availability of Linux kernels working with internal SATA/internal Wi-Fi (e.g. AP mode) to truly make teachers lives easier. But check back as many more global deployments' experiences accumulate, and rugged low-end hardware increasingly emerges, on OrangePi or similar?
* '''ARM Mini PCs:''' CPUs like [http://trimslice.com TrimSlice / Utilite] and [http://solid-run.com Cubox by SolidRun] might one day catch up, providing much-needed community momentum/stability/packaging. To date however we have been disappointed in the quality of their firmware, and the availability of Linux kernels/drivers working with internal SATA / internal Wi-Fi (e.g. AP mode) ''to truly make teachers lives easier''. But check back as many more global deployments' experiences accumulate, and rugged low-end hardware increasingly emerges, on OrangePi or similar?


* '''One Laptop Per Child:''' We do NOT recommend the original XO-1 laptop as a server (256MB RAM is insufficient). However several have successfully deployed the very rugged XO-1.5, XO-1.75 (ARM) and XO-4 (ARM) as school servers in Haiti and Malaysia etc, thanks to George Hunt's amazing work here over the years.
* '''One Laptop Per Child:''' We do NOT recommend the original XO-1 laptop as a server (256MB RAM is insufficient). However several have successfully deployed the very rugged XO-1.5, XO-1.75 (ARM) and XO-4 (ARM) as school servers in Haiti and Malaysia etc, thanks to George Hunt's amazing work here over the years.

Revision as of 20:36, 20 March 2017

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 Internet-in-a-Box (IIAB/XSCE) help?

Bring the power of a free Digital Library of Alexandria into the hands of any school worldwide! Internet-in-a-Box is also used in medical clinics and libraries.

Read about the original Internet-in-a-Box (rich open content often included with IIAB/XSCE) to build up your community's very own 21st century digital library below.

An Internet-in-a-Box (IIAB/XSCE) server brings your classroom/school laptops together, communicating & coordinating learning in ways that deeply empower kids, teachers and community.

IIAB/XSCE is built by professional volunteers, inspired by One Laptop per Child's famous laptops and their innovative Sugar Learning Platform -- but with a wider vision of serving all!

Where is IIAB/XSCE used?

Since 2014/2015, IIAB/XSCE 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 and libraries across southwest Ghana -- and more broad Central American deployments like Nicaragua, Costa Rica and 6 schools in the Dominican Republic beginning late 2015.

Libraries and rural medical clinics are also avid users of IIAB/XSCE.

Of course, many contributors are using IIAB/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 if downloading is not feasible. Contact the volunteers at http://unleashkids.org if this is necessary.

Or, if downloading is possible using a very fast Internet connection, follow the "Add Content" instructions.

Either way, this all permits entirely new opportunities for semi-connected schools and offline libraries worldwide, for the 1st time ever. Medical clinics and museums are also taking advantage in 2017, with prisons seriously considering Internet-in-a-Box too.

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           Your Internet-in-a-Box Library!
http://box:3000      kiwix-serve (amazing content & videos, contained in searchable ZIM files)
http://box:8008      KA Lite (Khan Academy lessons, with its own content downloader)
http://box/usb       Content from USB sticks/drives, that teachers can insert anytime
http://box/maps      Possible synonym for http://box/iiab/static/map.html
http://box/docs      Possible synonym for http://box/owncloud or http://box/nextcloud
http://box/info      IT support docs & eventually vids, offlined for all
http://box/books     Possible synonym for http://box/calibre or http://box/pathagar
http://box/sugarizer Sugar Learning Platform originally from One Laptop Per Child
http://box/admin     Admin Console: operators log in here, to improve your Internet-in-a-Box server/system

In the future, we hope the Pathagar "E-book library" will begin to work much better with IIAB/XSCE!

See: Can teachers display their own content?
See: How do I customize my school server's start page?
See: What are the default passwords?

Can teachers display their own content?

Yes, teachers can spontaneously insert (and remove!) their own USB memory stick(s) and USB drive(s) anytime. Somewhat like an informal projector, the teacher's content appears to students almost instantly at:

http://box/usb

Instructions:

  1. In advance, the teacher must create a folder called "usb" on their USB memory stick, placing audio/video materials, handouts, challenges or presentation(s) inside that folder.
  2. Then the teacher inserts their USB stick/drive into any one of the server's USB ports.
  3. Done! The "teacher content" is available (live) to students within seconds. WARNING: Older browsers and non-standard phones/devices cannot access http://box/usb, and so require that students type in http://box.lan/usb or http://172.18.96.1/usb

Note it's OK to insert multiple USB sticks/drives at the same time. If so, content from each USB stick/drive is visible within http://box/usb, e.g. in places like the following:

http://box/usb/USB0
http://box/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'.

See: How do I customize my school server's start page?

What hardware should I use?

Internet-in-a-Box (IIAB/XSCE) is free and open source software that runs on many different hardware platforms:

  • Raspberry Pi 3 ($35 + parts) and the Raspberry Pi Zero W ($10 + parts): These are our most popular platforms in 2017. It continues to astonish us how powerful these 2 tiny "RPi" computers really are, able to serve 32 students simultaneously, with their powerful built-in Wi-Fi. We strongly recommend the RPi 3, for DIY implementers building their 1st digital library to serve an entire classroom. For smaller kiosk scenarios serving just a few people (in a medical clinic or similar) definitely consider the RPi Zero W.
  • Refurbished "Windows" Laptops: Quality donated laptops can sometimes work extremely well to install Internet-in-a-Box, ironically acting as a server for an entire developing world classroom or more! An external Wi-Fi router is usually required however, making installation more complex than RPi and Mini PCs (whose internal Wi-Fi is generally capable of AP mode). Still, the spaghetti wiring of an external router may be worth it if the laptop has a large/fresh/new internal battery (acting as a de facto UPS, so important in developing world schools where electricity comes and goes!) Of course used laptops with large hard disks and multiple GB of memory are even better. Finally: make sure the laptop runs Linux well, and has a BIOS that permits it to run while the screen is closed etc!
  • Intel NUC: Avoid classic/desktop PC's whenever possible, as they consume far too much electricity. However tough, well-rounded, low-power Mini PCs (great for the developing world) such as the Intel NUC, have proven very effective as school servers in the developing world since 2014. We typically insist on NUC models that accept SATA (2.5 inch hard drives, HDD or SSD) and work with DC voltages up to 19V. Warning: low-end NUC models only work right near 12V, and so are not reliable using lead-acid batteries that you find in most solar installations. Finally: the NUC is not a fan-less device, nevertheless it's proved extremely reliable to date.
  • Other Mini PCs competitors: MSI units have proven very solid, and the Gigabyte BRIX is almost an exact clone of the NUC, but allows internal Wi-Fi to scale beyond the Intel NUC's annoying limitation of 12 connections maximum. To make this happen, insert an appropriate Atheros Wi-Fi module (typically < $10) into the BRIX. George Hunt can answer questions around which Atheros Wi-Fi modules have been tested to work, as of February 2017. Recap: scaling up internal Wi-Fi is sadly not possible with Intel NUCs since 2015 (5th generation NUCs and onwards) as Intel's Wi-Fi module is unfortunately soldered in.
  • ARM Mini PCs: CPUs like TrimSlice / Utilite and Cubox by SolidRun might one day catch up, providing much-needed community momentum/stability/packaging. To date however we have been disappointed in the quality of their firmware, and the availability of Linux kernels/drivers working with internal SATA / internal Wi-Fi (e.g. AP mode) to truly make teachers lives easier. But check back as many more global deployments' experiences accumulate, and rugged low-end hardware increasingly emerges, on OrangePi or similar?
  • One Laptop Per Child: We do NOT recommend the original XO-1 laptop as a server (256MB RAM is insufficient). However several have successfully deployed the very rugged XO-1.5, XO-1.75 (ARM) and XO-4 (ARM) as school servers in Haiti and Malaysia etc, thanks to George Hunt's amazing work here over the years.

MEMORY: Some do fine with 512MB RAM (even in 2017!) serving static content from the RPi Zero W. Others do just fine serving dozens of simultaneous video streams from an RPi3 with 1GB RAM. Finally, some require 8GB or more within a Mini PC, when server-side computation and LMS load becomes more intensive.

STORAGE: While there is increasing movement from hard disks to SSDs and MicroSDs every year, but there are many others who still swear by tried-and-true affordable rotating media (large-capacity hard drives). In the end all 3 storage technologies can fail, each in there own ways &mdash& so it's far more more important to start with the actual community's learning goals, engaging educators around their actual content/interaction needs — and then narrow in on storage capacity/technologies later. Aside: for a discussion of possible external USB hard disks and their risks, see: http://lists.laptop.org/pipermail/server-devel/2013-June/thread.html#6490

In General: Ensure your server is positioned with ample room around it for ventilation. Dirt/dust will collect inside it almost regardless, and should certainly be removed from time to time.

Thank you for asking further hardware questions at http://iiab.io !

What OS should I use?

Our latest OS (Linux distribution) recommendations should always be posted within our IIAB Platforms document. Generally Raspbian on Raspberry Pi 3 is best for people getting their feet wet in 2017, regardless whether they prefer the full Raspbian Pixel (includes many amazing desktop apps for learning, on LXDE-pi) or Raspbian Lite (does not include X Windows) for headless deploys on classical servers. Others (like Reno McKenzie & Josh Dennis) are experimenting successfully (some tweaks required) with IIAB on the lean & mean http://DietPi.com in February/March 2017.

In recent years, Security/Maintenance/TCO concerns have caused deployments to step back from the (bleeding) edge, preferring LTS(*) multiyear support updates that accompany stable OS's like CentOS 7 (security updates until 30 June 2024), Debian GNU/Linux — or perhaps in future Ubuntu LTS.

(*) Many schools/libraries/clinics now believe LTS is necessary to avoid the rapid annual turnover of Fedora (inherited from OLPC in 2012, during the transition from XS to XSCE). As such in the past, deployments often preferred the cutting-edge features provided by a recent version of the Fedora OS, similar to OLPC OS 13.2.8.

Finally, if there are cases where porting to a new OS/distro will tangibly help schools/libraries/clinics across an entire region, don't hesitate to reach out on our server-devel mailing list or contact holt @ laptop.org as you assess the scope-of-work scope to complete such a job.

Is a quick installation possible?

Yes, a number of IIAB/XSCE 6.x Pre-installed Images are available and in the works.

Please see the Install Doc, especially the "Take a Short Cut" section, for a list of what is available, where to get it. Visual shortcuts to some of the more common install 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.

Be sure to turn off UEFI in your PC/server's BIOS if possible! Legacy users may also find useful tips in Tom Gilliard's 6.0 Installation Notes & Screenshots and Tony Anderson's XSCE 6.0 Install Recipe. Jerry Vonau is working on a routine that may allow UEFI support out-of-the-box in future. Detailed install instructions for the older XSCE 5.1 can still be found here.

Finally, to get down to real business (education!) there are a variety of ways to add content to your IIAB/XSCE Internet-in-a-Box server.

After installation, please explore learning materials within your server's home page (http://box or http://box.lan) and also get to know the Admin Console (http://box/admin or http://box.lan/admin) which permits you to (1) configure your school server and (2) download new content. Example screenshots: (very stale from 2015, but that's the idea!)

New offline install images will appear for many of the most common hardware platforms, like Raspberry Pi 3, i starting late March 2017. Looking back, George Hunt and others have worked extremely hard on these, and greatly appreciate all your "fieldback" !

See: What are the default passwords?

How do I customize my server's home page?

Starting late March 2017, our install images will include sample content to more quickly springboard implementers into content curation, as outlined within Guidelines for Creating IIAB Images incl Sample Content Packs.

If you want to showcase your school or community logo/colors on the main portal/start page (what people see at http://box or 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!

Starting with IIAB/XSCE 6.1 and 6.2 especially, Dynamic Menuing is 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/IIAB-Menuing

Likewise as many educators want quick customizations on 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/admin -> Configure tab -> Server Portal -> Select Server Home Page. As of IIAB/XSCE 6.2, your choices include:

  • /home/index.html
  • /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 ~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 !

See: What can I do with E-books and Internet-in-a-Box?
See: Can teachers display their own content?
See: What are the default passwords?

What are the default passwords?

For KA Lite, ownCloud and many/similar services (Apache? PostgreSQL? MySQL? others?) the username is Admin (don't forget the capital A) and the default/initial password is: changeme

For the Admin Console(*) at http://box/admin, http://box.lan/admin or http://172.18.96.1/admin, the username is xsce-admin and the default/initial password is: g0adm1n (note the numbers 0, 1)

Change xsce-admin's password before connecting your server to the Internet. You can do this within http://box/admin -> Utilities menu — or at the command line, if you type "passwd xsce-admin".

Change the password for user "pi" from "raspberry" before connecting to the Internet. At the command line, type "passwd pi". Starting with XSCE/IIAB 6.2's standardized images (beginning late March 2017) we hope to remove the passwords for user "root" (and for user "pi" too, within headless images), by setting their password fields to * (the asterisk character) within /etc/shadow. This prevents direct ssh access to any such accounts.

Still, both users "xsce-admin" and "pi" (if they exist) have root (sudoer) powers. As such, advanced operators generally log in as xsce-admin and then escalate to root using "sudo su -".

(*) While the Admin Console can change xsce-admin's password instantly, it's important to understand that many Admin Console changes (within its Configure menu especially) require you click "Save Configuration" then "Install Configured Options" and then wait for this to complete. Monitor for Status "SUCCEEDED" under Utilities menu -> Display Job Status (takes ~25min on a Raspberry Pi 3!)

See: What can I do with E-books and Internet-in-a-Box?
See: What security tips exist?
See: How can I remotely manage my Internet-in-a-Box?

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 log into your server's Admin Console (http://box/admin) 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 still insist on editing this file despite the danger, consider "systemctl restart hostapd.service" to avoid rebooting.

See: What are the default passwords?

Can I name my server something other than http://BOX.LAN ?

http://box.lan should 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/library/clinic by logging into Admin Console (http://box/admin) -> Configure menu -> Network Parameters -> Host Name, if you click "Save Configuration" then "Install Configured Options" (waiting patiently for that to complete under Utilities menu -> Display Job Status; which 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

See: What are the default passwords?

Any other networking tips?

See local_vars.yml below.

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/IIAB-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.

NOTE: Some prefer Gigabyte BRIX (a drop-in replacement Mini PC, instead of the Intel NUC) as an Atheros internal Wi-Fi module can be inserted, to scale beyond Intel's soldered-in limit of 12 Wi-Fi connections maximum.

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 fiber optic cables 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 at http://IIAB.io and on mailing list server-devel@lists.laptop.org !

What is local_vars.yml and how do I customize it?

Put variables within /opt/schoolserver/xsce/vars/local_vars.yml for all your Internet-in-a-Box installation(s), to override defaults, if use of the Admin Console (http://box/admin) is not possible.

We recommend you do NOT modify default_vars.yml, as is explained within the IIAB Architecture doc (which replaces the original VARIABLES.rst doc).

An example local_vars.yml is posted for comparison. Also, a couple very practical networking variables are posted at the bottom of the IIAB Networking document.

Operators should place changes in local_vars.yml using a text editor such as vi, nano, or emacs. Remember to enact all variable changes by running "cd /opt/schoolserver/xsce" followed by "./runansible" (takes ~30min to complete on Raspberry Pi 3, done!)

Or, the essential 6 "post-install" roles of Ansible's 9 overall roles can be run from Admin Console (log in to http://box/admin) -> Configure menu -> Install Configured Options button. Then monitor the progress (~25min on Raspberry Pi 3) within Utilities menu -> Display Job Status.

See: What are the default passwords?

What security tips exist?

NOTE: Many install images include ssh keys which permit developers to log into your machine, to enable remote support during Beta programs and similar. You can disable this feature by running the following terminal command "rm -f /home/xsce-admin/.ssh/authorized_keys".

Whether running your server online or offline, please see IIAB/Security and help us contribute to this evolving knowledge & repertoire of 21st century hygiene, thanks to professional volunteers from many backgrounds.

See: What are the default passwords?
See: How can I remotely manage my Internet-in-a-Box?

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 would be critical, despite the near-impossibility of downloading large Content Packs to remote locations in the developing world. Certainly, Internet-in-a-Box improved its Wikipedia full-text-search in 2014/2015 (which remains compatible with XSCE 0.4, 5.x and 6.x) and some remote upgrades are occasionally possible.

And yet an honest calculation of terabyte download costs and frustrations explains why drop-shipped hard drives "content catalogs" are more economic and efficient than overweight monolithic download torrents.

On the high end, IIAB/XSCE's Admin Console (http://box/admin -> Install Content) supports piecewise incremental content updates for those schools with extremely high/affordable bandwidth. As of early 2017, note that Content Packs must be manually removed, when space is needed (e.g. after that content is no longer in use). An exception is KA Lite, whose administrative interface (log in as "Admin" to http://box:8008) supports deletion of lessons/videos, as well as downloading new ones.

As a practical matter, remote schools typically receive USB 3.0 hard drives and 128GB every semester or so, containing new maps/encyclopedia/books/video lessons flown/driven in by 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.

See: What are the default passwords?

How do I know what version of XSCE I'm running?

Log into your school server's Admin Console (http://box/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 (e.g. 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.

See: What are the default passwords?

What technical documentation exists?

Core IIAB/XSCE 6.2 Docs are being migrated to https://github.com/xsce/xsce/wiki for IIAB/XSCE 6.2 in early 2017, and soon to https://github.com/iiab/iiab/wiki (for IIAB 6.3 and beyond!)

Implementers should start with March 2017's new Install Doc, focusing on the "Take a Short Cut" section!

Living Docs are ever-evolving for great reasons, as technical progress is rapid, so you may want to bookmark our http://IIAB.io community forums as well.

Offline operators should check our growing collection of Internet-in-a-Box technical support docs (and eventually videos!) being made available at http://box/info

The earlier XSCE 5.1 + Internet-in-a-Box Install Doc for Intel NUC from 2015 can sometimes be very useful for hardware implementers.

Also see George Hunt's foundational collection of XSCE (School Server Community Edition) docs from 2012-2015 at http://schoolserver.wordpress.com

Finally, Anish Mangal hopes to formally write up his deployment recommendations / 8-part training materials based on his experiences setting up IIAB/XSCE in Northern India, while http://unleashkids.org with http://kidsoncomputers.org document the human experience around Haiti/Mexico deployments and beyond.

Please suggest improvements to this FAQ where you can, and check back to reread at a later date, Thank You!

How can I remotely manage my Internet-in-a-Box?

Large-scale implementers should consider rolling their own OpenVPN for all remote administration needs, or paying a management service like remot3.it (formerly known as Weaved).

Small-scale implementers may consider XSCENET, which is a minimal remote management solution (with a much more basic remote console, enabling ssh and http among a trusted group). Contact holt @ laptop.org for details. If you are using XSCENET, the "xs-remote-on" command is generally equivalent to "systemctl enable openvpn@xscenet; systemctl start openvpn@xscenet" and the "xs-remote-off" command is generally equivalent to "systemctl disable openvpn@xscenet; systemctl stop openvpn@xscenet". If you do not yet have these commands, you can implement them as aliases within /root/.bashrc

NOTE: Developers' ssh keys come included with several install images, to enable remote support during Beta programs and similar. Read "What security tips exist?" if you want instructions to remove these keys.

Those with a graphical environment (X Windows) on their Internet-in-a-Box often take advantage of TeamViewer for full visual/remote control. This can be priceless when mentoring/learning at a distance, thanks to TeamViewer's screen-sharing, keyboard-sharing and mouse-sharing. Simply install TeamViewer, which by default randomizes TeamViewer's password (needed for remote access) every time TeamViewer is launched, preserving local operator control.

Or enable TeamViewer's fully "unattended access" setting a "permanent" password for remote access within: Connection menu -> Setup unattended access. This is also available under: Extras menu -> Options > Security -> Password.

Raspberry Pi: If you have the full Raspbian Pixel (OS with full graphical environment) strongly consider downloading then installing the minimal TeamViewer 11 Beta as follows:

   sudo su -
   cd /home/xsce-admin/Downloads   (or wherever you saved it)

"apt install <file>" as recommended for Debian (at teamviewer.com) does NOT work; instead use the following from https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=156991 :

   dpkg -i teamviewer-host_11.0.63329_armhf.deb
   apt-get -f install   (then "Y" to install the 7 missing packages; Teamviewer app/license popup will launch automatically)

TeamViewer's "unattended access" can then be enabled under Options (top-right of screen) or via TeamViewer's "gear" icon (in either case, Security -> Password). WARNING: while TeamViewer's unattended access is reliable on larger systems, currently it has a glitch on Raspberry Pi, whereby it "falls asleep" sometime after boot. PARTIAL WORKAROUND: local operator (if there is one!) can re-awaken TeamViewer by clicking on its icon in the top-right of the screen, until it's fully restored to the foreground (sometimes takes a few tries, until remote connections are accepted). Or reboot :)

See: What are the default passwords?
See: What security tips exist?

What are the best places for community support?

Start with http://IIAB.io forums, live chat on irc, or post to one of these 2 mailing lists:

Describe your issue in full (with context) so that others may help — including screenshots if possible, Thanks!

If you need live (irc) chat support from global volunteers, even despite remote/tenuous/intermittent Internet, please consider an intermediary computer (AKA irc bouncer) to connect to irc for you 24x7. This enables you to follow the flows of ongoing conversations, without losing responses (a bouncer like accumulates these responses when you were offline. Finally, if you're a regular contributor to Internet-in-a-Box in any way, please get in touch and we can help run this irc "bouncer" for you if necessary, helping you get this right alongside Reno McKenzie's instructions.

CONTACT: if need to get in touch regarding strategic alliances or partnerships with Internet-in-a-Box, please email Adam Holt (holt @ laptop.org).

See: What are the default passwords?

How can I help?

Great you asked, this is the most important question!

Take a look at our quasiweekly Agenda/Minutes to see what others are working on, after getting to know http://iiab.io forums, as we prepare to refresh out list of volunteer microtasks in 2017!

Serious digital librarians are invited us to join us during our content engineering calls, typically on the 1st and 3rd Saturday of each month.

Note this section below will be overhauled starting March/April 2017, as our work accelerates into important new areas.

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 IIAB/XSCE be found?

Starting around late March 2017, IIAB code will be available off of: http://github.com/iiab/iiab

Prior to around late March 2017, XSCE code was available off of: http://github.com/xsce/xsce

Release History:

Such older RPM builds from 2013 might be available from http://archive.org and similar, at your own risk, using their original URLs: http://xsce.activitycentral.com/repos/xsce/devel.

Or consider main repo definition: http://xsce.activitycentral.com/repos/xsce-devel.repo

How did IIAB/XSCE's design evolve?

Here's our brief-but-growing participatory design archive / lineage:

  • Our earliest work is based on One Laptop Per Child's original XS design and implementation which arose in January 2007 to be used in many countries, thanks to John Watlington and Daniel Drake.
  • Jerry Vonau greatly cleaned up XS(CE) networking, from approximately 2010 onwards, so that vital new hardware and networking topologies became possible.
  • After the XS Community Edition grassroots team came together during the middle of 2012, using the XSCE name selected by George Hunt, Sridhar Dhanapalan wrote the Design Document in September 2012.
  • Field implementer Tony Anderson expanded on these ideas laying out some Use Cases in October 2012, while many others contributed to a broadening roadmap of features.
  • Internet-in-a-Box (also built by volunteer professional, including CalTech and JPL software engineers) was founded separately by Braddock Gaskill in this same mid-2012 timeframe, in Southern California.
  • David Farning's Activity Central team supported several developers to work on XSCE during the 2013 and 2014 timeframe, including Anish Mangal, Anna Schoolfield and others!
  • German Ruiz at Fundación Zamora Terán expanded support for XSCE in Nicaragua, Columbia, Dominican Republic and Honduras (etc), as the natural successor to OLPC's original XS.
  • The XSCE project embraced the Internet-in-a-Box name and IIAB's underlying OpenStreetMap work increasingly from 2013 onwards, until formally adopting the Internet-in-a-Box name (IIAB) in early 2017.
  • Beginning in 2014, the XSCE project greatly increased its content collaboration with Kiwix.org and RACHEL (Remote Area Hotspot for Educational and Learning), thanks to Tim Moody.

Community history is vital to all seeking to avoid reinventing mistakes of the past, thanks to Everyone's thoughtful input past & present!