- 论坛徽章:
- 0
|
最近我在做8019as的网络驱动,硬件是基于AT91RM9200的ARM,软件内核:linux2.4.27
现在我在启动板子的信息上也出现如下:
Linux version 2.4.27-vrs1 ([email=root@bogon]root@bogon[/email]) (gcc version 2.95.3 20010315 (release)) #170 2009年 02月 11日 星期三 17:04:41 CST
CPU: Arm920Tid(wb) revision 0
Machine: ATMEL AT91RM9200
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,115200 initrd=0x20500000,0x800000 root=/dev/ram rw mem=32M
Calibrating delay loop... 89.70 BogoMIPS
Memory: 32MB = 32MB total
Memory: 22172KB available (1634K code, 310K data, 68K init)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
CPU: Testing write buffer: pass
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
at91rm9200_gpio_init: ---------------------- __init
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
NTFS driver v1.1.22 [Flags: R/O]
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
chip_ID1=0x50 chip_ID2=0x70 base_addr_1=0xc287e000
begin find NE2000 Net Card .... base_addr=0xc287e000
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0xc287e000: 0: 9200_gpio_request_irq .......handler=C00D6BC0 pio=2 pin=23
1: 9200_gpio_request_irq....GPIO_ENABLE_IRQ has been done.PIOA_IER = 1 << 23
08 00 3e 26 0a 5b (这是我写进去的网卡MAC地址)
eth0: NE1000 found at 0xc287e000, using IRQ 2.
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
mice: PS/2 mouse device common for all mice
ttyS%d0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
ttyS%d1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL
AT91 Watchdog Timer enabled (5 seconds)
AT91 Real Time Clock driver
Found AT91 i2c
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.97 (extended precision)
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 8192K
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 68K
init started: BusyBox v1.1.3 (2009.02.11-01:48+0000) multi-call binary
Starting pid 11, console /dev/console: '/etc/init.d/rcS'
on failed: No such file or directory
mount: Mounting none on /dev/pts failed: No such file or directory
mount: Mounting tmpfs on /dev/shm failed: No such file or directory
Please press Enter to activate this console.
从中断看:
#
# cat proc/interrupts
1: 26030 timer, at91_rtc, at91_serial
2: 0 gpio
3: 0 gpio
4: 0 gpio
5: 0 gpio
Err: 0
从网路设备看:
# cat proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#
从整个设备看:
# cat proc/devices
Character devices:
1 mem
2 pty/m%d
3 pty/s%d
4 ttyS%d
5 cua%d
10 misc
13 input
89 i2c
90 mtd
108 ppp
128 ptm
136 pts/%d
162 raw
Block devices:
1 ramdisk
7 loop
31 mtdblock
43 nbd
从ifconfig看:
# ifconfig eth0 192.168.0.198
# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:3E:26:0A:5B
inet addr:192.168.0.198 Bcast:192.168.0.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:2 Base address:0xe000
#
但一ping就是ping不通,就是死了:
wzj----1111---- e8390_base=0x0
net_interrupt(): irq 2 for unknown device.
Unable to handle kernel NULL pointer dereference at virtual address 0000006c
pgd = c0004000
[0000006c] *pgd=00000000, *pmd = 00000000
Internal error: Oops: 7
CPU: 0
pc : [<c00d6c0c>] lr : [<c0021c7c>] Not tainted
sp : c01bdeb0 ip : c01bde3c fp : c01bded4
r10: 00800000 r9 : c01ce32c r8 : 00000000
r7 : 00000017 r6 : c2880000 r5 : c01ce444 r4 : 00000002
r3 : c2881000 r2 : c00070a4 r1 : c2880000 r0 : c019dae8
Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment kernel
Control: C000317F Table: 21A24000 DAC: 0000001D
Process swapper (pid: 0, stack limit = 0xc01bc374)
Stack: (0xc01bdeb0 to 0xc01be000)
dea0: 00800000 c01ce444 c00d6bc0 00000017
dec0: 00000114 00800000 c01bdf00 c01bded8 c0022db0 c00d6bd0 c02762e0 00000000
dee0: 00000002 c01bdf60 c01bdf60 ffffffff 20016da0 c01bdf20 c01bdf04 c001be50
df00: c0022cc0 c01cd2a8 c02762e0 00000002 c01cd220 c01bdf44 c01bdf24 c001bf40
df20: c001be10 c01d5700 c01bdf60 00000002 c001c6d4 60000013 c01bdf5c c01bdf48
df40: c001c0bc c001be8c c01bdf94 fefff000 c01bdfb4 c01bdf60 c001b1c0 c001c098
df60: 00000000 60000013 fefff000 60000013 c01bc000 c001c688 c01bee98 c01cdad4
df80: c01bed84 41129200 20016da0 c01bdfb4 c01bdfb8 c01bdfa8 c001c6c8 c001c6d4
dfa0: 60000013 ffffffff c01bdfd0 c01bdfb8 c001c73c c001c698 c01d6f44 c01f77bc
dfc0: c01cdae0 c01bdfe0 c01bdfd4 c0019030 c001c6ec c01bdffc c01bdfe4 c0008700
dfe0: c0019010 c01cdef0 c01ff624 c01ff624 00000000 c01be000 c0008080 c00085b8
Backtrace:
Function entered at [<c00d6bc0>] from [<c0022db0>]
Function entered at [<c0022cb0>] from [<c001be50>]
Function entered at [<c001be00>] from [<c001bf40>]
r7 = C01CD220 r6 = 00000002 r5 = C02762E0 r4 = C01CD2A8
Function entered at [<c001be7c>] from [<c001c0bc>]
r8 = 60000013 r7 = C001C6D4 r6 = 00000002 r5 = C01BDF60
r4 = C01D5700
Function entered at [<c001c088>] from [<c001b1c0>]
r5 = FEFFF000 r4 = C01BDF94
Function entered at [<c001c688>] from [<c001c73c>]
Function entered at [<c001c6dc>] from [<c0019030>]
r6 = C01CDAE0 r5 = C01F77BC r4 = C01D6F44
Function entered at [<c0019000>] from [<c0008700>]
Function entered at [<c00085a8>] from [<c0008080>]
Code: ebfd2c23 e1a06000 e1a01006 e59f0174 (e598506c)
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
但有一点是肯定的,就是中断处理函数已经被调用了,后来我发现是因为中断处理函数传入参数不对,
不知道是不是因为我的网络设备没有注册成功才造成我中断处理函数传入的参数不对。
有谁知道如何才算网络设备注册成功了!!
主要是看什么地方!!
望高人指点!!!
[ 本帖最后由 wzj071227 于 2009-2-12 15:49 编辑 ] |
|