齐心NAS双盘高颜值可刷机
我市稍息,关于齐心nas之前已经由@晋升奶爸的垃圾佬 发过一篇刷机教程,不过由于后期又加了很多东西,改动比较大,又有群友反复问齐心耍假,所以我索性把最后教程再发一遍,本人目前已经没有这个机器了,之前是200左右,自行折腾哈。
一、齐心NAS(SY-100)简介
没错就是做文具的那个齐心,这个产品在官网已经没有了,原来显示是b2b产品
简单看下官方简介





经测试,齐心的官方app已经不能使用。 经拆机显示,内部存储方案为nand,使用mx30LF2G18AC的256M芯片,内存为2颗K4B4G1646E 512M DDR3芯片,总内存1GB 做工和外观真心不错,硬盘架结合了按压弹出和热插拔的设计,螺丝孔兼容3.5寸硬盘和2.5寸硬盘,接触硬盘部分还有硅胶防震机制

二、拓展原厂系统功能
原机自带的是基于realtek sdk的openwrt,不出意外的意外就是内核4.4,op版本15.05,root密码是1234

原系统下,支持raid管理,支持transsmition下载,支持samba,支持ftp等常用nas功能。


安装软件,开启ssh
原系统删除了ssh,并且是英文,我们来开启op15的软件安装
选择system-software菜单,点击configuration选项卡,原来是这样的

在configuration填入
arch all 100 arch rtd1295 200 arch arm64 300
在feeds里填入
src/gz chaos_calmer_base https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/base src/gz chaos_calmer_luci https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/luci src/gz chaos_calmer_management https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/management src/gz chaos_calmer_packages https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/packages src/gz chaos_calmer_routing https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/routing src/gz chaos_calmer_telephony https://archive.openwrt.org/chaos_calmer/15.05/arm64/generic/packages/telephony
改完后是这样的

点击update list ,可以安装部分软件了,比如dropbear,luci*zh-cn语言包


三、刷机方案
由于nand存储方案限制,目前基于rtd1296的芝杜和istoreos都是使用emmc存储方案,硬件限制无法刷机。如果硬改emmc,则可以通过简单修改dtb刷入istoreos,同时主板上有hdmi焊盘,如果补齐hdmi接口和相关电路,理论也可以刷入芝杜。由于涉及硬改复杂,不在本次刷机探讨范围。
刷群晖,这个机器的硬件配置和外观最适合nas系统,也是本次探讨的主要内容
不拆机器,利用ssh修改原厂uboot的env。该env经过我设计和测试,就是能启动U盘群晖就启动群晖,如果U盘不存在就启动原厂系统,从而实现不拆及双系统。启动群晖的原理是,在一个有spi的机器上进行正常安装后重启时,可将硬盘文件和spi引导文件备份出来,分别写入U盘和硬盘,并用boot引导U盘的群晖引导(对应spi备份),配合硬盘备份,能够使群晖系统认为已经完成安装,从而实现群晖系统启动。唯一的缺陷是无法更新系统,因为在更新系统中必须要写入spi,而不硬改的机器没有spi。具体文件和刷机流程请参见刷机方案1
SD卡引导方案,uboot仍然在nand存储,通过线刷改为我定制的nand bootloader,实现支持从sd卡启动各类系统,丢掉U盘小尾巴
直接硬改,主板上有空spi焊盘,焊接群晖支持的spi flash型号,建议为w25q64,然后改动启动电阻,使soc直接从spi启动。改完后,所有启动流程与白裙一致,因而也可以升级,如果sn和mac正确,就可以qc。具体方法和流程请参考刷机方案2
上述三个方案启动不通系统的原理都是基于uboot,设计不同uboot启动命令而已,sd boot多了sd卡读写功能,spi boot方案比原厂boot多了lzma功能和spi读写功能,因而可以启动spi系统,所有boot都支持启动U盘istore、群晖,nand铁威马
刷机方案1(不拆机U盘玩转istore、群晖和原厂系统多启动)
下载网盘中不拆机文件夹中的comix-istore-ds218.img.gz, 使用balancetcher将这个文件写入 U盘(大于4G),无需解压写入,软件支持自动解压并写入
将写好的U盘插入机器,并确保没有硬盘插入,开机且按照原厂教程安装dropbear并ssh登录


将U盘中支持多启动的factory写入写入nand(已经安装过原群晖启动的,如果需要多启动,直接与新用户一样更新factory),并验证
写入命令为dd if=/mnt/sda1/factory.bin of=/dev/mtdblock0 bs=$((0x20000)) seek=38 count=4 conv=notrunc

使用factory load和list命令验证,可以看到boot_syno,syno_bootargs,boot_istore,bootcmd变为如下所示,先启动U盘istore,失败后启动U盘群晖,再失败后启动原厂op

第三部验证成功的不用进行该步骤,只有factroy list验证发现这四个变量缺少,可能是刚好存储factory的nand位置有坏块,需要手动用TTL命令在uboot下设置
factory方案仅适用于原厂boot,因为写入的是nand存储,可以通过拆机,连接ttl,直接进uboot手动设置这四个变量,uboot保存时会跳过nand坏块
手动命令方式设置多启动通用nand原厂boot、spiboot,也就是改了spi的机器同样可以使用下面命令设置从U盘启动istore和群晖。
(1).通过后文拆机流程和ttl接法连接ttl并打开串口调试软件
(2).插电开机按esc键,进入uboot,并设置启动命令,输入命令前先按2个回车,因为首条命令总是错误

手动设置的命令参见网盘env.txt可以复制粘贴
可以用print验证,还是那四条必须有
启动istore
直接重启机器,U盘在机器上即可进入istore
由于镜像按最小原则设置,默认U盘镜像的overlay可写分区只有2G,可以使用op扩容命令对第三分区进行扩容
第一步,系统安装好后,在主页中,进入“终端”
第二步,在“终端”里登录root账号,输入密码
第三步,执行“parted /dev/sdx"命令,其中sdx要改成U盘的盘符
第四步,上面的3就是软件包所在的分区,也就是需要扩容的分区。执行命令“resizepart”,”Partition number? “处输入“3”,然后是“yes"。”End? ? “后面输入需要扩容的大小,也可以直接输入-1MiB,代表使用整个U盘
第五步,输入quit退出
第六步,输入resize2fs -p /dev/sdx3,执行resize2fs对文件系统进行扩容
重启后可以看到可以使用分区大小变成U盘实际大小,愉快的使用docker等功能
启动群晖
下载网盘中不拆机文件夹中的ds218hdd.bin.gz,不用解压,再次使用balancetcher直接写入要使用的群晖硬盘中 (linux下可以直接dd命令还原gzip -dc ds218hdd.bin.gz | dd of=/dev/sda,win用户请忽略本括号)
将引导U盘插入电脑,打开第一个盘符,任意改名istore文件夹
插上U盘和硬盘,开机即可进入群晖(需要说明的是首次启动可能需要10分钟,耐心等6分钟以后再访问)正常会进入首次启动界面

如果开机后web显示的是安装界面,则硬盘操作有问题,需要重新写入硬盘镜像,重修修复分区表。

三个系统切换总结为,不插U盘启动原厂;插入U盘就启动istore;如果将istore文件夹改名,就启动群晖。需要说明的是由于没有拆机无法刷uboot,原机器的uboot和群晖系统均不支持pwm,所以,这种方案的风扇是全速的,并且不可调。
拆机流程
刷机方案2和3都需要拆机,该需要拆机,机器做工很好,很难拆,附上拆机方案,仍需要一定耐心和动手能力
拧下后面板的四个六角螺丝,取下后面板

拧开左右侧盖固定螺丝

取下远离主板侧盖(前视右侧盖板,后视左侧盖板),这个盖板只有两个卡笋在如图位置,需要用薄一点的撬片往上撬,卡笋松开后能听到声音,然后向后面板方向推,即可取下该侧板

拧下硬盘笼与另一侧盖板的固定螺丝,连同前面板、主板、硬盘笼一同从另一侧盖板中取出

注意取下螺丝后,前面板(包括主板和硬盘笼)与该侧板还有一处卡笋,需要边慢慢用力把侧板向两侧掰,一遍适当用力分离前面板和侧板

硬盘笼取出是这个样子,然后主板固定螺丝拧下,就能取下主板

主板图


TTL接法
刷机方案1中的手动设置env和刷机方案2和3基本都需要ttl调试日志
1.通过ttl(usb转uart,3.3v)连接机器,并将ttl插入电脑,使用设备管理器查看串口号


2.使用串口软件(包括不限于putty,Xshell等)演示以putty为例,波特率115200,8N1

3.主板上电开机(注意,如果你主板没有接开关面板将会直接关机,请连接前面板通电)即可看到串口跑码日志,如果按下esc会进入uboot控制台,如果不操作会直接进入相应系统启动,如原厂op系统,刷机后就是U盘、sd卡、spi群晖和istore等系统

刷机方案2(sd卡启动)
下载网盘中“SD启动”文件夹中的文件备用
(一)线刷支持sd卡读取的bootloder
安装驱动,在工具目录下,已经装过的不用二次安装

关闭刷机软件情况下,将要刷写的uboot(SD启动中有nand-sd-bootloader.tar)重命名为bootloader.tar,并覆盖刷机软件Tempfile下的bootloader.tar后再打开软件

软件操作顺序
选择刷nand
选择ddr类型2ddr3_1G
不要选择镜像文件,不要选择镜像文件

设置刷写选项,勾选"only upgrade bootloader"

启动刷机
短接SW1(拆机图中主板背面空焊的开关,可以用镊子短接或者补齐开关)插入双公头usb线(一头电脑,一头接主板靠近reset的usb口)此时刷机工具会有反应(不用插电)

点击绿色小人开始刷机,一定要等到这个图标后再过一分钟(原因未知,太早拔线uboot无法启动)

如果你此时连接了ttl,后台看到的nand读写是这样的,如果没有ttl请忽略

需要注意的是,如果你多次尝试线刷,始终显示进度为0,后台ttl显示的spi init,就没反映了

因为短接开关默认启动spi,刷机默认是spi,这时候可以ttl下用nand erase 擦除nand boot再线刷,此时就不用短接按键,默认进入线刷模式
命令是nand erase 0xc0000 0x480000

切记不能擦除0x0000-0x20000的空间,这里放着flash识别信息(就是flash的基本信息),bootrom启动的时候需要读取,如果错误擦除,就算线刷也无法启动uboot,需要用ctrl+q模式救砖
(二)设置从SD卡启动的变量
通过后文拆机流程和ttl接法连接ttl并打开串口调试软件
插电开机按esc键,进入uboot,并设置启动命令,输入命令前先按2个回车,因为首条命令总是错误

具体命令这里粘贴太乱,网盘里sd-env.txt可以直接复制粘贴命令
完成后可以使用print命令验证
(三)将sd镜像comix-istore-ds218-sd.img.gz用balaecher写入SD卡,
默认启动istore,切换方法与usb相同,群晖的hdd镜像通用
刷机方案3(硬改spi方案)
该方案需要补齐spi硬件,调整启动电阻从spi启动,spi固件非公开通用,一机一码需要向稍息定制
(一) 硬改流程
按照拆机主板图正面补齐spi flash,必须为华邦8M,w25q64fv或者w25q64jv,将上述spi芯片焊接到主板

按照拆机主板图背面,将R26电阻移动到R27,完成后SOC将由nand启动变更为从spi启动

(二) 定制固件
用编程器配合软件读取芯片的uid
最简单的编程器如下图,ch341可以用,某宝带编程夹子20左右

连接好编程器和芯片(编程夹)使用编程器软件(必须下载这个,因为里面集成了自定义脚本,默认该软件无法读取uid)
运行编程器工具


选择工具脚本目录下的read_w25_UID.pas

选择区段

点击运行,在下面的窗口能看到uid

提供uid给稍息,制作spi固件
将固件用编程器软件写入 打开编程对应的编程软件,基本步骤为识别-擦除-查空-编程

此时即可启动群晖,该方案支持在线安装,升级,与某晖功能除了qc基本一致

(三)硬改方案启动其它系统
(1)spi方案自动刷入nand铁威马并启动nand铁威马
文件见网盘“硬改方案启动铁威马tos”文件夹
将afw,comix4tos.dtb,initrd,kernel,shaoxi_rtd129x_boot.scr五个文件放入fat32单分区的U盘
插入U盘,按住reset,然后通电,待电源指示灯闪烁即可松开reset
机器会自动刷nand,自动重启,等待3到5分钟即可启动铁威马
需要注意的是,以上U盘操作只需要一次,刷入完成后不再需要U盘请及时拔掉。
其他:启动tos后U盘不好用,是由于铁威马的led驱动时写死的gpio,dtb改不了,而铁威马的led驱动与齐心的U盘供电刚好有冲突,解决方案,ssh登录到铁威马后台,运行rm /lib/modules/4.4.18-g8bcbd8a-dirty/led_drv_rtd1296.ko,删除这个led指示灯驱动即可。
(2)spi方案启动U盘或者SD卡方案多系统
U盘多系统按照刷机方案一的第4步,手动命令开始,后面步骤通用spi方案和原厂方案;SD卡多系统按照刷机方案2第(二)开始设置,后面步骤通用,也就是spi boot支持所有原厂boot、sd boot的功能,通过手动设置env能实现启动U盘、SDK中的各个系统
(3)spi方案恢复启动群晖
不管spi方案改了启动nand铁威马还是U盘方案,都可以脚本恢复默认启动群晖 只需要把“硬改方案启动铁威马tos”目录下的default_shaoxi_rtd129x_boot.scr,将其改名为shaoxi_rtd129x_boot.scr,放入U盘,按住reset,然后通电,待电源指示灯闪烁即可松开reset,会自动恢复启动spi群晖。
(4)spi方案降级群晖6.2或者重装dsm
将网盘“硬改方案uid固件”文件夹中的rtd129x_syno_dsm.bin单刷dsm引导文件,放入U盘根目录按住reset上电可以单刷dsm文件,用于群晖降级6.2或者群晖更新中意外断电造成无法启动
将rtd129x_syno_dtb.bin放入U盘根目录,按住reset上电可以单刷dtb文件,常用于更换dtb或者修复功能。
四、群晖系统(spi和U盘通用)启动后优化
由于风扇的pwm引脚在常电区,且群晖不支持pwm,为了保证风扇pwm可调,我在uboot中设置转速为40%,群晖系统不再进行管理,所以默认关机也不会关闭风扇,可以配合脚本实现关机自动关风扇。
控制面板-任务计划-新增-触发的任务-用户自定义的脚本

在事件中选择关机,用户选择root

关机脚本中填入
echo 123 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio123/direction echo 0 > /sys/class/gpio/gpio123/value
优化关闭不必要功能,可选,不影响使用 在群晖控制面板开启ssh

使用ssh软件登录群晖,并切换到root用户 sudo -i 执行下列命令,主要是重定位日志到内存,关闭蜂鸣器、风扇、led等群晖靠mcu控制的功能,开启网络唤醒,关闭磁盘兼容性检查,根据实际需要运行
sed -i 's//var/log/scemd.log//tmp/scemd.log/g' /etc.defaults/syslog-ng/patterndb.d/scemd.conf sed -i 's/support_buzzer="yes"/support_buzzer="no"/g' /etc.defaults/synoinfo.conf sed -i 's/support_fan="yes"/support_fan="no"/g' /etc.defaults/synoinfo.conf sed -i 's/enable_fan_debug="0x0"/enable_fan_debug="0x1"/g' /etc.defaults/synoinfo.conf sed -i 's/support_fan_adjust_dual_mode="yes"/support_fan_adjust_dual_mode="no"/g' /etc.defaults/synoinfo.conf sed -i 's/support_wol="no"/support_wol="yes"/g' /etc.defaults/synoinfo.conf sed -i 's/support_led_behavior_v2="yes"/support_led_behavior_v2="no"/g' /etc.defaults/synoinfo.conf sed -i 's/support_led_brightness_adjustment="yes"/support_led_brightness_adjustment="no"/g' /etc.defaults/synoinfo.conf sed -i 's/support_disk_compatibility="yes"/support_disk_compatibility="no"/g' /etc.defaults/synoinfo.conf
洗白
注意,洗白仅支持spi方案,也就是刷机方案2
方法1:可以直接使用矿神的cm360一键洗白脚本
方法2:手动修改


方法3:直接使用矿渣论坛 “kuangzha”的“猫盘群晖超级简单修改【SN MAC】 工具3.0””,经验证,方法和教程可用与本机器。
五、其他进阶教程(没有变砖不用看)
ctrl-q模式终极救砖
下载软件包,包括hw,uboot和串口工具(必须使用win的hyperterm,其他串口工具在该模式下传输均失败)
按照上文所述连接电脑和板子的ttl
运行hyperterm,设置串口号和参数

同时按住ctrl键和q键,同时插入电源,进入bootrom模式,当终端界面出现’ d/g/r ' 后就松掉

输入 “h” 然后发送硬件配置二进制文件 (01hwsetting) 在 Y-modem 模式

等待传输完成, 然后输入下面的参数:
s 98007058 00020000

输入d,同样用y-moderm传送02uboot

传输完成后,输入g即可运行uboot,同时立即连续按住esc,确保中断uboot

使用uboot的nand命令重新写入原来的备份的boot_mtd.bin

可以使用loady命令直接串口加载
或者放入U盘,使用usb start;fatload usb 0 0x3000000 boot_mtd.bin命令从U盘加载,结构都是将这个文件加载到了内存的0x3000000这给位置 然后使用nand命令写入nand的0x0位置,大小为0x4c0000,命令为
nand erase 0x0 0x4c0000 nand write 0x3000000 0x0 0x4c0000 完成后即可断电重启,或者使用reset命令重启,救砖完成,又可以线刷或者uboot设置了
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

书到用时方知少
校验提示文案
眼里的倒影
校验提示文案
值友1560545843
校验提示文案
书到用时方知少
校验提示文案
rainryu
校验提示文案
tigor1125
校验提示文案
值友7833656510
校验提示文案
眼里的倒影
校验提示文案
值友7833656510
校验提示文案
书到用时方知少
校验提示文案
值友1560545843
校验提示文案
tigor1125
校验提示文案
rainryu
校验提示文案
书到用时方知少
校验提示文案