主题 : cs8900a驱动移植问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 3333
精华: 0
发帖: 26
金钱: 170 两
威望: 78 点
综合积分: 52 分
注册时间: 2009-01-05
最后登录: 2010-10-27
楼主  发表于: 2010-04-27 10:42

 cs8900a驱动移植问题

本人欲移植cs8900a的驱动到qq2440上,参考网上的资料对内核中的cs89x0.c文件作了多次修改,始终没有成功,使用的内核版本是2.6.32。
下面是ping网关时出现的问题,望各高手能够指点一下

PING 192.168.1.1 (192.168.1.1): 56 data bytes
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:261 dev_watchdog+0x19c/0x290()
NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out
Modules linked in:
Backtrace:
[<c002eb78>] (dump_backtrace+0x0/0x104) from [<c002ec94>] (dump_stack+0x18/0x1c)

r7:c03ade30 r6:c02665fc r5:c038b05c r4:00000105
[<c002ec7c>] (dump_stack+0x0/0x1c) from [<c004b5b0>] (warn_slowpath_common+0x4c/
0x64)
[<c004b564>] (warn_slowpath_common+0x0/0x64) from [<c004b614>] (warn_slowpath_fm
t+0x30/0x38)
r7:00000000 r6:00000001 r5:00000001 r4:c3982c00
[<c004b5e4>] (warn_slowpath_fmt+0x0/0x38) from [<c02665fc>] (dev_watchdog+0x19c/
0x290)
r3:c3982c00 r2:c038b020
[<c0266460>] (dev_watchdog+0x0/0x290) from [<c0055074>] (run_timer_softirq+0x168
/0x1d4)
r8:c03adec0 r7:c0266460 r6:00000100 r5:c03e7960 r4:c03ac000
[<c0054f0c>] (run_timer_softirq+0x0/0x1d4) from [<c00500ec>] (__do_softirq+0x8c/
0x140)
[<c0050060>] (__do_softirq+0x0/0x140) from [<c00503cc>] (irq_exit+0x44/0x4c)
[<c0050388>] (irq_exit+0x0/0x4c) from [<c002a070>] (asm_do_IRQ+0x70/0x84)
[<c002a000>] (asm_do_IRQ+0x0/0x84) from [<c002aac4>] (__irq_svc+0x24/0xa0)
Exception stack(0xc03adf58 to 0xc03adfa0)
df40:                                                       c03aee90 ffffffff
df60: f410000c 80000013 c03ac000 c03d680c c0025e0c c03afb0c 30023820 41129200
df80: 300237b8 c03adfac c03adfa0 c03adfa0 c002bb2c c002bb38 80000013 ffffffff
r6:00004000 r5:f4000000 r4:ffffffff
[<c002baec>] (default_idle+0x0/0x54) from [<c002bba4>] (cpu_idle+0x64/0x9c)
[<c002bb40>] (cpu_idle+0x0/0x9c) from [<c02d84f8>] (rest_init+0x58/0x6c)
r4:c03ea4c0
[<c02d84a0>] (rest_init+0x0/0x6c) from [<c0008ad0>] (start_kernel+0x27c/0x2e4)
[<c0008854>] (start_kernel+0x0/0x2e4) from [<30008034>] (0x30008034)
---[ end trace c089014549d25f46 ]---
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??
eth0: transmit timed out, IRQ conflict ??

级别: 新手上路
UID: 18283
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2010-04-07
最后登录: 2010-04-28
1楼  发表于: 2010-04-28 17:57
一样的问题,但是我的有时候可以成功!!也不知道是怎么回事,你的有解决吗?
级别: 新手上路
UID: 3333
精华: 0
发帖: 26
金钱: 170 两
威望: 78 点
综合积分: 52 分
注册时间: 2009-01-05
最后登录: 2010-10-27
2楼  发表于: 2010-04-28 20:28

 回 1楼(lastzhyush) 的帖子

还没有呢,就卡在这块了,这么多天一点进展都没有...
级别: 新手上路
UID: 36
精华: 0
发帖: 18
金钱: 120 两
威望: 18 点
综合积分: 36 分
注册时间: 2008-01-24
最后登录: 2016-11-16
3楼  发表于: 2010-04-28 21:51
你要把你的内核启动输出贴出来,肯定是移植的有问题
级别: 新手上路
UID: 23728
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-06-25
最后登录: 2010-07-30
4楼  发表于: 2010-06-30 16:07
插入cs8900.ko后,出现问题:Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)
Unable to handle kernel paging request at virtual address e000030a
pgd = c3f84000
[e000030a] *pgd=00000000
Internal error: Oops: 805 [#1]
Modules linked in: cs8900(+)
CPU: 0    Not tainted  (2.6.26 #17)
PC is at cs8900_probe+0xdc/0x2c0 [cs8900]
LR is at 0xe0000300
pc : [<bf0030dc>]    lr : [<e0000300>]    psr: a0000013
sp : c3e87f14  ip : e000030a  fp : c3e87f34
r10: bec4fe64  r9 : c3e86000  r8 : c0025ca4
r7 : 00000000  r6 : 00000002  r5 : c3f64400  r4 : 00000000
r3 : e000030a  r2 : 00000000  r1 : c3e5c360  r0 : c3e5c360
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0000717f  Table: 33f84000  DAC: 00000015
Process insmod (pid: 607, stack limit = 0xc3e86260)
Stack: (0xc3e87f14 to 0xc3e88000)
7f00:                                              00000000 c3e87f50 c3f64400
7f20: 00000000 00000000 c3e87f50 c3e87f38 c0220464 bf003010 c3f64400 c3f64400
7f40: 00000000 c3e87f68 c3e87f54 c022074c c02203ec c3f64400 bf001764 c3e87f80
7f60: c3e87f6c bf003348 c0220718 00002268 bf0015a0 c3e87fa4 c3e87f84 c005e0b0
7f80: bf0032d0 001bb328 00002268 bec4fe6c bec4fe68 00000080 00000000 c3e87fa8
7fa0: c0025b00 c005e014 00002268 bec4fe6c 001bb328 00002268 0015da34 00000000
7fc0: 00002268 bec4fe6c bec4fe68 00000069 00000000 001af2f0 bec4fe64 00000070
7fe0: 00000000 bec4f918 0001b524 001117ec 60000010 001bb328 30002031 30002431
Backtrace:
[<bf003000>] (cs8900_probe+0x0/0x2c0 [cs8900]) from [<c0220464>] (register_netdevice+0x88/0x32c)
r6:00000000 r5:00000000 r4:c3f64400
[<c02203dc>] (register_netdevice+0x0/0x32c) from [<c022074c>] (register_netdev+0x44/0x54)
r5:00000000 r4:c3f64400
[<c0220708>] (register_netdev+0x0/0x54) from [<bf003348>] (cs8900_init+0x88/0xb4 [cs8900])
r5:bf001764 r4:c3f64400
[<bf0032c0>] (cs8900_init+0x0/0xb4 [cs8900]) from [<c005e0b0>] (sys_init_module+0xac/0x198)
r5:bf0015a0 r4:00002268
[<c005e004>] (sys_init_module+0x0/0x198) from [<c0025b00>] (ret_fast_syscall+0x0/0x2c)
r7:00000080 r6:bec4fe68 r5:bec4fe6c r4:00002268
Code: e28ec00a e35c0201 e1a0300c 328334f6 (e1c340b0)
---[ end trace a23418b7d6f44ab2 ]---
Segmentation fault
啊亲我惹人