Altri articoli sul numero 69
 Articoli sullo stesso argomento

Gli errori sul bus SCSI si manifestano in tre modi:

1)  Durante  un  accesso la spia di attivita' di hard disk o
controller  resta accesa:  l'Amiga si blocca fino al reset o
finche'  non  si  spegne  e  riaccende  una periferica SCSI.
Questo malfunzionamento e' dovuto alla perdita di un impulso
di  acknowledge o alla sua errata duplicazione.  Uno dei due
agenti  (l'hard  disk  o  il  controller) e' in attesa di un
segnale  di  handshake  che  non  arrivera'  mai, perche' la
controparte lo ha gia' inviato.

Molti  chip  SCSI gestiscono l'handshake in modo automatico,
quindi  l'unico  modo per sbloccarli consiste nel resettarli
portando  bassa  la  linea  /RST del bus SCSI (e' quello che
accade  spegnendo una periferica).  Cio' comporta la perdita
di  tutta  l'attivita'  sul  bus  accodata  nei buffer e una
possibile  incoerenza tra lo stato del registro di controllo
del chip e la scsi.device.

A  volte  questo e' un rimedio peggiore del male che cura, e
comunque   non   va   MAI   fatto   se  si  stava  eseguendo
un'operazione  di  scrittura  o era attivo il modo sincrono.
Questo  significa che se si spegne per errore una periferica
SCSI  esterna,  non si puo' riaccendere confidando che tutto
riparta senza problemi:  meglio resettare.

2)  Tutto  procede  regolarmente, ma di tanto in tanto viene
segnalato  un  errore di lettura/scrittura (o uno SCSI Phase
Error) che sparisce premendo "retry" o "cancel".  Spesso (ed
e'  il  caso piu' infido) la corruzione dei dati e' silente,
senza  messaggi  di  errore,  e  viene  rivelata  da  errori
segnalati   durante   durante   la  verifica  dei  backup  o
l'espansione di archivi compressi.

I  messaggi  segnalati  non  provengono  dal  meccanismo  di
controllo  dei  dati  SCSI  e  SCSI2:  i controller Amiga di
solito  non  usano  il controllo di parita' (in particolare,
non i Commodore), cioe' la scsi.device ignora ogni errore di
questo  tipo riportato dall'hardware.  Se si trattasse di un
difetto   del  disco,  prima  del  messaggio  si  potrebbero
ascoltare  i  rumori  meccanici  dovuti ai prolungati sforzi
dell'hard  disk SCSI che cerca di recuperare i dati.  Invece
questo comportamento puo' dipendere da due tipi di problemi.

Il  piu'  comune  e'  un errore di comunicazione tra il chip
SCSI  e  il  controller  DMA, o tra quest'ultimo e il bus di
Amiga.   La  prima causa e' frequente sugli A590 e A2091 che
montano   il  chip  DMAC  di  revisione  -01.   L'errore  di
comunicazione  con  il  bus  invece  e'  tipico  dei sistemi
accelerati  con  una  scheda che non supporta il DMA in Fast
RAM (es:  VXL30, Bang).

In  questo caso, a volte la situazione migliora cambiando in
modo  adeguato  il  parametro  Mask  di HDtoolbox (argomento
affrontato  su  Amiga  Magazine 53) oppure cambiando a basso
livello  i  parametri  SCSI  dell'hard  disk  (non esiste un
programma   per   farlo  intuitivamente),  in  modo  che  si
sconnetta dal bus appena il suo buffer comincia a riempirsi:
accessi  molto  lunghi che monopolizzerebbero il bus vengono
spezzati   in   un  insieme  di  piccole  transazioni,  meno
efficenti ma tollerate dall'hardware difettoso.

Il  comportamento puo' anche essere dovuto ad una violazione
di  protocollo  recuperata dal chip SCSI, e si cura come nei
casi 1 e 3.

3)   Appena   si   accede  ad  una  periferica,  si  ottiene
sistematicamente il blocco dell'Amiga; oppure una periferica
non viene vista del tutto.

E' una tipica violazione di procollo, dovuta ad un bug della
scsi.device,  del chip SCSI, o ad un errata impostazione del
controller.    Spesso   si   cura  spostando  i  jumper  del
controller o della periferica, o cambiando il valore dei bit
della memoria non volatile di A3000.


Main Previous Next