Messages in this thread | | | Date | Tue, 19 Oct 1999 09:25:38 +0200 | From | 2070718 <> | Subject | The chipset 5229 don't work poperly |
| |
Hello I'm having problems with my hard drive/Bios/ide chipset because i can't get the DMA working properly in my system especially when booting directly on linux (if the system is booted from windows the system recognizes the first bus) My configuration is hda: samsung 3.2gigs udma 2 hdb: seagate 203 megs pio 0 hdc: asus 34x max cdrom udma 2 hdd: none
Motherboard is an Asus P5A-B with an M5229 chipset and award bios revision 1003
Evidently I've touch everything in my Award bios (ide modes: auto, 4/2....), booted from dos with dos drivers... nothing works (only windows?) I'm more disapointed because somebody says me that his Asus P5A works well !!?!?! (The ATX version) because of that I've decided to debug the kernel in the only way i know (i'm new in this kind of enviroments) print some variables touching a bit the last function of the /drivers/block/ide-dma.c file (appendix A), the otput of the dmesg command is available at Appendix B , also here is the result of the dmesg command after booting with loadlin from win 98 (Apendix C)
****************************************************************************** ****** Appendix A ******************Modified Version of the function ide-dma.c :*********************** /* * Fetch the DMA Bus-Master-I/O-Base-Address (BMIBA) from PCI space: */ __initfunc(unsigned long ide_get_or_set_dma_base (ide_hwif_t *hwif, int extra, const char *name)) { unsigned long dma_base = 0; struct pci_dev *dev = hwif->pci_dev; unsigned long ex;
if (hwif->mate && hwif->mate->dma_base) { dma_base = hwif->mate->dma_base - (hwif->channel ? 0 : 8); } else { dma_base = dev->base_address[4] & PCI_BASE_ADDRESS_IO_MASK; if (!dma_base || dma_base == PCI_BASE_ADDRESS_IO_MASK) { printk("%s: dma_base is invalid (0x%04lx, BIOS problem), please report to <mj@ucw.cz>\n", name, dma_base); dma_base = 0; } }
printk ("%s:#1 dma_base= %lu.\n ",name ,dma_base); /*print 1 <<<<<<<<<<<<<<<<<<<<*/ if (dma_base) { printk ("%s:#2 extra= %lu.\n ",name ,extra);/*print 2 <<<<<<<<<<<<<<<<<<<<*/ if (extra) /* PDC20246 & HPT343 */ request_region(dma_base+16, extra, name); dma_base += hwif->channel ? 8 : 0; hwif->dma_extra = extra;
ex=(inb(dma_base+2) & 0x80); printk ("%s:#3 (inb(dma_base+2) & 0x80)= %lu.\n",name,ex); /*print 3 <<<<*/
if (ex) { printk("%s: simplex device: DMA disabled\n", name); dma_base = 0; } } printk ("%s:#4 dma_base= %lu.\n ",name ,dma_base);/*print 4*/ return dma_base; }
**end************************************************************************* *************
****************************************************************************** ****** Appendix B ******************Dmesg when booting normal:******************************************
Linux version 2.2.5 (root@Iglú) (gcc version 2.7.2.3) #2 Sat May 22 23:51:08 CEST 1999 Detected 350803619 Hz processor. ide_setup: ide0=M2559 -- BAD OPTION /*/*/*/*/* as you can see I test all possibilities ;) */*/*/*/*/ Console: colour dummy device 80x25 Calibrating delay loop... 699.60 BogoMIPS Memory: 128040k/131072k available (996k kernel code, 412k reserved, 1564k data, 60k init) CPU: AMD AMD-K6(tm) 3D processor stepping 00 Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xf0560 PCI: Using configuration type 1 PCI: Probing PCI hardware Linux NET4.0 for Linux 2.2 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0 for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP Starting kswapd v 1.5 parport0: PC-style at 0x378 [SPP,ECP,ECPEPP,ECPPS2] parport0: detected irq 7; use procfs to enable interrupt-driven operation. vesafb: framebuffer at 0xe6000000, mapped to 0xc8800000, size 16384k vesafb: mode is 800x600x8, linelength=800, pages=33 vesafb: protected mode interface info at c000:7e55 vesafb: pmi: set display start = c00c7e7e, set palette = c00c7ea8 vesafb: pmi: ports = c8c3 c903 d403 d503 da03 ff03 vesafb: scrolling: ywrap using protected mode interface, yres_virtual=20971 Console: switching to colour frame buffer device 100x37 fb0: VESA VGA frame buffer device Detected PS/2 Mouse Port. Serial driver version 4.27 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A pty: 256 Unix98 ptys configured lp0: using parport0 (polling). apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9) Sound initialization started <ESS ES1688 AudioDrive (rev 11) (3.1)> at 0x220 irq 5 dma 1,5 <ESS ES1688> at 0x330 irq 5 dma 0 Sound initialization complete js: Version 1.2.13 using 350 MHz RDTSC timer. js: no joysticks found RAM disk driver initialized: 16 RAM disks of 4096K size loop: registered device at major 7 PCI_IDE: unknown IDE controller on PCI bus 00 device 78, VID=10b9, DID=5229 PCI_IDE: not 100% native mode: will probe irqs later PCI_IDE:#1 dma_base= 47104. PCI_IDE:#2 extra= 0. PCI_IDE:#3 (inb(dma_base+2) & 0x80)= 128. PCI_IDE: simplex device: DMA disabled PCI_IDE:#4 dma_base= 0. ide0: PCI_IDE Bus-Master DMA disabled (BIOS) PCI_IDE:#1 dma_base= 47104. PCI_IDE:#2 extra= 0. PCI_IDE:#3 (inb(dma_base+2) & 0x80)= 128. PCI_IDE: simplex device: DMA disabled PCI_IDE:#4 dma_base= 0. ide1: PCI_IDE Bus-Master DMA disabled (BIOS) hda: SAMSUNG WU33205A (3.2GB), ATA DISK drive hdb: ST3243A, ATA DISK drive hdc: ASUS CD-S340, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: SAMSUNG WU33205A (3.2GB), 3090MB w/109kB Cache, CHS=785/128/63 hdb: ST3243A, 204MB w/64kB Cache, CHS=1024/12/34 hdc: ATAPI 34X CD-ROM drive, 128kB Cache Uniform CDROM driver Revision: 2.54 Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 Partition check: hda: hda1 hda2 hda3 hdb: hdb1 .....
**end************************************************************************* *************
****************************************************************************** ****** Appendix C ******************Dmesg when booting from win98:*************************************
Linux version 2.2.5 (root@Iglú) (gcc version 2.7.2.3) #2 Sat May 22 23:51:08 CEST 1999 Detected 350803619 Hz processor. ide_setup: ide0=M2559 -- BAD OPTION Console: colour dummy device 80x25 Calibrating delay loop... 699.60 BogoMIPS Memory: 128040k/131072k available (996k kernel code, 412k reserved, 1564k data, 60k init) CPU: AMD AMD-K6(tm) 3D processor stepping 00 Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xf0560 PCI: Using configuration type 1 PCI: Probing PCI hardware Linux NET4.0 for Linux 2.2 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0 for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP Starting kswapd v 1.5 parport0: PC-style at 0x378 [SPP,ECP,ECPEPP,ECPPS2] parport0: detected irq 7; use procfs to enable interrupt-driven operation. vesafb: framebuffer at 0x0c000000, mapped to 0xc8800000, size 16384k vesafb: mode is 800x600x8, linelength=800, pages=33 vesafb: protected mode interface info at c000:7e55 vesafb: pmi: set display start = c00c7e7e, set palette = c00c7ea8 vesafb: pmi: ports = c8c3 c903 d403 d503 da03 ff03 vesafb: scrolling: ywrap using protected mode interface, yres_virtual=20971 Console: switching to colour frame buffer device 100x37 fb0: VESA VGA frame buffer device Detected PS/2 Mouse Port. Serial driver version 4.27 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A pty: 256 Unix98 ptys configured lp0: using parport0 (polling). apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9) Non-volatile memory driver v1.0 Sound initialization started <ESS ES1688 AudioDrive (rev 11) (3.1)> at 0x220 irq 5 dma 1,5 <ESS ES1688> at 0x330 irq 5 dma 0 Sound initialization complete js: Version 1.2.13 using 350 MHz RDTSC timer. js: no joysticks found RAM disk driver initialized: 16 RAM disks of 4096K size loop: registered device at major 7 PCI_IDE: unknown IDE controller on PCI bus 00 device 78, VID=10b9, DID=5229 PCI_IDE: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:pio, hdd:pio hda: SAMSUNG WU33205A (3.2GB), ATA DISK drive hdb: ST3243A, ATA DISK drive hdc: ASUS CD-S340, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: SAMSUNG WU33205A (3.2GB), 3090MB w/109kB Cache, CHS=785/128/63, UDMA hdb: ST3243A, 204MB w/64kB Cache, CHS=1024/12/34 hdc: ATAPI 34X CD-ROM drive, 128kB Cache Uniform CDROM driver Revision: 2.52 Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 Partition check: hda: hda1 hda2 hda3 hdb: hdb1 ......
**end************************************************************************* *************
Bye Turtle.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |