Messages in this thread |  | | Date | Fri, 25 Aug 2000 18:36:54 -0700 | From | "Eric Chang" <> | Subject | 3c507 driver problems |
| |
Hi. I have been having some problems with a 3c507 card in a PCI motherboard (2.2.12). The initial problem was that
insmod 3c507.o
would result in the message "Device or resource busy". It would also hang the mouse until reboot. Obviously, something was wrong.
cat /proc/interrupts
showed that IRQ3 was being used by the serial port. And, a look at the printk() log showed that the driver was trying to pick IRQ3. This should not happen.
Looking at the docs in : http://www.redhat.com/support/manuals/RHL-6.0-Manual/install-guide/manual/doc117.html
shows that the string irq=7 should help set the board to the free irq. This apparently has no effect, however.
Adding printk() statements to the source code shows that it never really uses the irq=7 string:
irq = inb(ioaddr + IRQ_CONFIG) & 0x0f;
irqval = request_irq(irq, &el16_interrupt, 0, "3c507", dev); if (irqval) { printk ("unable to get IRQ %d (irqval=%d).\n", irq, irqval); return EAGAIN; }
Instead, irq is read from the card! This is an error in either the driver or the documentation.
Trying to write the new irq value from:
dev_3c507.irq = irq;
does not work, since without the proper enable code, the register is read only at this time.
The typical solution for this problem is to run the 3com utility under DOS to set the EEPROM. It would be so much simpler to use if the driver only conformed to the manual. Then, you would not have to use DOS. Also, you would not need to crash your machine needlessly.
What do you folks think? Should this be fixed? Probably more important than checking for low memory conditions? :-)
Anyway, I downloaded the programmer's reference from the 3com www site (the Ethernet-HOWTO is out of date), and it tells how to do hte job. I followed the instructions in the reference for reconfiguring the gate array state machine to read-write for that register, and loaded the up to now unused parameter, and it worked. Even ifconfig eth0 worked!
Is this fix of any value to the main branch?
Eric
--== Sent via Deja.com http://www.deja.com/ ==-- Before you buy. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |