Hi, is anyone know how to debug the network driver? My problem is no interrupt
is triggered when some packets arriving. The network chip is Micrel
KSZ8842-16MQL. There is no driver for uclinux, so I port the linux driver to
uclinux. I changed the interrupt to IRQ_PF12 when request_irq is called in
device open function. Also I add the following code to generic_board.c because
the chip manual said the interrupt source are level trigger active low.

static struct resource ks8842_resources[] = {
        {
                .start = 0x20200300,
                .end = 0x20200300 + 16,
                .flags = IORESOURCE_MEM,
        },
        {
                /*
                 *  denotes the flag pin and is used directly if
                 *  CONFIG_IRQCHIP_DEMUX_GPIO is defined.
                 */
                .start = IRQ_PF12,
                .end = IRQ_PF12,
                .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
        }
};

And some printk code in interrpt function. The result is the device could be
probed(kernel start) and opened(ifconfig) correctly. When I ping some hosts,
arp request is sent. But when arp response back, it seemed nothing happened.
The eth0 status of running ifconfig shows nothing received and /proc/interrupts
shows no IRQ_PF12(45) interrupt triggered. Is someone have experience in
porting this chip to uclinux? Thanks in advance.


_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to