OpenWrt1200M路由器器设置万能中继及如何永久修改M

openwrt手动修改mac(非源码中)
问题:多台openwrt设备在同一网络中使用产生MAC冲突
解决过程:
(红色的为新增加的部分)
1.修改 lan,wan mac地址
编辑 /etc/config/network
修改其中一段
config 'interface' 'lan'
option 'type'
'ifname' 'eth0.0'
'proto' 'static'
'netmask' '255.255.255.0'
'ipaddr' '192.168.200.1'
'macaddr' 'd8:64:c7:5e:f1:c6'
config 'interface' 'wan'
'ifname' 'eth0.1'
'proto' 'dhcp'
'macaddr' 'd8:64:c7:5e:f1:c6'
2.修改 eth0 mac地址
编辑 /etc/rc.local
ifconfig eth0ifconfig eth0 hw ether
d8:64:c7:5e:f1:c6;ifconfig eth0 up
3.修改wireless mac地址
这就最纠结了直接修改
/etc/config/wireless中的mac是没用的,并且修改后无线网络会无法启动。
在研究了/sbin/wifi脚本后,只能通过迂回战术来进行解决。
编辑 /sbin/wifi
修改如下一段,增加内容
set_wifi_up() {
wifi_ls /tmp/runbssid=d8:64:c7:5f:f1:c6/
/var/run/hostapd-phy0.conf
hostapd -P
/var/run/wifi-phy0.pid -B
/var/run/hostapd-phy0.conf
echo wifi_up
2;ls /tmp/run/*.conf
ifname="$2"
echo wifi_up
3;ls /tmp/run/*.conf
uci_set_state
wireless "$cfg" up 1
uci_set_state
wireless "$cfg" ifname "$ifname"
4.修改完成
重启,就能看到所有修改都生效了。
没有更多推荐了,openwrt中继设置方法
中继设置方法:
实现功能: 无线连接上级路由器, 然后再通过本机路由器实现有线和无线都能上网.
一. Web界面的操作如下, 很简单的
1、网络-&无线, 点击“扫描”按钮。
2、在新出现的界面中,点击你需要中继的网络右边的“加入网络”
3、在新出现的界面中,只在第2行中输入密码, 其余不要改动, 然后点击"提交"
4、再点击“无线”,出现新界面后,点击图中“新增”图标
5、设置你期望的Essid(按照703N的官方说明书, 和上级路由的SSID相同为中继模式, 和上级路由的SSID不相同则为桥接模式),Mode必须设置为Access Point---接入点,NetWork设置为Lan。在Security页面可以设置密码, Channel不能选择和上级路由器的同段., 点击“保存 & 应用”,稍等片刻,应该可以看到wifi信号了, 但一般此时无法连接, 可重启路由器后正常.
二. 配置文件如下, 我一般是用Winscp直接拷贝到 /etc/config 目录下, 然后重启路由就可以了.
----- network 内容如下 ----------
#Repeater: RJ45--&LAN, WIFI--&LAN. 实现有线和无线都可以上网
#电脑端若设置固定IP, 则其DNS为本级路由IP而不能为上级路由的IP
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 'eth0'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1' #和上级路由IP不在同段内,我的上级路由为192.168.8.1
option netmask '255.255.255.0'
config interface 'wwan'
option proto 'dhcp'
------------ wirelss 的内容如下
#Repeater: RJ45--&LAN, WIFI--&LAN. 实现有线和无线都可以上网
config wifi-device 'radio0'
option type 'mac80211'
option macaddr '38:83:45:36:0c:f0'
option hwmode '11ng'
option htmode 'HT20' #改成'HT40-'则无法上网
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option disabled '0'
option channel '10'
option txpower '27'
option country 'US'
config wifi-iface
option ssid 'yuanzhi' #上级路由的SSID
option encryption 'psk' #上级路由的无线密码方式
option device 'radio0'
option mode 'sta'
option network 'wwan'
option key '' #上级路由的无线密码
config wifi-iface
option device 'radio0'
option mode 'ap'
option ssid 'qiushui_007' #本机路由的无线SSID
option encryption 'psk2'
option key '' #本机路由的无线密码
option network 'lan'
没有更多推荐了,价格从低到高
价格从高到低
相关推荐词
相关推荐词
相关推荐词
相关推荐词
相关推荐词
[{"chanpin":"tmall","mobileUrl":"https://m.tmall.com/mblist/cp_b3BlvNI.html","pcUrl":"https://www.tmall.com/mlist/cp_b3BlvNI.html","word":"ope家"},{"chanpin":"tmall","mobileUrl":"https://m.tmall.com/mblist/cp_T1BFzvyzvsb3.html","pcUrl":"https://www.tmall.com/mlist/cp_T1BFzvyzvsb3.html","word":"OPE吸尘器"},{"chanpin":"tmall","mobileUrl":"https://m.tmall.com/mblist/cp_b3Blzvyzvsb3.html","pcUrl":"https://www.tmall.com/mlist/cp_b3Blzvyzvsb3.html","word":"ope吸尘器"},{"chanpin":"tmall","mobileUrl":"https://m.tmall.com/mblist/cp_b3BlxbfG1cThtvs.html","pcUrl":"https://www.tmall.com/mlist/cp_b3BlxbfG1cThtvs.html","word":"ope欧普尼尔"}]修改Openwrt的MAC的几种方法
平台:openwrt + QCA9561
在rcS或者rc.local启动脚本中加入以下指令(适用于小批量的更改)
ifconfig NI hw ether xx:xx:xx:xx:xx:xx
//NIC是网卡名称,xx是mac
在对应网卡的network配置文件中加入(适用于小批量的更改)
option macaddr xx:xx:xx:xx:xx:xx
高通无线相关的校准数据都是保存在openwrt的Flash的ART分区的,通过修改art中的mac地址对应区的内容从而修改mac
从启动时候的log中可以查看到flash的分区情况
Creating 6 MTD partitions on "spi0.0":
0.x-0x : "u-boot"
0.x-0x : "u-boot-env"
0.x-0x00 : "rootfs"
0.700000] mtd: partition "rootfs" set to be root filesystem
0.710000] mtd: partition "rootfs_data" created automatically, ofs=8D0000, len=5B0000
0.x0-0x00 : "rootfs_data"
0.x00-0x00 : "kernel"
0.730000] 0x00-0x : "art"
0.x-0x00 : "firmware"
0.770000] ag71xx_mdio: probed
0.890000] ag71xx_mdio: probed
0.900000] eth0: Atheros AG71xx at 0xb9000000, irq 4
Qualcomm Atheros官方说明文档中对于ART分区的规定了MAC0也就是ETH0的MAC地址保存在0x0-0x5偏移地址 中,MAC1也就是ETH1的MAC地址保存在0x6-0xB偏移地址中,无线的MAC地址分别保存在0x8与 0x8偏移地址中。如果是单Radio设备,那么只有First Radio Calibration Data,如果是双Radio设备,会同时有First/Second Radio Calibration Data。
另外openwrt是用mtd的方式进行分区的,可以通过cat /proc/mtd查看art在flash中的那块block里面
mtd0: 10000 "u-boot"
mtd1: 10000 "u-boot-env"
mtd2: 00e00 "rootfs"
mtd3: 005b0 "rootfs_data"
mtd4: 10000 "kernel"
mtd5: 10000 "art"
mtd6: 00fa0 "firmware"
上面可以看出art是在mtd5,那用cat /dev/mtd5 | hexdump 指令可以查看到mtd5的具体内容:
0000000 0016 fbb0 00b3 0016 fbb0 00b2 ffff ffff
0000010 ffff ffff ffff ffff ffff ffff ffff ffff
2 0016 fbb0 00b0 00 0000
0 00 00 1f00
2 00 0c00 7d00 0300 08ff
6 c13e 11 10
0 08 081c 00
0001050 ff00 06 00 000f
c f0f0 f000 f0f0
0 00 00 0000
0 00 00 000c
d 8e 8e 0000
9 008e 8f 8f
0 0070 ac70 89ac 7089 ac70 89ac 3232
2 30 30 3030
0 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e
e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e
e2e 2e2e 2e2e 42
7 7075 acb8 7075 acb8 7075 acb8 7075
0001150 acb8 7075 acb8 7075 acb8 7075 acb8 7075
0001170 acb8 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c
c7c 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c
c7c 22 00 0000
0 00 ff 0000
0 00 0e 0e03
d e200 020e 1ce0 e0f0 0ce0 e0f0 6c00
0 00 001c 1c00
0 4c c a0b9 cd00
0 00 00 0000
0 00 00 004c
8 788c a0b9 cd4c
8 8cb4 bdb9 cd14
140a 0a00 000a 0a00
a 0a00 a00 000a 0a00 000a
a00 a00 000a 0a00 000a 0a00
4 140a 0a00 000a 0a00 000a 0a00 0014
a 0a00 000a 0a00 000a 0a00 a
a00 000a 0a00 000a 0a00 a00
a 0a00 000a 0a00 a00 000a
a00 000a 0a00 a00 000a 0a00
a 0a00 a00 000a 0a00 000a
a00 a00 000a 0a00 000a 0a00
4 140a 0a00 000a 0a00 000a 0a00 0014
a 0a00 000a 0a00 000a 0a00 a
a00 000a 0a00 000a 0a00 a00
a 0a00 000a 0a00 a00 000a
a00 000a 0a00 46
b9cd 3c7c 3c7c 3c7c 3c7c
c7c 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c 3c7c
0001440 ffff ffff ffff ffff ffff ffff ffff ffff
上面红色部分0x0-0x5偏移地址 中,MAC1也就是ETH1的MAC地址保存在0x6-0xB偏移地址中,无线的MAC地址分别保存在0x7与 0x7偏移地址中。
导出这个文件假设导出文件命名为art-bk,然后用二进制文件编辑器修改对应的位,最后用ftp传到/tmp中,通过下面指令将原来的mtd5的art覆盖
mtd write art-bk art
通过程序直接读取/dev/mtd5的内容,然后修改对应的位(适用于规模化生产)
int openwrt_mac_write(char *nic, char *value,int count)
int size = 0;
struct mtd_info_user mtdI
struct erase_info_user mtdEraseI
int fd = open(/dev/mtd5, O_RDWR | O_SYNC);
unsigned char *buf, *
if(fd & 0) {
printf("Could not open mtd device: %s\n", /dev/mtd5);
return -1;
if(ioctl(fd, MEMGETINFO, &mtdInfo)) {
printf("Could not get MTD device info from %s\n", /dev/mtd5);
close(fd);
return -1;
mtdEraseInfo.length = size = mtdInfo.
buf = (unsigned char *)malloc(size);
if(NULL == buf){
printf("Allocate memory for size failed.\n");
close(fd);
return -1;
if(read(fd, buf, size) != size){
printf("read() %s failed\n", /dev/mtd5);
goto write_
mtdEraseInfo.start = 0x0;
for (mtdEraseInfo. mtdEraseInfo.start & mtdInfo. mtdEraseInfo.start += mtdInfo.erasesize) {
ioctl(fd, MEMUNLOCK, &mtdEraseInfo);
if(ioctl(fd, MEMERASE, &mtdEraseInfo)){
printf("Failed to erase block on %s at 0x%x\n", /dev/mtd5, mtdEraseInfo.start);
goto write_
if (!strcmp(nic, "wan"))
ptr = buf + WAN_OFFSET;
else if(!strcmp(nic, "lan"))
ptr = buf + LAN_OFFSET;
else if(!strcmp(nic, "ath0"))
ptr = buf + WIFI_OFFSET;
memcpy(ptr,value,count);
lseek(fd, 0, SEEK_SET);
if (write(fd, buf, size) != size) {
printf("write() %s failed\n", /dev/mtd5);
goto write_
close(fd);
free(buf);
write_fail:
close(fd);
free(buf);
return -1;
通过fopen,fread,fseek,fwrite来修改/dev/mtd5
没有更多推荐了,设置openwrt,使wifi路由器既可以连接到外网wifi路由器,并且还能够让无线设备来连接。
最近刚入手一只GL inet 无线路由器 带双口usb的,计划用到自己即将组装的智能小车上,既可以学习远程智能控制,同时还可以学习一下openwrt。由于需要远程控制那么就需要无线路由器能够去连接家里外网路由器,但同时也希望自己的电脑能够通过无线直接连接到这个路由器上进行设置和编程。这就需要这个路由器 既作为客户端连接外网路由器 也要作为服务端被自己的电脑等无线设备相连。在网上找了很多教程几乎都没有说到。经过自己不断的研究,终于搞定了。记性不好,写个文章记录一下。以后万一用到也方便查阅。
GL INET卖回来已经刷好原版openwrt 同时也安装了luCI 这里就不做介绍 如果刷和安装,这样的文章度娘里一堆。我们直接切入正题吧!
首先 我们需要让GL 连接到 外网路由器上
进入openwrt设置界面 看下图设置
进入 wifi 的设置界面后 点击 Scan 按钮
则会出现所有你能搜索到的无线网络界面,这个界面由你自己的周围环境的网络状况而定,这里就不截图了。只要选中你自己的网络 点击 join network
然后来到这个界面 注意下面画框部分 的设置
上面的步骤设置完成,恭喜你 你的这个路由器已经能上网了,但是你的手机 电脑啊 还不能连接上去。那我们接着往下走,继续回到文章的第一步点击wifi后 这次不点击Scan 而是点击 它旁边的按钮 Add 然后见下图设置
严格按照上图设置完以后 再选择 红方框 上面 Wireless Security 进入后
里面有三个设置
无线网的加密方式 及 加密key 这里就不做介绍了,等这步设置完成,则我们现在就可以 使用无线设备来和这个路由器连接了。但是要想通过他上网还有更重要的一步要设置 点击下图方框按钮
来到这里 现在设置dhcp
然后 save 一下 。 上面所有的步骤 都需要 submit 或者save 哦 不要忘了 我是为了节省字数 就没有一一道出 ,但你们别忘了。到此 你的无线路由已经连接到外网路由了 并且 手机 电脑啥的 也都可以连接上去 上网了!
没有更多推荐了,

我要回帖

更多关于 1200M路由器 的文章

 

随机推荐