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