Linux2.4.x下的网络交换机芯片Rtl8305Sx驱动程序!(MPC826x架构)
当初我在写这个程序前,在网上搜了半天,都没有什么结果,很痛苦!
现在写出来了,放在网上,希望后来的同志们不要像我当初那样无助。哈哈……
把附件中文件后缀改成.c就可以看了。纯文本文件
测试程序如下:
#include <unistd.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h> /*for O_RDWR*/
#define MAJOR_NUM 100
#define DEVICE_NAME "rtl8305_dev"
int main(void){
int test8305,ret;
char rxF[4];
printf("\n");
test8305=open("/dev/rtl8305",O_RDWR);
if (test8305==(-1) )
{
printf("RTL8305 opened fail! \n");
return -1;
}
rxF[0]=0x00 ;
rxF[1]=0x00 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_0=ox%x %x \n",rxF[0],rxF[1]);
/*PHY0-0=0x8300 : Force model/10M/Full /reset/restart Negotiation*/
rxF[0]=0x00 ;
rxF[1]=0x00 ;
rxF[2]=0x83 ;
rxF[3]=0x00 ;
ret=write(test8305, rxF, 4);
sleep(5);
rxF[0]=0x00 ;
rxF[1]=0x00 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_0=ox%x %x \n",rxF[0],rxF[1]);
rxF[0]=0x00 ;
rxF[1]=0x01 ;
ret=read(test8305, rxF, 2);
printf("In main:register0_1=0x%x %x \n",rxF[0],rxF[1]);
close(test8305);
return 0 ;
}
[ 本帖最后由 orien 于 2007-4-1 22:37 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
这是俺在本站的初次奉献,不知道大家喜欢不?
你居然只找了半天,我找了几天
两年前写过一个8305sb的驱动,不过是vxworks下的,感觉还象昨天写的一样。。。。
高手你好,我想问一下:我们在做一个交换机,控制单元选用的是MPC8280,其中8280要与交换芯片接口,交换芯片是参照PMC公司的自己用FPGA实现的,我能参照你的修改吗?我的意思是你的也是为交换机的交换芯片写的驱动吗?:)
还有我想问一下,MPC8280还要用总线接SDH芯片与信元预处理芯片,这些的接口驱动我应该参考什么驱动程序呢?:)
谢谢你了:)
那要看你交换机芯片的具体接口协议,仅从你提供的信息,无法判断!
我们的交换芯片基于共享缓存方式,因为是卫星上用的,所以只是容量大,我们没实现信令,好像没有什么协议啊,我们就是初始化他们,监控他们的状态,异常的时候复位,可能要写一些东西关于交换的到他们的RAM里,我对交换芯片也不是特别了解,我们先做SDH芯片驱动,可是我不知道从哪里入手参考什么的驱动程序来看:(
楼上的高手,谢谢你的指点了哦
喜欢,强顶………………
有没有专门介绍做网络交换机(二层交换、三层交换)的论坛或主页?
或者是谁知道哪里有关于MPC8××或者MPC82××系列的驱动程序啊?:wink: