[91] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

53c810 SCSI + PCI = purple hieroglyphics

daemon@ATHENA.MIT.EDU (Archie Cobbs)
Tue Mar 7 16:21:28 1995

From: Archie Cobbs <archie@CS.Berkeley.EDU>
To: linux-scsi@vger.rutgers.edu, linux-kernel@vger.rutgers.edu
Date: Mon, 6 Mar 1995 20:54:14 -0800 (PST)



Hello friends... my SCSI isn't working right :-(

Executive summary:

    I'm getting consistent weird behavior with the NCR 53c810
    SCSI driver in kernel 1.1.95 (plus kswap) This is on an
    ASUS SP3G motherboard, with the newer NCR 3.06 BIOS driver.
    The CD ROM is a TEAC CD-50. Playing audio CD's is no problem.

Quick description:

    During the initial SCSI probe a few multi-colored weird
    characters appear on the screen (in the same consistent
    pattern each bootup). Accessing large files on the CD
    produces lots more multicolor gibberish on the screen.
    So far, it seems to have no other effect when viewing a
    linux virtual console, but X often hangs after a few scan
    lines have been gibberized. It seems there is some kind
    of PCI screwup.

    For example, the command

        dd if=/dev/cdrom of=/dev/null bs=2048

    may run fine for several seconds, then suddenly the screen
    fills up with blinking purpley hieroglyphics. Immediately
    pressing control-c one time showed this is after about "3096+0
    records in, 3096+0 records out". Everthing else continues
    as if nothing happened (the command will even finish ok).

    In particular, every column equal to 0 or 1 mod 3 gets
    overwritten. This is in con132x44 mode. Switch to another
    VC and it eventually gets the same splatter.

Idiot check:

  Termination problems: I have only one internal device, the CD
    ROM, connected to the motherboard with an internal cable. On
    both ends the terminating resisters are enabled. Also the
    gibberish pattern is the same every bootup.

  PCI bridge optimization: not enabled in the kernel; the
    BIOS setup is per the ASUS documents with "PCI memory burst
    write" and "PCI posted write buffer" disabled. But even with
    *everything* turned off, the same thing happens.

Mount procedure:

    I mount with "mount /cd". This line is in /etc/fstab:

      /dev/cdrom  /cd  iso9660 noauto,nodev,ro,block=2048,nosuid  0  0

    The mount yeilds this output in the log file:

      linux: Max size:55726   Log zone size:2048
      linux: First datazone:18   Root inode number 36864

Amateur speculation and guesswork:

    Possibly the new NCR 3.06 BIOS may be involved. Recently
    I traded in my old ASUS SP3 for an SP3G (because of
    this problem). The old board behaved similarly after
    upgrading to 3.06, except it usually would hang immediately.
    However, I'm not sure what happened before upgrading to
    3.06, because long ago I found that accessing the CD ROM
    just hung the machine (no gibberish) so I stopped using it.
    I tried it again after upgrading, and the SP3G came with 3.06
    already installed.

    Also, check out the "dmesg" line marked (1) below.

Possibly relelvant info:

    One time while running 1.1.83 on the old SP3 the system
    didn't crash, but the process became stuck in disk wait
    and the following appeared in the logs:

    linux: scsi0 : BUS FAULT, DSP=0x1e3334, DCMD|DBC=0x9000380, DSA=0x1e3204
    linux:          DSPS=0x3bb000, TEMP=0x1e2830, DMODE=0x88
    linux: scsi0 : dsa at 0x1e3204
    linux:         + 64 : dsa_msgout length = 1, data = 0x1e3138
    linux:                Identify disconnect not allowed lun 0
    linux: scsi0 : DSP->
    linux: 001e3334 : 0x09000400 0x003bb000
    linux: 001e333c : 0x8f0b0000 0x001e28b8
    linux: scsi0 : DMA FIFO not empty
    linux: scsi : aborting command due to timeout : pid 60760, scsi0,
                                    id 2,lun 0 Read (6) 00 00 18 08 00
    linux: scsi0 : DANGER : command in running list, can not abort.
    linux: scsi : aborting command due to timeout : pid 60760, scsi0,
                                    id 2, lun 0 Read (6) 00 00 18 08 00
    linux: scsi0 : DANGER : command in running list, can not abort.
    linux: SCSI host 0 abort() timed out - resetting
    linux: scsi0 : DANGER : NCR53c7xx_reset is NOP
    linux: Unable to reset scsi host 0 - probably a SCSI bus hang.

    Also, sometimes now when switching from the X screen back to a VC,
    some gibberish appears at the top of the VC screen. This is with
    the XFree-86 3.1.1 et4000/w32p accelerated server.

Contents of /proc/pci:

    PCI devices found :
    Bus  0 Device   0 Function  0.
        Old unidentified device : Intel 82424ZX Saturn (rev 4). 
    Bus  0 Device   1 Function  0.
        SCSI bus controller : NCR 53c810 (rev 2). 8259's interrupt 9.
    Bus  0 Device   2 Function  0.
        Old unidentified device : Intel 82378IB (rev 3). 
    Bus  0 Device   4 Function  0.
        XGA display controller : Tseng'Lab ET4000W32P (rev 0). 

Output of "dmesg":

    Console: colour EGA+ 132x44, 1 virtual console (max 63)
    bios32_init : BIOS32 Service Directory structure at 0x000fc310
    bios32_init : BIOS32 Service Directory entry at 0xfc740
    pcibios_init : PCI BIOS revision 2.00 entry at 0xfc770
    Probing PCI hardware.
    Calibrating delay loop.. ok - 33.55 BogoMips
    Serial driver version 4.11 with no serial options enabled
    tty00 at 0x03f8 (irq = 4) is a 16550A
    tty01 at 0x02f8 (irq = 3) is a 16550A
    tty02 at 0x03e8 (irq = 4) is a 16450
    lp1 at 0x0378, using polling driver
    snd4 <Gravis UltraSound 3.7 (256k)> at 0x220 irq 15 drq 6
    Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
    FDC 0 is a post-1991 82077
    scsi-ncr53c7,8xx : at PCI bus 0, device 1,  function 0
(1) scsi-ncr53c7,8xx : warning : revision of 2 is greater than 1.
    scsi-ncr53c7,8xx : NCR53c810 at memory 0xfbfff000, io 0xe800, irq 9
    scsi0 : using io mapped access
    scsi0 : using initiator ID 7
    scsi0 : using edge triggered interrupts.
    scsi0 ; burst length 8
    scsi0 : using 40MHz SCSI clock
    scsi0 : m_to_n = 0x98, n_to_m = 0xa8, n_to_n = 0xb8
    scsi0 : NCR code relocated to 0x1f175c
    scsi0 : testing
    scsi0 : test 1 started
    scsi0 : tests complete.
    scsi0 : NCR53c{7,8}xx (rel 3)
    scsi : 1 host.
      Vendor: TEAC      Model: CD-ROM CD-50      Rev: 1.06
      Type:   CD-ROM                             ANSI SCSI revision: 02
(2) Detected scsi CD-ROM sr0 at scsi0, id 2, lun 0
    scsi : detected 1 SCSI cdrom total.
    Memory: 14988k/16384k available (732k kernel code, 384k reserved, 280k data)
    This processor honours the WP bit even when in supervisor mode. Good.
    Swansea University Computer Society NET3.019
    Swansea University Computer Society TCP/IP for NET3.019
    IP Protocols: ICMP, UDP, TCP
    PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
    TCP compression code copyright 1989 Regents of the University of California
    PPP line discipline registered.
    Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
    Checking 'hlt' instruction... Ok.
    Linux version 1.1.95 (root@veronica) (gcc version 2.5.8) #1 Mon Mar 6 00:02:35 PST 1995
    Partition check:
      hda: Maxtor 7345 AT, 329MB w/64KB Cache, CHS=790/15/57, MaxMult=32
      hda: hda1 hda2 hda3
    VFS: Mounted root (ext2 filesystem) readonly.
    Adding Swap: 17096k swap-space
    UMSDOS Beta 0.6 (compatibility level 0.4, fast msdos)
    Max size:55726   Log zone size:2048
    First datazone:18   Root inode number 36864

  Notes:

    (1) Is this line relevant?
    (2) This is when the gibberish appears

Any insights appreciated!

-Archie


home help back first fref pref prev next nref lref last post