请教有经验的朋友关于at91sam9263 网络驱动的问题

我是用的QNX 的AT91SAM9263的BSP包,而我的网卡是DM9000,我在QNX的硬件数据里看了一下,好像没有对DM9000支持,而BSP提供的是一个devnp-at91sam9xx.so的驱动,进行了

io-pkt-v4 -dat91sam9xx syspage

#ifconfig emac0 192.168.0.3
查看sloginfo,里面说:
Jan 01 00:17:23 2 14 0 set_phys_addr(): MAC 66:22:00:03:16:15
Jan 01 00:17:23 2 14 0 at91sam9xx_init_phy(): media_rate: -1, duplex: -1, PHY: 0
Jan 01 00:17:23 2 14 0 at91sam9xx_init_phy(): devnp-at91sam9xx: Cannot find an active PHY
Jan 01 00:17:23 2 14 0 at91sam9xx->rx_cap_mask: 0x0
我想是不是这个驱动找不到我的网卡,
第一个问题是不知道devnp-at91sam9xx.so可不可以驱动我的网卡 :unamused:
第二个问题是如果不支持需要另加驱动,我应该怎么入手,我在QNX下了一个Freescale的BSP,里面有一个网卡驱支的源程序,我可以在那个基础上改吗? :unamused:
第三个弱问 :blush: QNX官网上说支持哪些硬件驱动,列出一张表,一搜就出来了,可是怎么下载它啊?
非常谢谢大家不不吝指教,我确实把相关有的资料都读了,可是还是觉得思路不清晰,希望有经验的同志给我点建议,老师出差前交给的任务两个月都过去了,现在都快回来了,可是我还没多大进展着急啊。。。

:unamused: :unamused: :unamused: :unamused: :unamused:

BSP提供的支持,是针对某块特定的板子的。在BSP的说明文档以及BSP里的BuildFile里都有详细的说明。看上去你的板子与QNX支持的开发板不一样。

devnp-at91sam9xx.so 根据你的输出,看来是与你的DM9000网卡区别很大。

不过,我查了一下,系统标准支持里就有devn-dm9102.so,你可以试试把 $QNX_TARGET/…/lib/dll/devn-dm9102.so 拿去你的板子试试,说不定可以用?

QNX的硬件支持数据库在这里(http://www.qnx.com/developers/hardware_support/)可以找到,我不知道你说的一跳没有了是什么意思。

如果上面的办法不成功,那么你要移植一个。要想改的话,要么是找一个别的系统下的dm9000驱动,修改它的接口来接入QNX; 要么是在QNX下找一个相近的驱动来改。

非常谢谢xtang的帮忙,呵呵,看了一下这个论坛里好像都是你在回答问题
我看了硬件手册,我发现我的板子并没有使用AT91SAM9263内部的EMAC,而是在EBI的NCS2上接了一个DM9000
所以我想不能使用devnp-at91sam9xx.so,报 devnp-at91sam9xx: Cannot find an active PHY的错误是应该的,
我也试了DM9102这个驱动,我把在QNX_TARGET/armle/lib/dll里找到devn-dm9102.so devnp-shim.so 把它们回到
proc/boot里,运行

io-pkt-v4 -ddm9102 -v

Unable to init devn-dm9102.so: Unknown error
sloginfo里是:
Jan 01 00:12:51 5 14 0 tcpip starting
Jan 01 00:12:51 3 14 0 Unable to attach to pci server: No such file or directory
Jan 01 00:12:51 3 14 0 Using pseudo random generator. See “random” option
Jan 01 00:12:51 2 14 0 devn-dm9102: Could not attach to PCI server
Jan 01 00:12:51 2 14 0 shim: unable to init dll devn-dm9102.so: No such file or d
irectory
Jan 01 00:12:51 2 14 0 Unable to init devn-dm9102.so: Unknown error
不知道我这样对不对,因为我看到dm9102的驱动是在6.3.2的,而我的BSP内核的6.4.0,不知道能不能用?
还有就是, Unable to attach to pci server是什么意思,我的proc/boot里面是有pci这个文件的
然后就是关于硬件数据库,在http://www.qnx.com/developers/hardware_support/下是可以查到支持的硬件,但那里好像不提供下载
最后还是移植的问题,关于QNX驱动的移植,看网页上说有个DDK可以很方便地移植驱动,但是这个需要注册,我下了FREESCALE的 bsp-freescale-imx53-evk的BSP,里面有devnp源码,不知道这之间差别大不大,我这种思路行不行得通?会不会有一些要用到的上层的库我没有呢?还是找一个linux下的DM9000驱动修改得少一些
谢谢
yang

DM9000是外部NIC,你需要给ioport和IRQ,估计IRQ是通过GPIO来实现的,所以在startup中要初始化好.