The IOMEGA Clik!/PocketZip PC Card Drive under Linux

Clik! Disk Last updated 24 February 2002

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.

News

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 amke 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. ipaq with clik!

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! drive.

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.

ide-floppy.c for 2.2.14
ide-floppy.c for 2.2.15
ide-floppy.c for 2.2.16 patch for 2.2.16
ide-floppy.c for 2.2.17*UPDATED patch for 2.2.17
included in official 2.2.18 onwards none needed
ide-floppy.c for 2.4.0-8 onwards  
included in official 2.4.9 none needed

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.
login as root
Recompile the kernel including the 

 CONFIG_BLK_DEV_IDEFLOPPY=m 

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 too. 

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.  

 cardmgr

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 something like...

 ide1 at 0x180-0x187, 0x386 on irq 15   hdc: hdc4   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

 mkdir /mnt/clik

o> mkdir /mnt/clik

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

 /dev/hdc4   /mnt/clik    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 for those.

Inserting/Removing Disks

Just like floppy disks there is no hardware protection against removing a disk without unmounting it.  IF YOU DO THIS YOU WILL PROBABLY LOSE DATA.  Always 

umount /mnt/clik

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

ts, Disclaimers, 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 driver. 

APM support

Everything seems to work fine. As of 2.2.17b you no longer need to leave the disk in the drive

Battery life

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 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

Acknowledgements

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.

Good Luck!
 

Paul Bristow