Subject: mesh
To: None <port-macppc@netbsd.org>
From: Kevin Diggs <kevdig@rcn.com>
List: port-macppc
Date: 09/10/2001 14:53:39
Hi,

    I was wondering if someone could tell me why sync negotiation for
the mesh SCSI thing in some of the powermacs is disabled. The code in
mesh_reset() is setting instead of clearing the sync negotiation done
flag:

    ti->flags |= T_SYNCNEGO;

shouldn't it be:

    ti->flags&=~T_SYNCNEGO;

I made this change and things seem to work. It prints out that all the
gadgets on the internal bus are 10 MHz. Though I have not done extensive
testing (I'm booting and running from an external disk). I've only done
some fsck on the filesystems and mounted and scanned some iso9660 cds.

    What are the legal ramification for stealing, er I mean borrowing
code from Darwin? From looking at the Mesh driver in Darwin, Mesh
appears to have a problem with reselection and selection under some
bizarre circumstances. Can we integrate this code into NetBSD?

    I am also seeing slow file system corruption. This manifests itself
in a couple of files getting deleted by fsck because of "unknown file
types". I see this almost every time I run fsck. Anyone else seeing
this? My system configuration:

    PowerMac9600
    PowerLogix G4/450 (running @ 46.7 MHz bus speed, 420 MHz clock
speed)
    Internal SCSI bus:
        Quantum 4G disks @ 0 & 1
        Standard Apple CD @ 3
    External SCSI bus:
        Micropolis 9G disk @ 0 (this is currently the boot disk)
        Iomega 90 M bernoulli
    Video Card is imstt in slot D
    Advansys 3940 (Ultra 2) (no driver)
    Promise Ultra66 PCI IDE controller (not being used but appears to
work) (driver configured)
    Orange Micro USB & FireWire card (no driver)

The corruption mainly occurs on the usr/src filesystem which is where
most of the activity occurs (builds for kernel and X). This filesystem
was created using -i 16384 or 32768. Could that cause problems? I have
not put the original 200 MHz 604e MP card back in. Would that be a good
idea? The G4 is recognized (cpu is 7400) and the L2 cache is on. I am
using pipeline burst as the type. What will happen if you get this
wrong? There is no motherboard cache installed.

    On  the subject of X, if anyone from Apple reads this board would
you PLEASE consider assisting in getting programming information on some
of the hardware released? In particular:

    the imstt twin turbo card
    the chaos/control video in the 8600
    the chaos/planb video in in the 8600
    the pci1/gc/sixty6 tv video out (also 8600)

As I understand it we are not getting any of the hardware acceleration
possible with the hardware. We don't even get DPMS (Display Power
Management System) use, which if you live in CA you know how important
that is.

    PLEASE PLEASE PLEASE!!!

    And last but not least, here is an interesting OF command snippet
for scanning the SCSI bus (ala probe-scsi on a SUN sparc):

    : probe-scsi open-dev " show-children" 2 pick $call-method close-dev
;

Call as:

    " scsi" probe-scsi

for the external bus (on 8600 & 9600). And:

    " scsi-int" probe-scsi

for the Mesh (on 8600 & 9600). Note the space between the leading '"'
and the first character of the strings. It does not appear to work with
the Advansys 3940 card though. words does not list show-children. The OF
SCSI binding lists show-children. Don't remember whether it was
mandatory or not.