hardware resource

hello, everyone, I am using an ISA motion control card to control a robot, I use IRQ5 and base address 240~25Fh, it worked fine before with anothe computer, but when I change to a new computer, I find IRQ5 is occupied by the Multimedia device(while the computer starts, before QNX, the computer displays this information).

my question is in QNX how to check these hardware resources such as interrupts and base addresses, and find where and which IRQ number I can put my card to? is it possible to change these configration in QNX?

thank you

With ISA it’s not possible to check it nor change it, unless the devices as some special feature to change IRQ by software or there is Plug and Play support on the devices ( I’m not sure what the state of plug and play with ISA bus is with QNX6).

Usually you can change these setting via bios or jumpers.

mario, thank you for your response, I mean how can I check hardware resources available on the PC in QNX, which IRQ is not occupied by other cards, like wondows hardware manager. then I can decide which IRQ and base address I can use,

huzx1, Mario answered your question the first time. There is no way to ask the OS because it doesn’t keep track.
There are two main resources that might help you, the pci utility, and the isapnp utility, which I don’t think comes with QNX 6, but could probably be easily ported. Beyond that, you would have to have special knowledge of the hardware. For example, if you knew which multi-io chip was on the motherboard, you might be able to interogate it. Likewise, any specific card might have registers that can be looked at. If you are merely trying to get the hardware working, I would suggest finding out what you can about interrupt allocation, and then use trial and error.

thank you, maschoen

You may check interrupts and base in BIOS boot screen. You also may disable Multimedia device in bios.

I have similiar problem when installing a PCAN card to ISA slot. First I set the IRQ to 11 via jumpers, it does not work, then I switch to 10, it works. From the BIOS boot screen, I don’t see IRQ11 is used. Someone told me IRQ11 is usually used by the hardware resource. How can I know who?

well, you may use ‘pci -vvv’ to see the list of all pci devices and irqs they use; you may type ‘pidin arg’ and see which drivers were started and their command line (look for irq option); also you may run ‘enum-devices -n -vvv’ and see all devices detected and their parameters (irq). some hardware interrupts historically belong to some hardware on pc/at: like irq0 - 8254 timer, irq1 - keyboard, irq2 - slave 8259 PIC, irq8 - RTC chip, irq13 - math Co interrupt, irq14,15 - often used by IDE controller, irq6 - floppy disk controller etc.

yes, I can check and arrange particular IRQ number to an ISA card, the problem is base address, I can not check address in BIOS, I am not sure if 240h-25fh are occupied or not, as the test program use IRQ5 and 240-25fh, which I can not change, then this card I can not use in this PC.

I understand I may change IRQ number and base address for my own program

Without your card in the computer, if you read the I/O ports 240-25f, you should get 0xff. Otherwise, something is using that address. If your card has no jumpers to change the address, then it is a very unusual ISA card.