WNDR4300 折腾记录

一、WNDR4300刷OPENWRT安装shadowsocks+ChinaDNS

准备材料

步骤

  • 用网线连接路由器LAN口,登录路由器后台,在系统升级选项卡中,选中文件夹里的"openwrt-15.05.1-ar71xx-nand-wndr4300-ubi-factory.img" 升级系统,等待路由器重启。
  • 登录系统,更改root密码、设置拨号连接、替换软件源:(需自建反向代理服务器)
#Distribution feeds
src/gz chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/base
src/gz chaos_calmer_luci http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/luci
src/gz chaos_calmer_packages http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/packages
src/gz chaos_calmer_routing http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/routing
src/gz chaos_calmer_telephony http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/telephony
src/gz chaos_calmer_management http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/nand/packages/management

#Custom feeds
src/gz openwrt_dist http://openwrt-dist.sourceforge.net/releases/ar71xx/packages
src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/releases/luci/packages
  • 用Xshell登录,输入以下命令:
opkg update //更新opkg软件包列表
opkg install luci-i18n-chinese //安装中文语言包
opkg install wget //安装wget命令
opkg install ChinaDNS //安装ChinaDNS
opkg install shadowsocks-libev-spec //安装shadowsocks
opkg install luci-app-shadowsocks-spec //安装shadowsocks 网页配置界面
opkg install luci-app-chinadns //安装ChinaDNS 网页配置界面
reboot //重启路由器
  • 启用CHINADNS,其它默认(建议将8.8.4.4换成非标准自建DNS);
  • 网络菜单DHCP/DNS项下DNS转发设置为 127.0.0.1#5353;
  • HOSTS和解析文件项下勾选“忽略解析文件”;
  • 填写SHADOWSOCKS帐户信息;
  • 访问控制忽略ip列表选择『ChinaDNS路由表』,保存。

再然后Xshell输入以下命令

wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt
reboot #重启

二、OpenWRT共享打印机

  •  安装USB Printer Driver服务
opkg update
opkg install kmod-usb-printer
  • 安装P910nd与LUCI
opkg install p910nd
opkg install luci-app-p910nd
  • 配置打印机服务器
    勾选 enable
    默认/dev/usb/lp0
    端口 9100
    勾选 Bidirectional mode
  • 配置防火墙
    这里主要是添加通信规则 - > 协议:TCP;源区域:LAN;目标区域:设备(输入);目标端口:9100;动作:接受;其他选项(默认)
  • 添加打印机
    设备和打印机 - 添加打印机 - 添加本地打印机 - 创建新端口(端口类型Standard tcp/ip port) - IP地址:路由地址(192.168.1.1),端口名称默认,去掉查询,点下一步 - 自定义设置端口号9100 - 下一步添加驱动。

三、安装迅雷快鸟插件

https://github.com/fffonion/Xunlei-Fastdick

四、挂载USB存储设备(bug)

1. 安装相关依赖包

opkg update
opkg install kmod-usb-core
opkg install kmod-usb-storage
opkg install kmod-usb2
opkg install kmod-usb-ohci
#如共享过打印机可跳过
---------------------------------
opkg install ntfs-3g                  #挂载NTFS
opkg install kmod-fs-vfat             #挂载FAT
opkg install mount-utils              #挂载卸载工具
opkg install block-mount
opkg install luci-app-samba           #SAMBA网络共享服务
/etc/init.d/samba enable              #启用并开始SAMBA共享
/etc/init.d/samba restart

2. 用WinSCP连接路由器,打开/etc/hotplug.d/block/10-mount文件,修改如下,实现自动挂载。

#!/bin/sh
 
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then
 
    device=`basename $DEVPATH`
    case "$ACTION" in
        add)
                mkdir -p /mnt/$device
                # vfat & ntfs-3g check
                if  [ `which fdisk` ]; then
                        isntfs=`fdisk -l | grep $device | grep NTFS`
                        isvfat=`fdisk -l | grep $device | grep FAT`
                        isfuse=`lsmod | grep fuse`
                        isntfs3g=`which ntfs-3g`
                else
                        isntfs=""
                        isvfat=""
                fi 
 
                # mount with ntfs-3g if possible, else with default mount
                if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
                        ntfs-3g -o nls=utf8 /dev/$device /mnt/$device
                elif [ "$isvfat" ]; then
                        mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
                else
                        mount /dev/$device /mnt/$device
                fi
  if [ -f /dev/${device}/swapfile ]; then
   mkswap /dev/${device}/swapfile
   swapon /dev/${device}/swapfile
  fi
                ;;
        remove)
  if [ -f /dev/${device}/swapfile ]; then
   swapoff /dev/${device}/swapfile
  fi
                umount /dev/$device
                ;;
    esac
 
fi

3. 重启路由器,插入U盘或移动硬盘,在系统>>>挂载点中就可以看到已经挂载的设备。如果U盘只有一个分区,就是/mnt/sda1,第二个分区是/mnt/sda2,如果用Hub接入多个U盘,第二个设备就是/mnt/sdb,以此类推。

4. 进入网络共享中,添加共享名、共享目录例如/mnt/sda1、Allow guests打勾,权限为0777(即完全访问)。至此就可以在网上邻居中看到路由器的这个共享文件夹了。

五、设置Guest Wifi

https://wiki.openwrt.org/doc/recipes/guest-wlan-webinterface

六、WNDR4300刷回原厂固件

  • 如果是第三方openwrt固件,特别是释放了128m flash的补丁包的固件,那么使用tftp先刷回openwrt官方固件
  • 刷完openwrt官方固件后,使用tftpd32刷回网件原厂固件。无限重启的话,等上3、4遍就可以自己断电重启,然后等待5分钟以上,4300是可以启动到原厂固件的,就是慢。
参考 https://cokebar.info/archives/664 http://www.right.com.cn/forum/thread-154774-3-1.html http://www.right.com.cn/forum/thread-172494-1-1.html http://jingyan.baidu.com/article/5225f26b6b273fe6fa090829.html http://52asus.com/thread-1919-1-1.html