So my next piece of work on the Vocore was to mount the filesystem from a USB stick. I found some instructions here. So I started adding all the necessary kernel modules, hoping that it would be as simple as getting the USB soundcard to work. It wasn’t quite that easy. I thought that I had done everything, but just got strange messages when I tried to mount the disk. Then I found this helpful link.
It described exactly what I was seeing. In short, you can’t rely on the error messages being returned by mount on OpenWrt. So to diagnose the problem, the most important thing was using the
logread command to get some ideas why the USB drive was not mounting. In my case (I was mounting a vfat formatted thumbdrive) I needed to add support for Codepage 437 and ISO 8859–1 into the kernel. So when building OpenWrt, I needed to go into Kernel Modules -> Native Language Support, like this:
But both those character set problems were quite clear from the log entries, so working out what I needed to do wasn’t that difficult … once I knew that I should not trust the error messages being returned by mount.
And I did find some more detailed information about filesystems and character set problems here … albeit for a different type of device, but I think the principle is the same.
Anyway, as soon as I added the extra modules for the correct character sets then everything came to life and I could mount the USB disk. Happy days. So now I can play audio files from USB storage, which works great.
Click below to download the application:
My previous work on Z88 serial communications was OK, but you need to use the Z88 and Windows at the same time – meaning that you need about 4 hands. You can also only send one file at a time. However, it does work with an out-of-the box, unexpanded Z88 without any additional EPROMs, which is why I wrote it.
But ... a lot of Z88’s have a PCLink2 or EasyLink EPROM installed. This makes the Z88 act as a server, meaning that all the work could be done from the PC (with some client software). So ... I’ve decided to have a go at developing a modern Client for that - one that will work on current versions of Windows. After speaking to Vic from Rakewell we decided that it would be good to have the Z88 act like a memory stick ... to simply appear as a new drive in Windows. You can then just use Explorer to access your Z88. But can that be done over a serial connection? Well I think so ... with the help of a library like Dokan.
So this is my proof-of-concept. I have tried it on Windows 7 (both 64 and 32 bit versions). It only uses the PCLink2 protocol, which should work with both PCLink2 and EasyLink EPROMS, but has limitations - it cannot create directories on the Z88 for example. It works with the ‘official’ Z88 serial link cable. When the client is running it puts a Z88 icon into your system tray. Right clicking this icon allows you to browse to the Z88 or exit the client program.
You must connect the Z88 and run PCLink or EasyLink before starting my Windows client software.
There is a Z88.ini file which allows you to set the COM port and the protocol used (at the moment only the PCLink2 protocol is supported). But you’ll need to edit the Port= setting in the .ini file if you’re using a COM port other than COM1.
WARNING!! this is a proof-of-concept and is very experimental. It could crash your PC or corrupt the files on your Z88. I’m only putting it here in case some brave people would like to test it and let me know if they find any problems.
To make it work, you will need to install the following components on your Windows machine:
.Net Framework 3.5
Dokan Library (download and install Dokan-0.6.0)