话说软路由这次折腾的差不多到最后,是无线路由器出了问题。正为之发愁,师兄拿来一个USB无线网卡想试一下,插上去可以直接用,其实和有线网差不多,只是多了一步,就是安装hostapd,把无线网卡当作AP发射信号。

但是发现了一个问题,就是wlan0和eth1两个设备发生了冲突,用单无线的时候很好,速度也很快,单用有线的时候也很好,但是两者一起用就出现问题了,先打开的那个设备有效,后打开的设备不能使用。
原因应该是NAT转发的时候出了问题,应该是iptables配置的问题,联想到路由器,和这个情况差不多,一个wan,几个lan,一个wlan,于是翻开openwrt路由器的网络表,里面有个br的网络设备,就是网桥,的确,利用网桥可以把eth1和wlan0连接到一起,然后NAT把包转发到这个网桥上去,再由网桥去继续转发包,这样子,有线网和无线网就成了一个局域网,正式想要的结果。
在网上搜罗了一些关于网桥的资料,验证通过。
1安装网桥控制程序 sudo apt-get install bridge-utils
2新建网桥 sudo brctl addbr br0
3设置网桥地址并开启 sudo ifconfig br0 192.168.0.1/24 up
4向网桥里添加接口 sudo brctl addif br0 eth1
5开启无线开关 sudo hostapd -d /etc/hostapd/hostapd.conf -B
6向网桥里添加接口 sudo brctl addif br0 wlan0
然后把dnsmasq的dhcp interface改为 br0
配置NAT转发到br0网桥上
sudo iptables -A FORWARD -s 192.168.0.0/24 -i br0 -o eth0 -m conntrack –ctstate NEW -j ACCEPT
sudo iptables -A FORWARD conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A POSTROUTING -o eth0 -j MASQUERADE
接下来又研究了开机启动的问题
开机需要按步骤做以下事情
1启动无线信号发射hostapd
2建立网桥br0
3设置iptables
4启动锐捷
其实用interfaces文件即可实现前3个步骤,最后一个步骤因为经常失效,所以需要一个后台程序监听运行
在interfaces文件里声明br0
auto br0
iface br0 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    gateway 192.168.0.1
    network 192.168.0.0
    boardcast 192.168.0.255
    bridge_ports eth1 wlan0
    pre-up sudo hostapd ……
    post-up sudo iptables-restore < ……
    pre-down sudo iptables -F || sudo iptables -F -t nat
    post-down sudo kill `cat …`
锐捷监听程序
检查日志文件,里面是否有“Success”字样,若没有,则杀掉锐捷,然后重启认证,把认证日志写到文件里。
#!/bin/sh
rjsucc=`cat /tmp/rj.log | grep “Success”`
if [ -z "$rjsucc" ] ;then
    date “+%H:%M:%S Auth” >> /tmp/rj.log
    sudo …… -q
    sudo …… >> /tmp/rj.log &
fi
用了一段时间发现无线信号不太稳定,手机基本上连不上去,看看hostapd.conf文件
模式改了一下
country_code=CN
ieee80211d=1
hw_mode=g
channel=3
dtim_period=2
信号稍微稳定了一点,也不知道是什么原因
想把自己的常用的设备DHCP分配地址时设置为静态IP,这个是可以由dnsmasq实现的,打开dnsmasq的配置文件,找到
dhcp-host=xx:xx:xx:xx:xx:xx,192.168.0.5
dhcp-host=xx:xx:xx:xx:xx:xx,192.168.0.6
dhcp-host=xx:xx:xx:xx:xx:xx,192.168.0.7
dhcp-host=xx:xx:xx:xx:xx:xx,192.168.0.8
然后给装上php,以及解析cgi脚本,修改/etc/apache2/sites-available/default
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
allow from all
AddHandler cgi-script .cgi
</Directory>
暂时就折腾到这里吧~~~
 祝2014新年快乐!
参考

上次维修小站给人修电脑,获得了一个SSD尸体。

于是尝试修一下,发现后面有塑料部分融化了,想到可能是附近的原件烧坏了。

IMG_0929

于是上网查SATA接口定义,并配合电路板画出了烧坏的原件附近的电路图,

IMG_0933

是一个稳压二极管,拿另一个二极管替换掉它。

IMG_0941

 

理论上这样做是可以的,但是更换元器件过后的SSD还是不识别,
于是想到SSD的MLC颗粒可以做成告诉U盘,于是将其拆解

IMG_0943

 

拆的时候要用很多焊锡把一边烫化,然后用小刀撬起一边,然后用同样的方法拆焊另一边

IMG_0946

 

最后得到8个4G的MLC芯片,和一块电路板

然后去X宝 http://item.taobao.com/item.htm?spm=a1z09.5.0.0.ulk05O&id=21749024747
买来4个主控板和外壳

IMG_6495 IMG_6496

 

把芯片脚上的焊锡用吸锡线去掉,在U盘主控板子上的焊盘上涂上锡。

IMG_6501

 

IMG_6500

接下来小心焊上芯片

IMG_0998IMG_0999

 

硬件做好后,要反复检查,插在电脑上之后,电脑会有设备识别,U盘上的指示灯闪动。

打开“银灿IS902E主控量产工具v2.07.01.04中文版”,U盘要插在USB2.0接口上。

U盘指示符应该是蓝色的,这样就可以设置量产选项,并成功量产。

Unnamed QQ Screenshot20131130214725

 

U盘可以自定义设备名称,拿自己名字命名。

容量8G 读速度 60M/s 写速度15M/s

遇到不少问题,焊接的时候要仔细,焊接失败的话再拆焊就容易拆掉焊盘。
量产的时候要用合适的系统,合适的兼容环境才能量产成功。

使用openwrt内置的网络摄像头服务时,出现501: Not Implemented! no www-folder configured 错误。

在网上查到了一篇帖子

https://forum.openwrt.org/viewtopic.php?id=38239

其中有下面一段话:

The error about the missing webui is normal, those files are not included with the OpenWRT package.  To test if its working try the following URLs, changing routerip to what is relevant for your configuration.

Streaming (probably only works in Mozilla based browsers) http://routerip:8081/?action=stream
Snapshot image (should work in any browser) http://routerip:8081/?action=snapshot

If you want the webUI then you need to download a copy of mjpg_streamer and put the www files somewhere on your router storage.  Then edit /etc/init.d/mjpg-streamer adding the -w parameter pointing to the webUI files.

错误的原因是openwrt没有包含mjpg-streamer中的www部分,所以找不到文件,就出错了。

解决办法

1用火狐访问 http://routerip:8081/?action=snapshot
火狐自动识别为mjpg流

2下一份mjpg-streamer的源码,把www部分丢到路由器上,在mjpg-streamer的启动代码中的输出部分加上 -w 参数来指定www目录位置

http://sourceforge.net/projects/mjpg-streamer

亲测可用!

 

刚刚返校,还没去找老板,略有闲,想到以后物联网终端在宿舍试用,于是帮lsc配一个mentohust路由器。

起初用他的电脑,但是因为众多软件不全,无奈拿回来做。

用笔尖点reset键,再按下开机键,大约10秒钟,指示灯变红,此时配置本地IP为192.168.1.X,网关为192.168.1.1,用网线连接电脑和lan4。

用浏览器访问192.168.1.1,提示上传固件程序,等很长时间,红灯熄灭,设备自动重启。

网线从lan4拔下,接到lan3,输入192.168.1.1,到了LUCI配置界面,固件中如果没有mentohust还要重刷,找到内置mentohust的固件。

刷完固件,进去先把无线开关打开,并配置好SSID和密码。

到宿舍,使用putty连进路由器,执行mentohust命令,在系统提示下输入各种信息。

出了很多问题

1.找不到服务器

网卡选择错误,应该选择eth0,然后在开启网卡,ifconfig eth0 up

2.动态IP绑定错误

由于学校改成了动态IP,所以DHCP方式应该选择“二次认证”

3.未使用管理员指定的客户端

这个问题困扰已久,只能说问题到了一个阶段,有空继续研究。

 

终于找了个有兴致的时间折腾一下路由器了。。。
话说,路由器已经到手快三个月了,一直没派上用场,之前是因为6月份考试多,没闲心搞这些东西,9月份应该有闲心吧。

三个月过去了,ROM应该也有新的了吧,上openwrt官网,找了个最新了rom,随便在网上找了一个刷机教程:
按住reset开机,灯变红,改ip,连路由器,传rom,等待……红灯熄灭。
大功告成。

新刷的系统没有开启无线,开启即可。
然后把lan4(wan)接上电信网,快速配置,DB120,DHCP,OK!
无线连接上路由器,可以上网了!

路由器一大把功能:
开通了Transmission,脱机下载……
还有QoS,方便给蹭网的童鞋限一下速……
pppoe server 自己做ISP……
ftp……
很多我也不知道干嘛的。

看了教程,装了lighttpd+php5+sqlite,从此,路由器也可以跑php了。
找教程的时候,不小心攻入了站长大人的路由器中,不干坏事……嘿嘿

搞了大半天,不过还是不能用mentohust连上宿舍这边的教育网,以后有兴致了再研究……

市场上卖的GPS导航仪基本都是WinCE平台的,厂家一般只做硬件,软件就由凯立德等公司提供。
凯立德是国内不错的导航软件,在电驴上找到了程序和地图包等文件,一并下载。
在GPS上空出2G的空间,把下载好的程序和数据下载到WinCE上即可。

这两天研究刷机,两台安卓机都成功升了级。
x10升成了多点触控,p1000也搞得不错。
参看了两片刷机的帖子。

首先说x10:
下了个官方的update service和一个flash tool。都装好以后,下一个rom,ftf格式的,载入。
运行flashtool,将手机进入刷机模式,一会就刷好了,很容易。

再说p1000:
几个驱动是要弄到手的,要Odin3 v1.7,在搞一个ZCKA2rom。
先载入Odin3,选择重新分区,先刷一遍,再把那几个ROM载入,刷第二遍,重启后即可。

最后两个都赋予root权限,用SuperOneClickFor2.1,一键root,不过要提前装好驱动,开启usb调试。
系统自带了很多用不着的垃圾程序,我需要删除系统程序。于是找了个systemappremover_3,用91装进去,可以吧系统的程序卸载掉,很方便。