NuMega DriverStudio & IO ports

Did you ever use NuMega DriverStudio? The question is about PnP WDM
driver for some PCI hardware. That hardware needs an IRQ and has 16 16bit
registers. No DMA. It also has PnP support. I’ve made my driver
project from NuMega DS template. It works just fine but I can’t access
to hardware registers. I mean I connect to them with KIoRange and
return values from KIoRange::Initialize is success status. But
read/write operation has no effect. Resources allocation is ok too -
an irq and IO range.
Some time ago I made another driver for similar hardware and it
has worked fine. No problem. Manufacturer similar, resources similar,
drivers too, so where is the trip? Drivers from manufacturer also
works properly.
HELP please.
Thanks.

  • MB

In the device class OnStartDevice handler, make sure that you are using
the translated resources and not the raw resources to initialize the
KIoRange object. I suggest to step into calls like KIoRange::inb to see
the parameters to READ_PORT_UCHAR. Verify that the base address and
offset are correct. Examine the PCI config space for the device to make
sure the base address is correct.

Otherwise, contact Compuware DriverStudio tech support.

Steve Smith
Compuware

Try dropping KIoRange and using the kernel’s facilities to do the thing.
Also use AllocatedResourcesTranslated, and not AllocatedResources.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Stanislav Kraev”
To: “Windows System Software Devs Interest List”
Sent: Thursday, November 06, 2003 5:29 PM
Subject: [ntdev] NuMega DriverStudio & IO ports

> Did you ever use NuMega DriverStudio? The question is about PnP WDM
> driver for some PCI hardware. That hardware needs an IRQ and has 16 16bit
> registers. No DMA. It also has PnP support. I’ve made my driver
> project from NuMega DS template. It works just fine but I can’t access
> to hardware registers. I mean I connect to them with KIoRange and
> return values from KIoRange::Initialize is success status. But
> read/write operation has no effect. Resources allocation is ok too -
> an irq and IO range.
> Some time ago I made another driver for similar hardware and it
> has worked fine. No problem. Manufacturer similar, resources similar,
> drivers too, so where is the trip? Drivers from manufacturer also
> works properly.
> HELP please.
> Thanks.
>
> - MB
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com