PDA

View Full Version : I/O Conflicts


lambo
12-31-2000, 01:20 PM
How come windows says there is no device conflict in the I/O range but when I change the range the device starts working properly.

xor_chad
01-01-2001, 01:21 PM
Hey
I will make a stab.
Windows may only tell if devices start at the same addresses. If two addresses overlap then i think the windows error detection stuff doesnt catch it.
You probably had something like address 01F0-01F7h being used by one device (8 bytes) and another using 01E0-01F2 for some stupid reason. Understand? I may be way off but i believe this is an issue. Laters...

ps
i am prepared to be corrected http://www.PCGuide.com/ubb/smile.gif

------------------
Chad Wilson
C++/ASM Programmer
PC Support Technician

Paleo Pete
01-02-2001, 04:20 AM
Well, you ain't gonna be corrected by me, cuz I doubt if I could do any better...and can't come up with any other ideas...an overlap of some sort would make sense to me...

------------------
My hairdresser charges me a finder's fee!!

Please post your questions on the forums, not in my email.

Computer Information Links (http://www.geocities.com/paleopete/)

scada
01-02-2001, 10:15 AM
Here's some information (from the MSDN libary) on how Windows detects I/O range coflicts.


I/O Range Check register - I/O Range Check register allows the Plug and Play software to determine if another card conflicts with the I/O port range that has been assigned to a logical device. The I/O range check works by having all I/O ranges that would be used by a logical device return 0x55 then 0xAA on I/O read commands. The Plug and Play software performs reads to all the ports that would be used by the logical device and verifies that the correct data is returned. If a conflict is detected, then the Plug and Play software relocates the I/O range of the logical device to a new location. Setting bit[1] of this register enables the I/O check range check logic. Setting bit[0] forces the logical device to respond to I/O reads within its assigned I/O range with the value 0x55. If bit[0] is cleared, then the logical device responds to reads within its assigned I/O range with the value of 0xAA. This function operates only when bit[0] of the Activate register (described below) is not set. This command is optional and is not implemented on cards that do not have configurable I/O port ranges.


Hope this helps

http://www.PCGuide.com/ubb/smile.gif

lambo
01-02-2001, 06:29 PM
Holy cow. Thanks for the information, but sorry to say that went a bit over my head. Man do I have a lot of studing to do.

Thanks again all