MacBook 提升电池效率的一些设置

虽然说Macbook电池能够撑爆很长时间,但是,对于电池来说,永远不够的。 下面一些设置,可减少合起盖子的时候的耗电。当然,你的其他部分功能会缺失。

查看电源管理设置

使用 pmset 命令可以查看系统电源的管理设置

$ pmset -g
Active Profiles:
Battery Power       1
AC Power        2*
Currently in use:
 standbydelay         4200
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 darkwakes            1
 networkoversleep     0
 disksleep            10
 sleep                10 (sleep prevented by AddressBookSour)
 autopoweroffdelay    14400
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         10
 acwake               0
 lidwake              1

停用 AddressBookSour

看到这句 (sleep prevented by AddressBookSour), 于是怀疑会不会是 AddressBook 应用引起的系统无法进入休眠状态.

查找了一些关于 AddressBook 的一些资料, 这其实是 Mac OS 用来同步联系人信息的工具, 同时因为这个工具出现很多系统问题.

这个工具对我来说也没有任何意义, 将其停用完事.

/System/Library/Frameworks/ 目录下进入 AddressBook.framework, 然后删除 Helpers 目录下的 AddressBookSourceSync.app 即可. (不要将整个 AddressBook.framework 删除, 不然会导致 Finder 等应用无法正常工作)

$ cd /System/Library/Frameworks/AddressBook.framework/Helpers
$ sudo mv AddressBookSourceSync.app AddressBookSourceSync.bak

上面操作过于不友好,调整为以下方法:

launchctl unload -w /System/Library/LaunchAgents/com.apple.AddressBook.SourceSync.plist
#如果你后悔了,可用这样操作
#launchctl load -w /System/Library/LaunchAgents/com.apple.AddressBook.SourceSync.plist

现在执行 pmset -g 命令 (sleep prevented by AddressBookSour) 这句提示已经消失了:

$ pmset -g
Active Profiles:
Battery Power       1
AC Power        2*
Currently in use:
 standbydelay         4200
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 darkwakes            1
 networkoversleep     0
 disksleep            10
 sleep                10
 autopoweroffdelay    14400
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         10
 acwake               0
 lidwake              1

修改休眠模式

停用 AddressBookSour 后, 发现合盖后系统还是无法立即进入休眠状态, 问题就出在休眠模式(hibermode)上.

$ man pmset
We do not recommend modifying hibernation settings.
Any changes you make are not supported.
If you choose to do so anyway, we recommend using one of these three settings.
For your sake and mine, please don't use anything other 0, 3, or 25.

hibernatemode = 0 (binary 0000) by default on supported desktops.
The system will not back memory up to persistent storage.
The system must wake from the contents of memory;
the system will lose context on power loss.
This is, historically, plain old sleep.

hibernatemode = 3 (binary 0011) by default on supported portables.
The system will store a copy of memory to persistent storage (the disk),
and will power memory during sleep.
The system will wake from memory,
unless a power loss forces it to restore from hibernate image.

hibernatemode = 25 (binary 0001 1001) is only settable via pmset.
The system will store a copy of memory to persistent storage (the disk),
and will remove power to memory.
The system will restore from disk image.
If you want "hibernation" - slower sleeps, slower wakes, and better battery life,
you should use this setting.

设置系统 hibernatemode:

$ sudo pmset -a hibernatemode 25 # setting hibernatemode to 25

这样合盖后系统就能立即进入休眠状态了.

修改Standby的时间

缩短上面的 standbydelay 时间,终端输入命令: sudo pmset -a standbydelay [你希望的秒数]。我改成了一个小时,因为我如果合上盖子之后一个多小时没有打开,我一般都是有事出去了,所以电脑两个小时就可以休眠了。

via: http://blog.fourcels.me/2015/01/05/mac-os-hibernate.html
https://www.v2ex.com/t/280420#reply13

PandoraBox(OpenWrt)配置姿势

现在不少国产路由器,如小米、联想、华硕、斐讯等都可以刷潘多拉固件,虽然刷起来简单,但是刷之后面对一堆密密麻麻的陌生参数,离正常使用还有段距离,这篇文章就介绍下如何配置刚刷完PandoraBox或者OpenWrt固件的路由器。

教程以刷了PandoraBox的斐讯K1为例。

刚刷完肯定是进入LuCI Web管理界面,默认的帐号为root,密码是admin。

PandoraBox(OpenWrt)配置姿势

可以在新窗口中查看大图

一般而言,用户在开通宽带的时候,都会用运营商们赠送的调制解调器或光纤猫,而这些设备不少都带有拨号功能,例如俺用的中兴F460光猫,集成了光电转化、WiFi、IPTV、电话等一系列功能,但是接口有限,并且连接的设备一旦多起来就容易出状况,因此还会额外添置一个路由器拓展接口和无线网络的覆盖范围,分担光猫的任务。

这时,用户所需要的仅仅只是把无线路由器当作无线交换机用,即将无线路由器作为光纤猫的二级路由,以集线和布置热点。因此,首先需要在接口项中定义接口。

PandoraBox(OpenWrt)配置姿势

配置好之后

刚刷机完成时,你看到的界面和俺图中已配置好的界面会有所不同,可能会多出WAN和WAN6条目,这里不需要这两条,删除或停用都可以。然后点击LAN动作“修改”开始具体配置。

PandoraBox(OpenWrt)配置姿势

基本设置

修改协议为“静态地址”;

修改IPv4地址为上一级路由器DHCP分配范围中的地址,俺的光猫分配范围如图所示,为其他设备预留一些,所以这个二级路由器的静态地址设定为“192.168.1.20”;

PandoraBox(OpenWrt)配置姿势

一级路由中DHCP服务的分配范围

IPv4子网掩码这一项,由于家庭用户都是C类网址,所以填入“255.255.255.0”;

网关就是一级路由的地址,一般而言都是“192.168.1.1”或“192.168.0.1”;

DNS服务器交给上一级路由即可,和网关填写的一样;

停用二级路由的DHCP服务,交给上一级路由来做,如果不禁用实际也可行,只是二级路由和一级路由下的设备不能互访;

IPv6禁用,其余不管;

PandoraBox(OpenWrt)配置姿势

物理设置

由于是要把无线路由器当作无线交换机用,不区分WAN口和LAN口,不对端口进行隔离,因此把所有物理接口都勾选上,你看到的界面可能是LAN1、LAN2之类的,总之有几个物理插口就勾几个,然后把无线接口也勾上,双频路由器有两个无线网络。完成后所有端口就和交换机一样了,无所谓WAN和LAN几,随意插,当然,强迫症一定会把Internet端插WAN里:-D

PandoraBox(OpenWrt)配置姿势

防火墙设置

上文没有提到的配置项就忽略,然后点击“保存&应用”,没有意外的话此时你的电脑已经可以直接访问上级路由器了,访问二级路由就用“静态地址”一栏中填入的地址,至此有线网络配置完成。

至于无线网络则更为简单,配置好之后如图所示

PandoraBox(OpenWrt)配置姿势

无线概况

双频路由器会看到两个模块,ra0和rai0,刚刷机完成处于未启用状态,因此先分别配置一下。

PandoraBox(OpenWrt)配置姿势

基本配置

无线模式保持Legacy即可,或者也可以指定为N模式,信道建议配合inSSIDer优化一下,先扫描周围环境的网络状态,再手动指定信道。

PandoraBox(OpenWrt)配置姿势

inSSIDer扫描结果

根据inSSIDer的建议,俺这里将信道手工指定为11。

PandoraBox(OpenWrt)配置姿势

无线安全

然后设置想要的加密模式和密码,根据喜好设置即可,然后想更安全一些,可以进一步设置MAC白名单。

PandoraBox(OpenWrt)配置姿势

5G网络基本设置

5G网络设置则更为简单,因为5G的覆盖范围很窄,倒是不用考虑网络间的干扰问题,设置如图。

PandoraBox(OpenWrt)配置姿势

硬件加速

最后,我们只是将此路由器当作无线交换机,QoS的工作由上一级路由器完成,可以开启硬件加速以优化网络。

 

极卫星配第三方路由器设置教程

第一步:登陆官网http://www.hiwifi.com或是相应的手机软件商店(安卓市场、app store、小米商店)下载安装极路由APP客户端,在客户端注册极路由账号,并登陆,下图片为登陆后状态;
极卫星配第三方路由器设置教程

第二步:将您的极卫星通电,等待1分钟后,看到极卫星的指示灯变为红蓝交替闪烁时,用手机搜索极卫星的无线信号,极卫星初始无线名称为:“STAR_******”(*号为卫星MAC地址后六位),如下图:
注:如您家中已有极路由,请尽量远离极路由,否则有可能会导致自动配对到极路由上
极卫星配第三方路由器设置教程
第三步: 连接好卫星无线之后,再次打开极路由的手机客户端,此时在客户端页面等待几秒钟后,会自动弹出极卫星配对页面,在此页面中点击“现在配置”,如下图:
极卫星配第三方路由器设置教程第四步:点击“现在配置”进入后会看到“点击选择WIFI”,点击进入后页面,提示正在搜索周围WIFI的提示,如下图:
极卫星配第三方路由器设置教程

第五步:在搜索到的WIFI列表里选择您要配对的路由器的无线名称,并输入无线密码,密码输入完成后点击“提交设置”,如下图:
极卫星配第三方路由器设置教程
极卫星配第三方路由器设置教程

 

第六步:点击“提交设置”后,客户端页面会提示’提交成功“同时倒计时1分钟,倒计时完成后点击完成,此时极卫星变为蓝灯常亮,配对成功。
极卫星配第三方路由器设置教程第七步:在家中只有卫星而没有极路由时,极路由的APP客户端只作为极卫星匹配第三方路由器的设置平台,不做他用;
第八步: 如需要配对其他非极路由机型,请将极卫星断电1分钟后,在需要配对的路由器半米内通电,通电后等待两分钟后,将卫星恢复出厂设置,恢复后重复上面的设置步骤;
第九步: 极卫星恢复出厂的方法:在通电状态下用尖锐物捅住卫星侧面的RST孔10秒后松手,等待卫星自动重启完成。

 

小米路由器mini折腾之DDNS动态域名解析篇

老高家里用的是联通10M宽带,500/年。自从小米路由器mini刷了pandorabox后无法使用官方的APP管理设备,于是想到了使用openwrt自带的DDNS,即动态DNS来远程管理家里的路由器。

I. 准备工作

想要顺利的使用DDNS,需要满足以下条件:

  1. 路由器拨号后需要有公网IP
  2. 运营商没有完全屏蔽端口

针对第一个问题,老高以前家里的拨号就是内网IP,如10.0.0.6,相当于家里的路由器处于一个很大的局域网中。外部的请求只能到整个小区的公网IP,所以也就不能使用传统的方式搭建DDNS。但办法不是没有,像要穿透内网买一个小棒子(花生棒)就能解决。老高用了一段时间,感觉不如直接连接稳定,所以就去联通营业厅申请了公网IP,虽然需要实名认证,但是咱也不干什么违法的事,所以就申请了。然后经过我两个月期间不断的投诉,终于拿到了公网IP。本身就是很简单改个配置的事,联通这样做很伤人心啊!

使用花生棒穿透内网搭建DDNS

针对第二个问题,需要用端口扫描工具(如ScanPort)扫描一下你的公网IP,端口范围选择1-65535。然后看看到底开放了哪些,老高这里就比较悲剧,只开放了一个端口,要么给ssh,要么给luci。真尼玛。。。

ps.端口一样可以去运营商申请开放!

II. 如何配置DDNS

如果你的条件满足以上,就可以开始配置了。

下面老高以3322和花生壳为例,简单的介绍一下配置过程。

开通账号

移步至 http://www.pubyun.com/ 注册一个免费账号,然后创建一个动态域名。

在3322注册一个免费域名

花生壳需要公网版免费帐号,登陆网址在此:

https://console.oray.com/passport/login?url=http%3A%2F%2Fhsk.oray.com%2Fconsole%2Fmanage%2F

在花生壳注册免费域名

配置动态域名信息

首先进入动态DNS配置界面

动态DNS配置界面

然后在设置对应的信息

DDNS设置

下面老高给出详细的设置:

  1. 启用打勾
  2. Event interface : WAN
  3. 服务:自定义
  4. 更新的URL:
  5. 主机名:申请到的域名,不带http
  6. 用户名:对应账户登陆账号
  7. 密码:对应账户登陆密码
  8. IP地址来源:网络
  9. 网络:WAN
  10. 检查IP变动时间间隔:10
  11. 时间单位:分钟
  12. 强制更新间隔:32
  13. 强制更新的时间单位:小时

ps.你可以同时配置多个DDNS,以避免单点故障

如何配置多个动态域名解析

细心的同学可能已经发现,配置的最下面有一个添加按钮

多个动态域名解析

在这里自定义新的ddns名称,如myddns2,点击新建。这样你就同时使用了两个DDNS服务!

如何使配置生效

  1. 重启路由器
  2. 使用命令行
    # myddns是默认的ddns名称,
    /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh myddns 0
    
    # 开启第二个动态域名解析
    /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh myddns2 0

如果一切都没有问题,过几分钟后再ping你的域名,就会发现IP已经更新为路由器的IP!

III. 远程管理路由器

还记得刚开始我们使用工具扫描到的端口吗?这里我们就需要配置ssh或者luci的端口到开放的端口上去!这样我们就可以远程管理我们的路由器了。

修改luci的端口

运营商一般都会屏蔽80端口,所以想要远程登陆web后台,就必须修改端口号,下面老高将器端口设置为8080。

说是修改luci界面的端口,其实上修改的是openwrt轻量级的web服务器uhttp的服务端口,其配置文件存于/etc/config/uhttpd,下面我们试着修改它。

ps.uhttp的配置说明在此 http://wiki.openwrt.org/doc/uci/uhttpd

vi /etc/config/uhttpd

# 原始数据
config uhttpd 'main'
        list listen_http '0.0.0.0:80'
        list listen_http '[::]:80'
        ...
        ...

# 修改为
config uhttpd 'main'
        list listen_http '0.0.0.0:8080'
        list listen_http '[::]:8080'
        ...
        ...

修改保存后,我们重启uhttpd服务。

/etc/init.d/uhttpd restart

安全须知

  • 上面我们修改了原来的端口到8080,以后访问后台界面就必须在URL后面加端口号,但是如果遇到了网络黑客扫描了你的端口,黑客就能访问你的登陆页面,同时如果你有设置了一个弱密码,这样一来黑客就能轻易的登陆并控制你的网络,所以如果开放了外网的访问,一定要给后台设置一个强密码
  • 如果在公网,最好通过https访问路由器,这样就不会让各种敏感信息在互联网上“飞来飞去”了。

更多配置

uhttp还支持多实例绑定多端口,这样就不必修改原来的配置,只需要添加一个新的实例配置即可实现修改端口,并且不会影响到内网的访问。

修改ssh端口

远程ssh一定是大家更需要的,luci实质上也就是执行了一些预设的脚本,而ssh对路由器的控制是100%的。openwrt使用轻量的dropbear,下面老高修改外网可以访问的端口为8888。

ps. dropbear的配置说明在此 http://wiki.openwrt.org/doc/uci/dropbear

vi /etc/config/dropbear

# 修改为
config dropbear
        option PasswordAuth 'on'
        option Interface 'lan'
        option GatewayPorts 'on'
        option Port '22'

config dropbear
        option PasswordAuth 'on'
        option Interface 'wan'
        option GatewayPorts 'on'
        option Port '8888'

修改保存后,我们重启dropbear服务。

/etc/init.d/dropbear restart

现在我们就可以通过外网IP远程登录ssh。

ssh root@yourname.phpgao.net -p8888

via: https://blog.phpgao.com/

小米路由器mini折腾之远程下载篇

小米路由器mini刷了Pandorabox后还是可以使用迅雷的远程下载的,步骤如下:

  1. 移步至论坛下载安装程序,贴子里编译出的版本很多,对于mini应该下载 xware_mipsel_32_uclibc。
  2. ssh进入硬盘或U盘,创建xunlei文件夹,将数据解压至该目录。
  3. 执行chmod 777 * -R添加执行权限。
  4. 最后运行./portal,等待迅雷获取绑定码。
  5. 进入远程官网添加下载器,输入绑定码!
  6. 绑定成功后就可以开始离线下载了。

2015年02月16日更:

这样设置后路由器重启迅雷不会自动启动,所以我们需要将其加入开机脚本

假设我们把Xware解压至/mnt/sda1/xunlei,那么我们的portal文件的路径就是:/mnt/sda1/xunlei/portal

# 使用vi命令打开启动文件
vi /etc/rc.local


# 在exit0前写入
/mnt/sda1/xunlei/portal

2015年03月25日更:

昨天貌似迅雷的服务器把我们免费用户的远程下载功能关了,导致我们无法获取到绑定码,但是细心的网友发现其实1.0.16的版本还是可以使用的,老高在此分享给大家!

下载地址: http://yunpan.cn/cZeHegqZ49INi (提取码:455c)

 

via: https://blog.phpgao.com/

小米路由器mini折腾之DNS查询失败的排查方法

想必大家为了科学上网,已经为自己的路由器刷上了openwrt/pandorabox了吧?

经过老高的统计,目前关于浏览器访问量最高的是这两篇文章

小米路由器mini折腾之自动翻墙篇
小米路由器mini折腾之安装shadowsocks-libev-spec(解决DNS污染)

不知道大家是否能够通过两篇文章的学习研究实现了科学上网呢?

I. 问题来了

目前以老高科学上网所用到的工具,总结起来有以下几种:

  1. shadowsocks-libev/shadowsocks-libev-spec
  2. chinadns
  3. redsocks2

将以上几个工具搭配起来,是目前比较成熟的科学上网途径。但是有些时候总是多多少少会出一些这样那样莫名其妙的问题,比如:

  • Google莫名其妙的就打不开了
  • mi.com这样的普通域名就然查找不到这样的服务器(DNS解析失败)
  • 上网速度很慢,关了chinadns就好了,但是又无法科学上网了
  • 总是全局FQ/根本无法FQ
  • 手机无法翻墙

新手在面对这样的问题时,确实很难处理,经过老高的慢慢探索,发现我们还是能够使用一些简单的方法来一一排除错误。

下面老高就描述一下老高是怎么样排错并解决问题的。

II. 问题和解决方案

关于ss

我的服务器怎么无法链接?

解决办法:

  1. 仔细检查信息是否填错
  2. 使用 netstat -anptl |grep ss|grep LISTEN 命令检查ss在服务器端是否运行,并且正在监听正确的端口。
  3. 使用 service iptables stop 命令关闭服务器的防火墙排查是否防火墙挡住了请求

我怎么知道我已经顺利的连接上了服务器?

解决办法:

  1. 使用QQ的代理登陆,方法:打开qq的网络设置,选择SOCKS5类型的代理,地址为192.168.1.1(路由器的IP),端口一般为1080。只要能够登陆QQ即可说明成功!
  2. 如果使用的是shadowsocks-libev,直接开启透明代理,百度关键字ip,如果是国外IP,即可说明成功!

关于chinadns

有些域名打不开,无法找到服务器

排查方法:

# 安装tcpdump前需要执行opkg update
opkg install tcpdump

# 方法一

# 查看本机对路由器的dns请求
tcpdump -i br-lan udp and src net 192.168.1.0/24 and dst host 192.168.1.1
# 查看路由器对dns请求的回应 @192.168.1.110
tcpdump -i br-lan udp and dst host 192.168.1.110

# 方法二

# 安装dig
opkg install bind-dig
# 从本机的默认的dns查询google
dig +trace www.google.com

# 查看chinadns是否正常运行
dig +trace www.google.com -p1053

# 从本机的5300端口查询
dig +trace www.google.com -p5300
# 从114查询Google
dig +trace www.google.com @114.114.114.114

通过查询的结果可以得到chinadns是否正常运行。

有时候上国内的网站都卡,有时候又很快?

解决办法:

清空DNS缓存试试

WIN:

ipconfig /flushdns

OSX:

# OS X Yosemite

sudo discoveryutil mdnsflushcache

# OS X Mavericks, Mountain Lion, and Lion

sudo killall -HUP mDNSResponder

# Mac OS X v10.6

sudo dscacheutil -flushcache

关于redsocks2

留坑待填

Reference:

https://support.apple.com/en-us/HT202516

 

via:https://blog.phpgao.com/

小米路由器mini折腾之配置opkg篇

I. 动机

opkg是openwrt里的软件包管理器,类似mac下的brew、Ubuntu下的apt-get和centos下的yum。

但是为什么有很多同学都没办法在openwrt中使用opkg,其主要原因其实嵌入式的硬件繁多,不像我们一般PC只有i386和AMD64之分。

此方法适用于OpenWRT,Pandorabox,官方系统。

ps.工具链是什么?可以参考 http://wiki.openwrt.org/zh-cn/about/toolchain

举个例子:

老高用C语言写了一个HELLO_WORLD程序,然后使用交叉编译出适合小米路由mini的程序,然后拿到小米路由中去执行时执行不了的。因为硬件不同,程序运行的环境不同。

所以一个软件的发布是个很头大的问题,下图是chinadns的下载地址,大家数数有几个平台的编译版本:

小米路由器mini折腾之配置opkg篇

II. 如何配置opkg

其实读懂了上面的例子,解决的方法其实很简单。

小米路由器mini的CPU为MTK MT7620A 单核580MHz,小米路由器的CPU为博通 BCM4709

mt7620a平台所需要的软件包,工具链等都能在这里找到:

http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/

有了以上的数据我们就可以开始配置opkg!

# 备份旧的
mv /etc/opkg.conf /etc/opkg.conf.bak

# 使用vi编辑配置文件
vi /etc/opkg.conf

此处更方便的方法是后台进入 系统->软件包->配置

小米路由器mini折腾之配置opkg篇

然后在输入框中输入以下内容(注意notice处,/mnt/sdb1/opkg为挂载U盘或移动硬盘的全路径)

dest root /
dest ram /tmp
lists_dir ext /etc/opkg-lists
option overlay_root /overlay
# notice
dest usb /mnt/sdb1/opkg

arch all 100
arch ramips_24kec 200
arch ramips 300
arch mips 400
arch unkown 500


src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony

加速版本

使用了mirrors.ustc.edu.cn的反代加速

dest root /
dest ram /tmp
lists_dir ext /etc/opkg-lists
option overlay_root /overlay
# notice
dest usb /mnt/sdb1/opkg

arch all 100
arch ramips_24kec 200
arch ramips 300
arch mips 400
arch unkown 500


src/gz barrier_breaker_base http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_management http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
src/gz barrier_breaker_packages http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/telephony

III. 更多源设置

以上源只是配置了基础的源,像openwrt-dist这种源,由于某种神秘力量导致我们无法直接使用,需要使用反代,老高发现一个不错的反代

src/gz openwrt_dist http://openwrt-dist.thankgfw.ml/releases/ramips/packages
src/gz openwrt_dist_luci http://openwrt-dist.thankgfw.ml/releases/luci/packages

如何使用呢?

把上面的代码加到opkg配置文件的后面就行!

IV. 如何使用opkg命令

配置完毕后我们就可以开始使用opkg工具了,下面老高简单的介绍几个常用命令。

# 打印帮助
opkg -h

# 更新资源列表
opkg update

# 列出已安装的包
opkg list

# 搜索包
opkg search shadowsocks

# 安装软件,以安装curl和wget为例
opkg install curl
# 安装本地软件包
opkg install /tmp/wget_1.16-1_ramips_24kec.ipk 

# 移除软件
opkg remove wget

V. 使用opkg常见问题

错误 Unknown package \’redsocks2\’.

解决方法:软件源配置错误,请选择合适的源

opkg_conf_parse_file: /etc/opkg.conf:1: Ignoring invalid line: `t root /\’

  • satisfy_dependencies_for: Cannot satisfy the following dependencies for redsocks2:
  • libc * libc *
  • opkg_install_cmd: Cannot install package redsocks2.

解决方法:libc需要手动安装

cd /tmp
# wget http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk

wget http://mirrors.ustc.edu.cn/openwrt/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk

## 安装libc
opkg install libc_0.9.33.2-1_ramips_24kec.ipk

 

via : https://blog.phpgao.com/

小米路由器mini折腾之刷不死uboot篇

u-boot是一种普遍用于嵌入式系统中的Bootloader,Bootloader是在操作系统运行之前执行的一小段程序。他可以用来恢复小米路由器的固件,可以说只要刷了uboot,你的路由器基本上刷不死了。

以下操作都是在你获取了root信息后才可以实现。

2015年11月10日更:

刷uboot属于高危操作,如果你觉得刷了以后出现问题自己不一定Hold的住,请止步,谢谢合作!

如果造成不可挽回的损失,老高也没辙。。。

2015年9月17日更:

新版固件不要刷uboot了,会造成很多问题。

2015年10月3日更:

感谢ABC的回复,新版固件可以刷这个AR/QCA/MT7620 Breed,功能强大的多线程 Bootloader

备份硬件信息

刷机前做备份是一个好习惯。

已经有的案例,有同学在刷机时由于操作不当,导致刷掉了sn,虽然还是有方法可以曲线救国,但是还是很麻烦就是了。

# 查看MTD分区
cat /proc/mtd

# 备份
# /extdisks/sda1 就是外部存储设备的路径

dd if=/dev/mtd0 of=/extdisks/sda1/rom/ALL.bin
dd if=/dev/mtd1 of=/extdisks/sda1/rom/Bootloader.bin
dd if=/dev/mtd2 of=/extdisks/sda1/rom/Config.bin
dd if=/dev/mtd3 of=/extdisks/sda1/rom/Factory.bin
dd if=/dev/mtd4 of=/extdisks/sda1/rom/OS1.bin
dd if=/dev/mtd5 of=/extdisks/sda1/rom/rootfs.bin
dd if=/dev/mtd6 of=/extdisks/sda1/rom/OS2.bin
dd if=/dev/mtd7 of=/extdisks/sda1/rom/overlay.bin
dd if=/dev/mtd8 of=/extdisks/sda1/rom/crash.bin
dd if=/dev/mtd9 of=/extdisks/sda1/rom/reserved.bin
dd if=/dev/mtd10 of=/extdisks/sda1/rom/Bdata.bin
dd if=/dev/mtd11 of=/extdisks/sda1/rom/firmware.bin

# 恢复备份

mtd -r write /extdisks/sda1/rom/Bootloader.bin Bootloader
mtd -r write /extdisks/sda1/rom/Config.bin Config
mtd -r write /extdisks/sda1/rom/Factory.bin Factory
mtd -r write /extdisks/sda1/rom/OS1.bin OS1
mtd -r write /extdisks/sda1/rom/rootfs.bin rootfs
mtd -r write /extdisks/sda1/rom/OS2.bin OS2
mtd -r write /extdisks/sda1/rom/overlay.bin overlay
mtd -r write /extdisks/sda1/rom/crash.bin crash
mtd -r write /extdisks/sda1/rom/reserved.bin reserved
mtd -r write /extdisks/sda1/rom/Bdata.bin Bdata
mtd -r write /extdisks/sda1/rom/firmware.bin firmware

 

开始刷uboot

cd /tmp
wget http://downloads.openwrt.org.cn/PandoraBox/Xiaomi-Mini-R1CM/u-boot/uboot-xiaomi-mini-115200.bin -O uboot.bin

mtd -r write /tmp/uboot.bin Bootloader

# 等待重启

 

使用方法

  1. reset键开机,黄灯闪烁后松开
  2. 电脑使用网线连接lan口,将有线网卡的IP设为静态(192.168.1.2,255.255.255.0,192.168.1.1)
  3. 在浏览器中打开192.168.1.1
  4. 随意刷机

via :https://blog.phpgao.com/

小米路由MINI刷韌體改PandroBox潘朵拉盒子加迅雷下載

via: http://tscat.ddns.net/

其實小米路由mini已經買了好久,從起初的韌體到後期的韌體,老實說無線、有線都沒在用,只當做下載器。

因為ASUS N13U最早買來看上他的硬體Ralink @ 380Mhz + RAM 64MB,當時一買來馬上刷DD-WRT後,穩穩用,QoS也限速,主要是接網路給我叔叔用,所以要限速,不過也因為限速,導致WIFI其實都不快。這時候讓我想到小米MT7620(前為Ralink) MIPS的CPU 580Mhz + 128MB的RAM,小米硬體真的很超值,這個硬體便宜賣,真的很棒,但韌體部分一直處於有待加強,所以過了這麼久把他改照一番。

目前我只看到潘朵拉盒子這個任體可以for 小米路由mini,就刷這個韌體。

刷機有風險,請自情斟酌,刷機會破壞保固,請自行決定 

首先你要到小米WIFI官方網站下載韌體,要下載開發版本的

下載小米路由MINI開發粄的ROM

再到小米的韌體升級頁面,上傳開發版本的ROM刷一次,刷好後SSH還不能使用。

前往下載點這

1

 

 

要使用SSH還要去破壞保固,前往開啟SSH破壞保固點這 網頁網下拉就看的道開啟SSH連結

2下載工具包後會得到一個miwifi_ssh.bin,把這個檔案放到隨身碟根目錄,把隨身碟裝在小米路由mini上,拔掉電源線,找東西去壓小米路由mini後方的Reset按鈕壓住不放,接上電源線這時候Reset不要放開,看者小米路由mini的燈號黃色燈閃爍代表進開始刷機模式其實只是刷了miwifi_ssh.bin開啟sshd而已。重開機後就可以連入小米路油打指令了。

3這時候可以用Putty連入你的小米路由,依照IP和Port連入小米路由mini

一連入後先照網路上說的備份分區上的資料,因為據說刷了超過8MB以上的韌體,之後還原官方韌體,可能會遺失SN之類的,先備份再說,因為網路上說法是遺失SN後以後刷回官方韌體會無法使用APP和小米路遊做連線。(備份是參考這邊文章)

1先建立資料夾在隨身碟底下

mkdir /extdisks/sda1/rom/

之後輸入已下指令

dd if=/dev/mtd0 of=/extdisks/sda1/rom/ALL.bin
dd if=/dev/mtd1 of=/extdisks/sda1/rom/Bootloader.bin
dd if=/dev/mtd2 of=/extdisks/sda1/rom/Config.bin
dd if=/dev/mtd3 of=/extdisks/sda1/rom/Factory.bin
dd if=/dev/mtd4 of=/extdisks/sda1/rom/OS1.bin
dd if=/dev/mtd5 of=/extdisks/sda1/rom/rootfs.bin
dd if=/dev/mtd6 of=/extdisks/sda1/rom/OS2.bin
dd if=/dev/mtd7 of=/extdisks/sda1/rom/overlay.bin
dd if=/dev/mtd8 of=/extdisks/sda1/rom/crash.bin
dd if=/dev/mtd9 of=/extdisks/sda1/rom/reserved.bin
dd if=/dev/mtd10 of=/extdisks/sda1/rom/Bdata.bin

再舊的韌體可以看到可能會有上圖可能會有firmware這個區塊請自行備份,之後備份好後舊任體可以直接把USB上的ROM資料夾複製出來,新的小米可能要用Putty把ROM資料夾複製到其他網路芳鄰已看的到USB資料夾,再自己備份檔案。2潘朵拉官方下載頁面

我個人是抓這個檔案小於7MB,PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin

這類教學很多,之前我自己刷機是用SFTP傳韌體進入,網路上用WinSCP,功能大同小異。

不知道這次為甚麼新版本的小米開發韌體,SFTP連不進去,WinSCP也一樣不行,所以我把要刷機的潘朵拉韌體’先放到USB磁碟,再用指令將他複製到/tmp之下

cp xxxx.bin /tmp

上述指令xxx.bin改成你的韌體檔名,要先用cd 切換到韌體檔資料夾下。

 

 

5

 

再來就是刷機了,我已經把韌體複製到/tmp下所以下

mtd r write /tmp/PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin OS1

但如果你是小米舊版本舊介面韌體就是

mtd r write /tmp/PandoraBox-ralink-mt7620-xiaomi-mini-squashfs-sysupgrade-r1024-20150608.bin firmware

等待刷完後,機器會重開機,潘朵拉盒子的預設IP是192.168.1.1請確認網卡是這個位置,帳號是root預設密碼是admin

網卡用DHCP取得就可以得到192.168.1.x的位置,像我的環境會跟數據機同IP,所以我自己建議會把IP網段改掉。

6

 

之後你可以用網頁開啟192.168.1.1開啟IP分享器,

預設帳號root,密碼admin就可以進去了8

 

第一件事情先把分享器的管理密碼改掉,之後帳號一樣是root,密碼變成你改的密碼

 

2

 

先來改個外觀,改成比較好看的樣式

 

3

改成這樣好看多了,可以看到小米路由有128MB這麼大的RAM,應該要好好利用

 

4

 

來到掛載點這,我後面USB裝了16GB隨身碟

 

5

 

再到服務網路共享設定隨身碟,主機名為你的小米路由再網路芳鄰出現的主機名稱。

下方可新增資料夾,共享名可自己打,目錄為/mnt/sda1 為USB隨身碟掛載點,允許用戶root,允許匿名存取我是打勾,先建文件和檔案全線都是root

 

9

 

上面設定完,要重開機後,USB文件才看的到。系統->重起那邊可以執行重開機小米路由

 

上方直接打入\\NITCS2-NAS 就可以進入隨身碟,原先備份的小米的ROM檔案都還在

10-1

 

來到接口這個設定,LAN就是IP分享器的LAN,即為IP分享器的位置,這邊看你個人要不要改IP,我是改成192.168.xx.xx後面兩個xx可自訂,我是有三個網段。都沒做路由,純連接不同分類的設備。

這邊可以先改WAN就是PPPoE撥號上網部分

 

5-1

轉到PPPoE就可以輸入你的上網帳號密碼,如果你是固定IP就是選靜態那個,如果是由ISP那邊自動取得IP就是DHCP。這邊我的是PPPoE撥號上網。套用後之後應該是可以馬上上網。如果不行就重開機是是看,或是檢查帳號密碼沒錯誤。

69

 

之後到無線這邊,可以看到有2.4Ghz和5Ghz

我是先修改2.4Ghz第一個高級配置國家代碼CN改TW

WIR

 

CTW

 

之後再改加密方式WPA2-PSK,演算法AES,5Ghz(AC)改法一樣,直得注意的是SSID名稱不要和2.4Ghz的SSID一樣。

7-1

 

 

其他設定就給各位摸索了。

接下來要教大家如何加入迅雷下載,小米路由變可以下載迅雷。

迅雷外掛下載頁面

我抓了兩個相似的檔案,最後可用的檔名是Xware1.0.31_mipsel_32_uclibc-MIWIFI.zip

解開後再USB隨身碟建立一個Xware的資料夾,把這四個檔案丟進去USB隨身碟的XWare資料夾

 

 

 

XWA

 

再來用Putty連進小米路由先切換到USB的Xware路徑,

cd /mnt/sda1/Xware

再輸入 ./portal 執行迅雷外掛

或是你也可以一行指令/mnt/sda1/Xware/portal 也可以

之後等待得到Active Code那個就是綁定用的啟動碼

11

 

到迅雷遠程下載網頁輸入再putty上的啟動碼

 

11-1

 

之後就綁定成功了12

 

之後要讓迅雷開機啟動我試了好幾個方法不管再/etc/init.d或是/etc/rc.local開機時自動指令啟動都不行。

所以只能半手動啟動了首先可以先下載寫好的啟動檔案。

下載啟動腳本

啟用腳本內三個start stop restart路徑都是對應到/mnt/sda1/Xware/portal,如果你放的位置不一樣,請自行更改。

把這個檔案放到USB隨身碟Xware下再用putty複製到/etc/init.d

cp

 

之後網頁端來到系統->啟動項 最後xunlei有個”開始”點下去,跑完後迅雷就啟動了

可以試試看,迅雷新建任務SXWA

 

測試新建任務,會抓到剩餘的USB空間可以測試看看,我抓是有成功把檔案抓到USB隨身碟下的TDOWNLOAD資料夾

NEW

 

最後有測試個QoS,畢竟DD-WRT QoS沒那麼好用

可以先設定網路總頻寬4096kbit大概就是512Kbytes,4Mbps

60Mbps設邊設定值61440kbit 把60M*1024最後會得到61440kbps

上傳部分20M*1024=20480kbps

QOS1

 

但很奇怪的是到下方限制速度又變成Kbytes,這邊可用IP或是MAC ADDRESS去限速,正常會用MAC ADDRESS,因為MAC ADDRESS不能改,除非有特殊方法,否則不能改,IP位置可任意改。

所以我也測試了IP和MAC ADDRESS鎖定速度。

Kbytes就是你電腦下載時看到的單位,60Mbps能下載的單位是 60Mbps/8=7.5Mbytes

換算成kbytes就是7.5Mbytes x 1024=7680kbytes

至於怎麼限速,就看各位了,目前我暫時用不到。我測試後限速功能是有效的。

N2

 

最後也祝大加刷機成功。一台這麼便宜的機器,又好用,不改韌體我個人覺得非常可惜。

最後也附上手機時測速度

解决IDEA使用jetty跑项目js、css文件被占用无法修改的问题

用IDEA开发web项目使用maven的jetty插件跑的时候经常遇到项目启动后,无法编辑js文件和css文件。
最初以为是Idea的问题,但是这么严重的一个问题怎么就没有人注意呢?
后来又上网查了好多资料,原来才发现不是IDEA的问题,是jetty本身的问题:原因是如果NIO被支持的话,Jetty会使用内存映射文件来缓存静态文件,其中包括.js文件。在Windows下面,使用内存映射文件会导致文件被锁定。
解决方案是不使用内存映射文件来做缓存。

到maven本地仓库的org/eclipse/jetty/jetty-webapp/下,找到对应版本的jetty插件修改webdefault.xml
将:

<init-param>
    <param-name>useFileMappedBuffer</param-name>
    <param-value>true</param-value>
</init-param>

 

改为:

<init-param>
    <param-name>useFileMappedBuffer</param-name>
    <param-value>false</param-value>
</init-param>

 

即可搞定!
也可以将此文件拷贝到项目中,在jetty插件配置中引入:

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>7.5.1.v20110908</version>
  <configuration>
    <connectors>
      <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
        <port>8088</port>
        <maxIdleTime>60000</maxIdleTime>
      </connector>
    </connectors>
    <systemProperties>
      <systemProperty>
        <name>org.eclipse.jetty.util.URI.charset</name>
        <value>UTF-8</value>
      </systemProperty>
    </systemProperties>
    <webAppConfig>
      <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
    </webAppConfig>
  </configuration>
</plugin>