OS2World OLD-STATIC-BACKUP Forum
OS/2 - Technical => Hardware => Topic started by: Criguada on 2010.01.08, 23:54:57
-
Hi all,
I have a BAD problem that is locking me out of OS/2 since about a month.
I recently had a 250Gb PATA drive installed in my box. To install it I
had to add a SATA/PATA PCI-E card to my motherboard, since it has only
one PATA channel onboard and it already is full (another HD and the
burner).
The card is well supported by DANI, but it is being mapped to share
IRQs with something else. Initially it was sharing IRQs with the USB
controller, which led to nearly immediate crashes and data corruption
whenever I attached USB peripherals.
Working at the BIOS level I was able to make it share IRQs with my
network card, which means I can work relatively safely until there's
no traffic on the network. If there's heavy traffic, I get crashes and
data corruption.
The point is that I cannot map it so that it doesn't share the IRQ,
simply because I have no more low IRQs left. Reading the DANI
documentation I see it SHOULD be possible to map the card to a high
IRQ, but after a LOT of tries I can say I am not able to: it always
stays low. I am now using mainly PCLinuxOS :-(
Is there anybody who can help out there? I found some messages on the
net about DANI and high IRQs, but it seems nobody was successful.
I have an AMD64X2 processor, and I am using ACPI 3.14 (I got crashes
with higher releases) in /SMP /APIC mode.
Thank you in advance!
Bye
Cris
-
Hi Cris
What mainboard chipset is involved? - The only system that I have nearly working perfectly with acpi v3.14 is nForce4 based and that requires the /TMR switch to avoid the odd silly glitch.
Another workaround may be to add the /!NOD switch - does not allow high IRQs (basically the same as using /PIC instead of /APIC).
While I think of it: Someone was asking about SATA cards in a newsgroup and wanted a recommendation. What card are you using?
Regards
Pete
-
Hi Chris,
My guess is that this is an ACPI issue, not DANI - on my AMD based system the disk controller is IRQ21 with /SMP /APIC /TMR (most AMD need /TMR too - like Pete says). If you are using /SMP /APIC then it seems to me the add-on card should be using a high IRQ. What does the hardware manager say? Could you post the result of 'copy ACPICA$ acpi.log' ?
One thing to try is put the second disk on the onboard PATA and the Burner on the card and see what happens. Also, what happens if you try to run /SMP /TMR (no APIC)?
Dave McKenna
-
Hi all, thank you for your replies!
I will reply to your questions as soon as I have some free time to work at home.
BTW, would you please detail the reasons to apply /TMR? I tried the timer test program in the ACPI tools and never had problems with it, so I thought I had not the need to apply /TMR (Pete: what's "the odd silly glitch" you're referring to?).
Thank you
Bye
Cris
-
Cris,
If the timer test program works without /TMR, then you are correct - it is not needed.
Dave McKenna
-
Hi Cris
The "the odd silly glitch" can be anything from USB drive access suddenly failing while in use to a complete system crash for no obvious reason ie no open apps on Desktop and system simply stops working.
I have 2 systems using nForce4 chipset and 1 using nForce430 chipset that the above applies to. On these systems running tmrtest.exe shows the /TMR switch is definitely required.
Regards
Pete
-
Different thought - PCI cards have to have the ability to share IRQs. AFAIK Danis driver and a lot of other drivers work with shared IRQs. Your findings seem to be different on this point.
Is it really true that Danis506 makes problems when the IRQ is shared?
Or is it the network/... driver which makes the troubles? I know the RTL8169 driver has similar problems on my system. Uniaud is another source of sudden crashes on my board. Have you narrowed down for sure, that danis driver is the source of the problem? Did you check the IRQs with pci.exe?
Another thought - IRQ lines for PCI (INT_A to INT_D) are shared between all PCI slots and all onboard components. Most often the only PCI slot which do not share the IRQ with others is the second one. But this depends on the board. This info should be in the manual. I think the IRQ thing is very similar with PCIe.
How do you try to set the IRQ for the SATA controller? What would happen if afterwards another driver (f.i. the LAN driver or ACPI) sets the IRQ for the line which is physically the same as for the SATA controller back to another value?
-
Different thought - PCI cards have to have the ability to share IRQs. AFAIK Danis driver and a lot of other drivers work with shared IRQs. Your findings seem to be different on this point.
Is it really true that Danis506 makes problems when the IRQ is shared?
Or is it the network/... driver which makes the troubles?
It seems there are a few parameters that can cause problems...
(1) All drivers for devices using shared IRQs must properly support sharing an IRQ (and support it well)
(2) The hardware must be well designed to share an IRQ (some really cheapo stuff doesnt seem as capable in this area)
(3) OS/2 seems to make use of devices differently than Windows does, meaning using shared IRQs in OS/2 seems more problematic
-R
-
Hi Pete!
Hi Cris
What mainboard chipset is involved? - The only system that I have nearly working perfectly with acpi v3.14 is nForce4 based and that requires the /TMR switch to avoid the odd silly glitch.
The chipset is an NVIDIA NF-6100-405. My motherboard is an ASRock AM2NF6G-VSTA. As far as I can say, it does not need /TMR.
While I think of it: Someone was asking about SATA cards in a newsgroup and wanted a recommendation. What card are you using?
Regards
Pete
You can find it here:
http://www.lindy-usa.com/shop/showProductDetail.do?orderNumber=51125&source=search
Actually I bought it from Lindy Italy, but the product should be the same.
Bye
Cris
-
Hi David!
Hi Chris,
My guess is that this is an ACPI issue, not DANI - on my AMD based system the disk controller is IRQ21 with /SMP /APIC /TMR (most AMD need /TMR too - like Pete says). If you are using /SMP /APIC then it seems to me the add-on card should be using a high IRQ. What does the hardware manager say? Could you post the result of 'copy ACPICA$ acpi.log' ?
David, unfortunately my memory didn't serve me well. :-(
I just booted eCS to verify my settings: I am using /SMP /APIC /!NOD /TMR. I am particularly shocked by the /TMR being there, since I clearly remember testing my system with tmrtest.exe. This is with eCS v1.2MR and ACPI 3.14. OTOH I see that my eCS v2 Silver boots with /SMP /APIC /!NOD and it has ACPI v3.17, so maybe more recent ACPI releases have fixed the timer behaviour on nVidia-based boxes... and maybe that's where I was succesfully testing with tmrtest.exe.
Anyway... I tried booting without /!NOD with no success. So I guess this is the problem, isn't it? Pete says /!NOD does not allow high IRQs.
I am attaching the output from ACPICA$, IBMS506$ (really DANIS506), RMVIEW /IRQ, and two screenshots of my hardware manager (top half and bottom half).
Is there something else I can try?
Bye
Cris
-
Hi Andi!
Different thought - PCI cards have to have the ability to share IRQs. AFAIK Danis driver and a lot of other drivers work with shared IRQs. Your findings seem to be different on this point.
Is it really true that Danis506 makes problems when the IRQ is shared?
(...)
Andi, I would agree with you, since I have other cards that share IRQs without problems. My SCSI controller is happily sharing IRQ 10 with Uniaud.
But this one is different: it was first sharing IRQs with my USB controller, and as soon as I attached a USB peripheral the system would bomb. Then I managed to shuffle IRQs around so that it is now sharing with the network card; again, if I generate enough network traffic the system bombs.
I don't know who's guilty, but I could solve every issue if I could make it use another IRQ; and since all low IRQs are busy, I need to make it use a high IRQ.
Thank you!
Bye
Cris
-
Hi Cris
I saw a post recently in the ecs ngs that may be relevant to your problem.
The poster was having problems accessing PC-Card attached drive using danis506 v 1.8.5
They reported that backleveling to v1.8.4 solved the problem - indicating possible problems in v1.8.5
Presuming you have v1.8.5 installed maybe you want to try backleveling to see if that changes things - if using a build prior to v1.8.4 maybe you should try updating.
Regards
Pete
-
Hi Cris,
I have many ideas... don't know if any will work though :-)
The first thing I would look at is the BASEDEV=DANIS506.ADD line in CONFIG.SYS. Does it have the /!BIOS switch? If not add it. If it does, remove it. Reboot and see if it helped...
It looks like IRQ15 is not being used - that would be ideal for your second ATA card. ACPI has a facility to direct IRQ's, but unfortunately it will not work as long as you are using /!NOD. (Sometimes it doesn't work anyway.) The other bad thing about /!NOD is when you get the ACPICA$ log, it does not show available links so there is no way to try to set them manually (through the ACPI.CFG file). Are you able to boot the machine with just a blank PSD=ACPI.PSD? If you can, do 'copy ACPICA$ acpi.log' and post that here - the one you have posted does not have the link information (because of /!NOD).
One thing I notice in the log you posted are some error messages. You might try adding /EIS to the ACPI.PSD to see if it helps...
Do I understand correctly that you can not boot with /SMP /TMR? This would be the best to experiment with (if possible)...
Dave McKenna
-
Hi Pete!
Hi Cris
I saw a post recently in the ecs ngs that may be relevant to your problem.
The poster was having problems accessing PC-Card attached drive using danis506 v 1.8.5
They reported that backleveling to v1.8.4 solved the problem - indicating possible problems in v1.8.5
Thank you Pete, this is very interesting!!
I am indeed using v1.8.5, so I'll try downgrading to 1.8.4. I hope v1.8.4 was already supporting JMicron controllers.
Bye
Cris
-
Hi David!
Hi Cris,
I have many ideas... don't know if any will work though :-)
(...)
David, thank you very much. I'll try your ideas ASAP and will report back to you.
Bye
Cris
-
Hi Pete!
Hi Pete!
Hi Cris
I saw a post recently in the ecs ngs that may be relevant to your problem.
The poster was having problems accessing PC-Card attached drive using danis506 v 1.8.5
They reported that backleveling to v1.8.4 solved the problem - indicating possible problems in v1.8.5
Thank you Pete, this is very interesting!!
I am indeed using v1.8.5, so I'll try downgrading to 1.8.4. I hope v1.8.4 was already supporting JMicron controllers.
Bye
Cris
Pete, unfortunately using v1.8.4 made no difference at all. :-(
Thank you BTW for trying!!
Bye
Cris
-
Hi David!
Hi Cris,
I have many ideas... don't know if any will work though :-)
The first thing I would look at is the BASEDEV=DANIS506.ADD line in CONFIG.SYS. Does it have the /!BIOS switch? If not add it. If it does, remove it. Reboot and see if it helped...
It looks like IRQ15 is not being used - that would be ideal for your second ATA card. ACPI has a facility to direct IRQ's, but unfortunately it will not work as long as you are using /!NOD. (Sometimes it doesn't work anyway.) The other bad thing about /!NOD is when you get the ACPICA$ log, it does not show available links so there is no way to try to set them manually (through the ACPI.CFG file). Are you able to boot the machine with just a blank PSD=ACPI.PSD? If you can, do 'copy ACPICA$ acpi.log' and post that here - the one you have posted does not have the link information (because of /!NOD).
One thing I notice in the log you posted are some error messages. You might try adding /EIS to the ACPI.PSD to see if it helps...
Do I understand correctly that you can not boot with /SMP /TMR? This would be the best to experiment with (if possible)...
Dave McKenna
David, I had some time to test various configurations today.
- Tried with /!BIOS on the DANIS506 command line: no difference.
- Tried booting with plain PSD=ACPI.PSD. This worked, but this way it obviously uses only one core. I still have no high IRQs (as expected) and DANIS506 still is unable to use another IRQ despite the /A:1 /IRQ:15 on its command line. The output of "copy ACPICA$ acpi.log" is attached as acpica_plain.log. I notice that the errors are still in the log.
- Tried booting with PSD=ACPI.PSD /EIS: same as with plain PSD=ACPI.PSD. Log is attached as acpi_plain_eis.log.
- Tried booting with PSD=ACPI.PSD /SMP /TMR: I can actually boot (unexpected!), but as soon as the system switches to graphics mode I get a solid hang (no mouse cursor movement, no C-A-D, no CTRL-F10-F10, no CTRL-NUMLOCK-NUMLOCK... I can only use the reset button).
I hope the logs will help and will spark new suggestions!
Thank you!
Bye
Cris
-
Hi Cris,
I had a look at your new logs, and unfortunately it seems your DSDT limits your PCI bus low IRQ's to 5,7,10,11, and 14. This means we can't use IRQ 15 for your second ATA card - bummer. Try all of those on the DANIS506 driver's /IRQ: parameter (one at a time). Try first with just a blank PSD=ACPI.PSD line. If one works, then try with /SMP /TMR.
On my AMD system, I always have to boot twice - the second time works every time (the first time hangs right as the WPS is about to load, when video resolution tries to switch). It may be worth trying to boot several times with /SMP /TMR to see if you can get past the hang....
According to this page: 'http://en.ecomstation.ru/projects/acpitools/?action=down' version 3.09 of ACPI is the last 'stable' version, 3.14 is considered 'beta' and all newer are 'experimental'. Try version 3.09 and see what happens. If no good, I think it would be best to test with 3.18ND - this one has been a big improvement on my AMD system...
You can also try adding a link to ACPI.CFG. Your second ATA card is on LINK LNEB. It defaults to IRQ 11. In the ACPI.CFG file (in the \OS2\BOOT directory) add the line 'LINK LNEB xx' where xx is the IRQ number. Again this can only be one of 5,7,10,11,14. I would start with 7 (it is only used by one device). Make sure it matches the IRQ on the DANIS506 line in CONFIG.SYS (or just remove that parameter). Again try with a blank PSD=ACPI.PSD, then /SMP /TMR if it works. (Using LINK directives does not work with /APIC).
I also see you have a serial port. This means you could provide kernel logs to the ACPI developer (very important for debugging). To do it you need another computer with a serial port, and a null modem cable. I use my laptop (with a USB serial port) to capture the logs from my desktop. If interested I could help you get set up...
Good luck and let's hear how you do.
Dave McKenna
-
Hi David!
Hi Cris,
(...)
On my AMD system, I always have to boot twice - the second time works every time (the first time hangs right as the WPS is about to load, when video resolution tries to switch). It may be worth trying to boot several times with /SMP /TMR to see if you can get past the hang....
I already tried twice without success. Anyway I'll try some more times to see if something changes.
I also see you have a serial port. This means you could provide kernel logs to the ACPI developer (very important for debugging). To do it you need another computer with a serial port, and a null modem cable. I use my laptop (with a USB serial port) to capture the logs from my desktop. If interested I could help you get set up...
Yes, I have a serial port connected to my UPS. Since I have another PC right beside mine, I can easily connect the two by unplugging the UPS and using a null modem cable (which I already own). I already did this when helping the developer of the NVETH network driver, so I know how to set it up.
Thank you very much for your suggestions!
Bye
Cris
-
Hi Cris
As the problem originally seemed to involve sharing IRQs with USB controllers The thought occurred to me that maybe the nForce405 needs the /CD switch on the acpi.psd line, eg:-
PSD=ACPI.PSD /SMP /CD /TMR /APIC /!NOD
The above is definitely required on the nForce430 chipset or the system does strange things when using a usb mouse or accessing usb drives.
An alternative to using acpi may be OS2APIC.PSD: That would require using the modified os2ldr from the OS/4 kernel package ftp://ftp.Linking to this site is not permitted on our forums/os2krnlSVN1832_unoff.zip as the IBM os2ldr does not work properly with nForce4/430 chipsets when using OS2APIC.PSD and crashes soon after starting to boot.
Regards
Pete
-
Hi Pete!
As the problem originally seemed to involve sharing IRQs with USB controllers The thought occurred to me that maybe the nForce405 needs the /CD switch on the acpi.psd line, eg:-
PSD=ACPI.PSD /SMP /CD /TMR /APIC /!NOD
The above is definitely required on the nForce430 chipset or the system does strange things when using a usb mouse or accessing usb drives.
Yes, I've been using /CD myself for a while to cure some strangeness in USB handling. I have to say that nVidia chipsets definitely have a strange way of handling the onboard USB bus. It behaves strangely on Linux too.
I'll try readding /CD (don't remember when or why I removed it).
An alternative to using acpi may be OS2APIC.PSD: That would require using the modified os2ldr from the OS/4 kernel package ftp://ftp.Linking to this site is not permitted on our forums/os2krnlSVN1832_unoff.zip as the IBM os2ldr does not work properly with nForce4/430 chipsets when using OS2APIC.PSD and crashes soon after starting to boot.
I'm already using that kernel and loader, so no problem here. BTW, what's the difference when using OS2APIC? I think it should enable SMP without ACPI, is it right? Does it enable usage of high IRQs?
Thank you!
Bye
Cris
-
Hi Cris
The only real difference between using OS2APIC and ACPI using the /!NOD switch is that the system rarely hangs when using OS2APIC; with ACPI closing Seamonkey, OpenOffice (and other apps) I sometimes find the system hangs and needs a reboot.
When booting/rebooting with ACPI using the /!NOD switch I sometimes get the startup sound stuck in a loop at the end of playback but that does not happen with OS2APIC.
Neither OS2APIC or ACPI using the /!NOD switch use high IRQs here, not sure if OS2APIC is capable, both can enable SMP support. My config.sys line is:-
PSD=OS2APIC.PSD /APIC /P=2
Basically enabling the APIC chip and specifying 2 processors.
There is some info about using OS2APIC in the psd_en.inf file that is included with ACPI but I think that file may be supplied with ACPI builds later than 3.14
Regards
Pete
-
Hi all, I have some news.
I did some experiments with the latest ACPI 3.18 package.
First of all: I had some success booting to command line with a simpler ACPI line in config.sys... I'll post my results as soon as I can.
Since my secondary controller is sharing the IRQ with the network driver, I tried to peruse some of the protocol.ini switches for it (NVETH). I had no success, but I gathered some facts that may help:
1) my computer is not freezing anymore (I don't know if it's due to ACPI 3.18 or to other changes I made)
2) I can easily reproduce the problem by launching the "DIR /S/A" command in a CMD shell and then causing some network activity (e.g. reloading a web page a few times)
3) when the problem occurs, the directory listing stops and the network activity stops, *BUT* I can easily interrupt the hanging directory listing with a CTRL-C (takes 4-5 seconds) and then restart working in the CMD shell without problem. OTOH once the problem occurs the network activity is compromised forever until I reboot.
At this point I'm not sure the problem lies in DANIS506. It may well be a problem in the NVETH driver. What makes me wonder is the fact that when DANIS was sharing IRQ with the USB controller I had problems too... so this seems to indicate DANIS is the culprit.
Any ideas?
Thank you in advance
Bye
Cris
-
Hi Cris
I have no idea if this is related - but could be.
I do *not* use the OS4 kernel myself because it causes my system to crash any time I try to access a UDF formatted disc.
To eliminate the OS4 kernel from the possibly causes of the problem on your system I suggest you use either 14.104a or 14.104b kernels and see if the problem still exists.
Regards
Pete