|
本帖最后由 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!
|
|