背景:坐标东部沿海某985大学,去年学校升级覆盖了全校的无线校园网,完全舍弃了有线网,但也带来了问题,每个终端,都要认证上网,宿舍联网的智能设备,无法使用,就有点难受。基于此,想到了用无线路由器中继,转发,然后实现多终端无需认证的方法。刚开始,尝试使用成品中继,如常见的wifi放大器等,都不好用,最终确定了用openwrt的方案!
所需设备:1)可刷系统的硬件设备一个,x86,arm等等,由于预算和需求不高,经查找,选了这款小米r3g,海鲜市场55包邮,芯片:MediaTek MT7621,性能满足宿舍上网需求(MD,限速,大概只有40Mbps);2)网线一根;3)可插网线的电脑一台(笔记本没有网口,可以买个便宜的usb网口,20~30左右);4)可上网的环境(因为要用app绑定小米路由器,宿舍没有的话,手机开热点吧)5)U盘一个
阶段一:小米路由器环境配置
所需软件:Xshell, WinSCP——>SSH用,自行去搜索下载,不赘述。
1)开启小米路由器,连上现有能上网的环境,路由器绑定已登陆小米账号的小米wifi app。
2)登陆 http://www.miwifi.com/miwifi_download.html——下载小米路由器开发版固件,如图:

下载完毕后,登陆小米路由器后台,找到系统升级,手动升级成下载的固件版本。
3)在这个界面,https://d.miwifi.com/rom/ssh,登陆你的小米账号,获取当前路由器的 SSH root 密码,并下载.bin的工具包,然后将该文件拷贝进已准备好的U盘中(U盘格式建议为FAT32)
4)按照网页提示,完成打开ssh操作:

5)打开已安装的ssh命令行软件Xshell,输入命令:
ssh root@192.168.31.1
然后按提示输入上面3)中获得的ssh root密码,开启ssh成功!
6)小米原生系统备份(目的是为了以后还原原系统,可省~)
插入刚刚的U盘,在Xshell中输入命令
df -h
查询 U 盘的路径(如 /extdisks/sdax)。我的是 /extdisks/sda4,一下代码以此为举例,依次键入如下代码
dd if=/dev/mtd0 of=/extdisks/sda4/ALL.bin
dd if=/dev/mtd1 of=/extdisks/sda4/Bootloader.bin
dd if=/dev/mtd2 of=/extdisks/sda4/Config.bin
dd if=/dev/mtd3 of=/extdisks/sda4/Bdata.bin
dd if=/dev/mtd4 of=/extdisks/sda4/Factory.bin
dd if=/dev/mtd5 of=/extdisks/sda4/crash.bin
dd if=/dev/mtd6 of=/extdisks/sda4/crash_syslog.bin
dd if=/dev/mtd7 of=/extdisks/sda4/reserved0.bin
dd if=/dev/mtd8 of=/extdisks/sda4/kernel0.bin
dd if=/dev/mtd9 of=/extdisks/sda4/kernel1.bin
dd if=/dev/mtd10 of=/extdisks/sda4/rootfs0.bin
dd if=/dev/mtd11 of=/extdisks/sda4/rootfs1.bin
dd if=/dev/mtd12 of=/extdisks/sda4/overlay.bin
dd if=/dev/mtd13 of=/extdisks/sda4/ubi_rootfs.bin
dd if=/dev/mtd14 of=/extdisks/sda4/data.bin
到mtd14时或许会提示错误, 没关系,备份系统文件到u盘完毕!
阶段二:刷入中间配置系统Breed,(相当于装win系统时,用到的winPE)
背景:刷入这个中间系统,可以方便后续操作,也放置刷错变砖头!
1)下载breed https://breed.hackpascal.net/ 在下面找到 breed-mt7621-xiaomi-r3g.bin,
2)使用之前安装的Winscp(ssh文件传输系统),链接路由器,ip就是小米后台ip,账号密码为root+之前获得的ssh密码
3)将刚才下载的breed-mt7621-xiaomi-r3g.bin上传到路由器的/tmp文件夹下, 并改个简单点的文件名 breed.bin
4)在Xshell中执行如下命令(吐槽,好麻烦的感觉…)
mtd -r write /tmp/breed.bin Bootloader
5)等上述命令结束后(提示链接断开)。等一会,路由器自动重启, 看灯变紫色后直接拔掉电源, 拿尖锐物体点击reset孔,通上电, 看到灯快速闪烁的时,松开reset孔。当看到始终连线的电脑被分配到192.168.1.x的ip后,浏览器输入192.168.1.1,此时界面将出现breed的操作台!
阶段三,配置breed环境,输入openwrt系统
1)在操作台左侧"小米 R3G 设置"中, 删除normal_firmware_md5这个键值,
在左侧“环境变量编辑”中, 添加一个环境变量, 变量名为 xiaomi.r3g.bootfw, 值为2!!!很重要,不然进不去系统(踩过坑,555~)
2)下载所需openwrt系统固件,有好多版本,可检索关键词自行选择,这里提供一个成功实现本文背景功能的一个版本,抛砖引玉!在github上搜索TwoTu大佬的版本OpenWrt-MiR3G,下载…kernel.bin和…sysupgrade.bin两个文件备用。
3)切到breed操作台界面,点击左侧“固件更新”,在常规更新–固件处,选择…kernel.bin文件,然后点击上传,完毕后,点击更新,
4)查看路由器——黄灯闪烁,等待两三分钟,黄灯变蓝色常亮,看电脑获取的IP地址,IP应变为为“192.168.123.X”,然后在浏览器输入192.168.123.1,进入openwrt操作台,用户名root,密码password。
5)更新,补全openwrt系统:在界面左侧“系统”选项卡中的“备份/升级”选项,刷写新的固件。来到“保存配置选项”,选择最后一个固件,然后刷入之前下载的…sysupgrade.bin固件。
6)等待系统更新,当路由器黄灯变蓝灯,电脑端识别ip后,系统更新成功,至此,完成openwri系统刷机,(瀑布汗,好反锁!!!)
阶段四,配置openwrt系统完成无线中继和终端上网!
1)进入openwrt后台,依次点击左侧网络-无线,此时可看到无线概括中,有两个已建好的连接点(2.4G和5G)
建议用5G,信号好,速率高,点击扫描,找到所在学习的需网页认证的无线名称(注意,本人学校有两个,一个是网页认证,也就是没密码,一个是账号认证,直接输入无线密码,实测网页认证可行,下面以此为例)。点加入网络,默认系统配置即可,然后点提交:

2)点扫描旁边的按键“添加”出现新的窗口,在下面接口配置中,按如下选择(注意是lan口,相当于端口转发!):

这里ESSID可以改成自己想要的名字,旁边的无线完全设置密码,与普通路由器类似, 不赘述。完成后点保存。
3)任意终端,链接路由器的无线网,等待后,弹出认证窗口,登陆成功后,测试上网。完成后,连接其他终端均可上午了,注意,断电等操作后,可能需重新认证,这点根据不同学校而定!
Over!
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba
路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。