Date: Thu, 21 Feb 2002 00:36:06 -0500 From: Benjamin Lewis <bhlewis@wossname.net> To: Vinod <geekvinod@yahoo.com> Cc: freebsd_mail@yahoo.com, freebsd-mobile@freebsd.org Subject: Re: reassigning irq's Message-ID: <20020221053607.0EC27DA@akira.wossname.net> In-Reply-To: Your message of "Wed, 20 Feb 2002 13:33:30 PST." <20020220213330.87550.qmail@web21104.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Vinod wrote: > actually my pccard is a pci card inserted into a pci > slot(i dont have any isa slots).so what best can be > done in the present circumstances? I had a similar problem with an SMC 2602 802.11b PCI card. Nearly every device on that rotten machine wanted to use the same IRQ (11). I couldn't disable enough of the devices to allow the wi device its own IRQ and yet leave a useful machine. Instead, I simply forced the wi device driver to accept the shared IRQ. That behavior seems to be the default with the latest revision of if_wi.c in -current (1.73). The -current implementation is much better than mine because I didn't care about non-PCI cards at all (the machine doesn't have any PCMCIA/PCCARD slots). That said, here's what I did: I found the bit in /usr/src/sys/dev/wi/if_wi.c that looks something like this: sc->irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); And changed it to something like this: sc->irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE|RF_SHAREABLE); Those lines appear in the wi_alloc function. The first line of the pairs may be different, I didn't catch which version of FreeBSD you use. The change is on the second line anyway; just leave the first one alone. Note that this change will probably do really bad things if a PCCARD Wavelan device ever ends up in the computer! Doing it the right way probably wouldn't take too much more effort. You might look at the diffs between 1.72 and 1.73 for pointers. Actually, looking at the commit message for 1.73, you may find that those changes find their way into -stable soon and your problems will be solved by just waiting for that (assuming you're running -stable). After making the change, I built a new kernel and modules, rebooted, and had happy wireless fun :) At least, I'm pretty sure that's all I had to do -- it was a little while ago! -Ben -- Benjamin Lewis bhlewis@wossname.net -or- bhlewis@purdue.edu -- Benjamin Lewis bhlewis@wossname.net -or- bhlewis@purdue.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020221053607.0EC27DA>