完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 Tony_Ho 于 2017-2-4 21:03 编辑
在前面编译完成后,就可以烧写测试启动了。 但是启动后发现了一些问题。本次我们说明一下如何使用OpenWrt中的wired LAN。 网卡驱动问题 本身板子有两个网口,其中一个没有变压器转换器,另外一个在Uboot中使用是没有问题的,可以正常的tftp下载kernel与dtb,但是在Linux,OpenWRT启动后,如果配置网络IP地址就会出现不停的up与down的情况 udhcpc (v1.20.2) started fec 2188000.ethernet eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet:00, irq=-1) IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Sending discover... Sending discover... libphy: 2188000.ethernet:00 - Link is Up - 100/Full IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready libphy: 2188000.ethernet:00 - Link is Down Sending discover... libphy: 2188000.ethernet:00 - Link is Up - 100/Full libphy: 2188000.ethernet:00 - Link is Down libphy: 2188000.ethernet:00 - Link is Up - 100/Full 开始一直以为是这个OpenWRT的问题,以为是OpenWRT中还有其他的程序在控制eth0网卡, 于是看了下OpenWRT的文档, 主要是OpenWRT中的network configuration wiki页面(https://wiki.openwrt.org/doc/uci/network),以及initd的network脚本(/etc/init.d/network),确定是内核网卡驱动的问题。 为了简单处理,这里使用USB有线网卡作为有线网卡来示范。 添加USB网卡 身边有一个廉价的USB网卡,AX8XX系列的,这个网卡需要驱动支持,因此在内核中配置起来即可: 然后需要保存,因为我们使用的是External kernel directory的方式来指定内核source code的,所以并不需要去做其他的处理。然后再一次编译即可。编译完成后更新zImage即可。 启动后我们可以验证这个选项builtin了: root@OpenWrt:/# zcat /proc/config.gz | grep AX8 CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_AX88179_178A=y # CONFIG_CHARGER_MAX8903 is not set CONFIG_SABRESD_MAX8903=y 然后插上USB网卡,就会创建另外一个Network Interface eth1: [ 3.121909] asix 1-1.1:1.0 eth1: register 'asix' at u***-ci_hdrc.1-1.1, ASIX AX88772 USB 2.0 Ethernet, 00:0e:c6:f0:23:d3 配置wired OpenWRT的配置文件都是集中在/etc/config下面,例如wired network,那么是里面的network。其默认就有一些内容,默认的内容配置的是eth0 interface,静态的IP(192.168.1.1),作为bridge方式。我们这里面是将USB网卡eth1链接到上一级的路由器上面的,所以需要使用dhcp来获取ip地址,因此更改后的配置如下: root@OpenWrt:/# cat /etc/config/network config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth1' option proto 'dhcp' option ipaddr '192.168.1.120' option netmask '255.255.255.0' option ip6assign '60' option type 'bridge' 后面的ipaddr其实是不会起作用的。 根据OpenWRT的Wiki页面的信息,我们知道这个dhcpc使用的是busybox里面的udhcpc,因此如果无法获取地址那么需要确定busybox里面是否配置上了这个util: Protocol Description Program static Static configuration with fixed address and netmask ip/ifconfig dhcp Address and netmask are assigned by DHCP udhcpc (Busybox) 配置完成后,我们可以使用下面命令来重启network: /etc/init.d/network restart 对于配置,也可以使用uci命令来配置管理。 使用LuCI查看与配置 配置完成后,我们访问我们的路由器了: 默认是没有密码的,直接点击Login即可进入。 然后我们可以测试一下网络是否联通了: 这里面是用ping来测试的。 至此,路由器本身是可以访问Internet了。接下来还需要完成无线中继器与AP的功能。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10324 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3353 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3228 浏览 0 评论
308浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:50 , Processed in 0.691806 second(s), Total 59, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号