小米路由器3G R3G 刷入Breed和OpenWrt 插入可共享网络的usb随身WiFi

小米 R3G 参数(以下加黑加粗需要特别关注,灰常详细)

市面上有R3G和R3Gv2两种型号, 注意区分, 后者是缩水版, 没有USB口. 内存只有128M, Flash只有16M. 这里描述的只适用于R3G.

e584509c838547a29213448751a3fa5c.png

就是这样

操作步骤开始,,注:刷写openwrt需要小米R3G路由器用以太网插到wan口(即入网插口)

第一步,先给路由器通上电,重置路由器

第二步,进入路由器后台192.168.31.1/miwifi.com,设置好路由器后进行ROM升级开发版软件

        软件下载地址https://download.csdn.net/download/weixin_45539766/89994582,怕有病毒也可以到小米rom官网下载MiWiFi – 下载,ok下一步,先解压开发版软件(小米官网下载不用解压)

ROM 的升级有两种方式

1、登陆路由器后台192.168.31.1在线升级

选择下载的文件进行升级。

图待放

低版本不会提示,高版本会提示。

图待放

如果它提示让清除,那就勾选。需要重新设置一下密码和局域网IP地址,

图待放

2、如果前一个方式不行, 可以将其拷贝到U盘根目录, 并命名为 miwifi.bin,

随后断开电源, 插上U盘, 并按住 reset 按钮后插入电源, 等到指示灯变为黄色闪烁(10-15秒)后松开 reset 键, 之后路由器将更新 ROM 并重启进入正常状态(指示灯变为蓝色常亮),

如果出现异常、失败、U盘无法读取的状况,会进入红灯状态,建议重试或更换U盘再试。
3、ROM刷写完成后进入路由器查看是否刷写成功,是否变成小米3g开发版

注明:这里给家里没有宽带但是有多个路由器的人提供一些小方法(家里有宽带的可以跳过这个步骤)
因为我没有宽带,只有随身wifi,但是我有多个路由器,这里来了!!!!
我是这样操作的,首先再拿出一个无用路由器出来!!!!注!!!!必须带wifi的路由器,什么路由器都行,只要带wifi,
这里将这个路由器以下都称路由器B,首先手机打开热点,然后用路由器B进行无线桥接手机的热点,不懂再问度娘,留言,
然后路由器B桥接网络成功后,拿出一根祖传网线出来,一端插到路由器B的lan口,;另一端插到我们的小米R3G路由器的wan口,这样小米路由器就可以用MiWiFi手机APP进行绑定了

刷写完成——绑定完小米账号后进入下一步,获取SSH权限
        1、先注册小米账号.
        2、安装MiWiFi手机APP, 连上路由器WIFI后绑定路由器, 绑定教程请参见         https://zhidao.baidu.com/question/2011024461729333668.html
        3、绑定后, 登陆 http://d.miwifi.com/rom/ssh, 点击"下载工具包"
        4、下载工具包的链接旁边有root密码, 需要记一下(特别关注)
下载工具包时显示的信息

工具包使用方法:小米路由器需升级到开发版0.5.28及以上, 小米路由器mini需升级到开发版0.3.84及以上, 小米路由器3即将支持. 注意:稳定版不支持
请将下载的工具包bin文件复制到U盘(FAT/FAT32格式)的根目录下, 保证文件名为miwifi_ssh.bin;
断开小米路由器的电源, 将U盘插入USB接口;
按住reset按钮之后重新接入电源, 指示灯变为黄色闪烁状态即可松开reset键;
等待3-5秒后安装完成之后, 小米路由器会自动重启, 之后您就可以尽情折腾啦 :)

下一步将开启 SSH
将下载的工具包bin文件复制到U盘(FAT/FAT32格式)的根目录下, 保证文件名为miwifi_ssh.bin;
断开小米路由器的电源, 将U盘插入USB接口;
按住reset按钮之后重新接入电源, 指示灯变为黄色闪烁状态(10-15秒,如果没闪一直按着)即可松开reset键
等待3-5秒后安装完成之后, 小米路由器会自动重启, 蓝灯常亮
登录ssh的密码, 在刚才下载工具包的界面上

连接SSH

ssh连接方式,win11可用系统自带ssh服务,可用工具MobaXterm,crt,xshell等,反正可以连接ssh服务即可

 如果ssh连接遇到错误

Unable to negotiate with 192.168.31.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1

 需要手动指定oKexAlgorithms

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@192.168.31.1

ssh连接主机名为路由器ip地址,即192.168.31.1,登录名为root,密码是在上面获取ssh权限的密码

到这就已经进入路由器内,下一步需要将breed文件上传到路由器内,需要上传到哪里呢

首先 cd /tmp,到tmp的路径下面,然后将文件breed文件(没有的话可以去这里下载https://download.csdn.net/download/weixin_45539766/89995240)上传到tmp的路径下

然后,执行这个命令mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader

多等待几分钟观察一下指示灯,如果没重启那就手动重启。

先将电脑网口街道路由器lan口。按住reset按键上电直到led闪烁(我这边是蓝灯闪烁)。进入192.168.1.1即可。

以上文献参考Openwrt_XiaoMiR3G路由器_刷入Breed固件_r3g刷openwrt-CSDN博客

恭喜你,到这就刷完了breed了,你已经完成了一半,继续吧

现在要配置breed了
1、在小米 R3G 设置中, 删除normal_firmware_md5这个键值, 因为刷新刷的固件 md5 值与原来的不一致会导致无法开机(删了, 不删是否不能开机未验证)
2、在环境变量编辑中, 添加一个环境变量, 变量名为 xiaomi.r3g.bootfw, 值为2. 这个必须要设置, 否则进不去原来的小米系统.
3、然后拔电再插电重启路由器, 之后就会进入小米系统, 需要在ssh下写入OpenWrt.

参数说明 xiaomi.r3g.bootfw
如果写入 Breed 到 bootloader, 这个参数是必须的. Breed的启动流程如下

        1、如果 kernel0 存在, 那么启动 kernel0
        2、如果 kernel0 不存在, kernel1 存在, 那么启动 kernel1
        3、如果 kernel0 和 kernel1 都存在, 则检查环境变量 xiaomi.r3g.bootfw 的值, 如果存在且值为2, 那么启动 kernel1, 否则启动 kernel0
如果通过mtd写入了OpenWrt 到Kernel1, 但是不写这个环境变量, Breed就会从kernel0启动, 无法进入系统, 然后重启, 再次从kernel0启动, 这样一直循环下去.

到这就配置好breed,配置好后可以开始刷openwrt了,鸡冻人心的时刻到了

1、首先下载我提供的wrt包https://download.csdn.net/download/weixin_45539766/89995269

        (1)先在breed平台中选择固件更新,然后上传名为openwrt-19.07.7-ramips-mt7621-xiaomi_mir3g-initramfs-kernel.bin的文件(闪存布局选择 2)

        (2)刷完之后重启,进入openwrt,自行在电脑中查看路由器ip地址,有可能是192.168.1.1,亦有可能是192.168.3.1,在openwrt管理界面 系统>>备份/升级>>刷写新的固件>>选择openwrt-ramips-mt7621-xiaomi_mir3g-squashfs-sysupgrade.bin升级(刷sysupgrade的包都是同样的方法在wrt中固件升级就好,随意刷)

2、其中一个固件自带以太网usb0,不需要安装新插件,可直接插上usb随身wifi

3、若有其他路由器,也可从该地址下载自己路由器的openwrt固件Index of /releases/19.07.7/targets/ramips/mt7621/

至此,小米R3G路由器配随身wifi的教程已更新完,后续有空会更新图文并茂

以上内容参考文献https://zhuanlan.zhihu.com/p/679573191

https://openwrt.ai/?target=ramips%2Fmt7621&id=xiaomi_mi-router-3g

小米路由器3G一R3G一OpenWrt

【2021/08/12】小米路由器3G / R3G 100%可用openwrt底包-小米无线路由器及小米网络设备-恩山无线论坛

小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录_小米r3g-CSDN博客

 

### 使用柯西变异正余弦改进的麻雀搜索算法优化BP神经网络 #### 改进的麻雀搜索算法概述 麻雀搜索算法(Sparrow Search Algorithm, SSA)作为一种新兴的仿生优化算法,在解决各种复杂的优化问题方面表现出色。然而,当面对高维度或复杂度较高的搜索空间时,SSA可能会遇到收敛速度缓慢以及容易陷局部最优等问题。为此,研究者提出了引柯西变异正余弦机制作为改进措施的方法[^1]。 #### 柯西变异的作用机理 柯西分布相较于标准正态分布在尾部更重,这意味着它能够提供更大的随机扰动范围,有助于跳出局部极值区域并探索新的潜在解决方案。这种特性使得经过柯西变异后的个体可以更好地保持种群多样性,从而提高全局搜索效率。 #### 正余弦机制的功能描述 正余弦函数被用来动态调整参数,其周期性的变化可以帮助模拟自然界中的波动现象,进而增强算法对于不同环境条件下的适应能力。具体来说,通过利用正弦波形控制变量更新过程中的振幅大小,可以在一定程度上平衡开发与探测之间的关系,促进更快地接近全局最优解。 #### 结合BP神经网络的具体应用场景 BP(Back Propagation)神经网络是一种广泛应用的人工智能模型结构,用于分类预测等多种任务之中。由于训练过程中涉及到大量权重系数的学习调整工作,因此非常适合采用高效的元启发式优化器来进行辅助求解。在此背景下,将上述提到过的两种改进策略融到传统SSA框架内,并将其应用于BPNN权值初始化阶段,则有望显著改善最终学习效果及泛化性能表现。 ```python import numpy as np from sklearn.neural_network import MLPClassifier def cauchy_mutation(positions): """Apply Cauchy mutation to the positions.""" mutated_positions = [] for pos in positions: delta = np.random.standard_cauchy(len(pos)) new_pos = pos + delta * 0.1 # Scale factor can be adjusted based on problem scale mutated_positions.append(new_pos) return np.array(mutated_positions) def cosine_adjustment(fitness_values): """Adjust fitness values using a cosine function.""" max_fit = np.max(fitness_values) min_fit = np.min(fitness_values) range_fit = max_fit - min_fit adjusted_fitnesses = [ (fit - min_fit) / range_fit * (np.cos(np.pi * i / len(fitness_values)) + 1) / 2 for i, fit in enumerate(fitness_values)] return np.array(adjusted_fitnesses) class ImprovedSSAOptimizerForBPNN: def __init__(self, n_sparrows=30, dimensions=10, iterations=100, lb=-10, ub=10, bpnn_hidden_layer_sizes=(5,), learning_rate_init=0.001): self.n_sparrows = n_sparrows self.dimensions = dimensions self.iterations = iterations self.lb = lb self.ub = ub self.bpnn_model = MLPClassifier( hidden_layer_sizes=bpnn_hidden_layer_sizes, activation='relu', solver='adam', alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=learning_rate_init, power_t=0.5, max_iter=iterations, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, n_iter_no_change=10) # Initialize sparrow population randomly within bounds self.positions = np.random.uniform(self.lb, self.ub, size=(n_sparrows, dimensions)) def optimize_bpnn_weights(self, X_train, y_train): best_position = None best_accuracy = 0. for iteration in range(self.iterations): # Evaluate each position's performance by training and validating BPNN with these weights accuracies = [] for idx, pos in enumerate(self.positions): self.bpnn_model.coefs_[0][:len(pos)] = pos try: self.bpnn_model.fit(X_train, y_train) acc = self.bpnn_model.score(X_train, y_train) if acc > best_accuracy: best_accuracy = acc best_position = pos.copy() accuracies.append(acc) except Exception as e: print(f"Iteration {iteration}, Sparrow {idx}: Error occurred during fitting.") # Apply improvements here # Perform Cauchy Mutation after evaluation but before updating positions self.positions = cauchy_mutation(self.positions) # Adjust fitness according to Cosine Adjustment mechanism adjusted_accuracies = cosine_adjustment(accuracies) # Update positions considering both exploration & exploitation phases... pass # Placeholder; actual implementation depends heavily on specific requirements of your project. return best_position, best_accuracy ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值