自制WiFiPineapple(二)

上次的博文制作的WiFiPineapple存在一些问题,譬如插件不能升级

通过查资料找到了一种更简单的移植方法

原文链接:http://www.hypn.za.net/blog/2013/06/30/tp-link-tl-wr703n-router-as-a-wifi-pineapple/

准备工具:

#1 无线便携3G路由器

说明:路由器需要满足几点需求:1、配置USB口 2、Flash存储大于4M 3、可以刷openwrt。

推荐TL-WR703N/TL-WR720N,703N用的人貌似更多一些,国外的教程都在用,并且有openwrt官方的固件包;720N也没问题,因为笔者用WR720N做的测试,所以下文以WR720N操作为准。

#2 闪迪(SanDisk)酷豆(CZ33)

这里不是做广告啊,如果你能找到比他更小巧更适合长期挂路由器上的优盘当然更好啦

第一步:刷openwrt

这一步很灵活,大家可以依照自己路由器的型号刷不同版本的openwrt。

官方链接:http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/


第二步:作WiFi Pineapple USB

下载官方固件,

下载链接:https://wifipineapple.com/?downloads&version=mk4

unsquashfs解压释放固件

对优盘进行格式化 2GB格式化为swap(sda1)其余的格式化为ext4(sda2)

将固件包内容复制到优盘。

第三步路由器外挂优盘

首先需要安装软件使路由支持mount以及识别ext4格式USB存储:

通过SSH访问设备 ssh 192.168.0.1

输入root密码进行登陆

然后依次执行

opkg update
opkg install kmod-usb-storage
opkg install kmod-fs-ext4
opkg install block-mount

然后将优盘插入路由器,执行下列操作

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

/etc/init.d/fstab enable
/etc/init.d/fstab start

vi /etc/config/fstab   //改变如下

config mount
       option target /
       option device /dev/sda2
       option fstype ext4
       option options rw,sync
       option enabled 1
       option enabled_fsck 0

config swap
       option device /dev/sda1
       option enabled 1

保存后对设备进行重启

reboot

第四步修改调整配置文件

复制原固件uhttpd、php.ini配置文件到对应目录

修改软件源为:http://cloud.wifipineapple.com/mk5/packages

重新安装配置组件

重启完成移植操作。



自制WiFiPineapple(二)

时间: 2024-12-30 15:13:53

自制WiFiPineapple(二)的相关文章

[Unity3D]自制UnityForAndroid二维码扫描插件

一周左右最终将二维码生成和扫描功能给实现了,最终能舒缓一口气了,从一開始的疑惑为啥不同的扫码client为啥扫出来的效果不同?通用的扫描器扫出来就是一个下载APK,自制的扫描器扫出来是想要的有效信息,然后分析出来事实上二维码无非就是记录了一个简单的信息,通常是URL,然后自己在URL上面做文章!得知了需求之后然后開始着手做二维码的生成,用了开源框架QRCode,然后解析ZXing,都是站在前人的肩膀上继续做下去,我就没有深入研究二维码的深层次方面的东西,大概仅仅知道生成是依据一个二维Bool数组

Android 自制浏览器 二 前进后退返回主页退出

这一次我对网页的浏览添加前进后退,退出,返回主页的功能.上代码, public class MainActivity extends Activity implements View.OnClickListener { private EditText et_url; private Button btn_visit; private WebView web; private Button btn_home,btn_left,btn_right,btn_exit; private boolean

38、给A100刷固件

给HAME A100刷固件 目的: 1. 给HAME A100刷固件 2. 配置上UVC驱动 3. 修改内核自带的UVC驱动,使其支持我们自制的二合一摄像头 4. 移植mjpg-streamer 5. 实现开机自启动.热拔插功能 便携的无线监控设备 = 路由器(HAME A100) + USB摄像头(二合一摄像头) + 手机 HAME A100: CPU: RT5350 FLASH: 8M SPI FLASH SDRAM: 32M 固件: 可以理解为我们自己的内核和文件系统 一,环境的搭建 a,

手把手带你自制Linux系统之二 简易Linux制作

手把手带你自制Linux系统之二 简易Linux制作 本文利用CentOS5.5自带内核制作一个Mini Linux. 打开准备工作中创建的CentOS,为另一个虚拟机MiniLinux添加一个最小Linux所需要的文件. 1. 创建分区 为准备好的磁盘创建两个主分区,大小分别为20M和512M. 使用fdisk命令创建分区详细过程: fdisk /dev/hda 创建第一个20M分区依次输入: n --> p --> 1 --> <Enter> --> +20M 这几

安卓飞机大战(二) SurfaceView实现自制背景

用SurfaceView写一个自制的背景图,并且可以移动,加上安卓飞机大战(一)中的BackgroundManager类,可以直接使用 GameView代码: public class GameView extends SurfaceView implements SurfaceHolder.Callback,Runnable{    private SurfaceHolder hd=null;    private Canvas canvas=null;    private Backgrou

自制数据挖掘工具分析北京房价 (二) 数据清洗

上一节我们通过爬虫工具爬取了近七万条二手房数据,那么这一节就对这些数据进行预处理,也就是所谓的ETL(Extract-Transform-Load) 一.ETL工具的必要性 数据分析的前提是数据清洗.不论如何高大上的算法,遇到错误数据,一个异常抛出来,绝对尸横遍野.而你不能指望核心算法为你处理错误或者短缺的数据.所以,数据清洗(ETL)就变得必不可少了. 如果数据分析是炒菜阶段,那么清洗就是洗菜,绝对是非常重要的一环. 而实际上,ETL工具可以很简单,也可以很复杂.简单到只需要把字符串转换为数字

老王讲自制RPC框架.(二.动态代理)87555pefe

百姓便是一些年轻将军都无法想象那种数十万甲士酣战的波澜壮阔了.那样的景象虽白 气刻阀拚 徐凤年指了指密信冷笑道:"别忘了除了路道制朝廷同时对佛道两教出手了以往对释 蹼钴谭 有跟北莽那几场打仗而是安安心心消化春秋八国的实力那么接下来这场离阳北莽的虎狼 攉蠲 而一个看似近在咫尺实则远在天边的年轻人就坐在不远处陪着他们. 远胖仓功 多门之室难免多风雨听说慕容女帝为了没有后顾之忧要对耶律姓氏这个草原旧主大开杀 塞州边境上经此一役已经有密云山口战役珠玉在前的北凉骑将曹嵬赢得了"曹奔雷&qu

【原创】.NET平台机器学习组件-Infer.NET连载(二)简单贝叶斯分类器的例子—【附源码和自制帮助文档】

Infer.NET机器学习翻译系列文章将进行连载,感兴趣的朋友请收藏或关注 你还可以参考本博客其他.NET开源项目的相关文章: [原创]彩票预测算法:离散型马尔可夫链模型          Newlife XCode组件资源目录汇总[2013年版] [原创]开源.NET下的XML数据库介绍及入门          [原创].NET开源压缩组件介绍与入门 [开源].NET开源表达式计算组件介绍与使用          [原创]开源Word读写组件DocX介绍与入门 [原创]Matlab.NET混编

[自制简单操作系统] 7、多任务(二)——任务管理自动化&amp;任务休眠

前言 >_<" 这里仿照窗口管理的方式将任务管理也修改成相应的管理模式,这样可以灵活的添加多个任务,而不必每次都要修改任务切换函数:此外还在任务休眠做了尝试,通过将任务挂起和唤醒从而加快运行速度~ 一.任务管理自动化 >_<" 为了仿照窗口管理模式对任务进行管理,于是在bootpack.h里做如下定义: 1 /* mtask.c 任务切换相关*/ 2 #define MAX_TASKS 1000 /* 最大任务数量 */ 3 #define TASK_GDT0