Jeff Abrahamson on 23 Apr 2006 13:22:29 -0000


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] firewire errors (non-fatal)


On Fri, Apr 21, 2006 at 10:23:43PM -0400, Jeff Abrahamson wrote:
>   [25 lines, 167 words, 1048 characters]  Top characters: eatnisor
> 
> I noticed a significant slowdown in writing to my new firewire drive.
> Checking the logs, I see lots of the following (not always with the
> last line, and the actual data on line 3 of course changes):
> 
>     Apr 21 22:16:03 astra kernel: ieee1394: sbp2: aborting sbp2 command
>     Apr 21 22:16:03 astra kernel: scsi2 : destination target 0, lun 0
>     Apr 21 22:16:03 astra kernel:         command: Write (10): 2a 00 03 fc 05 5f 00 00 08 00
>     Apr 21 22:16:14 astra kernel: ieee1394: sbp2: sbp2util_node_write_no_wait failed
> 
> Googling says others see this, others agree it's not fatal, but I
> haven't found a post agreeing about what it is.  I see quite a few
> debian bugs with "ieee1394: sbp2: aborting sbp2 command", but, again,
> I don't see an explanation posted.
> 
>     jeff@astra:~ $ uname -a
>     Linux astra 2.6.12-1-686 #1 Tue Sep 27 12:52:50 JST 2005 i686 GNU/Linux
>     jeff@astra:~ $

The linux firewire FAQ has this to say:

    http://www.linux1394.org/faq.php#sbp2abort

  I get a lot "aborting sbp2 command" lines in syslog, followed by I/O
  errors. Why, and what can I do about it?

  Possible causes are firmware bugs of the drive, unidentified bugs in
  Linux, or defective hardware. Make sure the drive and bridge do not
  overheat, which happens easily in non-ventilated enclosures.

  Look for a firmware update. Alas, firmware updaters typically run on
  Windows or Mac OS, and some SBP-2 bridges cannot be updated at all.

  Try serialized sbp2 operation (see sbp2 module load parameters ).

  Under Linux 2.6, try the CFQ I/O scheduler:

  echo cfq > /sys/block/sda/queue/scheduler

  (Replace sda by the correct device name.) Or make CFQ the default by
  appending the kernel parameter "elevator=cfq" at the boot prompt or
  in the boot loader configuration. 

I currently see

    jeff@astra:Mutt $ cat /sys/block/sdc/queue/scheduler
    noop [anticipatory] deadline cfq
    jeff@astra:Mutt $

Some people have reported solving these firewire errors by serializing
the bus.  The technique is to supply an option to the sbp2 module,
either "serialize_io=1" or "sbp_serialize_io=1" depending on how ones
kernel was built.  Some have also reported success by setting
sbp_max_speed=1 (200mbps).

What's not clear is how to set either of these options in debian.
Does anyone know.  It appears to have to do with /etc/modules.d/ etc.,
but those are different in the debian world, and most of the file I
find tell me they are automatically generated.  Anyone know how to do
this?

Thanks.

-- 
 Jeff

 Jeff Abrahamson  <http://jeff.purple.com/>          +1 215/837-2287
 GPG fingerprint: 1A1A BA95 D082 A558 A276  63C6 16BF 8C4C 0D1D AE4B

Attachment: signature.asc
Description: Digital signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug