Network won't initialize
Till Straumann
strauman at slac.stanford.edu
Mon Sep 4 15:05:50 UTC 2006
Steve Hunt wrote:
>I had a problem (perhaps the same) with a realtek chip, I reported it to
>the mailing list some time ago. It was a problem with IP checksum not
>being calculated correctly (have a look with etherreal)- strangely a
>delay in the code calling the checksum routine made it work! - but then
>(in cpukit/libnetworking/netinet/ip_output.c) I changed the calls to ip-
>
>
>>ip_sum = in_cksum_hdr(ip); into ip->ip_sum = in_cksum(m, hlen); and it
>>
>>
>works.
>
>More recently there was a long discussion on checksums ... indicating
>problems due to compiler optimizations, so maybe it has now been
>fixed.
>
>
The checksum problem should be fixed (make sure your sources are up-to
date).
The first things to try:
1) since you're using BOOTP, the first thing the network does is
broadcasting a
BOOTP request. Use a sniffer to find out if that request makes it
out onto the
wire.
2) find a way to count interrupts. If the count doesn't increase on a
busy network
or then you send something [e.g,. arp req] to the box then
something is wrong.
The first things to check would be the base address and interrupt
line information.
HTH
-- Till
>Steve Hunt
>
>On Mon, 2006-09-04 at 17:04 +0930, robe0413 at flinders.edu.au wrote:
>
>
>>Hi everyone,
>>
>>I've got a pc386 BSP, with a reatlek 8139D network card. I know RTEMS does not
>>include a driver for this card, but I was able to find one that supposible
>>works, which I have attached.
>>
>>The problem is that when I try to initialize the network via
>>rtems_bsdnet_initialize_network() the system just hangs and does nothing.
>>
>>The network is being configured by the following header file:
>>
>>/**
>> * Contains the Network configuration for the PC104
>> *
>> *@AUTHOR David Roberts
>> *@DATE 01/09/06
>> *@VERSION 1.00
>> */
>>
>>#include <bsp.h>
>>
>>/* defines and headers for the rtk driver */
>>//#define __INSIDE_RTEMS_BSD_TCPIP_STACK__
>>//#define Os_RTEMS
>>#include "libNICS.h"
>>
>>#define NETWORK_TASK_PRIORITY 30
>>#define NETWORK_DRIVER_NAME "rt1"
>>#define NETWORK_DRIVER_ATTACH rtems_rtk_driver_attach
>>#define NETWORK_DRIVER_IRQ 11
>>
>>//#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_NE_driver_attach
>>
>>static struct rtems_bsdnet_ifconfig netdriver_config = {
>> NETWORK_DRIVER_NAME,
>> NETWORK_DRIVER_ATTACH,
>> NULL, /* next IF */
>> NULL, /* BOOTP supplies IP address */
>> NULL, /* BOOTP supplies IP net mask */
>> NULL, /* Defaults hardware address */
>> 0, /* ignore broadcast */
>> 0, /* mtu */
>> 0, /* rbuf_count */
>> 0, /* xbuf_count */
>> 0, /* port */
>> NETWORK_DRIVER_IRQ, /* irno */
>> 0 /* bpar */
>>};
>>
>>struct rtems_bsdnet_config rtems_bsdnet_config = {
>> &netdriver_config,
>> rtems_bsdnet_do_bootp,
>> // NETWORK_TASK_PRIORITY,
>> // 256*1024, /* MBUF spze */
>> // 512*1024, /* MBUF cluster space */
>>};
>>
>>
>>
>>If anyone has some solution or things I could try I would greatly appriciate it,
>>as I've been starring at this problem for days with no solution.
>>
>>Regards,
>>David Roberts
>>
>>
>
>
>
More information about the users
mailing list