How to adjust the CPU voltage of BPI-M2+

This article introduced how to adjust the VCC-CPUX voltage of the BPI-M2+ with replacing a register of power circuit.

———————————

WARNING!

With any hardware change or component soldering.

You will LOST all warranty of your Banana Pi!

———————————

When I did something system image build and test tasks for the BPI-M2+ with Allwinner H3 before it on stock last year, I have received a Engineer Sample (ES) form SINOVOIP, the manufacturer of Banana Pi.

The Banana Pi Community Forum have received a lot of reports of the too high VCC-CPUX voltage causing horrible heat issue from other developers.

There is a easy to measure the VCC-CPUX voltage of your BPI-M2+.

This picture shows the Test Point (TP: VCPU) of VCC-CPUX.

QQ图片20170426093111

If you get a result like me, Congratulation! You got a ES. (R. I. P. the warranty

 

Okay, the next step is replace the reference register in the feedback circuit of the voltage regulator.

QQ图片20170426093445

QQ图片20170426093459

I have no 0402 register in my component library, so I use the 0805. (I’m sorry for that.

Before:QQ图片20170426093427

After:QQ图片20170426093436

 

And it works. :)

QQ图片20170426094321

 

According to the AW’s whitepaper H3 should work at 1.008GHz max_freq, but I tested ok with the 1.2GHz sys_config. Lucky~

photo_2017-04-25_21-52-13

This is the cpuinfo_cur_freq result of running cpuburn-a7 (https://github.com/ssvb/cpuburn-arm/raw/master/cpuburn-a7.S) and corekeeper.sh.

The idle CPU temperature is about 15 degrees Celsius lower than work at 1.4 V.

继续阅读How to adjust the CPU voltage of BPI-M2+

使用Nginx为网站设置反向代理

前几天遇到一个比较难搞的CDN,想了半天还是做了反代。

1、 首先安装Nginx(随便怎么装都行)


sudo apt-get install nginx

2、 在/etc/nginx/nginx.conf中的http{}部分include一个vhost的conf,例如


http {

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;
gzip_disable "msie6";

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
include /etc/nginx/yoursite.conf;    #在最后添加一行

}

3、 vhosts.conf的内容可以这样写


## Basic reverse proxy server ##
## backend for yoursite ##
upstream apachephp {
server 1.2.3.4; #源站IP
}

## Start yoursite ##
server {
listen 80; #监听端口
server_name yoursite.com; #绑定域名

root html;
index index.php;

## send request back to source ##
location / {
proxy_pass http://yoursite.com; #回源域名 稍后会讲一个小技巧

#Proxy Settings 按照实际需求修改以下参数
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
## End yoursite ##

4、 重载Nginx


nginx -s reload

继续阅读使用Nginx为网站设置反向代理

Linux命令之查看文件占用空间大小-du,df

du(disk usage),顾名思义,查看目录/文件占用空间大小

#查看当前目录下的所有目录以及子目录的大小
$ du -h

$ du -ah

#-h:用K、M、G的人性化形式显示

#-a:显示目录和文件

du -h tmp

du -ah tmp
#只查看当前目录下的tmp目录(包含子目录)的大小

#查看当前目录及其指定深度目录的大小
du -h –-max-depth=0
#-–max-depth=n:只深入到第n层目录,此处设置为0,即表示不深入到子目录

du命令的一些常用参数:
-a或-all 显示目录中个别文件的大小
-b或-bytes 显示目录或文件大小时,以byte为单位
-c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
-D或–dereference-args 显示指定符号连接的源文件大小
-h或–human-readable 以K,M,G为单位,提高信息的可读性
-k或–kilobytes 以1024 bytes为单位
-l或–count-links 重复计算硬件连接的文件
-L或–dereference 显示选项中所指定符号连接的源文件大小
-m或–megabytes 以1MB为单位
-s或–summarize 仅显示总计
-S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小
-X<文件>或–exclude-from=<文件>
–exclude=<目录或文件> 略过指定的目录或文件

–max-depth=<目录层数> 超过指定层数的目录后,予以忽略

df 用于查看设备的空间使用率

$ df -lh

#查看设备使用率

继续阅读Linux命令之查看文件占用空间大小-du,df

如何关闭MySQL日志并删除mysql-bin.0000*日志文件

LNMP一键安装包安装的MySQL默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错。

如何关闭MySQL的日志功能:

删除日志:

执行:/usr/local/mysql/bin/mysql -u root -p

输入密码登录后再执行:reset master;

回车后再输入:quit 退出mysql命令模式。

彻底禁用MySQL日志:修改/etc/my.cnf 文件,找到

log-bin=mysql-bin
binlog_format=mixed

再这两行前面加上#,将其注释掉,再执行/etc/init.d/mysql restart即可。

如果实在想保留日志,可以在/etc/my.cnf里[mysqld]部分中加入expire_logs_days = 10 然后重启mysql,这样10天就会自动清理日志。

本文以LNMP一件安装包安装的环境为例除MySQL重启命令和配置文件路径可能略有不同,其他一样。

如果VPS或服务器上一点空间都没有启动不了的话可以mysql-bin.0000*删除,然后清空mysql-bin.index文件里的内容,再重启mysql,这样虽然也可以清理日志,但是有一定的分析,如采用此方法建议先备份日志及数据库文件。

———————————-
引用:
http://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html

关于MCN无法使用路由器进行MAC鉴权的临时解决办法

症状: 网开好了,电脑直接插网线可以上网,但是用路由器不能上网。

同学可以参考以下方法:

1、打开路由器管理配置界面(通常默认是 http://192.168.1.1 )
2、打开 WAN口设置(或 上网设置)
3、连接方式选择 DHCP(或 自动获取IP)
4、MAC地址克隆 选择 本机MAC(或 本管理PC的MAC)
5、保存设置
6、更新IP(或 重启路由器)

QQ图片20160522111035

不同路由器配置方法不尽相同,仅供参考

顺便随手附上查询已用流量的链接:
https://web.mcn.hs-mittweida.de/index.php/de/meinmcn/traffic

解决ubuntu和windows双系统时间差异8小时的方法

Windows/Ubuntu 双系统用户会发现在 Ubuntu 里面的时间正常的情况下Windows的系统时间被改到8小时前。

原来 Linux 操作系统是以 CMOS 时间做为格林威治标准时间,再根据系统设置的时区来确定目前系统时间。但是Windows 会直接修改CMOS 时间。而中国的时区是+8区,所以才会造成时间被调整了-8个小时。

所以您可以让 Windows 去使用时区或者让 Ubuntu 使用本地时间。

修改 Windows 使用时区的方法是在注册表:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\

下面增加一个名为 RealTimeIsUniversal 的REG_DWORD 键,并赋值为 1。

而让Ubuntu 使用本地时间的方法是:

sudo gedit /etc/default/rcS

把里面的 UTC=yes 改为 UTC=no

———————————-
引用:
http://blog.chinaunix.net/uid-8305736-id-2033022.html

关闭Linux传统SSH密码登录与开启密钥登录

1、用winscp,将id_rsa.pub文件上传到/root/.ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys(如果是在Linux服务器上生成的密钥直接执行:mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys),再执行:chmod 600 /root/.ssh/authorized_keys 修改权限。

2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。

3、重启sshd服务,Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart

4、如果验证成功的话就可以关闭密码登陆方式了,编辑/etc/ssh/sshd_config,将PasswordAuthentication改为no,ChallengeResponseAuthentication改为no,不过需要重启sshd(service sshd restart)后才能生效。

 

————————————————–

参考资料:
http://www.vpser.net/security/linux-ssh-authorized-keys-login.html
http://www.cnblogs.com/tintin1926/archive/2012/07/23/2604281.html

双系统下grub的相关设置

我的电脑是装了两个系统,一个是 win8.1,另一个是 ubuntu 14.04。默认情况下,每次开机时,电脑会显示grub菜单等待30秒,默认是选中ubuntu的,这个太浪费时间了。

查了一下资料,原来通过设置可以将grub设置为每次默认选中上次进入的系统,而且还可以设定等待时间。

  1. 首先在终端输入命令:sudo gedit /etc/default/grub
  2. 然后修改其内如下,我在下面贴出了文件中的前面几行,后面的都没动,其实后面也都是注释而已。
  3. 最后还要运行 sudo update-grub 命令,提交本次修改的设置。

/etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved  # 每次默认的系统是上次进入的系统
GRUB_SAVEDEFAULT=true # 上面设置了 saved 值,就要写上这句
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3 # 默认等待的时间设为 3 秒,可以根据自己的习惯调整
GRUB_DISTRIBUTOR=`lsb_release -i -s 2&gt; /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

 

偶然发现这个文件ubuntu-logo.grub,可以直接修改grub背景颜色

修改Grub背景颜色

sudo gedit /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.grub
#原来的紫色
#if background_color 44,0,30; then
#  clear
#fi#改成黑色
if background_color 0,0,0; then
clear
fi
#链接关系:
#/etc/alternatives/default.plymouth.grub /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.grub
#/lib/plymouth/themes/default.grub /etc/alternatives/default.plymouth.grub

———————-

参考资料:

http://blog.csdn.net/zhang_hui_cs/article/details/8570253

http://www.xuebuyuan.com/1945828.html

CentOS6零基础配置shadowsocks服务端完整教程

shadowsocks 是一个轻量级隧道 socks5 代理,可加密网络通道。
项目主页:https://github.com/clowwindy/shadowsocks
官方wiki:https://github.com/clowwindy/shadowsocks/wiki/Shadowsocks

说明:
此教程为官方wiki补充,并附带M2Crypto、gevent 安装的详细说明,以便于零基础用户配置 shadowsocks 服务端。
此处以云睿数据(http://cloreal.net)的廉价VPS举例…
系统 CentOS6.5 x86_64,内建Python版本2.6.6(可使用 python -V 命令查看)

准备工作:安装所需组件

yum install wget tar gcc gcc-c++ openssl openssl-devel pcre-devel python-devel libevent -y

一、升级python
1、按以下步骤执行

cd /root
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
tar zxvf Python-2.7.6.tgz
cd Python-2.7.6
./configure
make & make install

2、设置python2.7.6为默认版本,此处python2.6.6为系统内建版本,不知道当前版本的可以使用 python -V 命令查看

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
修改完毕后可以 python -V 查看一下是否成功

3、由于yum依赖内建python,所以需要修改一下yum依赖

vi /usr/bin/yum
说明:按 i 进入编辑模式,将第一行#!/usr/bin/python 改为 #!/usr/bin/python2.6.6,后者为内建python版本,然后按esc退出编辑模式,按shift+: ,输入wq保存文件即可~

二、安装pip
1、安装setuptools(pip需要这个),依次执行

cd /root
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg –no-check-certificate
sh setuptools-0.6c11-py2.7.egg

如果提示 zipimport.ZipImportError: can’t decompress data; zlib not available ,说明需要安装zlib库

cd /root/Python-2.7.6/Modules/zlib
./configure
make & make install

重新编译一下python

cd /root/Python-2.7.6
make & make install

安装setuptools

cd /root
sh setuptools-0.6c11-py2.7.egg

2、安装pip

cd /root
wget http://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz –no-check-certificate
tar zxvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install

三、安装shadowsocks
由于安装了pip所以很简单了,一行命令的事

pip install shadowsocks

此时不推荐运行shadowsocks

四、安装M2Crypto
shadowsocks支持以下加密方式:

aes-128-cfb、aes-192-cfb、aes-256-cfb、bf-cfb、camellia-128-cfb、camellia-192-cfb、camellia-256-cfb、cast5-cfb、des-cfb、idea-cfb、rc2-cfb、rc4、seed-cfb、table

默认加密方法 table 速度很快,但很不安全,推荐使用 “aes-256-cfb” 或者 “bf-cfb”,使用加密必须安装M2Crypto。

1、安装swig
yum里swig版本太旧,如果使用yum安装基本上都是被坑的,如果系统集成大多也会有同样的问题
首先查看swig版本,如果是1.x版的先卸载掉

swig -version

执行以下命令

cd /root
wget http://jaist.dl.sourceforge.net/project/swig/swig/swig-3.0.0/swig-3.0.0.tar.gz
tar zxvf swig-3.0.0.tar.gz
cd swig-3.0.0
./configure
make & make install

安装完成后可以查看一下版本

swig -version

2、安装M2Crypto

cd /root
wget https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.22.3.tar.gz –no-check-certificate
tar zxvf M2Crypto-0.22.3.tar.gz
cd M2Crypto-0.22.3
python setup.py build
python setup.py install

五、安装Gevent
安装Gevent可以获得更好的性能,不管效果怎样,还是装个吧…
1、安装easy_install并安装greenlet

cd /root
wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install greenlet

2、安装Gevent(小内存VPS上可能无法通过)

cd /root
wget http://pypi.python.org/packages/source/g/gevent/gevent-0.13.8.tar.gz
tar zxvf gevent-0.13.8.tar.gz
cd gevent-0.13.8
python setup.py build
python setup.py install

六、运行shadowsocks
1、任意目录下建立一个名为“config.json”的文件,并编辑文本

touch config.json
vi config.json

2、设置shadowsocks服务端,按i进入编辑,将以下内容输入到文本中,编辑完成后按Esc退出编辑,然后Shift+:,输入wq保存

{
“server”:”my_server_ip”,
“server_port”:1024,
“local_port”:1989,
“password”:”lolicon”,
“timeout”:600,
“method”:”aes-256-cfb”
}

各字段的含义:

server 服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址
server_port 服务器端口
local_port 本地端端口
password 用来加密的密码
timeout 超时时间(秒)
method 加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, 等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”

3、在config.json文件所在目录执行

ssserver (前台运行)
nohup ssserver > log & (后台一直运行)

4、如果成功运行,但是无法连接,可能是iptables设置问题,可以选择添加当前端口到白名单或关闭iptables解决

请将“1024”改为你所设置的服务器端口
iptables -I INPUT -p tcp -m tcp –dport 1024 -j ACCEPT
service iptables save (建议)
或者关闭iptables(不建议)
/etc/rc.d/init.d/iptables stop

5、客户端设置网上一搜一大把,就不赘述了…
Windows客户端:https://github.com/clowwindy/shadowsocks-csharp
Android客户端:https://play.google.com/store/apps/details?id=com.github.shadowsocks

 

—————————————————–

转载随意,修改随意,但请注明来源链接

引用:http://hazelzhu.com/archives/1568