Here is the step by step process I used to upgrade my
Mindstor PSS-1820 to 40GB.
NOTE: major update to this doc is coming with
a bootable floppy/CD containing a linux version
to use on any notebook or desktop PC; notebook
will not require the IDE cable adapter.
Mindstor upgrade process - version 0.2, 25-March-2003
Author: Steve Dempsey email@example.com
Be prepared to take a small risk. This process
worked for me, no guarantee you will get the same
results. And no guarantee you will not damage
something. The mindstor & digital wallet were
not designed to be serviced by the user. It is very
easy to plug connectors in the wrong way, as not all
cables have a proper key or guide. Always connect
or disconnect drives/cables with the POWER OFF.
If you are not comfortable with the hardware, use
one of the upgrade services mentioned on the
digitalwallet forum. So much for disclaimers.
REPLACING A DAMAGED DRIVE
OR RESTORING CORRUPT FIRMWARE:
The procedure below will work to copy from a
known working drive to another drive of the same
size, however you will need to start with a source
for the firmware. If your system will boot but
cannot read or reformat the storage area due to
failing media, it is possible the firmware area is
still readable and this procedure may work.
If your old drive does not function at all, or you
have lost the firmware, you will need to find
someone else with a similar unit to borrow, or
send your unit to one of the repair/upgrade services.
Please do not ask me to post a copy of the image
file; it is copyrighted software and cannot be shared
Before you do anything else, BACK UP YOUR DATA!
If something fails and you corrupt the old drive
contents, at least you should not lose any data
stored on the unit. You probably will not cause
physical damage during this process, but writing
the wrong data will render your drive unusable
in the mindstor until you get a fresh copy of
You will need a PC running linux (any version),
a place to plug in an IDE drive (can be master
or slave), and an adapter to convert the usual
40 pin IDE connector to the 44 pin 2.5" notebook
drive type used by the mindstor unit. These
adaptors usually sell for about $5; any decent
PC repair shop or parts supplier will have them
(e.g. Fry's electronics). The adapter looks like this:
Obviously you will also need a WORKING mindstor
unit and a new 2.5" drive, probably larger than the original.
The latest M@W drives were IBM/Hitachi Travelstar
types, which are readily available from many retail
Anesthetize the patient before surgery.
(disconnect the battery).
Open the mindstor unit. The case comes
apart by prying gently at the tabs on the
battery compartment end and working around
one or both sides until it opens up. The
case will separate into a front half containing
all the electronics, and the back half as
an empty shell. These pictures should
Remove the old drive by sliding it out in
the same direction as the battery cover opens.
If you need this drive to be a slave in your
PC, install a jumper according to instructions
that are probably printed on the drive label.
With PC powered off, connect the old
Power up the PC, check BIOS settings as
needed to verify the drive is visible and
did not conflict with one of your existing
drives (e.g. two masters or two slaves on
same IDE controller).
Boot linux. Explaining how to install
or run linux is way beyond the scope of
Look in your boot log or syslog to verify
the drive showed up. On my redhat system
this is /var/adm/messages, something like:
hdb: IC25N020ATCS04-0, ATA DISK drive
hdb: 39070080 sectors (20004 MB)
You may also find this information
using the 'dmesg' command, e.g.:
# dmesg|grep hd.:
hda: IC35L040AVVA07-0, ATA DISK drive
hda: 78156288 sectors (40016 MB) w/1863KiB Cache, CHS=4865/255/63, UDMA(100)
hdb: IC25N020ATCS04-0, ATA DISK drive
hdb: 39070080 sectors (20004 MB)
The important part is the number of sectors.
The device name will depend on where you connected
the drive according to the normal linux ide device order:
hda = primary IDE, master (normally boot disk)
hdb = primary IDE, slave
hdc = secondary IDE, master (normally CDROM)
hdd = secondary IDE, slave
Try to mount the drive (read-only) and see
if your data is visible:
# mkdir /mnt/ms
# mount -r /dev/hdb /mnt/ms
# ls /mnt/ms
m$a$w$.s$n ms000001 test.txt
# umount /mnt/ms
At this point you could optionally create
another backup of the files to later be
restored on the new drive if you have extra
disk space somewhere on one of your linux
Calculate where the firmware is located,
which is 16MB at the end of the drive. For
16MB = 16 * 1024 * (2 sectors/kb) = 32768 sectors
drive size - 16MB offset = firmware location
39070080 - 32768 = 39037312
Use this number to extract the firmware
into a temporary file:
# dd of=/tmp/ms.img if=/dev/hdb skip=39037312 bs=512
32768+0 records in
32768+0 records out
# ls -l /tmp/ms.img
-rw-r--r-- 1 root root 16777216 Mar 23 19:41 /tmp/ms.img
Disconnect your old drive, keep in a safe place.
For peace of mind you may want to reconnect it
once to your mindstor unit and boot up to verify
it still works. Don't forget to remove the slave
jumper if you used one; the mindstor will not
boot with a slave jumper installed.
Connect your new drive the same way you
had the old one and bring up linux. Check
its size in the boot log or using the dmesg
command, should be something like:
hdb: IC25N040ATCS05-0, ATA DISK drive
hdb: 78140160 sectors (40008 MB)
Calculate where to place the firmware
78140160 - 32768 = 78107392
Write the firmware:
# dd if=/tmp/ms.img of=/dev/hdb seek=78107392 bs=512
Build the fat32 filesystem at the base
of the drive, using everything except the top
16MB. DO NOT USE FDISK. The mindstor does
not use the normal PC filesystem layout, does
NOT have a boot sector containing the partition
map. The fat32 filesystem begins at sector 0.
The mkdosfs utility can do this, but it takes
1K blocks instead of 512byte sectors, so divide
the above number by 2.
78107392 / 2 = 39053696
Note: if you miscalculate this number, mkdosfs will
still try to create a valid fat32 filesystem. A smaller
number will not use the full disk capacity. A larger
number may cause mkdosfs to corrupt the firmware
# mkdosfs -I -F 32 -v /dev/hdb 39053696
mkdosfs 2.8 (28 Feb 2001)
Warning: block count mismatch: found 39070080 but assuming 39053696.
/dev/hdb has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 78107392 sectors;
file system has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 76129 sectors, and provides 9744387 clusters.
Volume ID is 3e828478, no volume label.
Shutdown linux, disconnect the new drive.
Remove slave jumper if any, connect new drive
to the mindstor unit.
If the new drive works, reassemble your case,
restore data if you want (you did make backups,
right??), and celebrate!
If this procedure works for you, I would like to hear other
success stories. If you find errors in the process, please
contact me firstname.lastname@example.org so I can correct or improve
For a short time I am willing to collect and document known combinations
of DW/MS units and drive types that are proven to work. If you
have success using something NOT listed here, please let me know.
If you find a combination that fails, that might also be good to know
so others don't waste their time trying.
|Storage unit type||Original drive||Upgrade drive||pass/fail, notes|
|PSS-1820||IBM/Hitachi Travelstar 20GB
|IBM/Hitachi Travelstar 20GB
|pass (identical replacement)|
|IBM/Hitachi Travelstar 40GB