clik!

The IOMEGA Clik!/PocketZip PC Card Drive under Linux

Clik! Disk

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *