小米网关(欧盟版-Lumi.gateway.mieu01)被黑

小米Zigbee网关Hack

在本文中,我想与您分享我在解析小米网关(带有带有take.ru的欧元插件的版本)方面的最佳实践和成功经验。我将告诉您如何在其上安装替代软件,如何使用擦除的软件还原网关,甚至使用擦除的u-boot恢复网关。

---------许多图片-------------



首先,我将告诉您如何连接到网关板并获得根。

首先,有关网关的一些细节。

本文讨论了基于imx6ull处理器构建的网关的版本

评估板的一些技术规格:

  • Wifi RTL8723BS-由于某种原因,它的驱动程序是单独加载的。
  • CPU IMX6ULL
  • 内存256 mb
  • ROM 256兆字节
  • 基于JN5169的ZIgbee模块。

在板上,显示维修点数P2和P4。理想情况下,它们是在pogopins下制成的,但更易于焊接。

P2是显示所有服务信息,uboot引导日志和系统管理的处理器的Wart 0,您可以使用任何usb-uart适配器。

P4-USB OTG,用于将固件上传到nand。 (作为一个成熟的OTG,直到最后我无法启动它,当连接时,可以检测到该设备,但是显然缺少其他东西)。



中文USB转接板非常适合昵称P4。



焊接和连接完所有零件后,首先需要扎根。

我是按照此说明(链接到手册)进行操作的,但是在第5点之后有一点澄清,您需要键入boot命令否则,系统将坐下来等待命令,编写这些指令可能是希望每个人都能理解Linux。

由于某些原因,SSH服务器没有按照说明打开,只能通过手动启动命令/etc/init.d/dropbear start来打开

下一步,在收到根目录后,我使用WinScp复制了系统内容(在创建连接时选择SCP模式)。

更好的是,您需要备份整个系统,以防实验导致可悲的后果(就像我做了,但我没有备份)。

网关闪存分为4个部分。



事实证明,也没有很多可用空间,而在内存中有许多不同的重复文件。



玩了几个小时之后,我在软件中做了一些更改,网关停止加载了:)

现在,让我们弄清楚如何恢复这块铁并用它填充任何东西。
仅当您有积木时才执行操作!


注册后,Imx6ULL处理器将以开放形式包含所有信息,所有数据板和参考手册均可在制造商的网站上找到。

U-boot仍在向我加载...但是,当我尝试恢复时,我不小心复制了一个额外的命令,并彻底擦除了nand。事实证明,u-boot在南达。然后他得到了一块砖头。

处理器支持各种启动模式。在参考手册中,都对它们进行了描述。



开发板通常具有开关,但是没有类似的东西。数据表描述了哪种处理器变暗。



然后中国人也做了一个很好的礼物。他们将它们带到一个非常方便的地方,并几乎对其签名。)

在处理器旁边的板上焊接了两个电阻器,它们恰好适合启动模式引脚。



这两个电阻只是启动模式的开关,默认情况下将其设置为nand,但是通过将它们中的每一个移到侧面,我们可以得到串行启动模式。

我将网关转换为串行启动模式,以某种方式,该模式更方便地测试各种固件。

要上传固件,使用了NXP mfgtools的专有实用程序。其中唯一的事情就是为处理器准备一个配置文件。

下载mfgtools。归档文件已准备就绪,具有所有必要的设置。

我们通过USB连接网关。在串行启动模式下,网关将尝试通过USB接口下载固件,并且新的HID设备将出现在计算机上。

Mfgtools会通知您它看到一个新设备。



有时计算机看不到它,与它连接的东西我不能说。

实用程序看到它后,单击“开始”,然后将开始下载固件。
该实用程序将格式化nand,填充新的ubut,kernel,dtb和rootfs。档案中的rootfs是由朋友Aleksandr Faronov编译的,他在Yocto上构建了一个干净的Linux构建。 U-boot,内核,DTB部分已从网关的本机固件中拉出。

在这个Linux程序集中,只有一个干净的系统会启动,没有其他内容(zigby也不起作用)。

在我的情况下,该实用程序运行之后,网关也不会执行任何操作并加载,因为在串行引导模式下调用处理器时,网关将不会执行任何操作。

因此,需要为他提供可引导的U-boot映像。在带有mfgtools的档案中,还有一个附加的uuu实用程序,它将U-boot加载到板的Ram中,让我们转到包含它的文件夹中。
关闭mfgtools,然后用新的网关重新连接网关,应再次检测到HID设备,然后执行命令。

uuu u-boot-small.imx

该板将开始加载,但是由于它没有env,因此它将在加载U-boot之后启动。在网关控制台中,我们执行两个命令,我们注册ENV以进行加载。

setenv bootargs 'console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs cma=96M mtdparts=gpmi-nand:3m(boot),7m(kernel),1m(dtb),-(rootfs)'

然后启动boot boot,网关将从nanda和我们上传的固件开始加载。



总的来说,仅此而已。在mfgtools中的\ Profiles \ Linux \ OS Firmware \ files文件夹中,所有固件文件都位于其中,可以替换其中的任何文件以加载任何兼容的系统。我尝试下载openwrt。



系统正在加载中,但是我仍然没有弄清楚如何滑动正确的核心以及从何处获得它。

我希望通过我们的共同努力,我们仍将使这个网关达到其逻辑结论)
网关目录的备份讨论电报

All Articles