+ -
当前位置:首页 → 问答吧 → PXA255平台linux-2.4.19下LAN91C1111网卡驱动开发问题

PXA255平台linux-2.4.19下LAN91C1111网卡驱动开发问题

时间:2010-09-06

来源:互联网

本帖最后由 zhouyahuhu 于 2010-09-06 17:25 编辑

本人在PXA255嵌入式平台(操作系统为linux-2.4.19)下开发LAN91C1111网卡
驱动,现在遇到几个问题,如有高手指点一二,万分感激!

1.加载网卡驱动模块后,可以读出网卡ID:0x3392,也能对网卡相关寄存器进
行写操作,读出无误。但是,在写BANK1的CONFIGURATION寄存器的EPH Power
EN位为1后,再读网卡ID就错了,进一步测试发现无法切换BANK,芯片貌似进入
低功耗状态,而datasheet上说EPH Power EN位为0时,芯片进入低功耗状态。
请问这种状况是什么原因所致?

2.网卡驱动的关键结构net_device的一个成员void *priv,用来指向用户自定
义的一下私有数据,现在发现当访问net_device结构的priv指向的数据时,就
会出错,信息如下:
Unable to handle kernel NULL pointer dereference at virtual address 00000650
mm = c000a220 pgd = c3e68000
*pgd = a3ec7801, *pmd = a3ec7801, *pte = 00000000, *ppte = 00000000
Internal error: Oops: ffffffff
CPU: 0
pc : [<c8873c88>]    lr : [<c8873c60>]    Not tainted
sp : c3e01e18  ip : c3e01df0  fp : c3e01e6c
r10: c3e00000  r9 : 0007f750  r8 : ffffffea
r7 : 00000000  r6 : c3bd6000  r5 : c8879368  r4 : c8879368
r3 : 00000009  r2 : 000005dc  r1 : 00000001  r0 : 0000001c
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 397F  Table: A3E68000  DAC: 00000015
Process insmod (pid: 60, stack limit = 0xc3e0036
Stack: (0xc3e01e18 to 0xc3e02000)
1e00:                                                       c8879368 00000023
1e20: 00002000 00000000 c017d354 0000001a 01c3f750 000005dc 04041ee4 33921801
1e40: c88788f8 00003300 00000000 00002000 00000005 10000300 c8879368 ffffffff
1e60: c3e01ee4 c3e01e70 c8873520 c8873690 ffffffff 00000004 c889d000 c889d000
1e80: c889b000 c8899014 c8897008 c8895004 c8893048 c888303c c8881030 c3e01ec0
1ea0: c8891010 c888f068 c888b060 c887f058 c887d054 c8887018 c8885024 c888d014
1ec0: c8889010 c887b00c 10000300 00000241 c3e01edc c8879368 c3e01f14 c3e01ee8
1ee0: c00f1e6c c8872eb8 00000000 c8879368 c3bd6000 c00d2b6c 00000000 c8872000
1f00: c8874e68 ffffffea 00000008 c3e01f18 c002ba9c c8874e04 c3fdf4c0 c3bd6000
1f20: c3bd7000 00000060 c8860000 c8872060 00007698 00000000 00000000 00000000
1f40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1f80: 00000000 0006b6c0 0006b6c0 00064950 00000080 c001e604 c3e00000 00007698
1fa0: 00000000 c001e460 0006b6c0 c001e3dc bfffed10 0007f750 00000000 00000028
1fc0: 0006b6c0 0006b6c0 00064950 c8872000 bfffed10 00000002 00007698 00000001
1fe0: 400d86c0 bfffbb5c 00027efc 400d86cc 60000010 bfffed10 00000000 00000000
Backtrace:
Function entered at [<c8873684>] from [<c8873520>]
r4 = FFFFFFFF
Function entered at [<c8872eac>] from [<c00f1e6c>]
Function entered at [<c8874df8>] from [<c002ba9c>]
Backtrace aborted due to bad frame pointer <00000008>
Code: e59f00a4 eb00163f e51b2038 e3a03009 (e5c23074)
Segmentation fault

盼高手能指点一二!

作者: zhouyahuhu   发布时间: 2010-09-06

等啊等~

作者: zhouyahuhu168   发布时间: 2010-09-07