Skip to Content.
Sympa Menu

baslinux - Re: [BL] isa_dma_bridge_buggy when insmod sound.o - 2.2.16 kernel

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: sindi keesan <keesan AT sdf.lonestar.org>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] isa_dma_bridge_buggy when insmod sound.o - 2.2.16 kernel
  • Date: Mon, 21 Feb 2005 19:08:20 +0000 (UTC)

Three of our computers (1997 200MHz, 1998 233 and 300MHz) appear to have the ISA DMA bug and you can tell this by booting with the kernel configured with PCI_QUIRKS=y because it says in dmesg:

PCI: PCI BIOS revision 2.10 entry at 0fb320
Using Config type 1
Probing PCI hardware
..work around ISA dMA hangs
Activating workarounds

On our 1999 computer (475MHz) the entry is at 0fb4c0
and the two work around lines are missing, so this probably no longer has the bug - just 486s and Pentium I and maybe II but not III. (My 300MHz has Super Socket 7 - it will go to 500MHz but is is II or III?).

I see why Steven included PCI_QUIRKS for 'old' computers.

The esssolo1 sound works - I hand-added a line in .config for it but it may have worked anyway (like RTL8139 and MDACON - for which bare.i has lines but my kernel does not and supports them anyway).


On Mon, 21 Feb 2005, sindi keesan wrote:

The subject line is for other people with the problem, which took me two days to solve. I kept getting a kernel unusable for sound (sound.o).

CONFIG_PCI_QUIRKS=y eliminated the above problem when I compiled a kernel for sound and soundblaster with CONFIG_SOUND_OSS=m (used by some other cards besides sb) which lets you use sound.o

With QUIRKS set to N the kernel was only minimally smaller, and I could not use sound: insmod: Unresolved symbol isa_dma_bridge_buggy.
'If you have a broken BIOS, it may fail to set up the PCI bus in a correct or optimal fashion. Saying Y here will correct that problem. If your BIOS is fine you can say N here for a very slightly smaller kernel. If unsure, say Y.' BL2 kernel said Y and I should have stayed with that.

I was able to compile a kernel that worked with sound on both computers, with gcc 2.95.3 from SW81 and with egcs from SW71.

I have the kernel and config files at
keesan.freeshell.org/zImage.ss and /config.ss (for scsi sound)

I removed support for math emulation and 386, for all the network file systems, and for ethernet cards that I do not have (I left support for cards needing modules 3c509, 3c59x, and apparently tulip and rtl8139 are supported without specifying anything but CONFIG_EISA=y which also covers PCI bus). ppp is in the kernel but other features are modules.

I added scsi support for scanner (sg), CD-burner (including ide-scsi scsi emulation) (sr_mod and ide-scsi), and zip drive (sd_mod). I checked and
the zip drive works. But the kernel will work only for Adaptec PCI scsi cards that use module aic7xxx.o (of which I have two). I included support for ppa.o (parport scsi-emulation zip drive) but not imm (later model).

I have support for sb, and hopefully also ess1370 and esssolo1 - which I had to fill in by hand because the config program never mentions it but I found it in bare.i.

I see now why steven left out scsi support (too many possible cards) and sound support (ditto - and it required several modules which take up space. I included also lowlevel=y and awe32=m).

If anyone wants a variation of this kernel set for their own scsi card or sound card, I can attempt to make you a modified .config file or you can download mine and use it for reference and make your own. Run make config anyway unless you know some other way to produce the file it produces (just hold down the Enter key to choose defaults).

Copy the linux-2.2.16.tar.bz2 from SW71 source CD (kernel-source) and bunzip2 it (get bzip2.tgz), also insmod bin86.tgz from installation CD.
untar (tar -xvf linux*tar), cd linux, make config and answer lots of questions (you can start with my file, hand-edit it if you are brave, and then go through make config hitting the enter key to accept my choices until you hit something you want to change - this will hopefully ensure you have the correct dependencies for modules).

After make config, make dep, then make zImage and in 10 min (or longer on a 386) you should have ./linux/arch/i386/boot/zImage.

Mine is 465K. PPP in the kernel and the sound modules made it larger but I saved space on math emu and network file systems and fewer ethernet cards, so it is about 30K less than the BL2 kernel.

A kernel compiled for 386 without math emulation (or sound, scsi, or ethernet) was 404K.

I included vfat because I can mount my floppy disks without having to specify -t msdos that way. (I think I formatted the floppy disks with MS DOS7.1 which even though we set it up as no-long-file-names on hard drive, appears to treat floppy disks as LFN/vfat).

I have not tried mounting one of these disks with BL3 (no vfat).

I probably did not need the IDEPCI IDADMA stuff and will remove them next time I compile.
_______________________________________________
BasLinux mailing list
BasLinux AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/baslinux


keesan AT sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org




Archive powered by MHonArc 2.6.24.

Top of Page