添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

作者:张华  发表于:2015-10-02
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

( http://blog.csdn.net/quqi99)

WNDR4300和OYE-0001太大了不方便携带,继续折腾一下TL-WR703N上刷OpenWrt。
1, TL-WR703N基于AR7240芯片,下载下列固件,首次从官方固件转换到OpenWrt固件,需要先刷factory镜像。另外的sysupgrade用于从老版本的OpenWrt升级。
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin

2, 用网线连接路由器及电脑有线网卡,并插上电源, 登录http://192.168.1.1界面上刷机时失败(连不上192.168.1.1时可用针顶reset键约10秒重置),总是会又回到dd-wrt的界面。所以改为线刷,如下:
wget http://192.168.1.104:8000/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
root@DD-WRT:/tmp# mtd -r write openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin firmware
Could not open mtd device: firmware
Can't open device for writing!
root@DD-WRT:/tmp# mtd -r write openwrt.bin linux
Unlocking linux ...
Writing from openwrt.bin to linux ...  [w]

3, 设置路由模式。路由模式有WAN与LAN两个网络。LAN(br-lan)一般接wlan0做热点(它必须接一个物理网卡,但是可以软件生成,可以是物理网卡的macvlan口,也可以是vlan口)。

WNDR4300有多个端口,这些端口间采用软件交换机相连后连向eth0,这样,vlan口eth0.1接入br-lan, eth0.2作为WAN口。见:http://www.phpgao.com/openwrt-interface.html

但是WR703N与WNDR4300不同,它只有一个端口,这个端口直接与网卡相连,故没有启动openwrt的软交换。默认地是eth0接到br-lan里了造成没有没有物理网卡给WAN口,这种情况下WAN连无线路由器,br-lan接有线能用,但是我们需要的是WAN接有线br-lan作无线热点。所以得想办法再造一个软件物理口出来。于是通过eth0生成一个macvlan口eth2作为WAN口,eth0仍然放在br-lan里。

ip link add link eth0 eth2 type macvlan
ifconfig eth2 hw ether 00:11:22:33:44:5b
ifconfig eth2 up

然后, 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 'eth2'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '192.168.18.1'
option 'netmask' '255.255.255.0'

config 'interface' 'wan'
option 'proto' 'dhcp'
option 'ifname' 'eth0'
option 'hostname' 'openwrt'

macvlan口相当于以前在一个网卡上配置多IP,但那种方式无法做到MAC地址也不同,而macvlan则可以做到都不同。如果eth0与eth2不通过vlan隔离的话如果两端都运行dhcp的话可能造成问题(如果WAN口运行pppoe不运行dhcp的话则没有这个问题),这个可以在eth0上先生成一个vlan口(ip link add link eth0 name eth0.2 type vlan id 2)再用这个vlan口去生成macvlan口。

4,我没法继续再做这个试验,因为WR703N的内存太小(只有4M),稍微装一两个软件了就报“no space left on device”, 当然我们可以使用ExtRoot特性来使用其他存储系统如USB系统,见:http://en.code-bude.net/2013/02/16/how-to-increase-storage-on-tp-link-wr703n-with-extroot/, 这篇文章也可以参考http://www.tuicool.com/articles/fIvyie, 大致的步骤为:

a, 在电脑上格式化U盘为Ext4格式
ls /dev/sd*ls
dd if=/dev/zero of=/dev/sdc1 bs=512 count=2000
umount /media/hua/myusb
mkfs.ext4 -L myusb /dev/sdb1
# blkid /dev/sdc1
/dev/sdc1: LABEL="myusb" UUID="8a3bcd11-3e78-4044-8824-8e02d85fe914" TYPE="ext4"

b, 安装识别usb的相关包

opkg update
opkg install kmod-usb-storage block-mount fdisk kmod-fs-ext4
reboot -f

c, 识别u盘成功后,将根文件系统拷到u盘上

mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -
umount /tmp/cproot
umount /mnt/sda1

d, 修改 /etc/config/fstab

#old
option target /home
option enabled 0
#new
option target /
option enabled 1

但是 WR703N的内存实在太小,一些必须的软件包(kmod-usb-storage block-mount fdisk kmod-fs-ext4)都没有机会安装,所以实验没法做下去。