Russell King - ARM Linux Admin wrote:
>
> Dave Baukus writes:
> > The driver configures itself fine, but when ip config attempts to use
> > it for bootp, the bootp packets go out, the bootp server replys and the
> > lance driver does not get the reply.
>
> It may be worth trying to display the first 16 bytes of the received packet
> to see what is being passed into the kernel. This should consist of two
> sets of 6 bytes of ether addresses, 2 bytes of ether type, followed by 0x45
> (being the first byte of the IP header).
It appears that we are receiving all FF's.
The driver allocates "discriptor rings" and the card writes to the
rings when it receives packets. Is it possible that the region of
memory that was allocated by the driver is not correctly mapped
to the bus ?
The driver is constantly masking hardcoded values into the bus address
that I do not understand. Can anyone comment on the meaning of
the 0x80000000 in the following code fragment:
rx_buff = kmalloc(PKT_BUF_SZ, GFP_DMA | gfp);
if (rx_buff == NULL)
lp->rx_ring[i].base = 0;
else
lp->rx_ring[i].base = (u32)virt_to_bus(rx_buff) | 0x80000000;
--
Dave Baukus
Inet Technologies Inc.
[EMAIL PROTECTED]
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]