Billy Nomad A Roaming Wireless Access Point,  Plus ...  

 

The "Billy Nomad" Project

get a syndicated feed Follow the Nomad !

Send me mail ! Send me mail !    click here to go the latest news

Introduction

Billy Nomad was inspired by Julian Bleecker's WiFi Bedouin Project that used a G4 PowerBook and a wireless network card to create a mobile wireless access point that could be carried around in a backpack. He introduced the idea of the mobile web being, well, a bit more mobile and the project is certainly very interesting.

The difference between myself and Julian is the hardware (and software) used. He also has a budget, and I don't :-): consequently I have to make use of whatever is available in my spares box. I have decided to use a VIA EPIA 800 Mini-ITX Mainboard, whatever wireless card I can find in my spares box and load FreeBSD onto a small hard drive. I already have a selection of backpacks so that won't be an issue.

As I have a hard drive attached I will be installing a web server, MySQL database and a bulletin board. As the VIA board has excellent connectivity I may also install other devices such as a webcam. This is all in the future, but whatever I attach should prove an interesting mix.

Please stay tuned as the project develops: I'll be writing it all up as I go along.

Who / What is "Billy Nomad" ?

It's a play on words.. a cross between "Billy No Mates" - someone that is traditionally alone, and "Nomad": "nomadic people move from place to place, rather than settling down in one location". This is what the device will do. So there you go. If all goes to plan it will visit as many places as possible, collecting examples of current social trends as it goes. Think of it as electronic fly paper: put it up and see what sticks. Once a tour of duty is complete I'll attempt to summarise and present the results, although this in itself will be a challenge.

I'm relying on the fact that the type of person that buys a wireless device will want to experiment with a connection that initially appears to offer a (free) connection to the internet, and I'm interested to see whether people will connect and then just disconnect, or whether they'll stay awhile nd contribute some discussion or images.

If I can set up the software correctly I'll also be trying to get the Billy to discover other wireless access points in the vicinity. This may also hint at how wireless networks are developing.

Pretentious ? Moi ?

No ! I may be a techie by nature, but I also have some social skills and an enquiring mind :-). I'm also very interested in how increased connectivity will change the way in which society develops. More and more communications facilities are becoming available to the man in the street - in what directions will this progress ? Maybe a device like the Billy will help to find out..

Look at it this way. You (I) don't know how many people out there have a wireless device. What if you left an electronic whiteboard in a public place for people to "scrawl" on - then left it for a week or so, then took it away again to have a look at ? Well, in Alton you'd probably get me and my buddy Duncan. If I could persuade someone else in a more populated area to borrow it for a while, then it could be more interesting.

Let's be honest here.. pull up a chair and come closer.. have you ever wanted to do graffiti, or contribute a meme but didn't have the nerve ? Did you ever want to leave a message for the next person (whoever he/she might be) and not have to worry about the consequences ? Did you ever want to contribute something to a public "thing", no matter how small you thought it might be but could be seriously big to someone else ? Yes ? Well, if I can extract my digit and get Billy up and running then you'll have the opportunity !

Long Term Plans

I have some long-term plans for this system, but these are largely based on getting information on how people use (or don't use) the device. Most of these plans are based on information display in a convenient manner. As more and more people buy WiFi-enabled devices (802.11b is undoubtedly a mere stepping-stone) the possibility to disseminate information at practically no cost becomes ever more feasible and attractive. It'll be interesting to see how it develops..

A Slight Deviation

Although the idea of putting a streaming audio server on the Billy was never part of the original plan, recent events (and the availability of "free" music) have somewhat altered the project's direction. It looks as though the first Billy will become some sort of roaming jukebox. This is certainly a worthy direction to take and the fact that I have now spoken via email to a number of interested parties makes it a real possibility.. More on this as it happens !

(F)requently (A)sked (Q)uestions

There are now four !

Q. If I'm lucky enough to find the Billy while netstumbling, how do I connect to it ?

A. Your wireless device will show an access point with an SSID of "Go http://10.0.0.12".
   So open up your web browser, and enter the address http://10.0.0.12 - then click "GO"

Example connection

Q. Assuming I've found the Billy how can I listen to the music ?

A. I've found that WinAmp works best. All tracks will be streamed as a playlist so you won't have to wait for 68Mb of content to download first. On a PDA you may have to download the track first and then play it using something like Aeroplayer (on the Palm). The simple answer right now is that I don't really know until I've had a road test and people give me feedback (hint hint). Pocket Tunes is very cool and will receive and play a playlist correctly.

Q. Can I connect using Bluetooth ?

A. The short answer is no. I could only realistically use a USB dongle for this an although I'm sure FreeBSD handles this I haven't got the time to set it up on this version of the Nomad. The other issue is battery life.

Q. Where's the camera and will my picture be on the Internet ?

A. Actually a lot of people ask this - there is no camera on this version of the 'Nomad although it was seen as a nice-to-have in the original plan. The problem is finding a camera that's supported by FreeBSD - not wishing to start a flame war my excuse is that the one(s) that probably work I can't afford. Also this is a part-time project and I'm running out of time...If you want your picture on the Internet, drop me a private email using the link and we'll see what we can do ;-)

 

Building Work Starts Now

You may click on any picture to display a larger image, where available ..

Sunday 17th October 2004

Building the Billy

Everybody else is out of the house, either at work or trawling round a garden centre, so this was my first real chance to get started. Hoorah !

Test rig source: click for larger image   Downloading Apache source: click for larger image

The first task was to reassemble the test rig, this time adding the Linksys WMP11 card to the single PCI slot. I powered on the PC and .. it failed to recognise the network card. Some investigation on the 'net (using the laptop) revealed that the WMP11 card is not very compatible with FreeBSD, and rather than muck around trying upgrade firmware I have ordered a PCI to PCMCIA adapter. This will allow me to use my spare Netgear MA401 PCMCIA card, or any other that I might find at a suitable price later.

One thing that did work however was the on-board VIA Rhine network "card" and so I quickly altered the config files to use that instead. At least I'd be able to connect to the 'net to download the required packages. I downloaded copies of MySQL 3.23, Zlib, OpenSSL and OpenSSH (latest versions). Also a copy of Apache 1.3x. The plan is to have simple, basic software that does the job, and I've used that combination on many occasions.

The VIA board performed very well and I was able to average a download speed of 69Kb/second. The only thing I did notice was that with an 800Mhz CPU, kernel rebuilds and large application compilations took a lot longer than I was used to. This is not a criticism of the board - simply that my other computer is a 2.6Ghz processor that eats code for breakfast :-)

Still I'd now managed to recompile the kernel stripping out all the crap, and MySQL was running. SSH still won't start automatically but I'll be RTFM'ing to find out why. Back soon ... !

Wednesday 20th October 2004

New Hardware Arrives

The PCI/PCMCIA adapter card arrived from Solwise and I'm now hoping that the BSD kernel will be happy with that and the Netgear MA401 network card.. A quick test, and .. success.. I also took this opportunity to strip down the kernel quite a bit more and recompile again. That freed up quite a bit more memory.

Mainboard with card adapter (1): click for larger image   Mainboard with card adapter (2): click for larger image

Thursday 21st October 2004

Took a Couple of Days Off...

Decided to take a couple of days off to get the project started properly. The first task was to download and install the core software using the BSD Ports collection. For non-BSD'ers this means that all the packages are in two parts: on the PC you have a small set of files that describe the software, and on a server somewhere on the Internet you have the source code. When you want to install a package you simply run 'make' which then downloads the latest source code, compiles and installs it.

Of course, this meant connecting the Billy to the internet. I wasted a couple of hours battling with an incorrectly-typed name server address, but eventually I got connected and all was well. Here's what I installed:

All in all, not a bad day's work, and apart from PHPNuke all stuff that I've worked with before. The most time however was spent setting up DHCP. Basically I wanted to be able to let any wireless client wander by and connect without having to worry about IP addresses. I'd never set up a working DHCPD before so this was going to be a challenge. I made the mistake of using my Sony Clie TJ37 as the "guinea pig" client. It's a nice device but it's a bit picky about joining networks.

I set it to autoscan for access points and it found the Billy and our other WAP quickly. However, when I tried to connect to the Billy it would just keep retrying. I set up DHCP in debug mode and it seemed to be handshaking correctly but a 'ping' was timing out. After several hours of fiddling with DHCP settings I finally stripped out all but the most essentials and got it to work fairly consistently. I'm not going to lie and say that it worked well, but there's definitely something "iffy" about the setup. Maybe some tuning later will help. Eventually though I found that the best way was to just use the PDA's Netfront browser and let that negotiate the connection, and this seemed to work better.

I then came across the "stale lease" problem. This occurs when a client device "leaves" the network without releasing the allocated leased IP address (before it has expired). In practice it didn't seem to cause too many problems and I've also set up a maximum lease time of 10 minutes. I reckon that this will be a typical maximum "attention span" time of a visitor, assuming I can make the site interesting enough, although this may be reduced to 5 minutes. Whatever the interval though, the DHCPD is handing out leases nicely and I'm not getting problems. By this time I'd also tried the wireless link with my laptop and it works really well ! Spurred on by this success I got SSH set up properly and I have to say it's now working properly...

Found WAP: click for larger image   Association successful: click for larger image   Connected!: click for larger image   Logged in thru SSH.jpg: click for larger image

Network setup: click for larger image   Memory and process info: click for larger image   Surfing the wireless 'net: click for larger image   Short lease allocated: click for larger image

Tuesday 26th October 2004

More Fine Tuning of Software

More fine tuning of software. I followed a colleague's advice and enabled NAT to try and sort out the potential problem of trying to resolve external web addresses that a user might type in. I set up the very basic ruleset (after all, network traffic isn't going to be routed anywhere else..). I've also set up the firewall a bit better - yes, it'll have security .. you never know who's going to be calling. I also downloaded a Windows-based portscanner to do a cursory check that what I think I've set up is what I've actually set up :-)

I guess now that it's nearly time to set up the web site proper. At the moment it's really just a placeholder page and I need to make it a bit more useful, and certainly more attractive.

Oh yes, I also emailed Julian Bleecker of the WiFi Bedouin Project to ask how he managed to sort out the potential problem of unresolved external addresses: it seems he uses a custom Java application called WiJacker. If I adopt that approach I'll have to install Java, and due to licensing issues, there is no direct support for Java with FreeBSD. I'll have to decide if I need to sort this out when I take the Billy out for it's first couple of trips...

Wednesday 27th October 2004

More New Hardware

Somewhat annoyingly I see that my supplier of miniature computer kit have introduced a new motherboard that's not only fanless, but also incorporates onboard PCMCIA and CompactFlash slots !! If I can justify getting this, then that would make for an extremely low profile device, and the possibility of booting FreeBSD off of a CF card. I have already warmed Annie up to the idea that "she'll be getting a new, small, quiet computer" and then I can justify buying the new board. Should be simply a matter of transferring hard drive and network card across :-)

Sunday 31st October 2004

It's Starting to Come Together

I have finally overcome the problem of the Sony Clie TJ37 not being able to fully join the WAP: as I had nothing left to try I disabled powersaving mode on the "Advanced Settings" menu, and now it connects reliably every time. I was able to prove this by re-enabling it and watching it fail again, consistently. Presumably this is a bug in Sony's code, but given that the Clie range is being rapidly phased out, it's unlikely that I'll be raising this with Sony Europe.

The Netfront browser on the Clie has also raised some interesting usability points. As expected, the standard laptop browser display has no problems, but the font size is difficult to set to a suitable size initially. Netfront get around this by incorporating intelligent display-changing options, but I don't think it's possible to set a certain display format by default. So I've decided to call on good ol' PHP to detect the browser type and I'll just switch in a style sheet accordingly. Much more fun. As a model I'm taking Wired.com's PDA-friendly web site: this actually has no CSS as such but is immensely readable. I now need to find more device types to play with, and as I'm unlikely to be able to afford a whole spread of Pocket PCs etc I may well have to take the prototype Billy out into the real world.

The bulletin board has an annoying feature that prevents unregistered users from voting in a poll. This was to be an important part of the project and I may have to change software. The software has obviously not been designed as a graffiti wall so I can't criticise it. I'll be having a look around though as the software also doesn't support file upload, and if the system's going to be interactive this is going to be an important feature. It's not easy being a trailblazer, but it's fun !

Still can't achieve more than 2Mbps from the network card. The status display confirms that I'm asking for 11Mbps but gives no reason for the speed drop. I'm starting to suspect that it may be contention from the other WAP in the house :-) However in practice this is not proving to be a problem bearing in mind the currently limited content options.

I have finally disconnected the CD-rom drive - the operating system is loaded and any files that need to be sent over to the Billy are done so using secure FTP, wirelessly. What better way to test ?

I have invested in some plastic studding and have started to try and sort out the layout of the components for the final assembly. I've had to suspend the hard drive underneath with some foam padding to stop the board shorting out and it's all held together with rubber bands. Messy but effective: it certainly won't be like this in the final version ! The HDD cable will need to be cut to around 10cm in length and carefully reassembled, and I'll also be removing some of the unused power connectors. In it's "functional but ugly" form, it's starting to look rather cool :-) I also looked at batteries at the weekend: 12V 4AH is damn' heavy, but would be OK in a backpack. I'm wondering if 4AH will be enough though .. time alone will tell. The power switch is proving a bit of a headache: it's a momentary-action type across a board-mounted row of pins: standard PC stuff. I've decided to use a reed switch that I'll epoxy to the inside of the eventual box - a momentary magnet touch from the outside will then be used to power it on and off. For some reason reed switches seem to be in short supply in this part of the world so I've had to order by mail. This is the part of the project I'm least looking forward to, but if the Billy is to venture outside (and survive) it has to be done...

I'm also looking at increasing the power of the network card using an external antenna. For this I'll have to open the MA401 and solder on a connector: this is covered on a couple of sites, so if I'm feeling brave I'll have a go a bit later on...

Monday 1st November 2004

Guinea Pigs

I've asked around at work and it looks like I can find some stage 1 testers - I'll bring the unit in and try it next week. It looks like I'll have a genuine Palm Pilot, and a Pocket PC as well as my own PDA and possibly the Win98 laptop. That should give the DHCPd a good thrashing !

I've downloaded a copy of the e107 Bulletin Board software as this may prove to be more suitable than PHPBB especially as regards file uploads. I'll install this over the next few days .. more late nights :-(

Tuesday 2nd November 2004

A Different BBS and the Sessions Problems

Installed the e107 bulletin board software last night without too much trouble. I've never seen such a configurable package ! I eventually came up with a much stripped-down screen layout that lent itself well to PDA browsing. However, I've had a couple of lockups on the laptop while testing it, so I've sadly had to trash it and revert back to the PHPBB that I (luckily) hadn't deleted. In browsing the PHPBB site today I've also found a MOD that will allow file uploads, so my earlier objection has now been removed. I'll be installing that tonight. Y'know, although these BBS packages are great, none of them really fits in with what I'm doing, and I get this horrible feeling that I'm going to end up writing my own...

I've been having big issues with session handling within PHP. The Apache error log shows that the session_start() function is not supported, but despite installing the PHP4-extensions port beforehand as recommended and recompiling several times I got no further. Apparently this seems to be a known problem. In the end I just recompiled PHP independently of the ports system making sure to compile it as a module and not CLI. The error message has now gone away, and joy of joys, a "sess" file has now appeared in the session files directory. However, it's gone 1am and I'm too tired to test further. I'll have to try later :-)

Wednesday 3rd November 2004

Sessions Sorted and Visitor Logging

The PHP sessions are now working (at last!) and last night I concentrated on getting the visitor logging sorted. I've set up a database to hold basic info such as date, time, browser type etc and now that sessions are working I can embed this into the front page and only get one record added to the database per session. My dilemma now is that the useful stuff I need to log will be held in the DHCP lease file in /var/db. I have two options: (1) is to retrospectively parse this and then update another database and (2) modify DHCPD to additionally write out lease records to a CSV. Hmmm.. I'll have to see about this one :-)

Thursday 4th November 2004

We've Been Googled!

Yesterday I re-re-reviewed the BBS software that I'd be using on the Billy. PHPBB is still loaded up there, but my one concern is that it's overkill for the project. A lot of the load time is spent generating page layout, while all the content is to a certain extent pushed to the background. This isn't a big issue on a PC/laptop with a decent link, but on a PDA with a 2Mbps link it may be a struggle to use. I therefore looked at alternatives, and came up with a Wiki. This will allow visitors to create pages on the fly, upload files, and generally participate. The software i'm looking at right now is PWP, and besides being small and light, the appearance can be controlled by a simple CSS style sheet. This should make PDA-friendliness a lot easier to achieve.

The wonderful Google search robot has visited the project page and we're now indexed. Impressively, a search for "YARWAP" will find us quickly :-). An acronym that really works !

I wrote to and had an encouraging response back from the Urban Tapestries folk - they are doing some interesting research on "..a Proboscis project exploring social and cultural uses of the convergence of place and mobile technologies through transdisciplinary research ... to help us model emerging social and cultural behaviours". It seems that there are quite a few wireless projects emerging, all with slightly different objectives and methods. It's all fascinating stuff and who knows where it's going to end ?

In an attempt to offer a diverse array of content, I have asked a work colleague who seems to be something of a rising star in the world of Preaching to "donate" a sermon. This will not only offer something different, but will also test the unit's capabilities for streaming. I'm not sure at this stage whether it will be a simple file download, or whether I'll install an audio streaming server. Based on the current low bandwidth performance at the moment, the file download option may come first. I may at some stage decide to go to 802.11G, but this switch will be determined by budget, support for the card, and maybe a bigger antenna.

Friday 5th November 2004

Sessions, Databases

I've now written a "jump" page that incorporates PHP sessions. This will load on a visitor's first browse and attempt to determine the browser type based on the HTTP_USER_AGENT string. Once the details have been recorded the page automatically forwards the browser to a "real" home page. This will ensure that the visitor logging database will only be updated once per visit. Of course the fun will be trying to determine the platform that the visitor's coming from, and this is why I need a representative sample of testers !

I've examined the DHCPD lease log file and right now it looks like a candidate for a Perl script run on a cron'd basis. Should be relatively simple to parse, and I've set up another database to hold the values. I've noticed that databases are starting to proliferate on the system, but MySQL is more than capable of handling it..

I have also started to set up a chart database which I'll populate in due course. Unfortunately, my really old query and display/formatting pages that I used in my original DB query pages are long gone, so I'll just have to rewrite them. Should be fun as I can incorporate all the vast SQL knowledge I've learnt over the years. :-)  I've had an idea that I can attempt to get visitors to post reviews of books they have read...

Hopefully tonight I'll be setting up the Wiki, and seeing what fun I can have with that. As I have a testing session next week it's important to have some decent content, otherwise I'll probably find the visits very short.

Sunday 7th November 2004

Range Test, Wiki Pages, Database

More setting up on the web site. Although the browser detector is working nicely I found myself creating generic pages that would suit both device types. See examples below. The one thing I don't have working yet that would be really useful is an Operating System detector. I know I can do this with JavaScript, but many handheld devices have this turned off. Certainly my TJ37 does as it doesn't support many JavaScript commands and it gets to be a pain having Netfront keep asking if you want to turn Javascript off..

I finally decided to disable PHPBB in favour of the PWP Wiki, and this works extremely well. I'll need to do a bit of tuning on the style sheet but it's more workable and a hell of a lot quicker than PHPBB. The downside is that it's a bit harder (for users) to learn and I get the feeling that I may not have found my ideal solution yet. However, the upload facility is very cool and I've linked the upload directory into a normal web page with some fancy Apache server header file features. This will allow visitors to download/view files without having to battle with the Wiki..

Range testing ! Woohoo ! I took the Billy up to the bedroom and set it up on the window sill at the back of the house. I then wandered to the end of the garden with the TJ37 and ran a scan. I was able to get an impressive 32% signal, and this proved more than enough for browsing. I then wandered around to the front of house and checked the level at 24% - not bad considering it went through the house (brick) walls and it's not even a proper wireless access point. I'm looking forward to grafting a pigtail and antenna onto the MA401, but only if I can another as a spare in case I fsck it up.

Gemma's boyfriend also tried a connection test using his Centrino-enabled Packard Bell laptop with XP. No problems connecting and surfing and he also uploaded a couple of images via the Wiki. The interesting thing though was that he entered the IP address embedded in the SSID as 10.0.0.2 when it should have been 10.0.0.12. Not a big issue but if many people make the same slip I may change the IP address, which is no problem on a FreeBSD system.

The reed switch for the power arrived from RadioSpares. It's amazing how much bigger things look in real life when compared with the catalogue :-) Even so it looks like it should handle the switching well and I'll be wiring it up as soon as get some connectors.

My Apache ErrorDoc for 404/Page Not Found now seems to be working properly and it just dumps the user straight back to the main page.

I ran a database extract off my live system and came up with a database of over 53,000 titles. I now need to get the search pages created. I'll be doing this hopefully tonight !

  version 1 of the web site home page: click for larger image   Web site uploaded files: click for larger image

So, here's the latest software lineup:

Tuesday 9th November 2004

The Billy on Tour

The Billy is having it's first trip out of the house - it's currently running at my office ready for testing with my loyal beta test team. As there are no other wireless devices in the office, signal strength is high, and I'm going to have to try and establish a signal radiation pattern from the MA401 card. I must investigate a wireless (software) toolkit: this will surely help.

I very quickly threw together a web search / display page last night for the database, and this is running quite nicely. Certainly seems quick enough. The lessons learnt from mobile WAP data handling have paid off, and although the screen is not small, the data channel is somewhat restricted, so all in all it's about the same.

Monitoring the Billy: click for larger image

I have no idea what the performance will be like when more than a couple of users connect: time alone will tell..

Wednesday 10th November 2004

Testing, Testing

Ops came around this morning and suggested I cover up the open motherboard, in case Health and Safety "closed me down". Wouldn't want anyone to fall into the fan, but I can see their point. The only suitable "cover" I had to hand was Annie's plastic peg basket - the one that I "borrowed" to transport it in on the train, so it's languishing beneath that now. I'm going to have to figure out a case for it soon, but first I need to establish radiation patterns from the MA401: it's no good having a sexy case if the signal's orientated the wrong way. I may even have to RTFM on this one !

Yet more range testing ! Sadly, both my testers are out of the office, so it's down to me to test by myself. The Billy's pointing it's antenna into the office space but the range is still commendable (exact figures later when everyone's gone home). We're on the third floor. I went down to the second floor and got a high signal strength in the corresponding area under the Billy. Impressive. The floor's concrete with raised flooring for cables. I then went down to the ground floor and got no signal at all. The interesting thing was that my WiFi Network detector did not register a signal on the second floor but the PDA picked it up anyway.

I then went outside into the street to the back of the building. Once again the WiFi Network detector didn't register a signal but spookily the PDA picked up the signal and connected to the network. Very impressive. I then took a picture using the PDA's camera and uploaded it via the Wiki. If any CIOs are reading this and are considering installing a WiFi network, be warned - you may be visible further than you think !

Health and Safety approved   Good range test: click for larger image

I have also written a very basic streamer for audio files using Perl. This is based on a previous script-ette for dynamic image serving, and currently serves up an Ogg Vorbis demo track. On the test laptop it successfully starts up Winamp 5. The demo file is only about 249Kb and I've yet to try it with other audio types (I.e. MP3) and bigger files. More on this as it happens !

Thursday 11th November 2004

PDA Legibility

My cunning (ok, lazy) plan to use one style sheet for PDA and PC has backfired a little. In looking at the way in which Wired News present their PDA-friendly news site I did some experimentation with fonts and font sizes. As a result i'll need to make up another style sheet for the PDA and this will make browser-type detection more important. The difference between Wired's page and mine means the difference between squinting somewhat and being able to read at leisure.

I've decided to try and enhance the range by raising the unit up above the top of the desk screens. It's now sitting in a filing tray and I now expect to be able to reach the other end of the office :-) I'm also toying with the idea of asking the company over the road to try a "wardrive" to see if they can get a connection: as there's no external network connection this shouldn't cause a problem..

The ping test: click for larger image   Port scanning: click for larger image   Running `top` over SSH: click for larger image   Surfing the wireless web: click for larger image

Ran some comms tests from the PDA: ping, portscan and an SSH connection. It's now getting seriously easy to manage a system via a suitably-connected hand-held device. I also ran another range test following the height increase, and I'm pleased to say that with an unobstructed path from the antenna the Billy can be found in our reception area, which represents over 100ft (about 33 metres). This through a mixture of walls and glass.

I'm please to report that the range test with the raised device has improved the outside coverage, and I got a signal strength of 64% outside in my previous location. Again this is about 100ft or so, but remember I'm at ground level and the Billy is up on the 3rd floor. I couldn't go back any further as I'd be on Railway Property ! I also tried a connection to either side of the antenna reference point but the signal pattern had obviously fallen off sharply as I couldn't connect.

Sunday 14th November 2004

Range Testing, Hardware Add-ons, Software Upgrades

Upgraded the Apache web server to version 1.3.33. It's not strictly necessary to do so on a standalone system, but I like to have everything up to date. This release is to "fix a buffer overflow in mod_include which could allow a local user who is authorised to create server side include (SSI) files to gain the privileges of a httpd child". The configuration I'm using is highly unlikely to allow this, but you can't be too careful.. After the recompile I cleared out all the server logs from the previous week's processing, but I've left the historical record in the database for further analysis.

I'd started to give up hope of getting some motherboard header jumpers + leads and LEDs: particularly annoying as I've junked a number of old PCs which had them in. Tried unsuccessfully online, and at Aldershot on Saturday. My only other recourse was the local tip, and today I spent £5 (about $10) buying a scrap PC which I have stripped for parts. Problem solved. I've also come away with a CD rom drive which I can use on another project. A couple of the jumper leads also incorporate switches so that's solved that problem too. I'll recycle what's left of the scrap PC next weekend and no doubt they'll sell it on again :-)

Range test from front: click for larger image   Signal strength from front: click for larger image   Ping test from front: click for larger image

Range test from side: click for larger image   Signal strength from side: click for larger image   Ping test from side: click for larger image  

More range testing. I wanted to run an outdoor test but it's too cold to risk leaving an exposed motherboard and stuff exposed in the back garden. Besides, one of the cats might attack it, so I ignored everyone's protests and opened the window at the top of the stairs at the front of the house. I aimed the network card out of the window so it was more-or-less pointing at the gap between two houses in the next road. Then it was off for a walk around the neighbourhood with the PDA - the laptop would have looked just a bit too "anorak" even though the Belkin WiFi monitor would have been more useful. The surprising thing was that the pattern was not what I expected. At the moment the PCMCIA card is mounted on it's long edge, which means that it's 90% "on" compared with a normal laptop mounting. The signal seems less strong straight ahead, but between 30-40% to either side at a distance of up to 83 metres. This resulted in average ping times of 20 mSeconds. Actual usability when connecting to the web server was good. The other surprise was that the signal also radiated through the back of the house and extended to around 20 metres.

In the images, the red square denotes the position of the Billy. You should note that there would be some signal degradation due to the plastic and metal frame of the window directly in front of the unit - this was because I was unable to open the window just that little bit extra.

At the end of the range testing I came to the conclusion that with the current setup it would be possible to capture a large number of wireless visitors without any extra hardware, although I would like to try a different antenna at some stage. More on this later though !

Monday 15th November 2004

Another User!

Managed to get a colleague's HP iPAQ h4350 to connect successfully. The interesting thing is that the iPAQ gave no indication that he'd connected other than a change in the blink LEDs on the top of the unit. On inspection of the DHCP log it seems he'd also managed to connect on the 11th and 12th November :-) Once he'd entered the address of the Billy manually though he was able to surf with impunity. He also managed to download a 6.7Mb mp3 file in around 48 seconds. Not a bad speed, and now I have to wonder whether it's worth putting a streaming audio server on there - it may be useful to stream demo tracks to people..

Tuesday 16th November 2004

Small Setback, More Hardware

Scuppered by Health and Safety ! Despite the fact that no-one's been injured by falling onto the server, H & S have asked me to cover it up with a metal case, which is impractical at this stage, so it looks like that's put an end to office testing. Based on the coverage patterns I've worked out so far I had planned to make an L-shaped case with the mainboard in the horizontal lower part and the antenna in the upright. It may be that if I can get the same coverage with the antenna in a horizontal orientation then I may be able to mount it all in a single "slab" style case. I'll now have to test this at home though..

I've decided to stick with the existing mainboard for the time being in order to save money. This means that if I can use the network card (antenna) horizontally instead of vertically (fingers crossed) I'll need a flexible PCI riser. Good ol' Linitx.com to the rescue again - see picture..

Right-facing PCI slot with flexible riser: click for larger image

This will place the network card directly above the mainboard, and the whole assembly will become a "layer cake". I'm not anticipating any cooling issues at the moment and I'm toying with the idea of disconnecting the cooling fan and replacing it with a much larger heat sink. Anyway - should have the riser by Friday and we'll take it from there.

Thursday 18th November 2004

Antenna Change Test Using New Hardware

The flexible PCI riser arrived today from Linitx ! I've installed this on the mainboard for a very quick test and the network card is now mounted horizontally. Early indications are that with the laptop at least the signal strength is just as good. This could be due to both antennae being identically orientated - I.e. flat.. I'll be trying out the PDA later and expect the results to be just as good.

Sunday 21st November 2004

BIOS Mods, More Kernel Mods, Web Page Mods, Power Test

Had a pretty hairy time last night - I made the predictably fatal mistake of "fine tuning" some of the bios settings prior to running a further kernel strip-down. On rebooting the Billy refused to come up so I had to attach screen and keyboard to see what was happening. On changing some of the settings I had somehow managed to invoke the dreaded FreeBSD CALCRU error, which basically means that "your hardware is not up to running a clock reliably enough for things to operate correctly".. Panic. Went back into the bios setup and reverted to failsafe settings. Rebooted and watched FreeBSD come back while correcting numerous disk errors caused by the faulty shutdown and reboot. I then shutdown and powered off, then brought it back up cleanly. I was ten able to go back into the bios settings and (more) carefully change the settings again. The moral of this is never muck around with bios settings unless you fully understand the implications!

As per my original plan I stripped down the kernel a bit more - we're now approaching the "dune-buggy" of the kernel world. I removed support for serial and parallel ports and also disabled these on the mainboard. This freed up a couple more Mb of available memory, which is important if the whole thing's going to run efficiently in 128 Mb. Once again, a sedate compilation that lasted about 15 minutes, but everything still worked afterwards so that's no problem.

More web page enhancements - this time to add a "last visitor" feature. As I haven't yet got a link between the DHCPD lease file and the user connecting this currently works solely off the connection information recovered from the web server. It now displays the previous visitor's timestamp - you don't need to know yours do you :-) In setting this up I became aware that the Netfront web browser on the Sony Clie tends to handle certain things coming from the web server a bit unpredictably. Take the PHP session cookie: if the browser is set to "Accept automatically" it appears to do so but promptly "forgets" the value. If set to "Prompt before accepting" it displays the cookie as it should, and also promptly forgets the value. This is an annoying bug and I've had to engineer around it. I know the code's correct as it works fine for the laptop on both IE6 and Firefox. If I buy another PDA it's unlikely to be a Sony..

Cleaner layout for PDA users: click for larger image   Cleaner layout for database search page: click for larger image

I finally got around to power load testing. It's been years since I looked at this type of basic electric circuit, so I found a "howto" at allaboutcircuits.com: basic schoolboy stuff and well presented. I made an untidy cable lashup and with the aid of a borrowed multimeter got the following results:

Power testing under load: click for larger image   Power testing at idle: click for larger image

I guestimate that if I buy a battery of say 8amp/hour capacity, this will give me about 4 hours mixed roaming use. Looking at my online suppliers, Maplin and RS Components it looks like I have a choice of either 7 (2.6Kg/6.6Lbs) or 12 amp/hour (4.03Kg/10.2Lbs): hmmm.. big decisions. Disconnecting the fan only results in a saving of about 0.01 amps so I don't think that would be an issue. Likewise the LEDs - minimal current. I'd have to decide whether it would worth putting the constantly-spinning HDD into sleep mode: don't know if the extra current drawn on startup would be too much of a drain..

Thursday 25th November 2004

Soak Testing, Battery Decisions, Software Decisions

Not a lot to report on the software side. I'm still trying to decide on the Community Space software. It works well on a full-size screen but can be a bit unfriendly on the PDA. This isn't a criticism of the software at all - it's just that 320 x 240 needs something a bit different. So, I'm going to be transplanting my own (we)blogging software. I shouldn't have to make too many changes: the basic database I/O will remain the same and it should just be a question of making up some suitable CSS style sheets. I've already addressed the issue of file uploads and have tested out a basic PHP upload script.

In order to keep the environment safe - for the visitors that is - I've decided to only allow image files and possibly PDFs. I'm not going to trust the extension of the file to determine what it is - instead I'll be using a "magic mime" file which will let me cross check the first few bytes of an uploaded file to figure out what it really is. I like a challenge..

On the hardware side of things it's been stable but there's a of work to do. The main issue is the battery. I've decided that a 7amp/hour is the best all-round compromise. Looking at some performance graphs it looks like I can get about 3 hours use before the voltage drops from 12 to 11 volts. I'm not sure how far below 12 volts I can go before the system will shut down but I can only really determine that through experimentation.

Typical battery discharge pattern: click for larger image

Here's an interesting white paper on the Via Technologies web site..

I also have some work to do on the case. I want the unit to be as small as possible so it looks like it'll be something like perspex top and bottom, but not as prone to static. More on this later.. On a final note for this entry I've the Billy run in soak-test mode, and it's been on 24/7 for about 3 days now.

Sunday 28th November 2004

The Emperor's New Clothes

Version 2 of the Billy: this time the messy assembly of foam wedges and rubber bands has been replaced by a couple sheets of low-tech plastic card, total cost about $2 from the local model shop. The advantage of this material is that it's light, strong and extremely easy to work with. It also adds a nice degree of flexibility which provides a degree of shock resistance. This is especially important for the hard drive which has been affixed directly to the card with the supplied screws. The bottom sheet also currently holds the two LEDs and the power switch, all affixed with double-sided sticky pads. This is only a temporary measure though as these will probably moved when I figure out what type of case to make. The support pillars are the same tapped standoffs that I used previously. I'm trying to decide whether to eventually replace these with metal studding and spacers, but the strength seems high enough right now.

I had originally intended to cut down the hard drive ribbon cable to around 3 inches in length so that I wouldn't have all the spare to contend with. However, after experimenting with a piece of spare ribbon cable and unsuccessfully removing the header plugs I gave that idea up as a bad job and carefully managed to stow the cable between the hard drive and the mainboard. This also has the added benefit that I'll be able to attach a CD or DVD drive should the need arise.

I had to use some imagination with the PCMCIA network card carrier. I made a mock-up of the top sheet and found that I had to remove the metal plate that normally gets bolted into the PC case. Fortunately there were two screws on the card carrier. I then used plastic bolts to bolt the card carrier straight onto the plastic card, and stopped the "back end" from flapping around by securing it with sticky pads again. At least that way if I need to get the card carrier off again I don't need to wreck it. I like the idea of demountable accessories and the sticky pads are remarkably strong.

Front view: click for larger image   Top view: click for larger image

I had intended to use a magnetic reed switch and magnet for the power switch and wired it up for a test, but found the positioning of the magnet too critical: possibly a stronger magnet may have helped. I may revisit this later on but for now it was back to the old reset switch salvaged from that old scrap PC.

The only problem I now have is the power supply strip. Although this was able to be bolted on quite neatly before, once I'd properly aligned the new standoffs I realised that it didn't quite align with the rest of the board. I tried enlarging a couple of the mounting holes very carefully but it still doesn't sit right. The 20-way connecting cable is the main problem, being quite stiff. I will probably have to mount this separately in the case.

Side view: click for larger image   Side view 2: click for larger image

Next step is to run another soak test and make sure the new layout doesn't cause any overheating. I'll also be looking for a case of some description..

Tuesday 1st December 2004

Setting Up the Games Area

I've spent the past few days working through a large pile of software of the entertainment genre. The selection criteria was simple:

I ended up with about 6Mb of software source code: none of your namby-pamby pre-compiled stuff here matey! The majority of the programs required PHP and/or Perl, and MySQL, all of which I have installed. In theory then the installation should have been largely straightforward but in (too) many cases it relied on modules that I didn't have or seemed to be a case of "works fine on my (their) system". As a software developer I have come across this many times. None of my software ever does this of course :-) Some of the time over the past couple of days I have been able to dive in and fix it but other times it's been just too convoluted and I've inevitably been working against the clock.

And now a short rant on behalf of the System Preservation Party..  

One thing that has surprised me though is many peoples' assumption that the person installing will have full access to the MySQL database, and in particular the complex security permissions system. Of course it's actually quite easy to install a MySQL-enabled application with the default permissions, but until you start digging around with permissions-checking tools you just don't realise how dangerous the defaults can be ! When you see glib statements such as "..as root, run this db installation script to set up your tables.. it seems helpful, but nowhere does it tell you to then go in and make sure your global access doesn't apply to the MySQL database itself .. Also it would be extremely helpful if software authors could supply a paragraph stating the access levels required to run their software: there's no point in giving an application global access (including "DROP") if all that's required is "SELECT" and "INSERT".

That concludes the rant .. please keep your system safe !

So after all the installing, what have I actually ended up with ? Ok, well it's not over yet, but the games area now has:

Sunday 5th December 2004

Battery Power, At Last!

FOUR HOURS !

A significant day today - I took the plunge and bought a battery yesterday. Fortunately for me they were on special offer at Maplins and I was able to pick up a sealed lead-acid gel battery for £7.99 (normally £20). This particular one is the 7.2AMP/hour version that I calculated I'd need. At the same time I also decided to replace the CPU fan which was getting a bit noisy. Whether or not this was necessary I don't know, but I put in a slightly taller unit, which was taken from a Thermaltake memory cooling kit. The fan is quiet, efficient and comes with a plug. The top of the fan is very close to the upper plastic card that holds the PCMCIA network card holder, but it does the job. The only thing I had to do was to "nip up" the CPU heatsink cooling fins to accommodate the slightly smaller-gauge screws.

I then clambered up into the attic to retrieve my old trickle charger designed specially for this type of battery. I charged it up over Saturday night, and today, Sunday I started the battery test for real.

At the start of the test, the no-load voltage on the battery read 12.74 volts. This was a good figure. I attached the battery with some old PSU leads and switched on. The unit fired up and within a minute had booted up and was waiting for a visitor. I kept the multimeter attached during the entire test and recorded the figures, shown below.

For testing, I decided to run a fairly typical spread of actions:

Interesting set of results. It ran as expected, just as if it was on an ordinary PSU, but during the extended file transfer test the CPU ran noticeably hotter. Not unpleasant to touch but surprising. I therefore decided not to remove the heatsink as I'd originally planned.

Here's a set of voltages over time:

TimeVoltage
094812.74v
104812.56v
114812.41v
124812.18v
134811.88v
14489.4v

After 4 hours, the unit was still going, although I noticed that the cooling fan was noticeably quieter. After that, the voltage fell away sharply, and at just after 9.5 volts the unit put the video into standby, and I had to power it down as I no longer had network access to be able to shut it down in an orderly and safe manner ! When comparing this with the earlier battery graph this is about right, and without additional circuitry I'm going to have to be very careful to leave a margin of power.

The end result of this was a few disk errors and damaged files, but it's worth noting that these were only the ones I was uploading at the time. FreeBSD is such a robust system. Nevertheless I'm going to be looking at some voltage monitoring circuitry for a later date. If I know the battery's going to reach the critical point in say 15 minutes then I can plan an orderly shutdown. Maybe I have to have a small backup battery that switches in automatically when a given voltage is reached.. This needs some thought...

Battery on charge: click for larger image   Running on battery power: click for larger image   Recovery after unscheduled shutdown: click for larger image   File transfer cancelled by power failure: click for larger image

Monday 6th December 2004

We Stream!

GNUMP3d - cool ! I revisited music streaming software last night and now have a rather cool MP3 and OGG server: GNUMP3d. Sadly, my music collection on the Billy is extremely sparse right now and I'll have to transfer a bucketload of tracks on tonight. I'm hoping that a music site buddy will bung me a few promo tracks that I can put up.. The nice thing about GNUMP3d is that it's written in Perl and doesn't need any extra servers to feed it content. A bit of a fiddle to set up, but this was mainly down to permissions and I think I'm nearly sorted on this. I can't get the stats to work yet but I'm putting a shout out on the mailing list tonight and should get a result. Apart from that it streams beautifully and the fact that it supports Ogg Vorbis files makes it a winner in my book !

Playing Mini-Zork: click for larger image If any of you are  old  mature enough to remember text adventure games such as "Colossal Cave" and "Zork", you may be interested to hear that I'm having a discussion with the Dave Walton, keeper of the iFiction web site. He has an Infocom area which lets you play the old text adventures via your web browser. As the screen format looks friendly for both PC and PDA I figured this would be a good addition to the Billy. It's currently based on a custom version of PHP and he's trying to find the source for it as we speak ... This could be very interesting if we can get it going.

I have also had a reply back from another user of Program E who has been working on the repeating response that the existing program seems to be generating. I'll be trying this out over the next couple of days and hopefully this will make the chatterbot sound less like a rambling drunkard..

 

 

 

 

PSSH on test: click for larger image I found another (free) SSH client for the Palm yesterday - this time it's PSSH and I'm testing this out in conjunction with the TuSSH application I originally downloaded. Both have their plus and minus points, but PSSH seems to have better screen handling and also has a more accessible keyboard option. On the down side it seems to be less confident about security when compared with TuSSH. I'll run both together though as they don't take up much space..

The importance of the SSH software cannot be over-emphasised now: when the Billy goes out into the field and is running on battery power I'll need the PDA to be able to monitor it and eventually shut it down correctly.

 

 

Thursday 9th December 2004

Chatterbot, Music

A helpful reader of the Program E chatterbot mailing list sent me a new version of a file component that was causing the chatterbot to repeat itself. Apart from being annoying it gave the impression that the "other person" was rambling drunk. The new version seems to work just fine and I have also modified the "personality" of the 'bot. The AIML files are full of Americanisms, naturally, and I'm having to work through a maze of files and edit these. Suffice to say that "Billy" is now becoming a bit more of a "lad" when compared with his original staid Yankee counterpart :-) Another chatterbot application is as a "customer service" representative. A few corporations are trying this out and if I can find a decent open-source XML editor I'm going to try and set one up myself..

Had great fun with the GNUMP3d music server last night. I've finally sorted out all but one of the problems with the stats, and the "recent" and "most popular" pages are now working. It was all down to directory and file permissions issues as suggested in the online forum. I even found a couple of MPEGs to put up there as the server also supports that format. I then restarted my quest for promo tracks and found a couple of sites that hosted these. The downloading is a long, drawn-out process though and although I'm on a broadband connection, 5-6Mb per track is still quite an overhead. I downloaded on the laptop and then used the wireless network to transfer the files over. I do like wireless, it's so convenient. Anyway, if anyone reading this has some copyright-free, distributable files that they want publicised, please let me know and I can put them up ! More of the same time tonight I guess !

Sunday 12th December 2004

More Music !

It's been a weekend of music downloading. All legal, above-board and free. It's a very varied mix of tracks and the archive is just over 1 hours long. It's interesting to note that most of the tracks are released under a Creative Commons Licence. That should keep the RIAA et al happy. Random tracks playing at Club Nomad: click for larger image I've removed all but one theme (skin) for the audio streaming server and designed my own: appropriately enough it's called "Nomad", and it looks good as the frontispiece for what I've dubbed "Club Nomad" :-) Only about 200Mb to go and I'll have hit the 1Gb mark.

I've also redesigned the home page slightly again.. expect it to change again !

Latest homepage incarnation: click for larger image

Thursday 16th December 2004

Even More Music !

I'm suffering from a bit of music download burnout ! I now have over 330 "open source" tracks, including two spoken word tracks. This is actually heading towards the 1.5gb mark but only represents around 21 hours of music. I'm still hoping for some local content and it may mean contacting the local radio station for help..

The selection can only be described as "eclectic". This would normally mean "Selecting or employing individual elements from a variety of sources or styles", but in my case it also means that I'll grab a tune if the band name sounds catchy or it's got a weird track or album title..

So, for those of you that would like some open-source music, here are some links..

Just one of the classic games on offer: click for larger image I've also added some Flash games - these are arcade classics and play very well on a laptop. Not sure how they'll behave on a PDA equipped with Flash though. These are fantastic time sinks and I've wasted far too much time on them so far. The nice thing is that I can set Club Nomad up on random play, and destroy a few aliens at the same time.. It'll be interesting to see how this scales when there's more than one user..

Sunday 19th December 2004

Even more more Music !

Okay, I gotta stop now.. I'm approaching 1.5Gb and the archive file claims it's going to keep me amused for over 1 full day. I've certainly been streaming all weekend, and can report that I've now listened to all 10 of the Snaildartha 6 tracks. There is some truly "odd" stuff on there, including a complete US radio show, and a recording of Wil Wheaton speech to a group of (other) computer nerds at a conference. I also have a large amount of what can only be described as extremely hard Finnish "political" rock, released on the Commie label (now defunct). This is truly hard stuff, and only to be listened to with a shaved head, powerful vodka, and a couple of rottweilers at your feet. A couple more tweaks to the GNUMP3d server to sort out a "missing" config file and it looks we're sorted. Next job on that is to create a PDA-friendly skin/theme.

I sat down on Sunday afternoon and rewrote the Community Space comment system. I basically grabbed a copy of the blogging software and hacked it about. The nice thing is that it's very small and light, and I'm able to tailor the screen size to specifically suit PDAs. The comment system proved to be a bit of a pain, but I got it sorted by the evening. All I need to do now is add a subroutine to indicate entries with comments, and slap in the file upload system and Bob's yer Uncle.

I've emailed a local radio station to ask if they can help me find some promo tracks. It would be a shame if local artists were denied a crack at some free publicity just for want of a little effort.. I'll let you know when they reply and what they say..

I've had my first grumble about the unit's location, and I quote.. "..will it be there permanently ?". Well no, as soon as I get a case figured out it can go somewhere else. Which brings me to another matter - do you know how difficult it is to get perspex/acrylic ? Neither did I until I went around the town at the weekend. I've had to email a plastics company near to Alton to ask if they'll sell me a small quantity: > 1/8 inch thick preferably and low static - I'd hate it to get zapped on it's first real outing.

Monday 20th December 2004

Community Space

Here are some screen shots of the latest version of the home page and the Community Space pages with commenting in action. Please note that I have to apply a style sheet to this, but it can now recognise the browser type and resize the page accordingly.

Latest version of the home page: click for larger image   About to make a comment: click for larger image   Making a comment !: click for larger image

Monday 27th December 2004

Tidying Up

I've added some more music. Yes, I know I said I had to stop but I couldn't resist just that little bit more. I'm now quite into Subatomic Glue as well as Machinae Supremacy who have emailed me back to confirm distribution rights for their music. I need to pull some tracks but other than that we're okay. I haven't heard back from anyone else though which is a bit disappointing. "Want free publicity ? No ? Okay then ...".

Plenty of music for your pleasure: click for larger image

As a consequence of the now large music database I have had to add another 64Mb of memory to the Billy using the spare slot. I had the 64Mb chip in my junk box so that was a no-cost option. The swap file is now only used after a considerable time whereas before it was taking over 50Mb quite quickly. If the music collection grows over time I may have to consider using something that's not Perl based instead. I'm also not sure how the whole thing is going to scale with multiple users. We shall see..

I've modified the DHCP server to remove a tiresome message about the log time being off by one hour. This was causing problems parsing the log file and is quite unnecessary IMHO: surely if it's in the documentation that should be enough ? Anyway, I now have a consistent log file format and have started writing the Perl parsing script.

I've also been changing some of the pages again. The main page now has an "uptime" display which is updated every 30 minutes. I've temporarily removed the book chart section as I can't get any supporting data to add to it, which is a shame. I've redesigned the front page yet again to allow for the poor cookie-handling of the Clie's Netfront browser, and I'm considering getting rid of the page width setting as simply hard-coding it to 95% seems to do the job and it's one less bit of processing to do. I won't make a firm decision though until it's been out in the field a couple of times.

You've been up how long ? Chitchat in the community area: click for larger image

Wednesday 5th January 2005

Further Progress

Over the holiday I canvassed some more promo tracks from local-ish DJs: I've had a positive response in the majority of cases and have decided to set up a "Showcase" for this content. This will neatly divide the music library into a large section of good stuff, and the "cream" which will reside in it's own area. I'm now having to consider modifying the audio streaming software to incorporate Bio and Discography sections and I hope that this will give the contributors a bit of a publicity boost.

I did some more work last night to try and set up a DNS-spoofing system so that anyone requesting a "real" internet site would be redirected back to the Billy as per my original plan. I managed to install the FreeBSD port of DNShijacker, which although it has it's roots in blackhat areas seems to actually fit my purpose very well. Nevertheless I think one of the links in the networking chain is still missing and I'll need to seek advice as to the next step. For now though, visitors will still need to connect to http://10.0.0.12/.

I decided to see if I could improve the data transfer rate of the network card from the reported 2Mbps, and to this end I bought a new 32-bit network PCMCIA network from B & Q .. not your typical source of computing supplies ! Unfortunately, the unknown chipset on this card doesn't appear to be supported by FreeBSD, but I can happily report that since installing it on my Windows 98SE laptop, the data transfer rate is now reported at 11Mbps. The card in question is a TrendNet TEW-226PC and costs about £25. Only 802.11b but it meets my immediate requirements. The "old" Belkin PCMCIA card has now been retired as a spare..

W00t ! 11Mbps ! : click for larger image   Nice stats display too: click for larger image  

The nagging question of the design and construction of the case has reared it's head again. Just before the holiday I contacted a supplier of industrial plastic and was quoted £28 for a 4ft x 4ft 3.5mm acrylic sheet and £44 for the thicker version. That's quite a bit more than I wanted to pay, so it may well be that I have to bodge it by gluing two pieces of the thinner version together :-).

Battery monitoring is someting else I've been considering again. My original plan was to find a digital voltmeter module and incorporate it into the PSU, but this has been ruled out because of price. When you consider that you can pick up a DMM for around a fiver I can't understand why the modules themselves cost five times as much ! I've also considered cannibalising a cheap DVM but this will need further investigation. Incidentally, re-reading Julian Bleecker's paper again the other day I notice that he opted for a 6-amp/hour battery which is pretty much in line with my 7.2-amp/hour cell. OTOH I have had a tentative offer of an ex-UPS battery which may bump up the capacity to 10-amp/hours. We shall see..

So, here's the latest software lineup:

Sunday 9th January 2005

Road test pending !

First off I'd like to mention that I've been checking my visitor logs and consequently would like to welcome visitors from: UK, USA, Canada, Italy, France, China, Australia, Malaysia, Turkey, Netherlands, Slovak Republic, Austria, Germany, Norway, Poland, Sweden, India, Indonesia and .. Dublin !

Following an extended bout of petitioning, it looks like I may have the use of some London West End office space coming up. If it comes off this will be great news although I have to admit that I'm a bit nervous about letting the Billy out into the wild, even though it will be indoors. I'll also need to get in touch with my potential content providers to keep them in the picture.

The Billy itself has been undergoing more soak testing: it's been running for nearly a week now and shows no signs of overheating. FreeBSD has proved to be rock-solid and I have stopped adding music to the library for now. With the up-and-coming outing I again tried to find a case. I spent much of the weekend trawling through online catalogues, and finding that the size of case I need is either too expensive or just not available. I looked at acrylic sheet in B & Q again and was about to spend £20 buying a sheet when I changed my mind as the plastic is just too brittle. It may be that I have to change the physical layout of the boards just to fit a case, but this would be very inconvenient. I'll be having another look today..

Other than that, my daughter and her boyfriend admitted that they'd been "listening to my music collection" and "since the changes it doesn't sound as bad as it did..". Well, there you go - that's a compliment in my book, and I reckon I just need to get some more tracks into the showcase area. No problem. Right.

Monday 10th January 2005

We get CFMU on board !

CFMU - Squares Cubed The wacky nature of the project appears to be paying off.. While browsing the Internet Archive site for more Aleksi Virta I came across a link to a cool radio station based in Canada, called CFMU. In particular, there's a show called "Squares Cubed" hosted by presenters Chris and Marc that features a very wide range of music, and it reminds me somewhat of the old John Peel shows on Radio 1. An eclectic mix, and very interesting ! Some good banter too.. can't beat a bit of banter in the studio. The best bit for me is that they also archive their shows so I can download an hour's listening onto my PDA and listen to it on the way home.. Here's what they say about themselves:

Every Thursday at 10:30 EST, Marc and Chris bring you an hour of the finest music legally and freely available on the internet. To listen to us live, tune in to 93.3 CFMU (if you live in the Hamilton ON area), or click .. the link .. to stream the broadcast. Our two most recent shows are archived below, along with links to more info about the musical artists featured that week. We welcome any and all criticisms, suggestions or comments, so send us your feedback.

Another one for the Showcase, methinks ..

Saturday 15th January 2005

Building finished !

 I finally got a case !: click for larger image   Spacious internal layout: click for larger image

I finally managed to get a case for the Billy ! After another Friday evening Googling for a suitable case I measured up again and decided it had to be a food storage container. This was because "real" cases of the required size were £60 upwards and this went against my cheap project philosophy.

By coincidence, I managed to find suitably sized container for under a tenner and it just happened to be the container for a set of Microwave Cooking dishes. I kept the box: Annie got the cooking set: problem solved !

I have to admit that this case is a bit of a compromise - there is way too much air space inside and I suspect the plastic's a bit static-y. Having said that it was cheap, and it seems to do the job. The next version will be based around a different mainboard and I'm hoping to be able to use a much smaller HDD.

This concludes Part 1 - Part 2 will be concerned with the Billy Nomad On Tour !

Monday 17th January 2005

A last-minute change (or two)

As readers that have managed to stay awake reading this far may remember, the Billy is designed around a pretty small memory pool, and while tuning up the installation the other night I noticed that the amount of available memory was decreasing quite rapidly. A quick check on what was running showed that I had two Perl scripts running and these were taking about 7Mb each. These were owned by the GNUMP3d script that runs Club Nomad. What appeared to be happening was that as the software was working through the playlist, memory was being allocated but not being released. Was it supposed to do it like this ? Well apparently, Perl is supposed to manage it's own garbage collection, and if it needs to release previously-allocated memory it will.

In this case it didn't appear to be doing this - it's not a GNUMP3d issue: it looks like a Perl issue - and looking in the GNUMP3d error log a series of Perl malloc() errors were appearing. The only way to sort this was to kill the GNUMP3d process and restart it. However in order to do this I really needed the PID of the process, but because of the way GNUMP3d is initiated it doesn't produce a PID in /var/run. Problem.

A quick look on the web found a program that would monitor a specific log and perform an action. Only problem was that this was itself a Perl script and therefore a killall perl would kill both processes, which is not quite what I wanted. A bit of shellscript fiddling and I achieved a kludgy compromise that just about worked, but not one I'd be happy running in the field.

So, after all that work on getting a decent GNUMP3d installation going I made the difficult decision to swap it out for something else :-(( It's not GNUMP3d's fault - it's just that the existing configuration doesn't seem to be happy with a basically-memory-resident Perl script and I can't risk it crashing while I'm not around.

Another hour searching Sourceforge.net and I'd decided on a package called Zina from Pancake.org. The advantage of this software was that it was based on a PHP script, and this was part of the Apache web server, so I reasoned that memory usage would not be quite so much if an issue. Surprisingly easy to install, it worked straight out of the box and I was streaming music shortly afterwards. The memory issue seems to have resolved itself for now although it will need to be monitored over a period to make sure nothing untoward happens. It may be that 192Mb is just not enough for what I'm tryng to achieve and I have to say that I've never run anything like this with anything less than 256Mb: maybe I need to add just a little bit more to reach a certain breakpoint. I'll have to do some more testing. I dunno, this whole thing's just a voyage of discovery !

The other change is a small(ish) one to some of the Program E chatterbot files to make "Billy" more Anglicised. It wasn't until I started editing the "A" file that I realised it was around 35,000 lines long. This could take longer than I thought...

So, here's the latest software lineup:

Tuesday 25th January 2005

More last-minute changes (or two)

I had another look at the case for the Billy, and although the current offering does the job there's a large amount of wasted space inside. It's actually bigger than a laptop, which kinda defeats the object of the project and so I decided to try another case. This time I found an old sheet of 2mm polystyrene sheet (clear) in the shed and found that I could cut this (carefully) with a Stanley knife. And so, case number two started to take shape. I've actually cut 3 sheets, and two will be sandwiched together to make a "thick" base plate. My aged father has kindly made some tufnel pillars for the corners and grooved them to accept slide-in side-pieces. These will be 2mm thick but to be honest I don't expect a lot of side-impact damage so I don't need Volvo-quality construction. As soon as the special hex screws arrive I'll be bolting it all together. It's still "ugly but functional", but I'm not going to spend more money on it unless ths version works as intended. If version 2 ever sees the light of day it will be based on the mainboard that has PCMCIA and CompactFlash slots on board, and I'll be looking to buy a 1Gb CF card to hold the operating system, which my well be Linux (I want to put a webcam on the next version). We shall see.

The DNS issue was bothering me greatly as it was unfair to ask visitors to remember to surf to "http://10.0.0.12/" after conencting, and so a marathon DNS session that lasted until 3am this morning was embarked upon, and by the time I crawled up to bed I had a working solution. In summary, here's what I cobbled together:

Now, I'm well aware of the implications of doing this: in a normal system connected to the internet, anyone connecting to the Billy and requesting any web site would be redirected transparently to the Billy. However this is not connected to the real world and so it doesn't affect anything. What it does mean is that whatever URL is typed into the visitor's web browser bar always ends up at the Billy's home page, which is what I wanted all along.

So, here's the latest software lineup:

Monday 14th February 2005

We're All Set

The re-casing turned out better than I'd hoped, but looking at the final product still reinforced my belief that I should stick to software development :-) The clear polystyrene proved easy to cut although it was somewhat dangerous using a Stanley knife. It was one of those situations where my technique improved towards the end of the job. Ah well, I'll know for next time.

One other issue I came across was that during a period of extended disk activity the unit heated up significantly: so much so in fact that I have added an extra exhaust fan at the rear of the unit near the power supply. I have disconnected this for the time being as that level of disk I/O is unlikely to occur in normal use, as they say. If the project takes I'm really looking forward to building a fanless unit for version 2 (which incidentally is getting cheaper as I write this) ..

I've also cleared down the databases and logs ready for the first test run which will taking place on the 22nd onwards. The location will be secret at this stage :-) I can hardly wait !

Absolutely the final version.. : click for larger image

Sunday 26th February 2005

Still testing

The Nomad has now been at the secret test site for a week. It's lodged with a friend in North London (just off Kilburn High Road actually) and is enjoying life on top of a central heating boiler. Early reports are good and the only comment received so far is that the blue light is a bit bright, but this was swiftly resolved by covering it with a towel. Uh huh. Well, it is a high-brightness LED and somewhat reminiscent of walking by a tanning parlour.. It's also difficult to say just how many visitors it's had so far as of course it's not internet-connected. The only other problem now was that the Nomad was using the only 16-bit wireless network card I possessed but I also needed one for my aged laptop. I couldn't get one anywhere on Tottenham Court Road (!) and even a pleading email to Netgear sales met with stony silence. Thanks guys, I'll remember that when I build version 2 ! I'd tried eBay of course but had been regularly outbid. I then managed to find a vendor that did a "Buy Now" option and in theory I should get it sometime next week. Then I can collect the Nomad and analyse the results.

Anyway once I'd got everything set up I decided to take a wander round to my next potential test site. This is a small park in the centre of Soho and it's surrounded by a lot of media giants' offices. Ideal for my purposes.. I did a quick walk around the square and noticed that most of the offices were running (secured) wifi networks. I also noticed an extremely strong signal, which turned out to be Westminster City Council's Wireless network. Right now this is being used for CCTV surveillance and noise monitoring - the cameras can be moved around easily as required. My plan is to take the Nomad with battery into the park and see who connects. In view of the controversy surrounding rogue access points I plan to distribute flyers a few days beforehand warning people of the "event". Should be interesting..

Next task is to set up the battery with a proper connector and also wire up the external power lead for the Sony Clie so I can use it wirelessly for extended periods. The problem is that I bought the battery connector adapter from the Brando Shop in Hong Kong (mail order obviously, very good) and it allows you to connect a 9volt cell to power your ddevice. Now, my only concern here is that 9 volts going into a 5 volt Lithium Ion battery is a bit severe, and while it may well do the job it could be a "works once" solution. I can't afford to replace the Clie so I'm having to wire in a 5-volt regulator as a safeguard. Once this is done i'll be able to go all the way up to 12-14 volts in safety. I can then do some serious surfing ! More on this later..

Monday 14th March 2005

Still testing

The Nomad has now been at the secret test site for a week. It's lodged with a friend in North London (just off Kilburn High Road actually) and is enjoying life on top of a central heating boiler. Early reports are good and the only comment received so far is that the blue light is a bit bright, but this was swiftly resolved by covering it with a towel. Uh huh. Well, it is a high-brightness LED and somewhat reminiscent of walking by a tanning parlour.. It's also difficult to say just how many visitors it's had so far as of course it's not internet-connected. The only other problem now was that the Nomad was using the only 16-bit wireless network card I possessed but I also needed one for my aged laptop. I couldn't get one anywhere on Tottenham Court Road (!) and even a pleading email to Netgear sales met with stony silence. Thanks guys, I'll remember that when I build version 2 ! I'd tried eBay of course but had been regularly outbid. I then managed to find a vendor that did a "Buy Now" option and in theory I should get it sometime next week. Then I can collect the Nomad and analyse the results.

Thursday 17th March 2005

Road Test: Kilburn, London

Here are the results of the first Billy Nomad road test. I'm very pleased to say that the unit held up for the full length of the time it was on test. When I arrived to take it down, everything was still running as intended: I really like FreeBSD as an OS..

I have to admit that the test in Kilburn was a real unknown quantity. The computer press both on and off the 'net tends to hype the widespread use of wireless devices, but in the real world I haven't found the incidence of such devices that widespread. Kilburn itself is a bustling London suburb with little evidence of Internet cafes, let alone the ubiquitous BT OpenZone stickers. I'm pleased to report that two users did actually make a connection, albeit briefly. Here are the publicly available details:

Timestamp Form factor User Agent Client hostname Aborted
Mar 10 16:51:16 GMT 2005 PC Macintosh; U; PPC Mac OS X; en AppleWebKit/125.5.6
(KHTML, like Gecko) Safari/125.12
n/s N
Mar 10 16:50:59 GMT 2005 PDA compatible; MSIE 4.01; Windows CE; PPC; 240x320 n/s N
Mar 16 21:49:11 GMT 2005 ? ? EMASANLFF011842 Y

See detailed web stats
Page tracking
Page Tracking

Conclusion

Although there were only three connections during the test period, it was good to see that users had connected with both a hand-held device and a laptop. Interesting to see that a Mac device had been used ! I discussed the lack of actual use of content itself with my friend who had been looking after the Nomad. We came to the conclusion that an element of trust needed to be in place for visitors to feel confident that they could connect to and interact with the device without picking up a virus or Trojan. In practice his is somewhat difficult to achieve with a device that's essentially a roaming system and is likely to be in one place for perhaps a couple of hours at the most if running on battery power !

Overall though I have to say that I'm chuffed with the Billy's performance and another road test is due real soon now !

Sunday 24th March 2005

More software

I've had a week of "training it" with the Nomad and I've decided to do the same for another couple of weeks. I don't think I'm picking up too many hits although I haven't looked at the logs so time alone will tell.

One thing I have been doing though is listening to Club Nomad on the PDA and while the sound quality's really good I have to admit that the interface is a bit of a pain, so I had the idea of installing streaming internet radio as well so that I could stream a playlist from a single icon click. I downloaded latest copies of IceCast and soon realised that there's quite a bit of software overhead as you need XML and XSL libraries as well as other stuff too. I don't have a problem with this but it's yet more clutter on what's supposed to be a stripped-down system, so the hunt was on for the lean, mean streaming machine that was to become "Radio Nomad".

This wasn't as easy as it sounds: no surprise really.. There aren't actually many applications that just stream without an interface, although there were some Java applications that would have done. However, there's an issue with Java licensing on FreeBSD as well as the disk space and memory overheads, so that wouldn't do. Instead I found a classy application called AMPLE, by David Härdeman.

"Ample" is described as.. ..an MP3 server written in C. It does not intend to support mixing, radio shows etc. Just an easy way to listen to your MP3's everywhere using the "open location" features already present in XMMS, WinAmp and Media Player.

It's currently in alpha status, but it compiled straight away on the 'Nomad without any external libraries and was up and running on port 8000 straight away. The only slight drawback is that it doesn't publish a playlist, so the Pocket Tunes client on the PDA tried to buffer the entire MP3 track before playing but I found that the XMMS and Noaplayer applications worked fine on my FreeBSD laptop. I've emailed David to see if the playlist feature will be coming soon.. I'll be updating the Nomad's main menu as soon as I can find a decent icon.

So, here's the latest software lineup:

More hardware

Solar Nomad 1   Solar Nomad 2

With the addition of the soon-to-be-launched Radio Nomad I have started thinking about a "Party in the Park" - think of it as a wireless LAN party. Battery life will be a key issue here and although I reckon I could squeeze a couple of hours out of the 'cell a little help would be useful. So, I thought about a solar panel. Yes, even with the grey Hampshire skies, the right type of panel would help and I found what I think is the right one at my old buddy Maplin Electronics. It was affordable too. Okay, so it only outputs 12-15 volts at 1.8 watts but as a top-up every little helps. And yes, I could have got a true charger but at over £150 it was out of my budget. The impressive thing about this particular model is that it can be weatherproofed to at least be rain proof so, if there's a sudden downpour it won't all fail. It seems to work even in cloudy conditions so I'm hoping for great things in the summer.

Monday 2nd May 2005

Nomad Radio

After spending most of the day trying to get various versions of IceCast, Ices and Shout working (unsuccessfully) I decided to give Ample another try. Rather than download it piecemeal I connected the Nomad up to the network using the onboard Via Rhine "card", and was able to download a compile a clean copy. I then set it up with a playlist, and put up two links on the main page: one to download/open the playlist, the other to stream straight from the port. I had to do it this way as Ample doesn't seem to quite handle some type of media player consistently. It's really a case of "see what works for you". Nevertheless I was able to set up a little group of 3 clients and it seemed to handle this okay. I should now be in a position to set up the Wireless Party in the Park, but first I need to find a bunch of (other) geeks with wireless to run a little test.. :-)

I also bought a fuse holder from Maplins on Saturday, enabling me to carry the battery around with more confidence, safe in the knowledge that if something does short out in my bag I won't be going up in flames as well. It's splashproof and is rated up to 30 amps although I'm currently using a 3 amp fuse in there with the option of using the 5 amp variety if needed.

Friday 6th May 2005

Still testing

Streaming and watching - 1 : click for larger image   Streaming and watching - 2 : click for larger image

Still testing on the train. I seem to be getting a fair number of hits but people still aren't committing to venturing onto the web site which is a shame. Anyway, just to prove that a PDA can do something useful here are two screenshots of me listening to streaming audio with Pocket Tunes (Nomad Radio actually) while monitoring the output from the DHCP server using a Secure Shell connection.

Sunday 12th Jun 2005

Still testing

Due to other events my testing was temporarily suspended. I did however manage to add some more content and this includes a variety of Flash games.I've also expanded the original library area to include PDF, plain text, Plucker (Palm) DB. As it's a modern library it also includes some short video clips in MP4 (Quicktime) format. I actually shot these some time ago using my ex "3" NEC 313 mobile (Cell) phone which conveniently records in that format. I can get a staggering 20 seconds of video without sound (10 seconds with sound). The hope is that people will contribute similar clips but also download them to make their own video montages.

The "Ample" MP3 streamer seems to be working very well and I'm now changing the "programme" every few days from the vast music library of Club Nomad.

The next planned outing (other than the train) will be on a charity fancy-dress walk in London. The theme this year is "pirates", so I have no choice other than to go as a pirate radio station :-) I've tried to find somemusic tracks with a pirate/brigand/nautical theme and have to confess that the only one I could find was a fine rendering of "T'was on the Good Ship Venus". Ho hum. Well, I'll just have to keep looking.. I'll post more details when I know dates and locations..

TO BE CONTINUED ...