Newsgroup: it.comp.os.linux.iniziare
Titolo: Incopatibilità con controller Ultra ATA 100!

Salve
Dispongo di un Quantum Fireball Lct1 Ultra Ata 66 installato nel canale
Ultra Ata 100 della mia Asus A7V, e ho riscontrato non pochi problemi ad
installare Linux Mandreke 8 infatti l' hd viene rilevato alla partenza di
tutte le periferiche sia in fase  d' installazione che di avvio del sistema;
spondando l'hd nel canale Eide normale
il sistema si avvia e si installa senza problemi.....
Come fare a far funzionare sto benedetto sistema anche nel canale Ultra ata
100?
Con Win Xp non ci sono probs?
Ashtar

Ashtar wrote:

il riferimento lo trovavi su 
http://www.google.com
, immettendo una cosa del 
tipo Linux A7V ATA100. Il risultato e' in 
(
http://www.geocities.com/ender7007/
).
Strano che la distro Mandrake8 non veda il controller promoise, immagino 
che sia un problema di definizione dell'hard disk. Ti ricordo che gli hard 
disk sulla A7V sono cosi' identificati:
- controller ATA33/66
        - canale primario (ide0): master(hda), slave(hdb)
        - canale secondario (ide1): master(hdc), slave(hdd)
- controller ATA100
        - canale primario (ide2): master(hde), slave(hdf)
        - canale secondario (ide3): master(hdg), slave(hdh)
Se ad esempio hai un file di swap e un extended file system, come uniche 
due partizioni, diciamo le classiche hda1 e hda2, dovrai ora pensare che se 
vuoi l'ata100, magari sul primo bus con master dovrai mettere
        hde1 (swap)
        hde2 (ext2)
e configurare cio' nel lilo.conf.
Riporto il mio /etc/lilo.conf (ho pure io una A7V) per chiarezza:
        boot=/dev/hde
        prompt
        timeout=150
        lba32
        vga=normal
        root=/dev/hde2
        read-only
        #menu-title=" (nome) Computer "  
        image=/boot/bzImage
                label=linux
Dunque e' importante il boot= e il root=, niente altro.
Se e' vero che la distro di mandrake avesse problemi nel rilevare il 
controller, come per la mandrake 7.1, mi pare, puoi in esplicito passare i 
parametri di notifica del contoller (che si calcolano a partire dalle 
informazioni contenute nel file /proc/pci) all'avvio del LILO, digitando:
        linux root=/dev/hde2 ide2=0x9400, 0x9002 ide3=0x8800, 0x8402
oppure in maniera statica nel /etc/lilo.conf
        append="ide2=0x9400, 0x9002 ide3=0x8800, 0x8402"
tieni conto che e' sufficiente ide2=0x9400, se hai l'hard disk, come master 
sul canale primario ATA100. Questi 0x9400, ... sono gli address da passare 
al kernel per la notifica del generico Bus Master.
All'avvio ti rileva una cosa del tipo (riporto dal 'dmesg'):
---
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 21
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:04.1
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:pio, hdd:pio
PDC20265: IDE controller on PCI bus 00 dev 88
PCI: Found IRQ 10 for device 00:11.0
PDC20265: chipset revision 2
PDC20265: not 100% native mode: will probe irqs later
PDC20265: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
    ide2: BM-DMA at 0x8000-0x8007, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0x8008-0x800f, BIOS settings: hdg:pio, hdh:pio
hda: PCRW404, ATAPI CD/DVD-ROM drive
hdb: probing with STATUS(0x00) instead of ALTSTATUS(0xa1)
hde: QUANTUM FIREBALLP AS20.5, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x9400-0x9407,0x9002 on irq 10
hde: 40132503 sectors (20548 MB) w/1902KiB Cache, CHS=39813/16/63, UDMA(100)
Partition check:
 hde: hde1 hde2 hde3
---
dove nel mio caso ho un hard disk con
        una partizione swap (hde1)
        due parizioni ext2 (hde2, hde3)
e sul primo canale ATA100, come master.
l'hdb probing with status e tali eventuali errori, sono solo un delay 
iniziale che non ha importanza agli effetti del funzionamento.
Se vuoi selezionare direttamente nel kernel (ricompilazione kernel 
sorgenti) il controller Promise c'e', ad esempio nell'ultimo (2.4.5) linux 
kernel la voce:
ATA/IDE/MFM/RLL support  --->
        <*> ATA/IDE/MFM/RLL support
        IDE, ATA and ATAPI Block devices  --->
                [*]   Generic PCI IDE chipset support
                [*]     Sharing PCI IDE interrupts support
                [*]     Generic PCI bus-master DMA support
                [ ]     Boot off-board chipsets first support
                [*]       Use PCI DMA by default when available
                [*]     PROMISE PDC20246/PDC20262/PDC20267 support
                [*]       Special UDMA Feature
Per abilitare il supporto UDMA100 effettivo e' necessario fare 
l'ottimizzazione con hdparm indicando la Mode5, con il seguente:
        hdparm -c1 -d1 -a1 -m16 -W1 -X69 /dev/hde
che riporta i seguenti risultati:
/dev/hde:
 setting fs readahead to 1
 setting 32-bit I/O support flag to 1
 setting multcount to 16
 setting using_dma to 1 (on)
 setting xfermode to 69 (UltraDMA mode5)
 setting drive write-caching to 1 (on)
 multcount    = 16 (on)
 I/O support  =  1 (32-bit)
 using_dma    =  1 (on)
 readahead    =  1 (on)
Con il mio Quantum ho i seguenti risultati sulla performance:
(alpha) /usr/src/linux# hdparm -Tt /dev/hde
 
/dev/hde:
 Timing buffer-cache reads:   128 MB in  0.77 seconds =166.23 MB/sec
 Timing buffered disk reads:  64 MB in  1.87 seconds = 34.22 MB/sec
bye
Lore