So, Wispy has flown the coop and is out in the big wide world! With much assistance and programming by Matthew from Sine Nomine, and Glen from XSLTPro.
When myself and Matthew attempted to demonstrate it at the RISC OS London Show in October, it proved difficult due to it running on (and inside!) a Pi-Top laptop with RISC OS. The problem with this is it’s not possible to connect the Pi-Top to an external display or a projector. So some very hamfisted wielding of a Pi Zero camera showed off the basics, but not necessarily the full extent of what Wispy can do.
What is Wispy?
Wispy was originally intended to be a “hardware browser” for RISC OS – for me, it was a small Linux machine attached to the router and I could access it using RDPClient to load Firefox in a window in RISC OS. After a bit of thought and inspriation, it made sense that, as I’d once set up Raspbian to bridge an ethernet connection to WIFI, these two functions could be combined.
So that’s what Wispy does. It basically provides a RISCOS to WIFI bridge, and a “hardware browser in a window”. But it can do so much more than that – much more than was originally envisaged.
Wispy has several components:
- A hardware board (in its current incarnation, a 512MB Orange Pi Zero)
- A custom linux distro to provide the necessary functionality
- Bespoke connection software for RISC OS
- RDPClient – as it’s name suggests, a free RDP Client for RISC OS!
- Sunfish – a free NFS client for RISC OS
- Various resources and system files, some that have been developed especially.
Burning The Image File
The first step is to write the Linux image to a microSD card. The image is gzipped, so can be decompressed on RISC OS using SparkFS, or on Windows using 7-Zip or WinZip. Tools are usually built in to Linux to decompress gzip files.
Once it’s decompressed, it just needs burning to a microSD. Although the image is 8GB, it turns out that not all 8GB microSD cards are created equally, and some are slightly bigger than others! It’s safer to write it to a 16GB microSD to be on the safe side. The actual burning of the image can be completed using Etcher on Windows and Linux, Win32 Disk Imager on Windows or again, using built in tools on Linux.
Then simply insert the card into the Orange Pi Zero, but don’t turn it on – yet!
Installation on RISC OS
As would be expected, installation on RISC OS is easier! Simply drag Wispy, RDPClient and Sunfish to a suitable directory on the hard drive, and use the SysMerge and MergeBoot utilities in the !Boot configuration settings to install various necessary modules and components. In those components, there is a pause for the boot sequence to allow Wispy to boot up fully before RISC OS initiates the DHCP request, and a tool to delay the shutdown by 15 seconds to allow and force Wispy to shut down. As Wispy is basically a Linux computer, it needs to be able to shutdown properly to avoid damaging the operating system. One of the reasons that Wispy software is provided on USB is to ensure you always have a back up image, just in case.
Connecting the Board to the RISC OS machine
Connecting the board to a RISC OS machine is relatively straight forward. Connect an ethernet cable between the RISC OS machine’s ethernet port and the ethernet port on the Wispy board. Power is provided through the microUSB port on the Wispy board, and a standard USB port on, say, a Raspberry Pi is sufficient. For mounting inside a desktop machine, a simple molex to microUSB cable will do the trick, which we can supply, along with a limited stock of PCI brackets for mounting the board.
On a Pi-Top, use of “noodle” cables means the board can be mounted tidily inside the cavity and covered over with the acrylic slice.
The little wireless antenna attached to the Wispy board as standard is surprisingly effective, although an external antenna can be attached if necessary, and connected to a PCI bracket quite easily.
Wispy In Use
Once everything is in place and physically connected to the RISC OS machine, when you power up the machine, everything SHOULD just sync up! You’ll notice that the first thing that runs in the Boot sequence is something called BrowserPause, which delays the DHCP protocol. Allow the boot up to continue, and we’re set to connect to a wireless network.
Once you get to the desktop, simply double click on the Wispy icon in the directory where you installed it, and an icon will appear on the icon bar. Initially, this will be orange and blue, but will change to greyscale as it is not connected to a wireless network yet.
To configure the first connection to a wireless network, click the menu button on the Wispy icon and select Configure Wispy. As long as your machine has seen !Netsurf, a window will open with the Wispy configuration interface loaded:
As can be seen, this shows up several networks, including a graphical representation of the signal strength. Previously used networks can be saved for easier connection later, with options to “trust” the network for sharing files and other resources.
Occasionally, some networks don’t appear first time in the list, and a few clicks on Scan WiFi are needed to remedy this.
Once connected to the preferred network, the experience at RISCOSbits HQ is that it will stay connected for DAYS! Which is nothing less than is to be expected.
That’s it! Wireless networking for RISC OS! You can use NetSurf and your usual email program to your heart’s content without needing to be physically tethered to the router. Something most other modern OSes are used to, but is still very new to RISC OS. Talking of NetSurf, whilst it’s brilliant, fast and light, there are still some things it can’t do. That’s where the second part of Wispy comes into play.
Firefox in a Window
RISC OS did have Firefox once. Thanks to Peter Naulls’ Linux Porting Project, long since gone it appears, we had a port of Firefox 1 and 2 – it’s such a long time ago, it’s nearly impossible to find it!
A “hardware browser” was the original concept for Wispy, with the wireless networking capabilities coming in as second fiddle. Indeed, at RISCOSbits HQ, a small hardware board had been plugged into the router for a year or so, allowing modern browsing capabilities on the local RISC OS machines. So, combining the two facets seemed to give Wispy a bit of an Edge (no pun intended!) over other RISC OS kit.
Using Andrew Sellors’ excellent RDPClient software and some additional installations on the Wispy board made it possible to run a modern version of Firefox in a RISC OS Window, in addition to the wireless networking.
RDPClient is showing its age a little, and some work is being done to try to update it, initially to full ARMv7 compatibility and later to a newer port of the original Linux software. It is hoped that remote sound can be (re)enabled, and a couple of front-ends have been developed to make the seemingly erudite configuration required for RDPClient a little bit easier. Matthew built one of those into the Wispy application for ease of use (click menu over the Wispy icon and click on Choices… to see the configuration window). This allows different window sizes, which was felt to be a basic necessity. One of the resolutions is a very bizarre 1340×728, which corresponds to running a full sized window on the Pi Top (when taking into account the pixel size of the window furniture). Firefox on Wispy can run in windows up to and beyond 1080p, but given that its primary aim is to display a browser AND most sites aren’t designed for such wide windows, there’s not a great deal of use in the browsing sphere.
By default, anything downloaded using Firefox is saved into a Downloads folder, which is then shared using NFS. Sunfish, by Alex Waugh, allows access to this folder from RISC OS, so that anything downloaded using Firefox is immediately available to RISC OS. In a bit of software trickery, Matthew enabled a right click on the Wispy icon to open the Downloads folder on RISC OS in a very simple way, without the need for Sunfish to appear on the icon bar.
Additionally, other shares can be set up on Wispy so that documents and pictures can also be shared. A simple web-based configuration window makes this fairly straightforward, and persistent if required.
Indeed, by utilising the full sized USB port on the Wispy board, external files can be swapped between both machines too. Including linux formatted USB sticks.
The Wispy icon on the icon bar also demonstrates the current status of Wispy in a number of ways, including its connectivity, wireless signal strength, and critical errors:
Wispy is available, but not currently connected to a network
Wispy is connected to a preferred network, and has great signal strength
Wispy is connected to a preferred network with good signal strength
Wispy is connected to a preferred network, but with weak signal strength
Wispy is connected to a preferred network, but with very weak signal strength
Wispy cannot find the hardware, or there is a critical error.
Wispy is, to all intents and purposes, a Linux computer and as such needs to be closed down properly to avoid damaging files and corrupting the system.
There are several options within the Wispy software to enable this. It can be shutdown either through the web configuration interface, through the iconbar menu and there is a small program in !Boot.Choices.Boot.PostDesk to do this should the user forget. It even combines with CJEMicro’s software for Pi-Top Control to ensure an appropriate time is given for the board to shut down before the Pi-Top is powered off.
Indeed, one of the reasons the software is supplied on USB and not on a suitable microSD card is to ensure the user always has a back up of the image should something go wrong with the micro SD image in use.
As wispy is basically a Linux computer, other linux applications can be installed. In fact Libre Office has been used and is reasonably quick on the board, giving RISC OS users access to a wealth of other facilities.
However, your mileage may vary as to how successful these applications are, and how quickly they can run.
Wispy In Use
There is a short video of Wispy in use here – without audio!
For the future?
There are other developments in the pipeline for Wispy – both the RISC OS application and the Wispy image. Things like automatic launching or URLs/HTML files…