F8x86_64 on the Acer Ferrari 3400LMi
4.2 Configuring Firewire
If you experience the problems mentioned above, and you are running kernel
version 2.6.13 or earlier, put the following line in your
/etc/modprobe.config
:
options sbp2 serialize_io=1 max_speed=2
The
serialize_io=1
option tells the scsi drivers to only send one scsi command
at a time. Unfortunately, this setting has a small impact on performance, but it is
the fix that makes things work.
In kernel version 2.6.14 the default value for
serialize_io
was changed from
0
to
1
. Thus, if you are running kernel version 2.6.14 or later you should not need
do do anything, unless you want to optimize performance (see comments below)
or fiddle with the other settings.
The
max_speed
option might be useful in rare occasions if you want to limit the
maximum transfer rate to support “even more buggy” external hardware. Valid
values for the
max_speed
option are:
0
100 mb
1
200 mb
2
400 mb (default)
3
800 mb
When timing the very same read transfer as above I now get the following result:
# time cp rp /media/ieee1394disk/430MB_folder
~
real 0m24.871s
user 0m0.076s
sys 0m6.400s
That is what I call improvement! Going from over 20 minutes down to roughly 25
seconds.
4.3 Comments
After some further exercises with other external hard drives it turned out that the
problem described in the previous section indeed seems to be related to the IEEE
1394 chip in the external drives. With some hardware it is quite possible to use
the faster
serialize_io=0
option. The performance benefit is in the range
2025%, so consider your options. If you only use IEEE 1394 for your own
hardware and it works well with the faster setting, go for it. Otherwise,
compatibility with other hardware might be more valuable. Personally, I think it
was a wise decision to change the default setting in the
sbp2
module. After all
those “buggy IEEE 1394 chips” seem to be quite common, and prior to start
8