Re: ide-scsi + /dev/dsp == solid lockup
> Makes me wonder why my PIIX3 (i430HX) Tyan Tomcat IVD has never had a > problem with an ISA SoundBlaster AWE32 even with Passive Release enabled > and such devices as PCI TV cards, PCI Ethernet controllers, and ISA modems > in it. I've burned CD's on an IDE HP CD-Writer+ (hdb) from an IBM hard > drive (hdc) while listening to MP3's as well. Luck? Well the TV cards I know about actually have 'dont break on triton' hardware and a bit flag to enable it. I don't know precisely what is needed to cause the problem but its not as simple as 2 bus masters and you die. For one if it had been simple circumstances Intel would have caught it before production 8) Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sun, 15 Oct 2000, Leigh Orf wrote: >I hesitate to declare victory just yet, but I think my problem is solved >(over a half hour of testing and no lockup). In reading the pdf docs on >the motherboard, by chance I found the word "concurrency" here: Makes me wonder why my PIIX3 (i430HX) Tyan Tomcat IVD has never had a problem with an ISA SoundBlaster AWE32 even with Passive Release enabled and such devices as PCI TV cards, PCI Ethernet controllers, and ISA modems in it. I've burned CD's on an IDE HP CD-Writer+ (hdb) from an IBM hard drive (hdc) while listening to MP3's as well. Luck? Here's a diff of the PCI space: --- piix3 Tue Oct 17 17:34:56 2000 +++ piix4 Tue Oct 17 17:33:46 2000 @@ -1,20 +1,23 @@ -00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01) - Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- - Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- +SERR- http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sun, 15 Oct 2000, Leigh Orf wrote: I hesitate to declare victory just yet, but I think my problem is solved (over a half hour of testing and no lockup). In reading the pdf docs on the motherboard, by chance I found the word "concurrency" here: Makes me wonder why my PIIX3 (i430HX) Tyan Tomcat IVD has never had a problem with an ISA SoundBlaster AWE32 even with Passive Release enabled and such devices as PCI TV cards, PCI Ethernet controllers, and ISA modems in it. I've burned CD's on an IDE HP CD-Writer+ (hdb) from an IBM hard drive (hdc) while listening to MP3's as well. Luck? Here's a diff of the PCI space: --- piix3 Tue Oct 17 17:34:56 2000 +++ piix4 Tue Oct 17 17:33:46 2000 @@ -1,20 +1,23 @@ -00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01) - Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- - Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- - Latency: 0 set -00: 86 80 00 70 0f 00 80 02 01 00 01 06 00 00 80 00 +00:01.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 01) +Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- +Stepping- SERR- FastB2B- +Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- +TAbort- MAbort- SERR- PERR- +Latency: 0 +00: 86 80 10 71 0f 00 80 02 01 00 01 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -40: 00 00 00 00 00 00 00 00 00 00 00 00 4d 00 33 01 +40: 00 00 00 00 00 00 00 00 00 00 00 00 09 00 23 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -60: 0b 0b 80 0b 00 00 00 00 00 f2 90 00 00 00 00 00 -70: 20 00 00 00 00 00 0c 0c 02 00 00 00 00 00 00 00 -80: 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 0b 0a 80 09 10 00 00 00 00 f2 00 00 00 00 00 00 +70: 00 00 00 00 00 00 0c 0c 00 00 00 00 00 00 00 00 +80: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -a0: 08 00 00 00 02 00 00 00 0f 00 00 00 08 00 01 00 -b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -f0: 00 00 00 00 00 00 00 00 10 0f 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 28 0f 00 00 00 00 00 00 I have the 'offending' bit on as you can see. -George Greer - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Makes me wonder why my PIIX3 (i430HX) Tyan Tomcat IVD has never had a problem with an ISA SoundBlaster AWE32 even with Passive Release enabled and such devices as PCI TV cards, PCI Ethernet controllers, and ISA modems in it. I've burned CD's on an IDE HP CD-Writer+ (hdb) from an IBM hard drive (hdc) while listening to MP3's as well. Luck? Well the TV cards I know about actually have 'dont break on triton' hardware and a bit flag to enable it. I don't know precisely what is needed to cause the problem but its not as simple as 2 bus masters and you die. For one if it had been simple circumstances Intel would have caught it before production 8) Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sun, Oct 15, 2000 at 01:31:31AM -0400, Leigh Orf wrote: > the motherboard, by chance I found the word "concurrency" here: > > Passive Release (Enabled) > > This is a mechanism that allows concurrency of ISA/EISA > cycles and CPU-to-PCI cycles. When this feature is enabled, > the TXC will be possible to re-arbitrate the PCI bus and > allow the CPU to access PCI even when the PCEB has been > granted the bus. > > My soundcard is an ISA device. I disabled this setting in the bios. Here > is a diff on the lspci output before & after the bios reset. Note this > is the ISA bridge that had a bit tweaked, not the host bridge. There is already a 'passive release' quirk in drivers/pci/quirks.c: (line 24:void __init quirk_passive_release(struct pci_dev *dev)) (line 242:{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL,PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },) Maybe you should add your chipset to this list? Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
I hesitate to declare victory just yet, but I think my problem is solved (over a half hour of testing and no lockup). In reading the pdf docs on the motherboard, by chance I found the word "concurrency" here: Passive Release (Enabled) This is a mechanism that allows concurrency of ISA/EISA cycles and CPU-to-PCI cycles. When this feature is enabled, the TXC will be possible to re-arbitrate the PCI bus and allow the CPU to access PCI even when the PCEB has been granted the bus. My soundcard is an ISA device. I disabled this setting in the bios. Here is a diff on the lspci output before & after the bios reset. Note this is the ISA bridge that had a bit tweaked, not the host bridge. before: 00:01.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 01) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
OK, after finally getting my bits flipped correctly, I tested it again, and it hung again. AIEE. Now, a sanity check. I'm doing this with a kernel which is configured with CONFIG_PCI_QUIRKS=y and CONFIG_PCI_OPTIMIZE=y. Should it matter? Should I only be trying this stuff with those configs turned off? Strange that it still hangs. Argh. Leigh Frank de Lange wrote: | On Sat, Oct 14, 2000 at 09:33:04PM -0400, Leigh Orf wrote: | > | > Oops... | > | > I tried your script and it choked on the line following your comment | > "clear bits 0, 1, and 3" with the following: | > | > ./frank.sh: 08: value too great for base (error token is "08") | > | > Just to clarify my byte/bit problem, if this is before... | > | > 50: 08 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 | > | > I want this for after, right? | > | > 50: 00 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 | > | > since 08 = 1000 ? | > bit: 76543210 | | | Yes, that's what you want to end up with. My box originally had 0x50 | == 0x88, running the script changes this into 0x50 == 0x80. Which | shell did you use when you tried the script? It is probably | bash-only... It was my dumb mistake, never mind :) Leigh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 06:30:37AM -0700, Miles Lane wrote: > So do you wish to respond with an example that shows exactly > how to set a bit? > > Miles I already did before I sent this mail, but it show up later in the mailing list. Got stuck in a pipe somewhere, probably... cc//F -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 09:33:04PM -0400, Leigh Orf wrote: > > Oops... > > I tried your script and it choked on the line following your comment > "clear bits 0, 1, and 3" with the following: > > ./frank.sh: 08: value too great for base (error token is "08") > > Just to clarify my byte/bit problem, if this is before... > > 50: 08 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 > > I want this for after, right? > > 50: 00 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 > > since 08 = 1000 ? > bit: 76543210 Yes, that's what you want to end up with. My box originally had 0x50 == 0x88, running the script changes this into 0x50 == 0x80. Which shell did you use when you tried the script? It is probably bash-only... > | Lucky you, that your system did't crash and burn... > > I'm getting used to it When you're done with this system, try an abit BP6 SMP-board. Loads of crashing fun and horror... That's what I'm on currently (the Triton sits below the last step of the staircase in the role of server and mp3-player) Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
So do you wish to respond with an example that shows exactly how to set a bit? Miles Frank de Lange wrote: > > On Sat, Oct 14, 2000 at 08:58:38PM -0400, Leigh Orf wrote: > > > > Tried that. At least I think I did. Still hung. > > Your tweaking BYTES, not BITS here... > > > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 > > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ > > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 > > Lucky you, that your system did't crash and burn... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Oops... I tried your script and it choked on the line following your comment "clear bits 0, 1, and 3" with the following: ./frank.sh: 08: value too great for base (error token is "08") Just to clarify my byte/bit problem, if this is before... 50: 08 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 I want this for after, right? 50: 00 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 since 08 = 1000 ? bit: 76543210 Frank de Lange wrote: | On Sat, Oct 14, 2000 at 08:58:38PM -0400, Leigh Orf wrote: | > | > Tried that. At least I think I did. Still hung. | | Your tweaking BYTES, not BITS here... | | > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 | > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ | > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 | | Lucky you, that your system did't crash and burn... I'm getting used to it Thanks, Leigh | Cheers//Frank - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 08:58:38PM -0400, Leigh Orf wrote: > > Tried that. At least I think I did. Still hung. Your tweaking BYTES, not BITS here... > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ > home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 Lucky you, that your system did't crash and burn... Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Alan Cox wrote: | What you need to do is to clear bits 0, 1 and 3 of register | 0x50 of the 430TX chip. lspci can I think do that if you | figure out the right magic. | | Alan Tried that. At least I think I did. Still hung. Before tweaking: home[1008]:/home/orf/lockup% sudo lspci -vvxxx 00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 05:14:41PM -0400, Leigh Orf wrote: > Can anyone help? I seem to be very close to finding a solution but not > quite there yet. If you can boot your system without hitting this problem (shouldn't be a problem in your case...), you can also use the setpci tool to change these values. That way, you don't have to patch your kernel. A simple script should do the trick (see the following example). I tried it, it did not blow up my system. My box does fine without it, but this might help in your case. Cheers//Frank -- #!/bin/sh # # tune_triton - turn off streaming and concurrency on Triton I chipset triton_pci_id=8086:122d triton_pcon=0x50 triton_bus_concurrency=$[1<<0] triton_streaming=$[1<<1] triton_peer_concurrency=$[1<<3] # get current pcon value pcon=$(setpci -d $triton_pci_id $triton_pcon) # clear bits 0, 1 and 3 pcon=$[$pcon & (0xff ^ $triton_bus_concurrency + $triton_streaming + $triton_peer_concurrency)] # write value back to device setpci -d $triton_pci_id $triton_pcon=$pcon -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
> > { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, > > + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_isa_dma_hangs, 0x00 }, > > }; > > I rebuilt the kernel, and it still locked up faithfully as before under > the same conditions. Thats kind of a half fix for the real issue that happens to help in some cases. What you need to do is to clear bits 0, 1 and 3 of register 0x50 of the 430TX chip. lspci can I think do that if you figure out the right magic. Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 05:14:41PM -0400, Leigh Orf wrote: > I tried what he did, adding the line with the + in > /usr/src/linux/drivers/pci/quirks.c, but changing the second argument to > PCI_DEVICE_ID_INTEL_82430 since that describes my board: > > >From his post (a link to the full patch is above): > > > { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, > > { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, > > + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_isa_dma_hangs, 0x00 }, > > }; > > I rebuilt the kernel, and it still locked up faithfully as before under > the same conditions. You did enable 'pci quirks' (CONFIG_PCI_QUIRKS) when compiling that new kernel I presume? Also, your chipset is listed under the (experimental) CONFIG_PCI_OPTIMIZE option. Maybe that helps as well... If your BIOS does not allow you to disable streaming and peer concurrency (mine does't...), maybe it is possible to turn it off in the kernel by adding a small patch. I have not tried this since my fix fixes my problems :-), but something in the lines of the stuff done in drivers/char/bttv.c before they enabled the Bt878 hardware workaround for these problems. I made a small patch for drivers/pci/quirks.c which implements a new quirk (quirk_triton_1_pcon) which should implement something like this. I have not tested it, since I don't have your mobo handy. It seems to satisfy gcc, it compiles, so it might even work... Try it I'd say... But make sure you see those printk-messages when you boot. If you don't, either you did not enable PCI quirks or the chipset is not specified correctly. This also goes for my original 'fix', when I boot I see the message 'Work around ISA DMA hangs' flying past. You should too... Again, I did NOT test this in real life. It compiles, so certain big companies would deem it fit to ship, but that does not mean it performs at it should Oh, the patch is against a stock linux 2.2.17 installation, so WITHOUT my previous patch... Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] diff -c --recursive linux.org/drivers/pci/quirks.c linux/drivers/pci/quirks.c *** linux.org/drivers/pci/quirks.c Sun Oct 15 01:13:23 2000 --- linux/drivers/pci/quirks.c Sun Oct 15 01:13:37 2000 *** *** 144,149 --- 144,189 } } + #define TRITON_PCON 0x50 + #define TRITON_BUS_CONCURRENCY (1<<0) + #define TRITON_STREAMING (1<<1) + #define TRITON_WRITE_BURST (1<<2) + #define TRITON_PEER_CONCURRENCY (1<<3) + + __initfunc(static void quirk_triton_1_pcon(struct pci_dev *dev, int arg)) + { + while ((dev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, +dev)) || + (dev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82430, +dev))) + { + unsigned char b; + unsigned char bo; + printk(KERN_INFO "Host bridge 82430FX/82437FX Triton PIIX\n"); + /* 430FX and 437FX(Triton I) freeze with bus concurrency on, so switch +it off */ + pci_read_config_byte(dev, TRITON_PCON, ); + bo=b; + if(!(b & TRITON_BUS_CONCURRENCY)) + { + printk(KERN_WARNING "82430FX: disabling bus concurrency\n"); + b |= TRITON_BUS_CONCURRENCY; + } + if(b & TRITON_PEER_CONCURRENCY) + { + printk(KERN_WARNING "82430FX: disabling peer concurrency\n"); + b &= ~TRITON_PEER_CONCURRENCY; + } + if(!(b & TRITON_STREAMING)) + { + printk(KERN_WARNING "82430FX: disabling streaming\n"); + b |= TRITON_STREAMING; + } + if (b!=bo) + { + pci_write_config_byte(dev, TRITON_PCON, b); + printk(KERN_INFO "8243xFX: PCON changed to: 0x%x\n",b); + } + } + } + typedef void (*quirk_handler)(struct pci_dev *, int); *** *** 162,167 --- 202,208 #endif { quirk_passive_release,"Passive release enable" }, { quirk_isa_dma_hangs, "Work around ISA DMA hangs" }, + { quirk_triton_1_pcon, "Disable streaming and peer concurrency on Triton 1" }, }; *** *** 202,207 --- 243,249 */ { PCI_VENDOR_ID_VIA,PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, { PCI_VENDOR_ID_VIA,PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, + { PCI_VENDOR_ID_INTEL,
Re: ide-scsi + /dev/dsp == solid lockup
Alan Cox wrote: | > I never get this problem by only burning a CD or only | > playing music through /dev/dsp, both have to be occuring | > simultaneously for this to happen, and those simultaneous | > events appear to be completely sufficien= t for the lockup | > to occur. I can sometimes get away with playing music | | Sounds like hardware problems. What you are saying it seems | is that having two bus masters running at once crashes your | motherboard ? | | > 00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC | > (rev 01) | | Ahah, that would fit. Intel Triton. Turn off peer | concurrency and streaming in the BIOS if you can. | | Alan Alan, Thanks for the quick reply. I got into my bios setup and couldn't find any switch which had the words 'concurrency' or 'streaming' in it. I believe my chipset's bios or CMOS setup or whatever is one level down from one which can tweak these parameters. I don't think I have the capability to turn off concurrency or streaming. A listing of what options I do have when in my bios is linked below. In my subsequet investigating I got lost in the strange world of flash bios upgrades and after much staring at the screen believe any upgrades would not give me the menu options I need, just fix the bugs in the current bios and keep the same menu options. (sorry if I am misusing words, am not a hardware guy). I did find a page somewhere which described a setup which did have concurrency and streaming options to turn on and off, but it wasn't for my chipset. I did dig up a post by Frank de Lange who said he had a 'fix' for the exact same problem I am having. His solution can be found here: http://boudicca.tux.org/hypermail/linux-kernel/2000week02/0367.html I tried what he did, adding the line with the + in /usr/src/linux/drivers/pci/quirks.c, but changing the second argument to PCI_DEVICE_ID_INTEL_82430 since that describes my board: >From his post (a link to the full patch is above): > { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, > { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, > + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_isa_dma_hangs, 0x00 }, > }; I rebuilt the kernel, and it still locked up faithfully as before under the same conditions. Can anyone help? I seem to be very close to finding a solution but not quite there yet. For a list of what options I have in my BIOS, see http://www.google.com/search?q=cache:www.award.com.tw/DOCS/Internet/Docs/i82430tx.htm+82430TX=en It's a google cache, but at least it's HTML. A PDF file of the same can be found at ftp://ftp.asus.com/pub/ASUS/mb/sock7/430tx/tx97-x/tx97x-300.pdf The official page of my mobo is at http://www.asus.com.tw/products/motherboard/pentium/tx97-x/index.html Thanks for any help, Leigh Orf <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
> I never get this problem by only burning a CD or only playing music > through /dev/dsp, both have to be occuring simultaneously for this to > happen, and those simultaneous events appear to be completely sufficien= > t > for the lockup to occur. I can sometimes get away with playing music Sounds like hardware problems. What you are saying it seems is that having two bus masters running at once crashes your motherboard ? > 00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01) Ahah, that would fit. Intel Triton. Turn off peer concurrency and streaming in the BIOS if you can. Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
I never get this problem by only burning a CD or only playing music through /dev/dsp, both have to be occuring simultaneously for this to happen, and those simultaneous events appear to be completely sufficien= t for the lockup to occur. I can sometimes get away with playing music Sounds like hardware problems. What you are saying it seems is that having two bus masters running at once crashes your motherboard ? 00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01) Ahah, that would fit. Intel Triton. Turn off peer concurrency and streaming in the BIOS if you can. Alan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Alan Cox wrote: |I never get this problem by only burning a CD or only |playing music through /dev/dsp, both have to be occuring |simultaneously for this to happen, and those simultaneous |events appear to be completely sufficien= t for the lockup |to occur. I can sometimes get away with playing music | | Sounds like hardware problems. What you are saying it seems | is that having two bus masters running at once crashes your | motherboard ? | |00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC |(rev 01) | | Ahah, that would fit. Intel Triton. Turn off peer | concurrency and streaming in the BIOS if you can. | | Alan Alan, Thanks for the quick reply. I got into my bios setup and couldn't find any switch which had the words 'concurrency' or 'streaming' in it. I believe my chipset's bios or CMOS setup or whatever is one level down from one which can tweak these parameters. I don't think I have the capability to turn off concurrency or streaming. A listing of what options I do have when in my bios is linked below. In my subsequet investigating I got lost in the strange world of flash bios upgrades and after much staring at the screen believe any upgrades would not give me the menu options I need, just fix the bugs in the current bios and keep the same menu options. (sorry if I am misusing words, am not a hardware guy). I did find a page somewhere which described a setup which did have concurrency and streaming options to turn on and off, but it wasn't for my chipset. I did dig up a post by Frank de Lange who said he had a 'fix' for the exact same problem I am having. His solution can be found here: http://boudicca.tux.org/hypermail/linux-kernel/2000week02/0367.html I tried what he did, adding the line with the + in /usr/src/linux/drivers/pci/quirks.c, but changing the second argument to PCI_DEVICE_ID_INTEL_82430 since that describes my board: From his post (a link to the full patch is above): { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_isa_dma_hangs, 0x00 }, }; I rebuilt the kernel, and it still locked up faithfully as before under the same conditions. Can anyone help? I seem to be very close to finding a solution but not quite there yet. For a list of what options I have in my BIOS, see http://www.google.com/search?q=cache:www.award.com.tw/DOCS/Internet/Docs/i82430tx.htm+82430TXhl=en It's a google cache, but at least it's HTML. A PDF file of the same can be found at ftp://ftp.asus.com/pub/ASUS/mb/sock7/430tx/tx97-x/tx97x-300.pdf The official page of my mobo is at http://www.asus.com.tw/products/motherboard/pentium/tx97-x/index.html Thanks for any help, Leigh Orf [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 05:14:41PM -0400, Leigh Orf wrote: I tried what he did, adding the line with the + in /usr/src/linux/drivers/pci/quirks.c, but changing the second argument to PCI_DEVICE_ID_INTEL_82430 since that describes my board: From his post (a link to the full patch is above): { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_isa_dma_hangs, 0x00 }, }; I rebuilt the kernel, and it still locked up faithfully as before under the same conditions. You did enable 'pci quirks' (CONFIG_PCI_QUIRKS) when compiling that new kernel I presume? Also, your chipset is listed under the (experimental) CONFIG_PCI_OPTIMIZE option. Maybe that helps as well... If your BIOS does not allow you to disable streaming and peer concurrency (mine does't...), maybe it is possible to turn it off in the kernel by adding a small patch. I have not tried this since my fix fixes my problems :-), but something in the lines of the stuff done in drivers/char/bttv.c before they enabled the Bt878 hardware workaround for these problems. I made a small patch for drivers/pci/quirks.c which implements a new quirk (quirk_triton_1_pcon) which should implement something like this. I have not tested it, since I don't have your mobo handy. It seems to satisfy gcc, it compiles, so it might even work... Try it I'd say... But make sure you see those printk-messages when you boot. If you don't, either you did not enable PCI quirks or the chipset is not specified correctly. This also goes for my original 'fix', when I boot I see the message 'Work around ISA DMA hangs' flying past. You should too... Again, I did NOT test this in real life. It compiles, so certain big companies would deem it fit to ship, but that does not mean it performs at it should Oh, the patch is against a stock linux 2.2.17 installation, so WITHOUT my previous patch... Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ Hacker for Hire \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] diff -c --recursive linux.org/drivers/pci/quirks.c linux/drivers/pci/quirks.c *** linux.org/drivers/pci/quirks.c Sun Oct 15 01:13:23 2000 --- linux/drivers/pci/quirks.c Sun Oct 15 01:13:37 2000 *** *** 144,149 --- 144,189 } } + #define TRITON_PCON 0x50 + #define TRITON_BUS_CONCURRENCY (10) + #define TRITON_STREAMING (11) + #define TRITON_WRITE_BURST (12) + #define TRITON_PEER_CONCURRENCY (13) + + __initfunc(static void quirk_triton_1_pcon(struct pci_dev *dev, int arg)) + { + while ((dev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, +dev)) || + (dev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82430, +dev))) + { + unsigned char b; + unsigned char bo; + printk(KERN_INFO "Host bridge 82430FX/82437FX Triton PIIX\n"); + /* 430FX and 437FX(Triton I) freeze with bus concurrency on, so switch +it off */ + pci_read_config_byte(dev, TRITON_PCON, b); + bo=b; + if(!(b TRITON_BUS_CONCURRENCY)) + { + printk(KERN_WARNING "82430FX: disabling bus concurrency\n"); + b |= TRITON_BUS_CONCURRENCY; + } + if(b TRITON_PEER_CONCURRENCY) + { + printk(KERN_WARNING "82430FX: disabling peer concurrency\n"); + b = ~TRITON_PEER_CONCURRENCY; + } + if(!(b TRITON_STREAMING)) + { + printk(KERN_WARNING "82430FX: disabling streaming\n"); + b |= TRITON_STREAMING; + } + if (b!=bo) + { + pci_write_config_byte(dev, TRITON_PCON, b); + printk(KERN_INFO "8243xFX: PCON changed to: 0x%x\n",b); + } + } + } + typedef void (*quirk_handler)(struct pci_dev *, int); *** *** 162,167 --- 202,208 #endif { quirk_passive_release,"Passive release enable" }, { quirk_isa_dma_hangs, "Work around ISA DMA hangs" }, + { quirk_triton_1_pcon, "Disable streaming and peer concurrency on Triton 1" }, }; *** *** 202,207 --- 243,249 */ { PCI_VENDOR_ID_VIA,PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 }, { PCI_VENDOR_ID_VIA,PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 }, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82430,
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 05:14:41PM -0400, Leigh Orf wrote: Can anyone help? I seem to be very close to finding a solution but not quite there yet. If you can boot your system without hitting this problem (shouldn't be a problem in your case...), you can also use the setpci tool to change these values. That way, you don't have to patch your kernel. A simple script should do the trick (see the following example). I tried it, it did not blow up my system. My box does fine without it, but this might help in your case. Cheers//Frank -- #!/bin/sh # # tune_triton - turn off streaming and concurrency on Triton I chipset triton_pci_id=8086:122d triton_pcon=0x50 triton_bus_concurrency=$[10] triton_streaming=$[11] triton_peer_concurrency=$[13] # get current pcon value pcon=$(setpci -d $triton_pci_id $triton_pcon) # clear bits 0, 1 and 3 pcon=$[$pcon (0xff ^ $triton_bus_concurrency + $triton_streaming + $triton_peer_concurrency)] # write value back to device setpci -d $triton_pci_id $triton_pcon=$pcon -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ Hacker for Hire \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Alan Cox wrote: | What you need to do is to clear bits 0, 1 and 3 of register | 0x50 of the 430TX chip. lspci can I think do that if you | figure out the right magic. | | Alan Tried that. At least I think I did. Still hung. Before tweaking: home[1008]:/home/orf/lockup% sudo lspci -vvxxx 00:00.0 Host bridge: Intel Corporation 430TX - 82439TX MTXC (rev 01) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR- Latency: 32 00: 86 80 00 71 06 00 00 22 01 00 00 06 00 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50: 08 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 ^^ ^^^^ these are the bits, right? 60: 00 10 10 20 20 20 00 84 a0 03 00 00 00 00 00 00 70: 20 00 0a 00 0e 00 00 00 23 12 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 20 0f 00 00 00 20 00 00 home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 home[1008]:/home/orf/lockup% sudo lspci -vvxxx [snip] 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 81 00 02 00 40 01 2b 10 55 11 01 00 11 11 ^^ ^^^^ set to zero 60: 00 10 10 20 20 20 00 84 a0 03 00 00 00 00 00 00 70: 20 00 0a 00 0e 00 00 00 23 12 00 00 00 00 00 00 [snip] Fire up cdrecord, xmms, and it hangs solid. Argh! Did I do something wrong? By the way, don't accidentally clear the second bit :P Leigh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
Oops... I tried your script and it choked on the line following your comment "clear bits 0, 1, and 3" with the following: ./frank.sh: 08: value too great for base (error token is "08") Just to clarify my byte/bit problem, if this is before... 50: 08 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 I want this for after, right? 50: 00 00 81 14 02 00 40 01 2b 10 55 11 01 00 11 11 since 08 = 1000 ? bit: 76543210 Frank de Lange wrote: | On Sat, Oct 14, 2000 at 08:58:38PM -0400, Leigh Orf wrote: | |Tried that. At least I think I did. Still hung. | | Your tweaking BYTES, not BITS here... | |home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 |home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ |home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 | | Lucky you, that your system did't crash and burn... I'm getting used to it Thanks, Leigh | Cheers//Frank - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
So do you wish to respond with an example that shows exactly how to set a bit? Miles Frank de Lange wrote: On Sat, Oct 14, 2000 at 08:58:38PM -0400, Leigh Orf wrote: Tried that. At least I think I did. Still hung. Your tweaking BYTES, not BITS here... home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 50=0 home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 51=0 /* unnecessary */ home[1008]:/home/orf/lockup% sudo setpci -s 0:0.0 53=0 Lucky you, that your system did't crash and burn... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sat, Oct 14, 2000 at 06:30:37AM -0700, Miles Lane wrote: So do you wish to respond with an example that shows exactly how to set a bit? Miles I already did before I sent this mail, but it show up later in the mailing list. Got stuck in a pipe somewhere, probably... cc//F -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ Hacker for Hire \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
I hesitate to declare victory just yet, but I think my problem is solved (over a half hour of testing and no lockup). In reading the pdf docs on the motherboard, by chance I found the word "concurrency" here: Passive Release (Enabled) This is a mechanism that allows concurrency of ISA/EISA cycles and CPU-to-PCI cycles. When this feature is enabled, the TXC will be possible to re-arbitrate the PCI bus and allow the CPU to access PCI even when the PCEB has been granted the bus. My soundcard is an ISA device. I disabled this setting in the bios. Here is a diff on the lspci output before after the bios reset. Note this is the ISA bridge that had a bit tweaked, not the host bridge. before: 00:01.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 01) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- Latency: 0 00: 86 80 10 71 0f 00 80 02 01 00 01 06 00 00 80 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: 00 00 00 00 00 00 00 00 00 00 00 00 09 00 23 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 0b 0a 80 09 10 00 00 00 00 f2 00 00 00 00 00 00 70: 00 00 00 00 00 00 0c 0c 00 00 00 00 00 00 00 00 80: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ^^ 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 28 0f 00 00 00 00 00 00 after: 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^^ So if anyone else asks, you know which bits to flip ;) I'll post later if this *doesn't* solve my problem (it's 1:30 AM now ugh) otherwise consider me a happy camper. And regardless, thanks much to Alan and Frank for their help. Talk about customer support! Leigh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
Re: ide-scsi + /dev/dsp == solid lockup
On Sun, Oct 15, 2000 at 01:31:31AM -0400, Leigh Orf wrote: the motherboard, by chance I found the word "concurrency" here: Passive Release (Enabled) This is a mechanism that allows concurrency of ISA/EISA cycles and CPU-to-PCI cycles. When this feature is enabled, the TXC will be possible to re-arbitrate the PCI bus and allow the CPU to access PCI even when the PCEB has been granted the bus. My soundcard is an ISA device. I disabled this setting in the bios. Here is a diff on the lspci output before after the bios reset. Note this is the ISA bridge that had a bit tweaked, not the host bridge. There is already a 'passive release' quirk in drivers/pci/quirks.c: (line 24:void __init quirk_passive_release(struct pci_dev *dev)) (line 242:{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL,PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },) Maybe you should add your chipset to this list? Cheers//Frank -- W ___ ## o o\/ Frank de Lange \ }# \| / \ ##---# _/ Hacker for Hire \ \ +31-320-252965/ \[EMAIL PROTECTED]/ - [ Hacker: http://www.jargon.org/html/entry/hacker.html ] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/