免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3370 | 回复: 3
打印 上一主题 下一主题

移植linux2.6到pxa270,eth0: link down,LAN91C111未触发中断 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-16 09:27 |只看该作者 |倒序浏览
最近移植linux2.6.22到pxa270的开发板上时,网络上出了些问题
板子上的网卡是smc LAN91C111,从启动信息看,网卡是认到了,但又link down,以致后面挂载nfs文件系统时挂不上
我在网卡的中断处理函数中加了打印(自身的debug也有打印),但在启动信息中没有看见,中断没有触发
研究了很长时间也没找出解决办法,还望各位给些提示

启动信息如下:
Starting kernel ...
Uncompressing Linux..................................................................................... done, booting the kernel.
Linux version 2.6.22.6 ([email=zozowit@zozowit-desktop]zozowit@zozowit-desktop[/email]) (gcc version 4.2.1 (CodeSourcery Sourcery G++ Lite 2007q3-51)) #13 Wed Jan 16 09:21:13 CST 2008
CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE), cr=0000397f
Machine: Intel HCDDBBVA0 Development Platform (aka Mainstone)
Memory policy: ECC disabled, Data cache writeback
Run Mode clock: 208.00MHz (*16)
Turbo Mode clock: 520.00MHz (*2.5, inactive)
Memory clock: 104.00MHz (/2)
System bus clock: 104.00MHz
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.100:/opt/armland/xscale/rootfs ip=192.168.1.200::::: console=ttyS0,38400 mem=64M nohalt
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62208KB available (2400K code, 200K data, 104K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Mainstone configured to boot from processor-flash
Generic PHY: Registered new driver
Time: pxa_timer clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 204
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 30x40
pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART
pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 21) is a BTUART
pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 20) is a STUART
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
SMSC LAN83C185: Registered new driver
smc91x: smc_probe
smc91x: bank signature probe returned 0x3300
smc91x: revision = 0x3392
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@cam.org>
eth%d: smc_reset
eth%d: smc_phy_detect
smc_phy_read: phyaddr=0x1, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x2, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x2, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x3, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x3, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x4, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x4, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x5, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x5, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x6, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x6, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x7, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x7, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x8, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x8, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x9, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x9, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xa, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xa, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xb, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xb, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xc, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xc, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xd, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xd, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xe, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xe, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0xf, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0xf, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x10, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x10, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x11, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x11, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x12, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x12, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x13, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x13, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x14, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x14, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x15, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x15, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x16, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x16, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x17, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x17, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x18, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x18, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x19, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x19, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1a, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1a, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1b, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1b, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1c, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1c, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1d, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1d, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1e, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1e, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x1f, phyreg=0x2, phydata=0x0
smc_phy_read: phyaddr=0x1f, phyreg=0x3, phydata=0x0
eth%d: phy_id1=0x0, phy_id2=0x0
smc_phy_read: phyaddr=0x0, phyreg=0x2, phydata=0x16
smc_phy_read: phyaddr=0x0, phyreg=0x3, phydata=0xf840
eth%d: phy_id1=0x16, phy_id2=0xf840
smc91x: smc_shutdown
smc_phy_read: phyaddr=0x0, phyreg=0x0, phydata=0x3400
smc_phy_write: phyaddr=0x0, phyreg=0x0, phydata=0x3c00
No IRQF_TRIGGER set_type function for IRQ 163 (FPGA)
eth0: smc_query_statistics
eth0: SMC91C11xFD (rev 2) at c4850300 IRQ 163 DMA 8 [nowait]
eth0: Ethernet addr: 00:01:02:03:04:05
eth0: PHY LAN83C183 (LAN91C111 Internal)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Mainstone configured to boot from processor flash
Probing processor flash at physical address 0x00000000 (32-bit bankwidth)
processor flash: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Searching for RedBoot partition table in processor flash at offset 0x1fc0000
No RedBoot partition table detected in processor flash
cmdlinepart partition parsing not available
Probing main board flash at physical address 0x04000000 (32-bit bankwidth)
Using static partitions on processor flash
Creating 3 MTD partitions on "processor flash":
0x00000000-0x00040000 : "Bootloader"
0x00040000-0x00440000 : "Kernel"
0x00440000-0x02000000 : "Filesystem"
main board flash is absent. Skipping
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
XScale iWMMXt coprocessor detected.
eth0: smc_open
eth0: smc_reset
eth0: smc_enable
eth0:smc_program_phy()
smc_phy_write: phyaddr=0x0, phyreg=0x0, phydata=0x8000
smc_phy_read: phyaddr=0x0, phyreg=0x0, phydata=0x400
smc_phy_write: phyaddr=0x0, phyreg=0x13, phydata=0x3fc0
smc_phy_read: phyaddr=0x0, phyreg=0x1, phydata=0x7809
smc_phy_write: phyaddr=0x0, phyreg=0x4, phydata=0x1e1
smc_phy_read: phyaddr=0x0, phyreg=0x4, phydata=0x1e1
eth0: phy caps=7809
eth0: phy advertised caps=1e1
smc_phy_write: phyaddr=0x0, phyreg=0x0, phydata=0x1200
smc_phy_read: phyaddr=0x0, phyreg=0x1, phydata=0x7809
smc_phy_read: phyaddr=0x0, phyreg=0x1, phydata=0x7809
eth0: link down
eth0: smc_set_multicast_list
eth0: ~(RCR_PRMS|RCR_ALMUL)
eth0: smc_query_statistics
eth0: smc_set_multicast_list
eth0: smc_set_multicast_list
eth0: smc_query_statistics
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
      device=eth0, addr=192.168.1.200, mask=255.255.255.0, gw=255.255.255.255,
     host=192.168.1.200, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.1.100, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.100

[ 本帖最后由 zozowit 于 2008-1-25 10:48 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-01-24 16:40 |只看该作者
中断号不对!
你修改kernel/arch/arm/mach-pxa/mainstone.c文件,
找到smc91x_resources
将[1]={
.start = MAINSTONE_IRQ(3),
.end=MAINSTONE_IRQ(3),
改为
.start = IRQ_GPIO(1),
.end=IRQ_GPIO(1),
.flags=IORESOURCE_IRQ
你的班子有可能与这中断号不一样,你把先前正确的IRQ值打印出来看看吧。我遇到的问题就是修改这里解决了。
}

论坛徽章:
0
3 [报告]
发表于 2008-01-25 09:48 |只看该作者
看了几天,发现实际上,网卡一直都没有触发中断,还请哪位帮我分析分析

[ 本帖最后由 zozowit 于 2008-1-25 10:49 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-01-25 15:51 |只看该作者
晕倒。你试过我说的方法吗!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP