SuSE
9.1 and SuSE 10.0 USB Stick survival guide
The SuSE 10.0 release is excellent but it has a very slow access to USB
disks
(wether flash sticks or hard disks) and it seems it slowly destroys
flash sticks. You will find the solution here: https://bugzilla.novell.com/show_bug.cgi?id=105871#c113
. If you have problems to apply this solution please mail me. The rest
of this page is about the SuSE 9.1 release.
SuSE 9.1 is a dream release. Except for the flash RAM USB sticks
behavior. It's simply bad. This HowTo should help. (A friendly reader
reports it helped him for SuSE 9.2 too.)
Problems I got were these:
- If the stick was already inserted when the computer starts, it
won't be available in the "My Computer" window.
- I had to unplug and replug the stick many times till it got
recognized and available. When it was recognized the stick's light
immediately got blinking for a second. If it wasn't recognized, either
the light would stay off or stay on (then I had to unplug and replug).
- After a few unplugging and replugging the USB stick read system
got stuck. I could even not kill the processes and retry. I simply had
to restart the computer!
- Some sticks simply weren't accessible. whatever unplugging and
replugging nothing would help.
- When accessing files in the stick, the whole system crashes.
Install and boot
Some people tell they got problems when a stick is plugged in and the
system is being installed or simply booting. I didn't have such
problems with SuSE Linux 9.1, only with Mandrake Linux releases (which
aren't
much better at USB sticks). Anyway if you get problems think about
removing the stick.
On the contrary, rebooting the computer several times can help. When I
format my stick in FAT format, if I immediately try to access its
content through Konqueror or Nautilus, the whole computer will crash.
If I simply let the stick plugged in for a few days and restart the
computer once in a while, the problem seems to dissolve. I can then
access the stick with no more problems.
Updates
Installing the SuSE online updates is reported to solve some problems.
I read about an USB mp3 player that got working only once the system
was updated. I didn't observe the updates solve anything. Actually
updating from kernel linux-2.6.5-7.108 to linux-2.6.5-7.108 made the
system crashed everytime I tried to access the stick content. Anyway to
perform the updates you need a good Internet
connection, start Yast, click "Online Update" and follow the procedure.
Stick format and partition scheme
Things got better once I formated the stick in FAT32. The solution to
avoid the third problem and ease the second one is to
format the stick in FAT 32 format and not FAT 12 or FAT 16.
Formating in any Linux
format (Ext2, Ext3, ReiserFS...) seems the best option but your stick
won't
be readable under Windows.
The solution to the fourth problem is to set up a proper partition
scheme inside the stick.
If your stick is completely stuck with your SuSE 9.1 system and you
cannot
format it like described below, maybe do the formatting with another
Linux release or another computer. Possibly use KNOPPIX.
All the operations listed below can be performed with Yast. I list them
with standard Unix tools so you can use any Linux system.
Be careful. If you have one or more SCSI disks on your system, /dev/sda
will
probably be one of those SCSI disks. Then performing the commands
described
below will erase the data on that disk. In order to check your SCSI
disks, type this command in a terminal window (console):
lsscsi
It yields this on my system, with my USB stick plugged in. Obviously I
have no SCSI disk plugged in and my USB stick is recognized and
installed as /dev/sda. Everything's fine:
[3:0:0:0]
disk Generic USB
Flash Disk 2.00 /dev/sda
I suppose for the rest of this text the USB stick is /dev/sda.
Plug the stick in. If its light blinks for a short while and stops,
it's OK, go to the next step (it's OK if it blinks again a while
later). Otherwise, if the light
never blinks and stays forever on or off, unplug and replug the
stick. Maybe try to restart the computer. If you
never succeed to get the stick light blinking for a second, try another
Linux release or computer. To be sure the stick is recognized, type the
lsscsi command. The lsusb command won't help because its
output is not
always much readable and it doesn't prove the USB stick has been fully
recognized. Typing more /etc/mtab
gives clues but is not a proof either.
Once you're sure the stick is recognized (this is not mandatory), type
this in a terminal window (being root) (no problem if the first command
fails):
umount
/dev/sda1
fdisk
/dev/sda
The fdisk program will start. Type the p
key to get the list of the
partitions. Either there will be no partition, a partition named
/dev/sda1 or there
will be a mess of partitions. This is what's currently listed for my
stick:
# fdisk
/dev/sda
Command
(m
for help): p
Disk
/dev/sda: 130 MB, 130809856 bytes
5
heads, 50
sectors/track, 1021 cylinders
Units
=
cylinders of 250 * 512 = 128000 bytes
Device Boot
Start
End Blocks Id System
/dev/sda1
1
1021 127600 83 Linux
Command
(m
for help):
Erase every present partition by typing the d key then the partition
number. Type p as many times
you like to check no partitions remain.
Erase them all.
Type n to create a new
partition. Ask for a primary partition (p),
numbered 1. Let it span form from the first cylinder till the last
(default settings, just hit Enter twice).
Impose the sda1 partition to be of type b (FAT 32). Therefor type the t
key then answer b. (Don't do
this step if you intent to format using a Linux format. Then keep the
default Linux type.)
Finally, hit the w key to
write down this new partition layout inside
the stick and exit the fdisk program. (Type the fdisk /dev/sda command anytime to
check the partition layout if you're not sure.)
In order to format in FAT 32 type these commands (being root) (no
problem if the first command fails):
umount
/dev/sda1
mkfs.vfat
-F 32 /dev/sda1
(If you want a Linux format, instead type for example mkfs.ext3 /dev/sda1 or mkfs.reiserfs /dev/sda1 .) (If
you want to format with no partition layout, to be able to use the
stick on some Apple Macintosh computers for example, type mkfs.vfat -F 32 -I /dev/sda
(that is with no 1 behind sda and with the -I option).)
That's all. Unplug and replug the stick.
Two problems will remain yet you will be able to live with (well I can):
Strange behaviors
Sometimes when you plug in the stick, its light won't blink for a
second, it will just stay on and you won't be able to access the
content. Simply unplug it an replug it. Two or three times if
necessary. Eventually it will start blinking. Wait ten seconds or so.
Either a window will open with the stick content (if you configured so)
or you will find an entry for the stick in the "My Computer" window
(you can open this window immediately but you may have to wait a few
seconds till the stick's icon appears).
When you start the computer with the stick already plugged in,
there will be no entry for the stick in the "My Computer" window. There
are some ways to cope with this:
- Unplug and replug the stick (sorry).
- Open
the /media folder. There you will find and entry in the form
usb-storage-E7BF726EF234CEF4:0:0:0p1. That's the stick. You can enter
it to access the stick content.
Entries on the desktop
One given stick always keeps the same entry in the /media
directory. So a possibility is to create on your desktop (or
elsewhere) a link towards that entry. That link will only suit for that
given stick. If you have several sticks you will have to create a link
for each stick (this can also be seen as an advantage).
Configure the KDE Desktop to list every mounted partition. I
don't like that option because it lists unwanted partitions too. Anyway
it's a solution.
Use a console / terminal window
The fifth problem (system crash) is the worst. An effective solution
seems to be to handle the stick files through a console. Open a
terminal window, cd towards the stick directory and issue standard
shell file handling commands (ls cp mv rm...). For example this is what
I typed to move a file towards my home directory:
cd
/media/usb-storage-E7BF726EF234CEF4:0:0:0p1/
mv
mire.sxd ~
(Don't type the whole usb-storage-E7BF726EF234CEF4:0:0:0p1 directory
name. Just type usb- and hit the Tab key.)
Please note stick access through a console is quite slower than using
Konqueror. On my computer anyway.