In order to make sure that the device you look at and write on is the one intended, it is best to remove similar devices from the USB-bus before starting these procedures.
It is possible that your system is already set up for handling a
USB-flash memory device. To check this, simply issue the command
$
mount
from an X-terminal. If something like
none on /proc/bus/usb type usbfs (rw)
appears among the output, you are ready to go to Section 7.4, “ Tests -- vfat” and proceed from there. It may be virtuous, however, to glance through the intervening sections. If the test is unsuccessful, all is not lost. Please read on.
A few things in the /proc
directory can be checked so see if the kernel options have been
properly included or the appropriate modules properly inserted. As
a first check, see if the directory /proc/bus/usb
exists. If it does,
your kernel supports the USB-subsystem correctly. If this is not
the case the kernel has to be re-compiled with appropriate USB
support (see Section 5.2.3, “ USB support”) or the kernel has to be
updated. Next, check if the directory /proc/scsi
exists. If it does, you're
well-away. If it doesn't, SCSI support has not been compiled into
your kernel (see Section 5.2.1, “ SCSI support”).
In /proc
there should be
provision for a mount point for the USB filesystem. That point is
/proc/bus/usb
. If it
exists, the kernel is correctly set up.
If the verifications of the previous sections were positive, the next step is to mount the USB filesystem. This is issued from root as follows:
#
mount -t usbfs none /proc/bus/usb
In older kernel versions the mount command above may have to
be changed by replacing usbfs
with
usbdevfs
. In Linux-2.4.20 both forms work.
If there are no complaints, do some more tests. The first is the
quick test (Section 7.1, “A quick check”). A deeper probe would be to
issue the command #
ls -l /proc/bus/usb
. This
should give something similar to
dr-xr-xr-x 1 root root 0 Sep 19 14:21 001 dr-xr-xr-x 1 root root 0 Sep 19 14:21 002 -r--r--r-- 1 root root 0 Sep 19 22:30 devices -r--r--r-- 1 root root 0 Sep 19 22:30 drivers
The path
/proc/scsi/usb-storage-0/
should now exist and one of
the files at the end will show this. In my setup the command
$
less /proc/scsi/usb-storage-0/1
gives
Host scsi1: usb-storage Vendor: Generic Product: Mass Storage Device Serial Number: None Protocol: Transparent SCSI Transport: Bulk GUID: 0ed166800000000000000000 Attached: Yes/No
If the flashdrive is present, the last line will have the entry "Yes". If it is not plugged in, the entry will be "No".
You are now ready to find out if the memory stick is
working. Let us suppose that you bought it over the counter. Its
instruction leaflet will most likely tell you how to set it up for
Windows. That is an indication that it is formatted in vfat. Before
you try to mount it, create a mount point for it. Do something like
#
mkdir -m 777
/mnt/memstick
. The mounting command would most likely
be
#
mount -t vfat /dev/sda1 /mnt/memstick
If everything went smoothly, you should be able to see the device:
#
ls
/mnt/memstick
.
Now try some standard things like making a directory on the device and copying a favourite text file to it:
#
mkdir /mnt/memstick/apollo
#
cp /home/myname/myfavourite_file /mnt/memstick/apollo/.
List again (#
ls -l /mnt/memstick
) and
pay attention to the permissions.
Unmount the device (#
umount
/dev/sda1
) and mount it again as above. List again
and check the permissions. Most likely your favourite text file
will now have an x-permission. It became executable. That is
normal in the vfat filesystem. If you are happy with that,
unmount the device and skip to Section 10, “ Making the memory stick accessible to users” .