| 
 | 
 
 本帖最后由 AdolfHitler 于 2013-7-2 21:44 编辑  
 
ifconfig 正常显示 eth0  
 
但是情况却。。。 
[root@my2440:/]$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 08:20:90:50:90:50   
          inet addr:192.168.1.222  Bcast:192.168.1.255  Mask:255.255.255.0 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 
          Interrupt:51 Base address:0xe300  
lo        Link encap:Local Loopback   
          inet addr:127.0.0.1  Mask:255.0.0.0 
          UP LOOPBACK RUNNING  MTU:16436  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 
[root@my2440:/]$ ping 192.168.1.169 
PING 192.168.1.169 (192.168.1.169): 56 data bytes 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
NETDEV WATCHDOG: eth0: transmit timed out 
 
这里为什么会timed out呢??? 
  
以下,是我添加修改的内容 
修改添加了 arch\arm\mach-s3c2440\mach-smdk2440.c 
#define MACH_MY2440_DM9K_BASE (S3C2410_CS4+0X300) 
static struct resource my2440_dm9k_resource[]={ 
 [0]={ 
  .start  = MACH_MY2440_DM9K_BASE, 
  .end = MACH_MY2440_DM9K_BASE+3, 
  .flags = IORESOURCE_MEM 
  }, 
 [1]={ 
  .start = MACH_MY2440_DM9K_BASE+4, 
  .end = MACH_MY2440_DM9K_BASE+7, 
  .flags = IORESOURCE_MEM 
  }, 
 [2]={ 
  .start = IRQ_EINT7, 
  .end = IRQ_EINT7, 
  .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHEDGE, 
  } 
}; 
static struct dm9000_plat_data my2440_dm9k_pdata={ 
 .flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM), 
}; 
static struct platform_device my2440_device_eth={ 
 .name = "dm9000", 
 .id  = -1, 
 .num_resources = ARRAY_SIZE(my2440_dm9k_resource), 
 .resource  = my2440_dm9k_resource, 
 .dev    = { 
  .platform_data = &my2440_dm9k_pdata, 
 }, 
}; 
static struct platform_device *smdk2440_devices[] __initdata = { 
 &s3c_device_usb, 
 &s3c_device_lcd, 
 &s3c_device_wdt, 
 &s3c_device_i2c, 
 &s3c_device_iis, 
 &s3c_device_rtc, 
 &my2440_device_eth, 
}; 
 
修改添加了 drivers\net\dm9000.c 
#if defined(CONFIG_ARCH_S3C2410) 
#include <asm/arch-s3c2410/regs-mem.h> 
#endif 
...... 
dm9000_init(void) 
{ 
#if defined(CONFIG_ARCH_S3C2410) 
 unsigned int oldval_bwscon   = *(volatile unsigned int *)S3C2410_BWSCON; 
 unsigned int oldval_bankcon4 = *(volatile unsigned int *)S3C2410_BANKCON4; 
 *((volatile unsigned int *)S3C2410_BWSCON)= 
  (oldval_bwscon & ~(3<<16)) | S3C2410_BWSCON_DW4_16 | S3C2410_BWSCON_WS4 | S3C2410_BWSCON_ST4; 
 *((volatile unsigned int *)S3C2410_BANKCON4) = 0x1f7c; 
#endif 
 printk(KERN_INFO "%s Ethernet Driver\n", CARDNAME); 
 return platform_driver_register(&dm9000_driver); /* search board and register */ 
} 
 
内核里的ip配置 
/etc/eth0-setting 
IP=192.168.1.222 
Mask=255.255.255.0 
Gateway=192.168.1.1 
DNS=192.168.1.1 
MAC=08:20:90:50:90:50 
 
/etc/resolv.conf 
nameserver 192.168.1.1 
 
 
请大家不吝赐教,帮帮忙,help help busy!!! 
please murder me!  
 
 
 
 |   
 
 
 
 |