The IOMEGA Clik!/PocketZip PC Card Drive under Linux
What is the PC Card PocketZip Drive?Â
It’s a 40M removable media drive in the shape of a PCMCIA type II
card.Â For more information check out
IOMEGA’s web site, even
though they say it isn’t supported under Linux. Note to readers from
iomega: you are perfectly welcome to contact me. It has recently been renamed
to PocketZip, and the price dropped to $99.
Iomega seem to have made a small change in their recent clik
drives which requires a small modification to the driver. If your new clik
drive is not recognised, even though the ide-floppy driver is running you need
to make the following change:
Find the line that says:
if strcmp(drive->id->model, "IOMEGA Clik! 40 CZ ATAPI") == 0)
and change it to
if strncmp(drive->id->model, "IOMEGA Clik", 11) == 0)
This should fix the problem.
Clik! and iPaq.
Ross Reedstrom sent me this cool picture of his PocketZip drive working
in his Compaq iPaq running Linux. Apparently he did have to make a hardware
modification to the sleeve, but the driver “just worked”. However, unlike
laptops, the power supply of the iPaq does notice the drain of the clik!
Since kernel 2.2.18 I have been the official ide-floppy maintainer and
clik support has been included. If the procedures on this page work for you,
please send me an email. If they
don’t work, REALLY send me an email.
I have created a site at sourceforge for
bug reports etc. Feel free to drop things in there or just email me directly.
So how do I make it work under Linux?
First of all, you need to be running with
kernel version 2.2.14 or later. Even
this isn’t enough for the drive to just work as there are some functions (like
eject lock) that simply didn’t fit into a drive only 5mm thick. Then
follow the steps below:
Choose the version of ide-floppy to match your kernel.
Download the ide-floppy.c file (if you take the patch you can work it
out) and copy it to your /usr/src/linux/drivers/block directory.
Recompile the kernel including the
option to enable IDE Floppy devices to run as a module. Doing it
as a module saves the memory when you don’t hves the memory when you don’t have
the card inserted.
To make life easier and to make it possible to exchange files with PCs
running other OS’s make sure you have VFAT support enabled in the kernel
Use your favourite kernel recompilation method.
To compile the driver type
make modules ; make modules_install
If neccessary, reboot
Make sure the PCMCIA card services package is running.
Go to a virtual console screen (i.e. not X, you can leave X running)
Insert the Clik! PC Card, with a disk inside it.
You should see
ide1 at 0x180-0x187, 0x386 on irq 15 hdc: hdc4
This is great! Now you just need to make a mount point and mount
the disk. Notice that just like ZIP disks, IOMEGA use partion 4 (nobody
knows why this is so). To make a mount point type
or whatever you prefer as your mount point. Now you can
mount the disk by typing
mount -t vfat /dev/hdc4 /mnt/clik
You should now be able to list the contents of the disk with
ls -l /mnt/clik
Copying files etc should now all work too.
You should probably put the following line in /etc/fstab
vfat noauto, user 0 0
If you are using KDE you can download a
mount/unmount icon to put on your
desktop. I have been sent a couple of icon files for
GNOME, a PNG
and an XPM. Thanks to Josh Jones and Giuseppe Castagna
Just like floppy disks there is no hardware protection against removing
a disk without unmounting it.Â IF YOU DO THIS YOU WILL PROBABLY LOSE
before removing a disk. Another way to handle DOS/Win disks is to use
the mtools package (type man mtools to find out more)
Caveats, Disclaimers, things to be aware of
things to be aware of
The patches to the driver are free software, covered by the GPL.
Use of this software may well void your warranty with IOMEGA. Certainly I
make no claims about the perfomance of this software other than that it works
for me. Use at your own risk.
Having said that I will be happy to accept
comments from users of this
Everything seems to work fine. As of 2.2.17b you no longer need to leave
the disk in the drive
I did not notice any real change in battery life by having the drive
inserted, even with a disk mounted. The power saving circuitry in the
drive seems to work fine.
FIXED from 2.2.17b Booting, Returning from
hibernation or standby with the drive in but no disk gives a problem for
now. The way to fix it is to do a cardctl eject n where n is
the PCMCIA slot your card is in, insert a disk, then do a cardctl insert n
to have the system recognise the disk. The same thing happens when you
insert the card without a disk inside.
Toshiba Libretto 100/110 CT
The drive only works in slot 0, the bottom PCMCIA slot. I guess this is
something to do with the Cardbus stuff in slot 1.
Things to do
- Get IOMEGA to start claiming Linux support – a “Cool – it works with
Linux” sticker would be nice.
I feel like I’m standing on the shoulders of giants. This would
not have been possible without the excellent (and readable) code from Andre
Hedrick (the Linux IDE Guy) and Gadi Oxman (the former Linux IDE Floppy
guy). Thanks also go to Grant Stockly, a FreeBSD guy who got the parallel port version
of the Clik! working under *BSD and gave me the confidence to buy my drive, and
Avi Freedman and Jeff Clement who were brave enough to test Alpha version
drivers from a guy they’d never met.
Thanks also to all the people who
emailed me saying that it worked for them.