Dear Mandrake-Experts

I have an PnP-ISA-Card installed in my PC, but do have problems
reading/writing from/to the card.

/proc/isapnp says:

Card 1 'BUR0020:BUR PCIO' PnP version 1.0
Logical device 0 'BUR0000:Unknown'
Supported registers 0x2
Device is active
Active port 0x220
Active IRQ 5
Active DMA ,0
Resources 0
Priority acceptable
Port 0x200-0xffe0, align 0x1f, size 0x20, 16-bit address decoding IRQ
3,4,5,6,7,2/9,10,11,12,14,15 High-Edge

My interpretation is that the Base Address is 0x220.

I'm using ioperm to get permission to read/write to the card as follows
(I'm root):

int initPort()
{
        if(iIOAddr == 0) //iIOAddr is 0x220
                return 1;

        return ioperm(iIOAddr, 0x20, 1);
}

Reading(writing is done as follows:

void readIOw(uint16 iOffset, uint16 *iVal) {
        if (iVal == NULL) {
                printf("readIOw: can't write to null pointer\n");
                return;
        }
        *iVal = inw(iIOAddr + iOffset);
        //usleep(1);
}

void writeIOw(uint16 iOffset, uint16 iVal) {
        outw(iVal, iIOAddr + iOffset);
        //usleep(1);
}

Well, to be short, it doesn't work. readIOw always returns 0xffff, which
shouldn't be.

The same Card works fine under Tornado/vxWorks using the same
mechanisms. Therefore the I think the addresses are correct and it might
be a Linux realated problem.

Any help is really welcome

Marcus
Content Security by MailMarshal

Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to