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 onwardsnone needed
ide-floppy.c for
2.4.0-8 onwards
Â
included in official 2.4.9none 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

IDE Floppy

The IDE-Floppy Driver Documentation for Linux

Who am I and what is this all about?

My name is Paul Bristow and I am/was (no new ATAPI devices for a while now) the maintainer of the ide-floppy driver for the linux kernel. Please note that for me, this is very much a part-time effort and often I am travelling so it may sometimes be a few days before you get a response. My portable linux development system is the reason I got into this driver stuff – the Clik! drive didn’t work when I got it. If you want to know more about me click on the “about me” link at the top of this page.

You will find the up to date version of this document at http://paulbristow.net/linux/idefloppy.html

Here you will find documentation about the ide-floppy driver in the linux kernel. Not much at the moment, but hang in there. This driver does not deal with USB drives, parallel port drives or SCSI drives, only ATAPI drives that plug in to your IDE controller.

What’s New

Not a lot. There are no recent new ATAPI floppy devices.

Kernels 2.2.18 and up, 2.4.9 and up, and all useable 2.6.x versions include click! support.

Which drives does it support?

  • Iomega ATAPI ZIP 100/250
  • ATAPI LS-120 & 240 SuperDisk
  • PCMCIA Iomega Clik!/PocketZip – see my Clik!/PocketZip mini-HOWTO

Note to manufacturers – if you have a new device and it works please let me know. Likewise if it doesn’t work feel free to contact me for advice.

Handy Links

Frequently Asked Questions

I can’t mount a ZIP/Clik!/PocketZip disk

the syntax for mounting a windows-formatted (or new) Zip disk is

mount -t vfat /dev/hdc4 /mnt/zip

where hdc is the device your drive is found as,
and /mnt/zip is where you normally mount zip disks
the 4 above is really important as ZIP disks are formatted as partition 4.

I can’t mount an LS-120 disk

the syntax for mounting a windows-formatted (or new) LS-120 disk is

mount -t vfat /dev/hdc /mnt/floppy

where hdc is the device your drive is found as, and /mnt/floppy is where you normally mount ls120 disks. Note that superdisks use the entire device by default and not a partition (unlike Zip drives above).

Using a CD-RW and an IDE Floppy device simultaneously

I have seen in some newsgroups the advice that you simply cannot run an ide-floppy device and the ide-scsi emulation needed to make CD-RW drives writeable at the same time. This is not (generally) true. What you need to do depends on your booting method, but basically, in either /etc/lilo.conf or /boot/grub/menu.lst where you append the line

hdx=ide-scsi

add the command

hdy=ide-floppy

as well.

I can’t compile your ide-floppy.c files

If you are running a kernel from 2.2.14 to 2.2.17 that was supplied from your distribution (RedHat, Slackware etc) and you get lots of errors when you run make compiling ide-floppy.c, you need to find the line in ide-floppy.c that says

#include "ide.h"

and change it to

#include "linux/ide.h" 

or vice versa.

Why do I need an updated version?

Most people don’t. Only if you have hardware for which support is under development do you need to download any source code. Currently the only drive which I know some people need new code is the Iomega Clik! drive

How Can I Help?

Contrary to popular belief, you don’t have to be an expert programmer to help make Linux better. One of the things that I can’t do is to test the ide-floppy driver in lots of different hardware configurations, but you can! Telling me of things that do or don’t work can really help. As I learn what sort of things people have problems with I can create documentation that is actually useful.

On the other hand, if you already have some documentation for the ide-floppy driver, and don’t mind it being incorporated in an official HOWTO, with credits, then feel free to send it to me.

Regards,

Paul Bristow