官方QQ群收藏本站

百问linux嵌入式论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 664|回复: 5

[已解决] 编译出新系统后,没有网卡支持的问题

[复制链接]

2

主题

12

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2016-11-27 21:10:20 | 显示全部楼层 |阅读模式
编译了 4.8.11 版本的内核,并编译了对应的文件系统

在内核的配置中
我已经在
Device Drivers > Network device support > Ethernet driver support  中 选定了
<*>   DM9000 support

为什么在开发板上还是没有网络支持呢?   
/ # ipaddr
1: lo: <LOOPBACK> mtu 65536 qdisc noop qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop qlen 1
    link/sit 0.0.0.0 brd 0.0.0.0


请问我还有哪些选项没有打开?还是有什么配置遗漏了?
回复

使用道具 举报

56

主题

5186

帖子

7811

积分

超级版主

Rank: 8Rank: 8

积分
7811
QQ
发表于 2016-11-27 23:56:04 | 显示全部楼层
你打开dm9000.c,看是否有类似如下的结构:
static struct platform_driver dm9000_driver = {
        .driver        = {
                .name    = "dm9000",
                .owner         = THIS_MODULE,
                .pm         = &dm9000_drv_pm_ops,
        },
        .probe   = dm9000_probe,
        .remove  = dm9000_drv_remove,
};


如果是,那么写是使用平台驱动、平台设备的架构写的。
dm9000.c中有了平台驱动,
还缺一个平台设备:platform_device
你搜"dm9000",看在你的单板文件中,是否有一个name为dm9000的platform_device,
找到它,把它配置进内核
thisway.diy
回复 支持 反对

使用道具 举报

2

主题

134

帖子

408

积分

超级版主

Rank: 8Rank: 8

积分
408
发表于 2016-11-28 17:04:22 | 显示全部楼层
thisway.diy 发表于 2016-11-27 23:56
你打开dm9000.c,看是否有类似如下的结构:
static struct platform_driver dm9000_driver = {
        .driver         ...

dm9000网卡设备驱动在毕业班视频目录下,移植方法是将其拷贝到内核达芬奇网卡驱动下,替换原来的网卡驱动,重新编译即可
回复 支持 反对

使用道具 举报

2

主题

12

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2016-11-29 11:40:08 | 显示全部楼层
thisway.diy 发表于 2016-11-27 23:56
你打开dm9000.c,看是否有类似如下的结构:
static struct platform_driver dm9000_driver = {
        .driver         ...

首先感谢 您 和 liaodasheng 的解答!

按照毕业班的视频中的方法,移植了DM9000以后,(就是修改mach-smdk2440.c),在启动内核的过程中,出现了这个错误

dm9000 dm9000: read wrong id 0x09090909
eth0: dm9000b at c48ca300,c48cc304 IRQ 55 MAC: 0a:8e:40:13:45:5f (chip)

不太清楚这是怎么回事呢?
现象就是:
ifconfig eth0 192.168.1.188        给予它一个IP以后,
ping 192.168.1.1           ping网关不通

内核 3.10.104 版本
还有。。。我在咱们网盘分享里面找了好几圈,也没看见毕业班的相关资料的位置。。。
回复 支持 反对

使用道具 举报

56

主题

5186

帖子

7811

积分

超级版主

Rank: 8Rank: 8

积分
7811
QQ
发表于 2016-11-30 23:38:53 | 显示全部楼层
1.毕业班源在在:http://pan.baidu.com/s/1o8KW8II# ... 9%E9%A9%B1%E5%8A%A8(%E5%9F%BA%E4%BA%8EJZ2440%E5%BD%95%E5%88%B6)%2F%E6%96%87%E6%A1%A3

2.我们首先验证网络环境是否有问题,
你用的是我们提供的UBOOT吗?
可以先在UBOOT里 ping 192.168.1.1 ,看一下网络是否通。

3.那个“dm9000 dm9000: read wrong id 0x09090909”是没有影响的,在DM9000的源码中,有下面的语句,它明确表示在读ID时有可能出错,所以它最多尝试8次;
    而你的系统在第2次读ID时就成功了:

        /* try multiple times, DM9000 sometimes gets the read wrong */
        for (i = 0; i < 8; i++) {
                id_val  = ior(db, DM9000_VIDL);
                id_val |= (u32)ior(db, DM9000_VIDH) << 8;
                id_val |= (u32)ior(db, DM9000_PIDL) << 16;
                id_val |= (u32)ior(db, DM9000_PIDH) << 24;

                if (id_val == DM9000_ID)
                        break;
                dev_err(db->dev, "read wrong id 0x%08x\n", id_val);
        }



thisway.diy
回复 支持 反对

使用道具 举报

2

主题

12

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2016-12-1 18:33:16 | 显示全部楼层
thisway.diy 发表于 2016-11-30 23:38
1.毕业班源在在:http://pan.baidu.com/s/1o8KW8II# ... 9%E9%A9%B1%E5%8A%A8(%E5%9F%BA%E4%BA%8EJZ2440%E ...

弄明白了,问题已经解决,是我设置上的问题,谢谢老师~
回复 支持 反对

使用道具 举报

技术支持
在线咨询
咨询热线
0755-86200561
微信扫一扫
获取更多资讯!

Archiver|小黑屋|百问linux嵌入式论坛     

GMT+8, 2018-12-18 19:46 , Processed in 0.250925 second(s), 19 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表