From 8600d3520c8917c24c1481fac37614c8f8ef26de Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 18 Oct 2023 14:11:10 +1100 Subject: [PATCH 001/163] Add files via upload --- bin/DS1821+_synonvme | Bin 0 -> 17241 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/DS1821+_synonvme diff --git a/bin/DS1821+_synonvme b/bin/DS1821+_synonvme new file mode 100644 index 0000000000000000000000000000000000000000..2dc63b55f2cfc20dc364bbc39d2b16105db24799 GIT binary patch literal 17241 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 Date: Wed, 18 Oct 2023 14:12:11 +1100 Subject: [PATCH 002/163] Create temp.txt --- lib/temp.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 lib/temp.txt diff --git a/lib/temp.txt b/lib/temp.txt new file mode 100644 index 0000000..2d030d7 --- /dev/null +++ b/lib/temp.txt @@ -0,0 +1 @@ +delete me From eff49cba3dbe0a6feefef24a846b44320680bb15 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 18 Oct 2023 14:12:57 +1100 Subject: [PATCH 003/163] Add files via upload --- lib/DS1821+_libsynonvme.so.1 | Bin 0 -> 54154 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/DS1821+_libsynonvme.so.1 diff --git a/lib/DS1821+_libsynonvme.so.1 b/lib/DS1821+_libsynonvme.so.1 new file mode 100644 index 0000000000000000000000000000000000000000..1f97be2d5b43e3d68c45f780d3857d597862d842 GIT binary patch literal 54154 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 fG<~gV|683Oa+k^ Date: Wed, 18 Oct 2023 14:13:17 +1100 Subject: [PATCH 004/163] Delete lib/temp.txt --- lib/temp.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 lib/temp.txt diff --git a/lib/temp.txt b/lib/temp.txt deleted file mode 100644 index 2d030d7..0000000 --- a/lib/temp.txt +++ /dev/null @@ -1 +0,0 @@ -delete me From 59b8c273be28787ccca443d01a099436b575f57f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 28 Oct 2023 16:54:44 +1100 Subject: [PATCH 005/163] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 208bea0..2df73a1 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,12 @@ ### Running the script via SSH Thank you to the following paypal donators and GitHub sponsors +- Mir Hekmat +- Joseph Skup +- Dirk Kurfuerst +- Gareth Locke +- Rory de Ruijter +- Nathan O'Farrell - Harry Bos - Mark-Philipp Wolfger - Filip Kraus From d07dbba7fb2d5b47402abb60a03d2647bf957621 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 31 Oct 2023 19:13:46 +1100 Subject: [PATCH 006/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2df73a1..1bb2e28 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following paypal donators and GitHub sponsors +- Peter Weißflog - Mir Hekmat - Joseph Skup - Dirk Kurfuerst From 37a430014ffc33e9e9f4fa8d679655a292d5ea4f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 2 Nov 2023 12:49:50 +1100 Subject: [PATCH 007/163] Add files via upload --- lib/DS1823xs+_libsynonvme.so.1 | Bin 0 -> 54154 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/DS1823xs+_libsynonvme.so.1 diff --git a/lib/DS1823xs+_libsynonvme.so.1 b/lib/DS1823xs+_libsynonvme.so.1 new file mode 100644 index 0000000000000000000000000000000000000000..1f97be2d5b43e3d68c45f780d3857d597862d842 GIT binary patch literal 54154 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 fG<~gV|683Oa+k^ Date: Thu, 2 Nov 2023 12:51:27 +1100 Subject: [PATCH 008/163] Add files via upload --- bin/DS1823xs+_synonvme | Bin 0 -> 17241 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/DS1823xs+_synonvme diff --git a/bin/DS1823xs+_synonvme b/bin/DS1823xs+_synonvme new file mode 100644 index 0000000000000000000000000000000000000000..2dc63b55f2cfc20dc364bbc39d2b16105db24799 GIT binary patch literal 17241 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 Date: Thu, 2 Nov 2023 13:05:10 +1100 Subject: [PATCH 009/163] Delete bin/dtbpatch --- bin/dtbpatch | Bin 130840 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/dtbpatch diff --git a/bin/dtbpatch b/bin/dtbpatch deleted file mode 100644 index 0f314f2ae480c4c43c8bfcf2cfe2d7c1b08794aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130840 zcmeFae_&L_)&IW<2}b2dYSB`(8Yx;-!~_xuC>oU2MT4gNu+)O#R|GU9X$XiGD;i>1 zm$lJ?r7hLeQp;m$O?^?VUJ^|-XpTPNn3_dp(nv4=Bf9400YyOl3iUY?6 zN&=?@P7d@XD~rD+hU$TfG7aHkj#Ew=lzN*TzB``elylK-T~O-z{n|n>a^!)mzj?KE*h%^0_RjNo;RlOoXQ1fS1ztvw&Ls+#beGMQ#f*I^~h1$??EUc zK6T0EGXjquxq9KMz03Aq_PH0&`1X$54xVyK{iUL}=pgc>jQo-Et~up%8GnV>er4Pl zI29+6Joz(~zpWL|EjevTzl#d*ny~u#4gD@s!skC{9UBN7mxlWv#yeg9ZP+)`jk%odL~!8{JlQ;pU24Q%KzObf2)r^wLW&c z&ZpfE8Sr%NPGI2E<==y2q|0yevH!qh(wEQo8OO;!<&X2x{~;g0dcbFV13vlR^|9O6 zeC&|nqvs7ia!&NI^Lswyc&3kiZuXJ$n$Ni0=+ob;eC#>ENB=v0+O6@i|5%@X{ncl_ z#C-HD^6~$fKKYG4OUx zfWW99nM%hw`FrsnDZgrHYWYBU`NAdDRpm?T=GNAgmj}uxPoGl0prW>7;o_xr6}8i+ zTvSy^7tb$We9h9j+KRbLCeJ6YVE&@HwdHlSa~Ibw zojgAnyr>{J^)d>NEia$HVnsng!6;LSDvPTYQl+4L+FU6Zr1I$U$<<5Cuc)c0T2j4$ z_OH79vR-QTXv_#2JHL8K&D`3GVA*B!MZ|wD0X?Rb&#$hzpwbiwsxUI3}n162FTpIa=$`&AD{@j|m^B33M5M1)f zge+d6HK)~8GH5+V(HM5BjF1__G%AlfacEL(20 ztgc)dyjJxU2bfe4T>il6iP~T}64Fv<*>F zwV*Ox7lZ!28zTe%N!)0Zj7)VEwpup7ZZa+s3@)EuKCQT1yy%+h+Uw`mE+}8jteaa` z&77IL@RPMe|F6KtQuz~1moZD1VWQgL5*ZW}8&^Jc9`m=NqI_}H(h6e4+^PlTwH5Q` zR?e-OUoo!?Cn)xcR54Apb5TmoB?_>a^-<<>GHL9^=f6p?q4mtEzLIckIH7I?jT`Ez_%yuUojVx_W_DM^yr> z2}|?lVz0`|>iN!eDlR9!*UepASx{77N{}!2x-t&`TvoNHy81d1LVTWEK96;vif~dl zf04RF;e5iIcDY(7SB?MV`UEp%?li}9%NMR#QC?F~yR^EB@vgg}e0jdHv+uIu6a10r z`iKM-H#B^Lc~LZyE*jOu8zJ`lPDs#>1$t%NkRp``#o? z$e%x*<*caOj9S(8pKv*?DGfTSd1{<+-SI!)lE_pgF0qmYr%I&O$y!^XGv3S;|7k9x zpp(3eDDBMUx{Aumnonw4Z-oBiX~E8FO8L@?I%n_nNw+Hn`G{Gtcqxm#acvg%`PIwn zj3rzz>vdi@eX#d)2q>?TN&0iG$}kJLO(A!Z~P_!v9xx!G%i~ z->9}xPhqX|g8CiRdD03^#UiCkj&Q<`TZ^^C0f{Kq_XDL6EsJ9DjzknpwRm`YGhI1qM0)% zUO2hDVC3kLAt@foIj?#gn9l0Eb9i5DXKICWU-;BUZoUPq^ ziL%pg;HKl~z`NwhpA6(5bohMI>+Zap6ZcVp_no|DLl$!r(I=2GK#Qx)n8QiV4KF;1 zyqrLPcxmJJ56X>g-@p(jU3bP^+^A&-PIJ-~o!{kVDJxLmq`$7|%s>fg`Qtucp_2Y- zEHc>aJU?;s@0?}ww{^=ebIQ+j&i`(CH{EiIxfh_5-ZKG_wA;$J?}=Nj{IRA<{qH_2 z{~{~D&B_m1`Ee_MvX$Rqben~GTTKVpMhxo)aE8o30k^C=P`GfO} z9k{+>Op|}|tb7K_`!n3iH@;@5d@G-;BkxbKl`n0(e@d);83XrE$jTR;+&^VjzB`t} z&9w4yQ18ziE1#<%@6RGDABXk+)L8jk<$8ZsSozLWQEru$@3^eyud(t6dQt*`Mk`OEB}jD`QcXnFe^Xb%0JD@FShbexAIG@{4ZJgAuE5lm0xD%pJCVy`OYg1$~Ig1PUzSCZC3smOHPZGUu@;?w(`eW`K?y|cq@OOm4B|4-)7~XXXVGO z{0UZmhn0W6mEURQUtr}2ocJ#>vc$^IvGOmp@^h{HNml+~D?e!E=UMp|TlvGS{7bC- zd@KJlE5F#vFSYVZto$ife#pwd+{*v-Mc;8P2HYJpEJ@TmnpwZNwq_|yWQ zTHsR)q*@?Ue<&vu$^IknDTW$a>N2}pL-jjzp7siL6}beB`sHgi55*iD`~mYOw)HsTCVUCC7Qln(sFf|$k+6(l9nsGM4qN^ zl(bycC2}=gD`~l+O9V81t)vG^y5l1DwhOS6YdD zP2VbMxynl9Y5GP<%N154SJSnU9x3U7rmvOsIg;);qT?@VxvEOEY5FQj%N13kRnt=? zEmu>C7ENC&X}OY0G;8`oNy}AKqDj-^B`sG_iAGJ2lC)esC01$rOi9ZlghY*|he}$m zpb~R5Jw(!S^^_>n^l_4wE2l(>rjL=dTs0-~HJvGGxnfG>Y5Je1IvukhEMWC7Lw- zn55+@Dbc9uha@dmNQqUN9?~8NT+>Ke{}jA4IsC%aq3|1_`hy*1(@Ue-;~NNF(f+?* zEifUDr*|FSmpX?BouCwlV!rkj{^Oc6EiqZIi>l2}Pos zh&FUEtdB_m4TYZzg=6u_O!JV*4#~qm@?-Hq*nV|O-6f%D(Z9lEMJLo^kNCgH4uyAw zA`M3Ju2A^pc-+m*UY?NJn)yXq`89p%O8hNb>PID-I?X&L)7NSJ2b7C62uZ7bfC=w> z)W3D$`W9LrMeE--tsfTa-Rw2gKiSY@WSWN7&`_jdkP)?wUe$MgCMjsD5%e<=G{zIO zGwx~pbx+U*Dk#ecszy*axHHm_W76fCZizGuGwCZdy*<*<&!jKV^tMQYEHCuw98GV< z0&%+PTEMdZ_e7a!v@JdR4P_g&E|!f>I7Y_d940)Xw2tPgeLgR_5mUCIW!YLjYY99( zTOF%065JZv5UP)7gu=niGLZE<__)4C+$7ep0$^kq8YL!&Uz+%&rlVyU+hobpni;LX zlFyGR^TFRj*R|w^&e(~Uh3Z?V8f=OLw}s}nqMj_cq3}!MPyZxh;ewhISzj!K<8sCc zH~kYgKso9~rZlB;E8t?m-O}E!;By&}&Fa>%c=Jf4MjNisc4F~zwbgn}MjINXP_$^# zwP3PZL(xGEYQkvtYqyb;mC49NkAI%ep^Vn9wq3#J zrK?Ua?vrdJZPDhR57f=ZBGO#_O}hhi@1VzPmL9SlbM!cu3IiW$5O#ITvc5CW!ePViz!-QMox5hUa%`g2! zi!^JSv3M)H8LP%*YLtc#h4&@Cqi*>$oI4A@Ky&S1o*dr!ggBHa{A*;DhX35&2gjnI zalcr6CqmjkPu>$^j!?vO_6`cWB^#aAzfVajy2@OHGHwxB`NaDk{kz~k`FN7LXT`p+ zO`J7x_Qb0vmYbzime9?r(c?2U1O%HxPBbvCbmMU8Be}?Uk=BnB3z`=MZ!rySP4Q!MC4KmF(y6F)ny@rPP z8*Fsc7;n@#+hoP!OH8qSRO2s-$KpR?Ep+LT(CynvH3`!X1GJA!9rM=rywNp<-r`u{ zjN1ZnxybC!XUxt=_dLyJz(N|a9xjnEC4n&hbDS(3+!Bg3NM0y9Wy@m{Ih_DGUi~Gw zit#lyb-lXubP7btMYlER!P+KkCbs#Z2q}$J#9jJVe-n>=LnqLIc)R!(24vpL4s)#g zIlN<=HhKm_9*oC=ThIVMHY!DCAZ^MPN2ARm!gUc_sccosn-f=Yib(ohqX~rWg!zh) z>U#TJS#;$(a-ZxYM%jP?{f%;(>4i>_ALj)ER9z?)8fJ+FT|-7CW!v&yu~anJ9E!}K zsv7bPYHOBmQA5RSL zbW6N)N+6INmub{BMNCAV;3b@qIiuBxOC1_B>BBEt!*jH1F?(OA;kALQmxxCbwoa!p z6PieTKra&0go!j5pNhr9!?1%)s`{JS0(Dp8ZR(6V#ne!R5@#c`+Yrkc1u0{h5?)x` zgvck^I0WJc7#jb9tHc@G*ECu~{t%im0P4x#{44AQI?EU&thhunx`oOtd5 z7N>PLiKY{d{u8}ir)|nXLxq{e>1N4{7VVXCRIPE#WPh|@a`fEsGctdT-*hG9E3hoC z0X{pe+UJgoEM<^&7&Ss+XUFR9PxGZJ>)1sntQF;Al9svE&?y~`PFOCvuW2bW z;88Peqh@-WneZpA<>W|=FOgdRklg5mLit?n$<>uAI^kr=tv7PbG+A$;p-fd%#|ay` zCP(DP+o<(Jl^Zn*nxV*1lk1r;sFsYHW_qw+5;kHw$409`PC}%$w4NpYj&HLZWIsns zVxVU_WrxnmO8Sz$Msp?To2k0WbU=?HPS)6bso1bj&9~lwbDGgUEu;!dT8M!&XPj94 z9+kqWB@)~mnQy{V>3-Njbg%)zhWJmH2zs(sXeF`|Ze^7!0U2W*nm5&sPB%Wi6`Zf zAikGL8`isn5NA#*J*^qWU4yM;Jfs;p>c7F=Wc)}o`k9P2G8#1_my9PrBZIX{(}N@} zp(|da>A|F94JYwm)lXU@HX-q;aO)W&cd{1Cqkv`$+3Jxal$84d|9JG@Vi>odvG_rf z?l#-?+yEU9?`!{p*(JHTZ>vRhO}s*k-)&Qr&!Q0uKfX`B|KV03ync@)IQZ$>6^kzt z36Ta?2 z_%yBN1c*p3OtY$@v#gc7X@qHxtD_QM7MF92GPLnzC!$5qUN6eU;)mYq>LO&VYmsIf zGRV~3r?fFA*~WHl!^uhd`B%>oAq_K44|Rd8GFfG&hXzam)5E3k(o|n*D(Wz?_`O=q z1gnttur=BG37?a)>oq5(ht&z~k}1kLioPJTQQIzhXSpax{7Uw)?i_kYKpf2I$;b+Q z8MMYiFOOyMKzuN5wwEQP{g)$c`Ixza;u#3}1|AV^C^dGV0o093%HE9aIw7UU zQNm2(6;;)-Yb-vNMia;BGVJzZywmO^ZMSYnQlm2+=1gUl9kmUM2HLZ?$%GRNKbkU_ z`O=aZg1_>x12HBi84A}L-yCi_(IU3_k;%$aE!P`p&;mx%{f@g9o53^;=R4!B+b}kN z#g#getxrB)2UBxW2J=2MdZs8>n{+GL+0ZgGm=pfunSbEwpVQMw_N}i30^GNSkH3Kr zxJf=?!)$Ff5TFntvC7G3Gjx1cLs& zy_;N|NH)`MpJMSB4t8}-^3FN2L8^>vqdP`0)IU|jIwKK_7h{^lXC?l4PCT!U6b%HC zn;p&WQoYw}GHUia(V{;uHT8dano2Fxvg+VZ54Lh*@pUv{347RdlP!r1 zUm!Vr51DEvN7jA*qTdx~NjnXlGO3)b1tzOQW9NDUrhsvt#qi>%pEb^-Rgtt_s|9x> zhQG8fYo89xz|V@tGghHcV^X2(bbQRl`}sd>CzOpA9jXXM7|Uztt+|`q(|#s{M1$dg|1@Rq8rNA~PT)8pTN9I|ShQi4Oa#;)F7}HB<46dAZHkfXU;bWNh{bP`NEvn_0O{Xwu9s1Erx97N znyk%|6rPQN~6xM^_t`AsKjS^Tr>@p9}uHwof9#}S#!fwNNp-*Wf&pZYA9}(m|1y~~E9-bY? z#LZY7r#F>Uh1W$l({+8jqFehBr~S7?)0FnxQrkbyZvTdq_TL$(?c?>?`90dd+G>B5 z2}*94?j6ebSCSVC?iXJ`wK8XXLpWb7xKD>wOfhiv3w?-+!TqvK&)6@kF7=Er9X77f zVMbE&@xaHIh)%J1g>L-JRxKJeWsYxFQcpIw>8iHARVzF0rFOg0jFl3|dGwDWwm}7u z+-#EC7|HKxGOFIm1q8lqKka?Zh?4B&)85mm!Wr-wJ#i#nHA}W}Z@EzT3Uej?o`?<0 z)M@;!bVsMogx6J*RB792LcDdjdTX@IgmzU#eyh;$26b>_F9Z0iLun|=8fZ= zM!#w|I&gJ=Q?jgQ!~L9wbF|?GDe>4b#-j*R9D8srsZHDOyhhu+s$#PveUBFMrs5PyhM$t_Wv!yqW}sY3MzSa3rJ)Ebn~9lM z8$s%tsQKepoFI?tZr+3B)qj|=EITpmh)#T&;<4afo&R!AJ8<=|?lYayH?};+oM}6Z zEpyc?icY&$I?OIxgK$Hul2KFU_`yo5${SCWUb;s>wT;ob(im4OBIkE#h{7s>T zjgb`n*@8Ky)d|KzhyvQi-;5~jY_|Je$9Ysq&h)dp&-5kuQaneEEHnN7m`GFCnq~$f zRoZhjAv1l8v>NrB>5KM>nrUYG0V7lNcW3%zi=;*FKSX(Nrr(AQ^3}p=XZm;54ti3e zU>V{ZA2``Gpj8oiGm5w~-IS8qcEdCDd60+*OP?Rw<@LFo%t&yrhWWkppvD{g{^n3y zraC#>vZASu?%&j{&3Z%H6Y1Nkr*n53i+8*%c5yEGV(~wbG!yBkVlbUZZEF1k@z2S! z5}v&cCCq4hPu(t4Av3rq<8W$xXxp(e8d8G$Hq(abEl*7(Dc$r6pQjJfva=+nM`pMp zPE`@!M7idro|C7RJTrM-VDcn)O}Wml=}&T42)43c^2Q_<{}+`=8i!|hOOofp3z=~C zGvG(jl4rn)qHg*3I{EV5ecdg3OW;os^_gdv#6GzB%cFy_YR=4bw&9ZlN;r-uSUNs9Z z>#V=&NXD{n-f~l?+;J{j#>62^e>NKVJZ@NT{EE_z`ex<|6_+5u2%BvZwxJqb;~x5nD)Iz$lR)qwv-Qs+>mCMw;3G5s8VMfcIR?RL z#-C|=Unu;-W86V$b5EJct;G+}1u1UI=<>N83A#Yi%0Y?T&&Q8q5pFLu?xfW=Q_XRS zFKBUDvS}n1zgl~&ANvTScc<<{_V7*n!^`%?f=8Hr?0)wRe6R&8^C2>$bKrwJ!okCu z89W?r!ThwpZ(MNy(rn&dY`>Vz^0~pzr8y)xE4Gi(^kFBR*?v0d(70fHxhc@6{dh9W zlJLQ@csRJfK6oUn{pYivZj|>N#bGI&yt7Q`++<$CowBvL<8W-yFs6~`$^#fiSIU*MI?+IaA>FFa*0#Yl2r zEf$y0kr_}rgwHrxkr{i#jd?VU*XVn3l!}J(D9r%r$e!{dF<^*{tRwB77rc?ZNCsJt z$=V~)VX)2)(ZMNRtu4{8rnT`At*TF3L|YcZ=)kA8$STo>x70+}Xf2w^YYUg=$%2BP z-AUsq+Tzj|AH zsTc2s+tdr!TYJq`y|n&wjtnp^5-Z6QcbAV`n-BuIq)Q~d%1tNz{HfpJFXLVB zt#8qCb#6IF&S6j?~_{)Z*e!Tl? z^wZP76m!~b({^+lMOB>&r=lN{8YB9od4qZ2+-L;Igf&Y2H^GH)x6Mue)})(>-Td{o zS+9`IS~SyS@xBwbrCO_~S{j`*+`Q%Y3+_B{iY_IeXC6{=+O2co(4@n~` zJQlx?&+T_oMN}(6rcCEH>HYxI#%4Etx=A;o8h_>4x%RV=Y}v$bmm$>bSbV-Ix{s=& zUWwV44)oN6aMfF>Tb|iGjpmBWsCSXnb|n3es27zTj=s1@e_p|^vcnl{Z+mt+nYzod z#$|zQ=1p4t>Y(m5&G0tkypBK2c%Es)H<#w<#-?YCaYp$BBdyc*g1e10;!7+(4{1GS zo*OfwWy9%^nfEWpe@35@aU(UlM9WI7l8^e8Oo?mX`mJ`-i)$$nP*xW&Vnv^|BbMEA zM@V!`#>%C%EJ-)wCSzrZ7Z>w%L9k}&>r%;mws4egptzT{3cRdR8G6x5XM2g*?rpCz zd%fGoToecA!eb^z;bq6D%o%mMH%$$a>f`^=q&J`K6<*|raHt+*<3!V}Ubx<(+ugm? zyRa9oH<^`e>-_W_-V5i*)P=;^hsxLud?Xj>82Ct_cn6QPyNz2c*eOwWSMUP{nw41W zk-_W4!4K4^FUNmQEUoXzAnY6!strMmFdK>NC%-=4ya-H8iR@`Tmd|a9GEZ6ix;`L12kC3sf zg+0->P>=0M$Xr1pi*k_P3Z+#Cw$ zMrO+%T@`zic*k29y6tkZey<^LpER~dg}Gbi?tVM~?Oe->1%|sjvM_y`(z=FSa73=o zjpF%YXWp^V2as&B=>38CYh(_5f?Mav6bbb7P%nE1J=1OTb(4&PSuBfFb>fH=UUo1% zqm2^+-vkM>CBLa{{_-1GnNeeL%P9?#?U!yGV7Nd$!x!c=8s-} zE{m45!y)1@619R{yokK7Sn>{Y#=Jz+gLH(~YJE$-X=P1r>T$3W2kXGWu&Tz~ zxOW@-qu+>y_%4E66l!J4YH%96OFhDioo+l9^{FsVDmb5?`+IUkyN~vjlygVBJ9n`q zWBWh+Wo)p@&FiJDwY{{p(vs1V+E$*o0_a0R*8n@68eXh$%E^9TY@k-UH?@!zx8#`= zaZC0H<96^6$vsuMYY_P+j4zm!xh3Zj%Da#^Mi{y_r^Au2;HdUyPg!G%10RCfs5ECUxE8C)vzv5nv+V7@6wc zGvn@a@g8b+_jD71hsYhj>~+-ZWAX2k_DULiI=1Y{mXZ?Zu%k{7i4vY2la|N&xu%o^ zDtD)v=Pm?Lg!No&nl&1mv`LplQ_~9mt*snkm_=NAt?ricj)wQ!`q(oKx!e4>h}@OX zrASVQwc(82`ZZXmo8+lz^_p9)md3yDAJ4QmjzžLD_7J0lT=~=9shO7KEq~1#+ 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 W=u~`2yZ@c9>HUXUfq8@XHTZuF*iQlg From e262638700ef3b863a0a19106d702b21e70264ea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 2 Nov 2023 13:06:45 +1100 Subject: [PATCH 010/163] Delete dtb/DS1823+_model.dtb --- dtb/DS1823+_model.dtb | Bin 5762 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/DS1823+_model.dtb diff --git a/dtb/DS1823+_model.dtb b/dtb/DS1823+_model.dtb deleted file mode 100644 index c04a562ca0adce991e9452d6b13b816ecddf1627..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5762 zcmdT|y^rHW6dwb}aeJHqaRO1$(13tl+0G{HQXSHs&`NA|AR$p$6MHtXusuGH6Lu>k zL_tAw{{e`ang$`!P*YNXgb*MaDr!!=_h!aliL=>LB6OA}9zVa&-+S|BoF8x8|C_Pr zK4FXxW5A985mE)fXn#-=%4C&>(?<)kHY;L&hMOOGLe(>2K{-MUsr}6%stn2 z1Mk2eoT=A{3uPaJf%Z_J)%C)Z7f}!wcY%f%(w~I!5)9;j#0)FH56@4)z~?J4-YJWj zfID7Dy9$G+aahP4Nkl_EGZ@w`K7S75Z5USXS1|vz@%$ake}my1y+8EcfC*g4+ZX>+ z@UD(OIU&70gNEF)umIt?i%asrKa;^K4_Ub@=pVT^$(jqK?6(bXa-3 z*M49Y){h0_w0deC!%OLC)&lu*+jCERclTWl>&o0b3zq8K2+vJHur&Ed{UC%AH0fbZ zHcy-Ngn9kbb@$xY-2?oA8ToB%;UA@Xfb0yMGzI6#I#PUa(r8?WIrLlSab>%g&ck(}-Q;B|CfpmjIzdh+ zjvK)9qU*ltdV9lq1=alyv2FBb=Vf^O9cXA1uy;V~&L8F(S&tj@_h3#wCn5?ag%BAK z;6m9Q;0qBp8buF!`550Bu;X#_VjR(|03y+Q0#|R9-wN`zY^AYkAf4e>i ztqtKZ`rrD8*?ZQ)&;UVyl5#+M4 zUrmsd{xd~yPk>ym%K6S;=Dp4NGW%wmTxGxaO!L6@@qF1id%-uaJwsLdZQnVL&VpLL zI;%9~tNp20J`dv+_GvLwUT13DaFaRn@l0XRaAEzT%>?crz^KltAY(DL>v8Vywsh*% zQRi+xsNc8kYE6B1U%l8aDX==1*sb1M9v!dd?6ZsiU#yIGzmCTNJQnN@>-S_g_QL?6 zz19Bab3T6SNM>B8O`|fql{kCU;j!{!bD+c2%@H`V-Y-Pj#7)A^B%kun=sUXyWb@EM`#*(6}*Xj57fBphVWS3;L)0GVNm4?g` z{ETfK0qVhVEtF}_%Xpj!mdZ#ZY%U5F%Z%ZsKz|<6SDwn_Y?i}Upq%AwfdVTb;pdt@ zjUw1yJ`x46D{`VpBx`C{DUxwvkw_{-CU~jG(Kav`Ds7wR><-~mNJxyCgb-m`AK30s#EaLv+F{6UZV0sF0$49CIbue-vCg3jhEB From ebc92a6d9b478151473f6c92676b20085af8ced6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 2 Nov 2023 21:32:53 +1100 Subject: [PATCH 011/163] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bb2e28..63af5f6 100644 --- a/README.md +++ b/README.md @@ -105,8 +105,9 @@ ### Running the script via SSH **Donators** -Thank you to the following paypal donators and GitHub sponsors +Thank you to the following PayPal donators and GitHub sponsors +- Andrew Tapp - Peter Weißflog - Mir Hekmat - Joseph Skup From 926707f4911c6b7179fe85e239a50f0cf3541796 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 7 Nov 2023 11:43:56 +1100 Subject: [PATCH 012/163] Add files via upload --- bin/64570_synonvme | Bin 0 -> 17241 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/64570_synonvme diff --git a/bin/64570_synonvme b/bin/64570_synonvme new file mode 100644 index 0000000000000000000000000000000000000000..2dc63b55f2cfc20dc364bbc39d2b16105db24799 GIT binary patch literal 17241 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 Date: Tue, 7 Nov 2023 11:44:33 +1100 Subject: [PATCH 013/163] Add files via upload --- lib/64570_libsynonvme.so.1 | Bin 0 -> 54154 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/64570_libsynonvme.so.1 diff --git a/lib/64570_libsynonvme.so.1 b/lib/64570_libsynonvme.so.1 new file mode 100644 index 0000000000000000000000000000000000000000..1f97be2d5b43e3d68c45f780d3857d597862d842 GIT binary patch literal 54154 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 fG<~gV|683Oa+k^ Date: Fri, 10 Nov 2023 20:51:22 +1100 Subject: [PATCH 014/163] Update CHANGES.txt v3.2.66 - Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. - Fixed bug where memory was shown in MB but with GB unit. --- CHANGES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index b427d11..0aa3746 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +v3.2.66 +- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. +- Fixed bug where memory was shown in MB but with GB unit. + v3.1.65 - Bug fix for NVMe drives with / in the model name for non-device tree Synology models. Issue #154 From cc23770b3fc577db088b230306f147f5dc3d3e1e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 10 Nov 2023 21:00:57 +1100 Subject: [PATCH 015/163] Update syno_hdd_db.sh v3.2.66 - Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. - Fixed bug where memory was shown in MB but with GB unit. - Removed -i, --immutable option. --- syno_hdd_db.sh | 347 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 279 insertions(+), 68 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index df629a9..a3bccbb 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -29,7 +29,11 @@ # Change how synoinfo.conf is backed up and restored to prevent issue #73 # DONE -# Bug fix for NVMe drives with / in the model name for non-device tree Synology models. +# Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree, +# and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. +# +# Fixed bug where memory was shown in MB but with GB unit. +# # # Bug fix for script not updating itself if .sh file had been renamed. # @@ -54,6 +58,8 @@ # # Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. # +# Enable NVMe drive use for models that do not have NVMe drives enabled. +# # Fixed bugs where the calculated amount of installed memory could be incorrect: # - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 # - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 @@ -220,7 +226,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.1.65" +scriptver="v3.2.66" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -251,8 +257,6 @@ Options: -r, --ram Disable memory compatibility checking (DSM 7.x only), and sets max memory to the amount of installed memory -w, --wdda Disable WD WDDA - -i, --immutable Enable immutable snapshots on models older than - 20-series (DSM 7.2 and newer only). -e, --email Disable colored text in output scheduler emails. --restore Undo all changes made by the script --autoupdate=AGE Auto update script (useful when script is scheduled) @@ -307,7 +311,7 @@ if options="$(getopt -o abcdefghijklmnopqrstuvwxyz0123456789 -l \ ram=yes ;; -i|--immutable) # Enable "support_worm" (immutable snapshots) - immutable=yes + immutable=yes # Does not work for models without support_worm=yes already ;; -w|--wdda) # Disable "support_memory_compatibility" wdda=no @@ -791,6 +795,7 @@ getm2info(){ getcardmodel(){ # Get M.2 card model (if M.2 drives found) # $1 is /dev/nvme0n1 etc + isinm2card="" if [[ ${#nvmelist[@]} -gt "0" ]]; then cardmodel=$(synodisk --m2-card-model-get "$1") if [[ $cardmodel =~ M2D[0-9][0-9] ]]; then @@ -802,6 +807,7 @@ getcardmodel(){ m2carddblist+=("${model}_${cardmodel,,}.db") # M.2 card's db file fi m2cardlist+=("$cardmodel") # M.2 card + isinm2card="yes" elif [[ $cardmodel =~ E[0-9][0-9]+M.+ ]]; then # Ethernet + M2 adaptor card if [[ -f "${model}_${cardmodel,,}${version}.db" ]]; then @@ -811,13 +817,16 @@ getcardmodel(){ m2carddblist+=("${model}_${cardmodel,,}.db") # M.2 card's db file fi m2cardlist+=("$cardmodel") # M.2 card + isinm2card="yes" fi fi } m2_pool_support(){ - if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 - echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support + if [[ $isinm2card != "yes" ]]; then + if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 + echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support + fi fi } @@ -1161,8 +1170,7 @@ updatedb(){ # example: # {"success":1,"list":[{"model":"WD60EFRX-68MYMN1","firmware":"82.00A82","rec_intvl":[1]}, #if sed -i "s/$startstring/$startstring$string/" "$2"; then - #if sed -i "s/${startstring//\//\\/}/${startstring//\//\\/}$string/" "$2"; then - if sed -i "s/$startstring/$startstring${string//\//\\/}/" "$2"; then + if sed -i "s/${startstring//\//\\/}/${startstring//\//\\/}$string/" "$2"; then echo -e "Added ${Yellow}$hdmodel${Off} to ${Cyan}$(basename -- "$2")${Off}" else ding @@ -1257,69 +1265,241 @@ enable_card(){ fi } + +dts_m2_card(){ +# $1 is the card model +# $2 is the dts file + +# Remove last }; so we can append to dts file +sed -i '/^};/d' "$2" + +# Append PCIe M.2 card node to dts file +if [[ $1 == E10M20-T1 ]] || [[ $1 == M2D20 ]]; then + cat >> "$2" <> "$2" <; + }; + + nvme { + pcie_postfix = "00.0,04.0,00.0"; + port_type = "ssdcache"; + }; + }; + + m2_card@2 { + + ahci { + pcie_postfix = "00.0,03.0,00.0"; + ata_port = <0x01>; + }; + + nvme { + pcie_postfix = "00.0,05.0,00.0"; + port_type = "ssdcache"; + }; + }; + }; +}; +EOM2D18 + +fi +} + + +download_dtc(){ + # Download dtc from github + echo "Downloading dtc" >&2 + if cd /var/services/tmp; then + url="https://github.com/${repo}/raw/main/bin/dtc" + #if curl -kLJO -m 30 --connect-timeout 5 "$url"; then + if curl -kLO -m 30 --connect-timeout 5 "$url"; then + mv /var/services/tmp/dtc /usr/sbin/dtc + chmod 755 /usr/sbin/dtc + fi + else + echo -e "${Error}ERROR${Off} Failed to cd to /var/services/tmp!" >&2 + fi +} + + +edit_dts(){ + +#set -x # debug + + # $1 is M.2 card model + # Edit model.dts if needed + if ! grep "$1" "$dtb_file" >/dev/null; then + dts_m2_card "$1" "$dts_file" + #echo "Added $1 to model${hwrev}.dtb" >&2 + echo -e "Added ${Yellow}$1${Off} to ${Cyan}model${hwrev}.dtb${Off}" >&2 +# else + #echo "$1 already exists in model${hwrev}.dtb" >&2 +# echo -e "${Yellow}$1${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 + fi + +#set +x # debug + +} + + +set_pwr_limit(){ + if ! grep "$pwr_limit" "$dts_file" >/dev/null; then + # Save current power_limit + pwr_lmt_old=$(grep power_limit "$dts_file" | cut -d\" -f2) + + # Find line to insert power_limit + pwrlim_line=$(awk '! NF { print NR }' "$dts_file" | head -n 2 | tail -n 1) + + power_limit=" power_limit = \"$pwr_limit\";" + #echo "$power_limit" >&2 # debug + + if grep power_limit "$dts_file" >/dev/null; then + filehead=$(head -n $((pwrlim_line -2)) "$dts_file") + else + filehead=$(head -n $((pwrlim_line -1)) "$dts_file") + fi + #echo "$filehead" >&2 # debug + + filetail=$(tail -n +$((pwrlim_line +1)) "$dts_file") + #echo "$filetail" >&2 # debug + + echo "$filehead" > "$dts_file" + echo -e "$power_limit\n" >> "$dts_file" + echo "$filetail" >> "$dts_file" + + # Show result + echo -e "Updated power limit in ${Cyan}model${hwrev}.dtb${Off}" >&2 + echo " Old power_limit $pwr_lmt_old" >&2 + echo " New power_limit $pwr_limit" >&2 + fi +} + + check_modeldtb(){ # $1 is E10M20-T1 or M2D20 or M2D18 or M2D17 - if [[ -f /etc.defaults/model.dtb ]]; then - if ! grep --text "$1" /etc.defaults/model.dtb >/dev/null; then - if [[ $modelname == "DS1821+" ]] || [[ $modelname == "DS1621+" ]] ||\ - [[ $modelname == "DS1520+" ]] || [[ $modelname == "RS822rp+" ]] ||\ - [[ $modelname == "RS822+" ]] || [[ $modelname == "RS1221rp+" ]] ||\ - [[ $modelname == "RS1221+" ]]; - then - echo "" >&2 - if [[ -f ./dtb/${modelname}_model.dtb ]]; then - # Edited device tree blob exists in dtb folder with script - blob="./dtb/${modelname}_model.dtb" - elif [[ -f ./${modelname}_model.dtb ]]; then - # Edited device tree blob exists with script - blob="./${modelname}_model.dtb" - else - # Download edited device tree blob model.dtb from github - if cd /var/services/tmp; then - echo -e "Downloading ${modelname}_model.dtb" >&2 - repo=https://github.com/007revad/Synology_HDD_db - url=${repo}/raw/main/dtb/${modelname}_model.dtb - curl -LJO -m 30 --connect-timeout 5 "$url" - echo "" >&2 - cd "$scriptpath" || echo -e "${Error}ERROR${Off} Failed to cd to script location!" - else - echo -e "${Error}ERROR${Off} /var/services/tmp does not exist!" >&2 - fi + if [[ -f /etc.defaults/model.dtb ]]; then # Is device tree model + # Get syn_hw_revision, r1 or r2 etc (or just a linefeed if not a revision) + hwrevision=$(cat /proc/sys/kernel/syno_hw_revision) + + # If syno_hw_revision is r1 or r2 it's a real Synology, + # and I need to edit model_rN.dtb instead of model.dtb + if [[ $hwrevision =~ r[0-9] ]]; then + #echo "hwrevision: $hwrevision" >&2 # debug + hwrev="_$hwrevision" + fi - # Check we actually downloaded the file - if [[ -f /var/services/tmp/${modelname}_model.dtb ]]; then - blob="/var/services/tmp/${modelname}_model.dtb" - else - echo -e "${Error}ERROR${Off} Failed to download ${modelname}_model.dtb!" >&2 - fi - fi - if [[ -f $blob ]]; then - # Backup model.dtb - if ! backupdb "/etc.defaults/model.dtb"; then - echo -e "${Error}ERROR${Off} Failed to backup /etc.defaults/model.dtb!" >&2 - else - # Move and rename downloaded model.dtb - if mv "$blob" "/etc.defaults/model.dtb"; then - echo -e "Enabled ${Yellow}$1${Off} in ${Cyan}model.dtb${Off}" >&2 - else - echo -e "${Error}ERROR${Off} Failed to add support for ${1}" >&2 - fi - # Fix permissions if needed - octal=$(stat -c "%a %n" "/etc.defaults/model.dtb" | cut -d" " -f1) - if [[ ! $octal -eq 644 ]]; then - chmod 644 "/etc.defaults/model.dtb" - fi - fi - else - #echo -e "${Error}ERROR${Off} Missing file ${modelname}_model.dtb" >&2 - echo -e "${Error}ERROR${Off} Missing file $blob" >&2 + dtb_file="/etc.defaults/model${hwrev}.dtb" + dts_file="/etc.defaults/model${hwrev}.dts" + dtb2_file="/etc/model${hwrev}.dtb" + + + # NVMe power_limit + if grep power_limit /run/model.dtb >/dev/null; then + + if [ -f /sys/firmware/devicetree/base/power_limit ]; then + pwrval=$(cat /sys/firmware/devicetree/base/power_limit | cut -d"," -f1) + # Check pwrval is float or numeric + if [[ ! $pwrval =~ ^[0-9]+([.][0-9]+)?$ ]]; then + pwrval="100" fi else - echo -e "\n${Cyan}Contact 007revad to get an edited model.dtb file for your model.${Off}" >&2 + pwrval="100" + fi + + pwr_limit="" + nvme_drives=$(ls /sys/class/nvme | wc -w) + for i in $(seq 0 $((nvme_drives -1))); do + [ "$i" -eq 0 ] && pwr_limit="$pwrval" || pwr_limit="${pwr_limit},$pwrval" + done + + #echo "power_limit $pwr_limit" >&2 # debug + fi + + # Check power_limit and adapter card already in model.dtb + if grep "$pwr_limit" "$dtb_file" >/dev/null && grep "$1" "$dtb_file" >/dev/null + then + echo -e "${Yellow}$1${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 + return + fi + + + # Check if dtc exists and is executable + if [[ ! -x /usr/sbin/dtc ]]; then + if [[ -f ./bin/dtc ]]; then + cp -f ./bin/dtc /usr/sbin/dtc + chmod 755 /usr/sbin/dtc + else + download_dtc fi + fi + + # Check again if dtc exists and is executable + if [[ -x /usr/sbin/dtc ]]; then + + # Backup model.dtb + if ! backupdb "$dtb_file"; then + echo -e "${Error}ERROR${Off} Failed to backup ${dtb_file}!" >&2 + fi + + # Output model.dtb to model.dts + dtc -q -I dtb -O dts -o "$dts_file" "$dtb_file" # -q Suppress warnings + chmod 644 "$dts_file" + + # Edit model.dts + #edit_dts "E10M20-T1" # test + #edit_dts "M2D20" # test + #edit_dts "M2D18" # test + edit_dts "$1" + + [[ -n $pwr_limit ]] && set_pwr_limit + + # Compile model.dts to model.dtb + dtc -q -I dts -O dtb -o "$dtb_file" "$dts_file" # -q Suppress warnings + + # Set owner and permissions for model.dtb + chmod a+r "$dtb_file" + chown root:root "$dtb_file" + cp -pu "$dtb_file" "$dtb2_file" # Copy dtb file to /etc + + # Delete model.dts + rm "$dts_file" else - echo -e "${Yellow}$1${Off} already enabled in ${Cyan}model.dtb${Off}" >&2 + echo -e "${Error}ERROR${Off} Missing /usr/sbin/dtc or not executable!" >&2 fi fi } @@ -1334,7 +1514,7 @@ for c in "${m2cards[@]}"; do echo "" enable_card "$m2cardconf" E10M20-T1_sup_nic "E10M20-T1 NIC" enable_card "$m2cardconf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" - enable_card "$m2cardconf" E10M20-T1_sup_sata "E10M20-T1 SATA" + #enable_card "$m2cardconf" E10M20-T1_sup_sata "E10M20-T1 SATA" check_modeldtb "$c" ;; M2D20) @@ -1429,7 +1609,7 @@ if [[ ${model:0:3} != "dva" ]]; then fi fi -# Optionally disable SynoMemCheck.service for DVA models +# Disable SynoMemCheck.service for DVA models if [[ ${model:0:3} == "dva" ]]; then memcheck="/usr/lib/systemd/system/SynoMemCheck.service" if [[ $(synogetkeyvalue "$memcheck" ExecStart) == "/usr/syno/bin/syno_mem_check" ]]; then @@ -1476,7 +1656,7 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo if [[ $ramtotal == "$setting" ]]; then #echo -e "\nSet max memory to $ramtotal MB." ramgb=$((ramtotal / 1024)) - echo -e "\nSet max memory to $ramtotal GB." + echo -e "\nSet max memory to $ramgb GB." else echo -e "\n${Error}ERROR${Off} Failed to change max memory!" fi @@ -1490,7 +1670,7 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo if [[ $settingbak == "$setting" ]]; then #echo -e "\nSet max memory to $ramtotal MB." ramgb=$((ramtotal / 1024)) - echo -e "\nRestored max memory to $ramtotal GB." + echo -e "\nRestored max memory to $ramgb GB." else echo -e "\n${Error}ERROR${Off} Failed to restore max memory!" fi @@ -1511,6 +1691,37 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo fi + +# Enable nvme support This probably should be before we look for NVMe drives. +# But it probably also needs a reboot after we change it. +if [[ $m2 != "no" ]]; then + # Check if nvme support is enabled + setting="$(get_key_value $synoinfo supportnvme)" + enabled="" + if [[ ! $setting ]]; then + # Add supportnvme="yes" + synosetkeyvalue "$synoinfo" supportnvme "yes" + enabled="yes" + elif [[ $setting == "no" ]]; then + # Change supportnvme="no" to "yes" + synosetkeyvalue "$synoinfo" supportnvme "yes" + enabled="yes" + elif [[ $setting == "yes" ]]; then + echo -e "\nNVMe support already enabled." + fi + + # Check if we enabled nvme support + setting="$(get_key_value $synoinfo supportnvme)" + if [[ $enabled == "yes" ]]; then + if [[ $setting == "yes" ]]; then + echo -e "\nEnabled NVMe support." + else + echo -e "\n${Error}ERROR${Off} Failed to enable NVMe support!" + fi + fi +fi + + # Enable m2 volume support if [[ $m2 != "no" ]]; then if [[ $m2exists == "yes" ]]; then From ab2bb13c80d1312dbbb7e3afe5c266ad4b5433fc Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 10 Nov 2023 21:52:02 +1100 Subject: [PATCH 016/163] Update CHANGES.txt --- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 0aa3746..fc4b478 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ v3.2.66 - Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. -- Fixed bug where memory was shown in MB but with GB unit. +- Fixed bug where memory was shown in MB but with GB unit. +- Removed -i, --immutable option. v3.1.65 - Bug fix for NVMe drives with / in the model name for non-device tree Synology models. Issue #154 From 1d26a47c44fcd27b88161be412e6279eb5c82b57 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 10 Nov 2023 22:25:53 +1100 Subject: [PATCH 017/163] Update CHANGES.txt Removed 7.2.1 support --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index fc4b478..80319c5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,5 @@ v3.2.66 -- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. +- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2 and Update 3. - Fixed bug where memory was shown in MB but with GB unit. - Removed -i, --immutable option. From 07495d953b00bec753a28669c5989dd5963fa518 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 13 Nov 2023 07:02:52 +1100 Subject: [PATCH 018/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index a3bccbb..c3b581e 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -749,10 +749,8 @@ fixdrivemodel(){ getdriveinfo(){ # $1 is /sys/block/sata1 etc - - # Skip USB drives usb=$(grep "$(basename -- "$1")" /proc/mounts | grep "[Uu][Ss][Bb]" | cut -d" " -f1-2) - if [[ ! $usb ]]; then + if [[ ! $usb ]]; then # Skip USB drives # Get drive model hdmodel=$(cat "$1/device/model") From 7a0f5b688792bdc1fd6f664b034573b2a8c4be19 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 15:47:36 +1100 Subject: [PATCH 019/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index c3b581e..e2b8314 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -239,11 +239,11 @@ fi #echo -e "bash version: $(bash --version | head -1 | cut -d' ' -f4)\n" # debug -ding(){ +ding(){ printf \\a } -usage(){ +usage(){ cat < /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support @@ -1013,7 +1013,7 @@ fi # Don't check .db.new as new installs don't have a .db.new file -getdbtype(){ +getdbtype(){ # Detect drive db type if grep -F '{"disk_compatbility_info":' "$1" >/dev/null; then # DSM 7 drive db files start with {"disk_compatbility_info": @@ -1029,7 +1029,7 @@ getdbtype(){ } -backupdb(){ +backupdb(){ # Backup database file if needed if [[ ! -f "$1.bak" ]]; then if [[ $(basename "$1") == "synoinfo.conf" ]]; then @@ -1069,7 +1069,7 @@ done #------------------------------------------------------------------------------ # Edit db files -editcount(){ +editcount(){ # Count drives added to host db files if [[ $1 =~ .*\.db$ ]]; then db1Edits=$((db1Edits +1)) @@ -1079,7 +1079,7 @@ editcount(){ } -editdb7(){ +editdb7(){ if [[ $1 == "append" ]]; then # model not in db file #if sed -i "s/}}}/}},\"$hdmodel\":{$fwstrng$default/" "$2"; then # append if sed -i "s/}}}/}},\"${hdmodel//\//\\/}\":{$fwstrng$default/" "$2"; then # append @@ -1114,7 +1114,7 @@ editdb7(){ } -updatedb(){ +updatedb(){ hdmodel=$(printf "%s" "$1" | cut -d"," -f 1) fwrev=$(printf "%s" "$1" | cut -d"," -f 2) @@ -1239,7 +1239,7 @@ done # RS822RP+, RS822+, RS1221RP+ and RS1221+ with DSM older than 7.2 need # device tree blob file from DSM 7.2 to support M2D18 -enable_card(){ +enable_card(){ # $1 is the file # $2 is the section # $3 is the card model and mode @@ -1264,7 +1264,7 @@ enable_card(){ } -dts_m2_card(){ +dts_m2_card(){ # $1 is the card model # $2 is the dts file @@ -1338,7 +1338,7 @@ fi } -download_dtc(){ +download_dtc(){ # Download dtc from github echo "Downloading dtc" >&2 if cd /var/services/tmp; then @@ -1354,7 +1354,7 @@ download_dtc(){ } -edit_dts(){ +edit_dts(){ #set -x # debug @@ -1374,7 +1374,7 @@ edit_dts(){ } -set_pwr_limit(){ +set_pwr_limit(){ if ! grep "$pwr_limit" "$dts_file" >/dev/null; then # Save current power_limit pwr_lmt_old=$(grep power_limit "$dts_file" | cut -d\" -f2) @@ -1407,7 +1407,7 @@ set_pwr_limit(){ } -check_modeldtb(){ +check_modeldtb(){ # $1 is E10M20-T1 or M2D20 or M2D18 or M2D17 if [[ -f /etc.defaults/model.dtb ]]; then # Is device tree model # Get syn_hw_revision, r1 or r2 etc (or just a linefeed if not a revision) From d86afe7e4f9562142f0b5f0b3e070b4115aca1e6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:36:10 +1100 Subject: [PATCH 020/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index e2b8314..df82798 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -745,7 +745,7 @@ fixdrivemodel(){ hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi -} +} getdriveinfo(){ # $1 is /sys/block/sata1 etc From 8c82cb3e90bb26130d7780dfccfb1df7bf58c909 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:37:36 +1100 Subject: [PATCH 021/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index df82798..eebd781 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -726,7 +726,8 @@ fi # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, # PCIe M.2 cards and connected Expansion Units. -fixdrivemodel(){ +fixdrivemodel() +{ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') From 8a7255c9a547221fc82e50f332ba1104439ab0ea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:38:12 +1100 Subject: [PATCH 022/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index eebd781..93d9ec9 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -726,8 +726,8 @@ fi # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, # PCIe M.2 cards and connected Expansion Units. -fixdrivemodel() -{ +fixdrivemodel(){ + echo # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') From 26a20a10297e9504e3cea8407ea6480c14525ee9 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:38:52 +1100 Subject: [PATCH 023/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 93d9ec9..76edd5f 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -727,7 +727,6 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ - echo # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') @@ -746,7 +745,8 @@ fixdrivemodel(){ hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi -} +} + getdriveinfo(){ # $1 is /sys/block/sata1 etc From ab8a84b4b997ce3b9efb96e073af72e72fc1aff2 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:45:19 +1100 Subject: [PATCH 024/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 76edd5f..399700a 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -727,12 +727,10 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ - # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi - # Brands that return "BRAND " and need "BRAND " removed. if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name From 62314ada6671e5aefd61e021a4fa2e829de96704 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:46:29 +1100 Subject: [PATCH 025/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 399700a..da6fa49 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -727,12 +727,14 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ + # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi + # Brands that return "BRAND " and need "BRAND " removed. if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - # See Smartmontools database in /var/lib/smartmontools/drivedb.db + # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name @@ -745,7 +747,6 @@ fixdrivemodel(){ fi } - getdriveinfo(){ # $1 is /sys/block/sata1 etc usb=$(grep "$(basename -- "$1")" /proc/mounts | grep "[Uu][Ss][Bb]" | cut -d" " -f1-2) From 2ba6330f6421ef94dce6eee9f97f3d97e0752521 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:47:20 +1100 Subject: [PATCH 026/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index da6fa49..bb906c5 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -726,26 +726,6 @@ fi # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, # PCIe M.2 cards and connected Expansion Units. -fixdrivemodel(){ - # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; then - hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') - fi - - # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - # See Smartmontools database in /var/lib/smartmontools/drivedb.db - hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name - hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name - hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name - - # Old drive brands - hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name - hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name - hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name - hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name - fi -} getdriveinfo(){ # $1 is /sys/block/sata1 etc From b5914a4fdc4612f41dd5fcc799e711bc3af263ea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:51:23 +1100 Subject: [PATCH 027/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index bb906c5..da6fa49 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -726,6 +726,26 @@ fi # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, # PCIe M.2 cards and connected Expansion Units. +fixdrivemodel(){ + # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 + if [[ $1 =~ MZ.*" 00Y" ]]; then + hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') + fi + + # Brands that return "BRAND " and need "BRAND " removed. + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + # See Smartmontools database in /var/lib/smartmontools/drivedb.db + hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name + hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name + hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name + + # Old drive brands + hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name + hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name + hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name + hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name + fi +} getdriveinfo(){ # $1 is /sys/block/sata1 etc From d2afbaae54e4be1dff044d35d47a5f20791b1e3b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:51:49 +1100 Subject: [PATCH 028/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index da6fa49..eda7f5c 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -1,4 +1,28 @@ #!/usr/bin/env bash + +fixdrivemodel(){ + # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 + if [[ $1 =~ MZ.*" 00Y" ]]; then + hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') + fi + + # Brands that return "BRAND " and need "BRAND " removed. + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + # See Smartmontools database in /var/lib/smartmontools/drivedb.db + hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name + hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name + hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name + + # Old drive brands + hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name + hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name + hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name + hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name + fi +} + + + # shellcheck disable=SC1083,SC2054,SC2121,SC2207 #-------------------------------------------------------------------------------------------------- # Github: https://github.com/007revad/Synology_HDD_db From bd38a2fa12cff4d37dcfd14eb0c4f62d91dbf7ea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:52:45 +1100 Subject: [PATCH 029/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index eda7f5c..94fce8c 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -fixdrivemodel(){ +TEST_fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') From 358d0acff1bd1cdb3987ff83a72598ff2ab837f9 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:54:28 +1100 Subject: [PATCH 030/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 94fce8c..d8a96d3 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -1,28 +1,4 @@ #!/usr/bin/env bash - -TEST_fixdrivemodel(){ - # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; then - hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') - fi - - # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - # See Smartmontools database in /var/lib/smartmontools/drivedb.db - hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name - hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name - hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name - - # Old drive brands - hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name - hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name - hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name - hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name - fi -} - - - # shellcheck disable=SC1083,SC2054,SC2121,SC2207 #-------------------------------------------------------------------------------------------------- # Github: https://github.com/007revad/Synology_HDD_db @@ -751,19 +727,13 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ - # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi - - # Brands that return "BRAND " and need "BRAND " removed. if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name - - # Old drive brands hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name From b9a0379afe0849f159b1beb43860a2f6b5728dd1 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:55:19 +1100 Subject: [PATCH 031/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index d8a96d3..941f026 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -731,13 +731,7 @@ fixdrivemodel(){ hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name - hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name - hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name - hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name - hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name - hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name - hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name + echo fi } From f71e8a2674172bd5030600d24b54e580aa0d6ad0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:56:11 +1100 Subject: [PATCH 032/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 941f026..7f4d96a 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,10 +728,10 @@ fi fixdrivemodel(){ if [[ $1 =~ MZ.*" 00Y" ]]; then - hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') + echo fi if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then - echo + echo fi } From f78468f447697005f7bbbdf0b8dcde1fb3e4e893 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:56:40 +1100 Subject: [PATCH 033/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 7f4d96a..932ac52 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -729,8 +729,8 @@ fi fixdrivemodel(){ if [[ $1 =~ MZ.*" 00Y" ]]; then echo - fi - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + #fi + #if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then echo fi } From 8fe84e5adb045bcbcd40d684202c6619b2dd354b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:57:28 +1100 Subject: [PATCH 034/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 932ac52..6665713 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -727,10 +727,10 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ - if [[ $1 =~ MZ.*" 00Y" ]]; then + if [[ $1 ]]; then echo - #fi - #if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + fi + if [[ $1 ]]; then echo fi } From 215806eaac18fe702ee6411f358ee84fcaabf89a Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:58:24 +1100 Subject: [PATCH 035/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 6665713..9ad3b43 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -727,11 +727,24 @@ fi # PCIe M.2 cards and connected Expansion Units. fixdrivemodel(){ + # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 +# if [[ $1 =~ MZ.*" 00Y" ]]; then if [[ $1 ]]; then - echo + hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi - if [[ $1 ]]; then - echo + + # Brands that return "BRAND " and need "BRAND " removed. + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + # See Smartmontools database in /var/lib/smartmontools/drivedb.db + hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name + hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name + hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name + + # Old drive brands + hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name + hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name + hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name + hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi } From d28d28802a5f451ff6480a48dcf33f5e95b86f1e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:59:38 +1100 Subject: [PATCH 036/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 9ad3b43..d0bc36c 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,13 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 -# if [[ $1 =~ MZ.*" 00Y" ]]; then - if [[ $1 ]]; then + if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + if [[ $1 ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From 55de717f8365748941d87bbcabf14437a80415ea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:00:10 +1100 Subject: [PATCH 037/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index d0bc36c..59f0559 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,7 +728,7 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; then + if [[ $1 ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi From 5f065e4fbc38e2c514976fb72b1a9ca73514df2b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:00:43 +1100 Subject: [PATCH 038/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 59f0559..47c4503 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -733,7 +733,7 @@ fixdrivemodel(){ fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 ]]; then + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From 0cb726f168d298d831bb5b8b8c938ec09991cf92 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:01:24 +1100 Subject: [PATCH 039/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 47c4503..90394e6 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,12 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 ]]; then + if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + if [[ $1 ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name @@ -745,6 +745,7 @@ fixdrivemodel(){ hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi + fi } getdriveinfo(){ From a1a8590912c6e1527a8afbc9f47a11258058420b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:01:55 +1100 Subject: [PATCH 040/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 90394e6..d0bc36c 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -745,7 +745,6 @@ fixdrivemodel(){ hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi - fi } getdriveinfo(){ From 74c465e1a9cd18cfee9a14125a80ff3a188bac61 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:02:32 +1100 Subject: [PATCH 041/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index d0bc36c..47c4503 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,12 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; then + if [[ $1 ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 ]]; then + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From 40507530b8be0b7c8ae5b3ba92c8eb620c85f522 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:03:03 +1100 Subject: [PATCH 042/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 47c4503..59f0559 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -733,7 +733,7 @@ fixdrivemodel(){ fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + if [[ $1 ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From 558b3ad2446332109e98d83024c00ec721f43af0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:08:24 +1100 Subject: [PATCH 043/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 59f0559..0d8cd0e 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,12 +728,14 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 ]]; then + if [[ $1 =~ MZ.*" 00Y" ]]; + then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 ]]; then + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; + then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From e2c7c7eb3b14ac38b745590fea77567f8e28714b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:08:55 +1100 Subject: [PATCH 044/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 0d8cd0e..6554a50 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,14 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; - then + if [[ $1 =~ MZ.*" 00Y" ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; - then + if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From c2bdf8b46720ec1be44ef8ab149496587196e144 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:11:06 +1100 Subject: [PATCH 045/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 6554a50..5a07c32 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,12 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.*" 00Y" ]]; then + if [[ $1 =~ MZ.* 00Y ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}" ".* ]]; then + if [[ $1 =~ ^[A-Za-z]{1,7} .* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From 707c82f006053e75420c9a7e53ff0e17a7332d30 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:20:53 +1100 Subject: [PATCH 046/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 5a07c32..263ea4a 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -728,12 +728,12 @@ fi fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 - if [[ $1 =~ MZ.* 00Y ]]; then + if [[ $1 =~ MZ.*' 00Y' ]]; then hdmodel=$(printf "%s" "$1" | sed 's/ 00Y.*//') fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7} .* ]]; then + if [[ $1 =~ ^[A-Za-z]{1,7}' '.* ]]; then # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name From f39eac58e83034495eb5364da609487ab916ce85 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 18 Nov 2023 08:05:54 +1100 Subject: [PATCH 047/163] Create Depreciated.txt These model.dtb files are no longer needed. --- dtb/Depreciated.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 dtb/Depreciated.txt diff --git a/dtb/Depreciated.txt b/dtb/Depreciated.txt new file mode 100644 index 0000000..4bbd93a --- /dev/null +++ b/dtb/Depreciated.txt @@ -0,0 +1 @@ +These model.dtb files are no longer needed. From 0d0ae9bf83e4dda83741cbfc171d833850f344a2 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 18 Nov 2023 08:06:09 +1100 Subject: [PATCH 048/163] Rename Depreciated.txt to _Depreciated.txt --- dtb/{Depreciated.txt => _Depreciated.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename dtb/{Depreciated.txt => _Depreciated.txt} (100%) diff --git a/dtb/Depreciated.txt b/dtb/_Depreciated.txt similarity index 100% rename from dtb/Depreciated.txt rename to dtb/_Depreciated.txt From 30808c43a3209c81093a415e7a19d9eb4561cf92 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 18 Nov 2023 08:06:42 +1100 Subject: [PATCH 049/163] Rename _Depreciated.txt to All_Depreciated.txt --- dtb/{_Depreciated.txt => All_Depreciated.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename dtb/{_Depreciated.txt => All_Depreciated.txt} (100%) diff --git a/dtb/_Depreciated.txt b/dtb/All_Depreciated.txt similarity index 100% rename from dtb/_Depreciated.txt rename to dtb/All_Depreciated.txt From dc8d0283bf3191417761b043da84099df69969d2 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 20 Nov 2023 00:32:40 +1100 Subject: [PATCH 050/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63af5f6..c4f6b49 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following PayPal donators and GitHub sponsors +- Mir Hekmat - Andrew Tapp - Peter Weißflog - Mir Hekmat From 85d4644eecf5e94dbb00083015c853170bcc1c51 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 21 Nov 2023 05:04:16 +1100 Subject: [PATCH 051/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4f6b49..750d2b8 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following PayPal donators and GitHub sponsors +- bcollins - Mir Hekmat - Andrew Tapp - Peter Weißflog From 25897a9711e822489c92e3532834a3cd42ced3e6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 21 Nov 2023 11:18:23 +1100 Subject: [PATCH 052/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 750d2b8..f3ceace 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following PayPal donators and GitHub sponsors +- Angel Scandinavia - bcollins - Mir Hekmat - Andrew Tapp From b97d1095b1f4fe0667c5f999bac62c03b94191f5 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 22 Nov 2023 11:11:09 +1100 Subject: [PATCH 053/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3ceace..c3f61e1 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following PayPal donators and GitHub sponsors +- Kleissner Investments - Angel Scandinavia - bcollins - Mir Hekmat From a8254f290e6674f2391af647ed00528a6e7865f6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:17:18 +1100 Subject: [PATCH 054/163] Add files via upload --- bin/bc | Bin 0 -> 84960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/bc diff --git a/bin/bc b/bin/bc new file mode 100644 index 0000000000000000000000000000000000000000..64b3cc9202030b52441e6e1785753434fdff5917 GIT binary patch literal 84960 zcmc$H33wD$)^>M7LD=kwL_t9tTmV7D1!Xas2(68RGHP5IHV8~D(M>?;DhP8I7KUQHnSC7XpXoOPNrb1QTRMv5{0>v5{0bFNhi>~XFRIc?+L1=_yss~=_j_~l#SGCBV1&{d@Cez0Pk zeI3n0e4MM!dj0@9>iOS(@-^alT3%az$job$c9TDG&pf9@B(c6VE6E>;??L!G3V#FecM$$s`y2@1(XABp2JCSB zb;lp8t^@x1;O|iUQTAc@>xsYg&k@M<$6sIkQ9kuyeCbg4_>umfeEMnRj<`C$-w)}o z8t&AM&bpUQI@KB1gYoCX-~JlL%K`Wsh`%2A>w>>S@aM!8lG1j%F@cX$AM`KvVP16c z_VF+A9-KoMZ6?0~z3=EXtz>fkWqTi4IQ(a;*9kSd95yJ;{Je{7YlXugpf&huZQz%; z0WSj|KgzN{kB@>TJ(-b3!v_U*(xMG;Q*XnVuQ*CWk^dlJ86~nKgCRys072)l(JW4U^{*f9l-1 zv#*;34wFMOuA5DEkQ2J`8xxgY@fl+cZHrcSz&49I!v z?D?byQ|6#H3T9vJnKlCoT<4i~!`vC6sh-K9>t>L2!Q@HPX275sH%;|Gv-wwsr%~4_ zv*w_b-kCHnG#R$cnheY4Pjfsncj{EnnPbPCK5EkOgHLc%$DQaVj~_hLbL{-dbB~=f zdCIkuubw*Z*m*b3zHZ9Q8OO|;F>lJT;0fJ0%z7q`xnSHRXgl@l8S_F@=Uy;w6x5x1 z!Q?AvPK63r&$@25R$-DtZ50vqo1_1wQVt~h$}uJz=HyA;PD;J<4aWF*LBSAn<`oCb zn1Nxiorlvc!tT5K0SrsIo-=hmeDDkmn>n8IbX@i??n5^2IOpVxvfwM<5j4;EEVvy| z^jBoTS8MzwS@4%Md_@+#TEkao!EN0xsQp4-A;7uA{p9LS*P04M@f-lhUcozI+4Y#x4bsFB71-%7Q9Zw^RwXXyDR=Zvfw>5+@A%%NW=SQ!KZ8ZkSzF04Ih>Tw>7*d z3*Ns#=@ZO?&(ZMlS@6{wesLDOQNypuf(JRV!Do6Fyh6k0WWnn-d_fjG{~*O@Nf!KK z4X?<8FVXO2S@1dyU!Dce>!J9s$bttod}S7VnTD^=zapntzbB*DA zocRUe>Fc*1Mar%YfGbNCg+C3>b(!<&p9bd|$N3CNgS>6b?&+%Q{FC6s5r_+xZ03 z;Le1!-`uC7sWbG&t9b z&Zi;`?u@-GTb2e-pHD7NgL9qfd{(5vxu$kLE7Rc4I+eJv{|2m(BG`O=j#IkrAoO=V#$4-NDPVamg)8O1Ia6V0GaK8iORgc$< z9TmZU)Jy(!=GmkYRgxdUJeyKtwd9Xy zo=qsRLh?s5&t{ugCi%Y1vneH(Nd92v>4wA{$#-L(O($`MWO8Ne~fu{sfi_$|0DAZ`NSN_ z-@`mZJ#mHPZ)ct%o)|CrTbXBQCyFG06Y~t|#1P5PWuBp&@Js$0<{83?e92$QJVQ6( zk^BVa8M2AS-)R4N%=?*-OTO>XeLT~aAupffz8_=0b9vDGG8oz3IR1jMQDefZh^T1S zU)J$bSdYkPF8E+TAJ0zYzBvZr7d1ZTWq4C)KSbn$R1 zkR0wu1$xitWx(b!W=*hqPj0aJE%3WllxmolA8f7)n#Me2i<`UGB)8k6KznKNWwpkI zfO#iw-kdlekP?VMtI7|WrA#9+VvCo1K#PPyi+Kb zf@!?Kq-fzCNLA9K_R;V%TBLv38=JL=A!g~epc$@@8JiI6`~;&VJAziY-U@6RW7fml z@6#F4g5x2~jM*RVZEiLLdn2WLn|);fc`Rh?DUqh`zNL2|YgPrL-OCjtqZ1IUb~(Z2 zpx;M*y!FlTn9*-AYz0d4CKy*Aw4i6q&V$_>NoUtU%Ua`mIwW~<%=i_G3HI2SaX*2i zEQ%RXCw-!Qd8x;vXe&S)Gahh?dZr0@8X>rm#P$>*CAvf2vSjH-Hb1-DB04M3Xc-$3 zlGL~R>wtTN+zS=+k!lQ@>JlrG;T9G93bD(p!d+FdaS3!y`cSZf1y%`2#-nc}sSyRp zGA7|WQsp&`3ne=q-@^mje0PPYj;@wlc5p>vzP1+{2hEonaful}>-vcqHfZ>X8GmzO zOLR(kA!ko>GeY?wW$w=1lIvJ&JOnInvO}%0jOa1r3{4e`8Gq7Dq5BgE>Q^XW9lf=I zDOS)wz!cGRJA%zF221!0fmzz*@s%wHN-VIG=x7Mj**wj1c6rH(FuuvR)^mzKG|md_ zjE?u3B|G6?tE4Gt-uJrT7{N%O$(us#tdnI`;ji6f=l~{b!I{X(3>qM!#_lIG$OxJr zm@yUa2Ql8Q`{_WdTzS(i+k-%cIWbsj&;1o?IIL65I2nFWb`-8>(M2qBEDa5y5_Co* z9AFxQfovK5@f~UMEN{(SH`>MU%QuQhrASXLFKgmqGNxss?Sg32 z%7LO=w?AgQ2rSwI*-hXF*`35UiKT!dP5~>g@|CSoC|~p^im&WRWH(43iEb14c5J@K zQxVwZz+NEi#Z1@=!XC+l-AS0030p|m4VkcO2%Dl{h@i)gLhFIklikJNs)J}hR#iUR z6M98ycX5R4*U%Z2=PUaolt%u2=209SdLX#6vJO{uXd_x}Pv}h0+XOFF_)ikw41g8? zkTf0_4$KwhAzS8TL38o0=H^QJGkF$7T_Yvv6pUrk`44^SWswNEu;&z3332V8kpj}C zL;@4e2x^V#AodC`w>Op!A2l@rhzM$SB$G7FX%Gwz5q!p2fNG7Q`1UwG2F41rbT7iW z2nyK0{2RE@pJ8M`eT2at_f!Gf;(O6@{6B z%2;3xOJjl6#3`1pAQsrd3}T%MNa_HjKurCr#zv>_3tAH^$3$Mw8ErOBD>efdBG#bE zd%<};${@j8KW6yrzFTjCbC9ousFeaY11rXwc5on2-f3bl8F=`X(lx$*9?zoTFz#e1 zqg=aTfyWamUF`|=P;@bS3UQ144#F$3_R`D3}t8<^iupdjZ(0 z=OgD}61Z&46wD5~qw0-ru-W%=yPVO!jq&1J_Ij2yV{qr~3(FXJBs;f#;m-E?pfQbs z$Xmvd_%5$ne1MLgn2`?vKgnY(BM<4qKA^s#hh^+J0x{3=|7~W**@L`x$IGTgU zjon=J`(YkjylY!>Hd&YTV(yl`9M*hg{SKsMlcAaF^Up_0;y1FH3z@N0+02cUZt;ZL zMP_aB2Fz~~gD{jVOM26s_S@PF(Y~@*F%w6*qw;SrX_d{u@<{1&&!R)5u@4L^hd)?P z-UjJz$}7>@iX(fk@h$xu=JulzZ>bs7Dulcz9PP4hte836WCRA8&%MdCT|I0nDM2VEhZA;ij!#J#%Y0aBky zeO4%TO9?oMfV%)lsRAyuS#$`Bf)=LnF*`q%eEuiQ@h+!SqrNXII(#4qPIJXBq*kX& z`D&D#o6up7L@AKABd@xdqkloC5-ofW0DH|05Oh^4^>EpY3sb^1DGB**(ZQ6k4XZiJ zILndn5!S+Bc&jU+?q`v3Jtdq+34aBFn#8@Piar2|eKL!dp$Nn=0*)eJu`vIs57f`K zjDO+E`BlLV0*sIGotP*jqna#F%JosuEAy5?!(f!9hQjiyiX(V>xB2&4)4=l-d4fUlBP1| zJ0c@r$+!@3CF5aKDHsI+u#XZ(Kl@>+#GYmR8)-5BdjgFQ@ogFJFwLrcb(1LE(Peh7 zV%7u%`=hI&@bRv~DOddwR7&<#gtIay63<7Z9*s;KtAgmLI#=Pll#D0AQV}H^F$3=3 z3g#Szd9#aI4NRDJ4YfI&+B|_>0;}La6)Mg!Ay*hkgkFy@sphbl=i0PL01 zprV&58c#a}mnZ_}6~XsEicJrY;06#l>VyGE)L;%|8K)yDDhx*gF`O%+eTvgWz!ay) z6{oQP*vC-xZ9?62s1O-@aTPAV5MX?PZ_D_EX&RERxcOXeC5qcVAlRQz1-D`3R`4wH zP%%}VRTy$mCm#T=)aa!MUnk*HAOv=t{+$Cr;umcDr23}Bc4R^P5O^r!Bd&*}w-xkW zK<%r@L3LY~q>@cL&}}`f&}I{@kQzRq0Fzv9AIzcqav@j@-`!h0QE)H-aH48Ihu6|P{V<upM%pGI?aD?-{kbaCjKMt5o&-Lb9Ey^W4mwg9OyGV1())b%+yC zW>Ny`cmV7J5H@0%)P$<5E7ExXAxo<>T&*f*xl$DaDo3aGNh9ypifVsHkE>PlDb-dU z?5Os`ccR*Z0N4xATws>#dN)?8E~6k7i+}Iv^dMY?z|0!#o+-C|I}@>gw_7giMGNat zZubW3#C#N`JNyNg@;Oklq#YK>k}QaQIPjHg_T9SQNk{Q%hWuYjbt^D@<(=ql14im=|fQ&bol zqLWxE2y~0rew76=N^t# z!xZN)0I)Zqp{GUl{?Hz{Z@asxf4COr7>j@^op2ZlcMMyj7(e7P{@fO4RFLruFivdh zpiGuYL?iT3z4on&@CujkDMffL35S4CY|XcFJJv_ydvxf`7hZ+uxvH(bhN^vakXG$u zBwW?FWP%<008`O5T1ogG0Q+q;>qI}Wvy3Ml>W4`kxQ~@$<;l0l3g2gy+*fS=RBYC1 z#lJz*0o$itw%>m%7C%6?H?X&0C1ol8T6+}{+7Qsc05(dkpJxceRRGv0Q>|q{R`ns{ z4WbiW5+Vj+5@|XmGy-3XJ4KrMg!(3?0yWZ97(({c(7A~Vkp=H5WVHirIynQmi_1S?+|Bf8#wnUoac$tzYUz(3MWdOc5UFCrEsn#PW-ag^*Ku6j3LhYHgIwj zPCw!-2M&7~Cmz3P=hPI3H7ge_({JVKR=Eq+3l}XaaN@7#YqZKXV=(~yNZ*&gRO;4_yX7%0^p z3tm&K@?2KuC|0|=fmH+i$surHxL*d*U5e;E;2;DL1U*5Ncqp6qEQPkpMf(|BugS1t zB{eb|dqL3qb{C@_7y#Tz=@VS(ebY#KE2bB@B!4DTe;S5IVGMOKZdOc>AX5WO6PKe+ zK*}~qw|64!Qn8sBrHX1;^igI}e^s=KMH@1Ux~ii4P^26(PA1`ncN6!XOx!Q%rnH%B z8TxSDPHJ5b;=aiu?gyRka@;dTYEIe)q{%#NOp4S3NST3zC%HIfQgWV3BO*M>t5sSJ z6op+~?tcdN*kt*|RMi9}MJh(VRNX_G}_{PKq z82q&@-0%$hEn~D#-=Z9e1WfPgnttYFjA%g14P$4w4@!C4#Xv2^3?FjbL&c6_E-T>3 zWv-9Lj+_OwFX-(^GH*=ed!;c|ODTL;N-1XxI<&qxQsc$;?Si#>S9tMrDJO1tR#`C( zAr!tp1wZOZ*Sa`&gbUmq;WJapM|uvgXGb!57Tc-9G!-HC~@H`cyww5Zuu8aEWW&W(nPrt@7$7! z>?pE~^3Jj^y(nhffD}KLaZ6X(!o*$0c}NKt)Dx1t`OFgw9;Qv>I9@E{__UG_x=6`k zs>H8L4gpp>q&IkqR1^D(JB6n3vAM4pw0g4~8_fR#gNocS=BJ~rBY#C29zkEpxp`IE zMm4&3Zd4bWwW+H3(~G)_Fan-6+B|ZzsM5QJOh%;8y1$mHF;vF@n78PVV&B@@3;}<8 zrKNzIFwNrbzciP%wYX95G^DD{s$_Zb@S5;_DOtg63Xy?2F@D&P(gLyIP0@7MG}8+A z%kh;rBg)fu`Con^MTVdX9|6aGg?fXtw&IfFa%URiSo4@4Q5ZBE#tyJeBZ)LzT4CId zL~SnMy(^HyJ%M9=OL<-?^Pa%4I`M?uRT+e|+!H`WjRj3bF62)^0`f1wC2<~N+%l%Z z<%kqt%s2r+Hqb<0wPrXh=5%$}V8WQ_0%*+G4@eBM#BZ25TgE(4%bA61kcb(Lom6S1 z7dVN}fl}F-srQ-c!qi(#b!DoWsr{IGnJJ#+PCUmHPdFqVXNsqw6Av-fjj6ksI)JHi zrg-KyaWhi~GIc#uJl~qQnyDU4O=PM&Q|B|)lc_OG9m3RUO!Z=FC{hUfFx2PbzT-HF z_{)*4Y|runVjj#?XQucVQ^L#Cp-k<c&tB#ufT_iyNp30N{7KKsmV5~->GLN)Zqome&1o=YL z{dio_NTUYiNM!w@MYswxRJ_tpB&MvAI9=8b(+)=lT zn^m$>PR~?PnJSVG31R#sf$oACXJJOkQ}@%$SQ*tY`>Wv-m109-n6!)0o1E zicNrC&h+q2bFT_o1%E`^3an;Peb6*UA#2}&aK;Vx(dM`I-Du}#VAWXbnCnpzDP83W z^#zAsAkxhnr|LX(b)T-3MO2kZjq)OU)kNrVQjxF z@jenU;}f9qV}FMm3V`FZl+l44O`{S;maz`sbjqgc?+)|Uztc22dd1*G0r*izQI>-Gs)<>Uy4l;hW}hm*|9Q$T|VC0AC8YRWt}LK$lWr z3IpR!UIuIm;v6Ptxt(PGm{^VgRmWTIRH1sQ!hYDrj$Yhcyq-0YJZP->^VsNIFOJpV zWDa(>&@MTvE*`#Z;dY442Mq!ewHZDvW^_W19~A7$K|#T9_%_G)lEY#Eeo0_a5A)*z z^%C0+iEkA48z=~xJj+?|Hj{F!6NjfncQdes0ISH4n3%4TJ#c^~P!}n!^DOQqknz~H zAx@8KJC}|M)SKgbB=^@qu8tJQ0gTUKicU7=cGYkUAwg3JdFB$ka4dFDYARIDmg)GP zH^TAjFtR8f2o$KOqhvqP-`M5NGBr}#;PKs=kLlDcNck~G?Gp<~BH6>9{0?Fm4Wk`S z1*4B5`%A&z3N(zJ5{KiS0XGI@aLQ($)d6HFAqeu5-)(LlYkoP_`~jIa!NxQyDB8Fc z-?%OR1aPke8TT90ocZ8RqHY z%%;M#W>)ViV2;K50hh#2&;Zl>c1Pea;-QkrUQBFy20FIO!8susS8Toxzv&h7nNO?v z_B6!OnP%@f4;99s!NJLEn*E+J!)tuEatUFoHK6WK zE;!#T-2wmH4U|`DvlZBZT2Pw;7d)k8(B!cwFpZml2CHwzB{?D;^^NDXmS$kbEu}le z@}9o6n==f*YLysnVz(kCmjrC5-SjUJJc+<#1DhZlPhUJ1bBiU6BIjvy7~ zp_Xp=oL%OCINQQzCppH8Lx0A$--Nqqe2xV2TbM6+7vE@}$gdYLdOxMAboKSGqDu(2 zM~jRky=W&Dxns?tNg&Fk{2o%6z3;_k8Cp<&MhlV$0W4#_AQxPX3#V4bG|BVmS2>z0 z^%xC^8uiX#3W}pUG)`rD_@?co134&Ve393Nt|V2|VX(lp+tMk(!5;R%|+xIK!uKD~$0-;B;)} zNm?KbAs+PLen)qt-TjVV=mOKoXF2*mx$sQ73?@}*g7%HTNIPGvp2aXe-vff-fu_&| zkiE+c%sw9J50Lh)Er{VF^|O{`R>4MI%<-(TCy>NB6MRdY$XVWH$k{kZgW1!ckz~_{ z7ql6caXm?jFhdL>0Tz?xQiOBD#xw<)#EWUHP`P5c5YSHnig1B5D~w~2Sf-jA0?H3- zY%{!l<1h%czvgPgIpZz^WHB~d?1uohN-#?ZG+`{}MYk!OuoVh~7mbi798gn;cs;)6 zkbDAhfDkM4(=03%u%}CWaq&a}wWu*ZPY^1Gr8n$`UGQ_bGagQuh73PS2Tmj4PX-4> zA_A|_l9;{#>68bZXK2iDqmqq1JIx3B;HeDZ6Dt}d8b(SRJ)uK^h=Q2?=Qq(y$LzIl z@ac&~9c1F4G}bwKnB$Ld>WR<4@kt#~ei8-6ih4PCR8qoM>x+ivX0_)eJV?}EIf}_4 zir%>HSM7&9+x|@!ux^Yyl^7}A?wvo#3T%(qIVS7GR_j76ybcs7Cfw;z=LrCG-yRhJ z+aWhI0Onx0vzG%52I|zd69ZC@Zk=aa;CIc&z7jrk24{>CDmv_AMMpSA872=(LACXa zmY97LpVR=KOv7V=y~IyqalIEk>fYd#`g9}1wpD`8EMTi}wGhRkAgUfX~68SSfh~<^@ndJ*OZFoK6L>8%sahZbJ&#t|{mV_=uR1zst`S z)`SCZgFpkf$q;K-#++vWX4kooh45Jc8UmZ^P@c)m4DYn?hz?w$Tk7jAP*h>eKD!nx zBt>oC{tq^ja0i*O=>gvDZYVHjw1bWeaP`2-p&-Uwd8vE%r3xD{PKy$wy1pt#p?Wa! ztmh&KH&!q+;VFD?UC^3?p`Ovzj++j!-8`!uN0Ua>gpzzddOAEnRs}Zv#Ef-1RckC| zDi{smY<Kd?EIC2U2qj&3rbag!M zNY7%h!pyhOOVlqB9zeykJwRkA-iUUR_z}k!5dr^(dbpoVdv5)Mhlbo&Rbe~>sJ#m9 z4NTTE{b$8Qp7SVtmJmxpAkQ19T2dN2D|9rzPY-v7ORfO|x{;m$Oz@SLLlS@`0`!&7 z7r|W%ki~N<_-?h9ih3ZVcZI_FQ72RcRZ-!{yu()_nA!++I8 zeN3U!f7^mq*NK2}#nLjg5I`_`2%LHeaY}&mZm{~xTm~OK%zdb@F}+t!EDt+biEE$| zm`TwE6xQuT=xB9q+S!&6j0^o?Ze5bkDAwWpPt4wVENKD=ZH{ZWa(x_*V_pi5D1Wjq zgc!eqB{It;vrT0zW+2{ZKt5)?i*J4s?{y(Z<74D?Y$Sl0SP!setO68GwzFkCfRq{7 z%0;uW_7`Z(T%>esr!eo$mZ8-4qZdk)kuI=RtXv9KsvcqZ1`AAD!-iVtf9{bx7 z7>!CcV$;fFf5P;bjW7jI<}qEUI=#(IAGZ;8;IUt3`pAuNqsRU$(>*tKWcm@NyKcOU z>3f;RtTN-Yn?`;#;PchE{*M9jhe7%4#)0hr)`)NsDf@I=yXaJ43J@2%T zZvyanP(e>7au3+?`}Nv|sNZAp0o1g5tvCwYcEeS$+zS*P*wL{bOmkoPiSu3K1-Vo~ z*>m%Oy#?4-!4&{nL+9fglrg#B)Eyp8dIhs!8a8q+gC%wm9=3$C9{W+iH)1=*W7i)p z;%@&Dv_O2U3R|HU!s5hS>Vbnp;AWq$R8@B?#)bytmc-b_K75bymHiuB5&LE(YV_;23q!UAbF_FVF2VS0IJQeda1(!+{5~}uu#B&SnvZf zXrShY_N4h>eINJ(r9q>NZ->lVEO%maY4i_ zD4oS|D?9+MXpc6eI>sMI0sBD97^cvoh0|cB-4(7y*d~Udp#Z%f3hg{>zy5wa?1lI3 zPqD+B84n}-!OZW_1UJG|kA2%lnOFRi$g35y8ZXlZhs?qC38I#_;QLsA@Vy6oq2(<^ zx$?i_b|FzuZo%yrjKPV~1%;Z{bZ}S7li1i^^>K*f6HkJ?XyN0;E(5miTf%WD^p_n}66>GW z(5YCUQFEbTy=87ub|WCbS^`pOfY_eL{R+u(O<-It$!@a3GA2ld;aRd8ki;p9_)>x) zqJ&2FSFn>cteCLw3U-K)3+mHBw(|GBmsY+-E^Os9(9gCbtz3=<*5h z&|)B7cuWBgjPJO4WmHRvK*uR)#ss#)m;nTP<{|W$F%fCHK4$O6sFJwB6?cRdH&uz7 znJI4PnG_c~5aP~DiTg~Tne*ieV>g^`|8}s5`vGYs&Z4+HSKLcbht~ZYT@#r8#)^^{ z`bAR8&S=R>H=Hgy*MklkT$7O>NF9PDdLMU$VS}rcltxb{-%#roMdQ_TD{F`hIr zyHAIho4^z;XT&p3XP0vtpjWxV_t(PDBOd0FB241!>wpf2XkllUy5>|+A0>+J{!SF_ z=PKH}rJ|oqfqozKz}GwYa(rcX!3xaCtvQ-aKQX8p#%v(<3}d17*9rygRkv9aL)n1!}Lg!TOa0#Usxm zt<*k~tZOj7DAw0&)-Q0x!Fx=Ar#$k!q|!a|{poVcSJa+B-V+t?b6nm@bkoUe72_Vl zIE43p7+1MWN#=IIQiIFEbXR?~eOQIjo;*7$p1Z$w^nH*#58}F7RvY`CbmHovkqqIT zKnz+#AHoICIWW^=8P{kPbst{siPq#{22W_!Bi`mtO zdmyLlae{kuo49`B-Va>+k?#2VBfd;yJkagCBv~xRlF0xWT}F4G;OH_Fe4d zK&uEeFDY%lEPSASyPNA2&a)S)oE=&VX?&8Rq&et)7b_ay%eb#obtGSC3XvUA3C$6E zNb&-3DVp!Y_Zc^6;K|9;ki9~H(;VPMNo*iA4-R#~_rOqld><2TPbSH3Nc(T-Q0YgN zV2@}7F7D=25q7fb%rKswS8wOI7ySp)ae8*CN;fclGt-uF7>s3h9JAQ8s}1~$l{%># zR70M8E%5?%&Gi+5J;{!4a!KhPf9NNC55(58TYdll$Ar6r3%BbO5kNlQ(nlqH0(&X~ zyE95|=mwK^4-eEV?q~&Sa623baN%xfpttirzXn!LB^SZnlYzSj?^tR8!$!PsDgFv% zh&9ig$5<`dLnkOR{s<;OwSgK3YNLyK>zQfxQONxJ@jcjA-bZ>1Z3A@7maBbw6xtER z(1`~#Z5gj__lp+4GAnoUjY8dt&|1d{vq3fh8cqDSdc=kI>Y5r z4<7ZdX^(>kcT!vWJIfZSq1*WCB)+kVF0#hqEhr^%8ujP%g?(H*Ipw(^zlRQ8y)xc&PO$KmD>8`)Q z|C)w)zD7(cjveQp3Vp;i4R8mdco*|3inm@Z0;F_J8V{f5@wDi-*ApJXt@zrFkd0@o zPX>|uVxA&D(hMS7_SDT1yB5uB683$umCaW^+4Eb$Po7Hug$Cfe<9wbbNu%zF13zg1 zYAlD=#0_CQ2&igeM0h>WMD<^NPKU*<M7AO`z3# zk}i947>&v0Zl5tl6^+(Kx2q!d<~?+8u9mX5cIBq^N1yvW{KSm+bgI^E;#`LIsE2wbh3^{o~aXAulhqvpMaSoeh$hRCeVLdt}bWB!J{_w!wg*bpE zX>|mrQQfOzAw2%c5E>=5A`s_X7rC-)vx0fJqKlD7hEI8(?UZ0lFF@VpZ%!U}2Gt!U zl;IGHx+}a1eb=^%98zE;*Y{D(@!hd`pau=r!7#V2$@Vh$i|g<w61bC7$? zam!f#8Exmb?=)E5`nE6h>cPSIVqg`uffeoL-N@e)vE#?m^ie&4+r153-lG7=nCxt$ zDi97`ZRqhIq{ElVKfngWx!MnhI)jzK>qMZsk!LQG&GIz7bRj8fu#3#v?!^s4&*En+ z!5Hwx9wos6kRcqKY`PYC1d zUOZj1Jc+X-I4_W@{2(g75=<%)gLR3Y3`YA~+f?lDL=Kax<;Y@EH3V37w4rYpZ@;@0 zKpIx3dlHtYS@Mh6lTNHuq_c$7SGGxNPLXp%oOE(J0y0a1>aZRWKC;$0xlPs=ll8bX z{J~+~YHq2+u|zx~4Y6o`pO%Ob`(!ksT;evhYt0(E8gFsH?snosjiAho*mx>-1|~Lu znpJ6!a8y1F2kN&qu0mS&wrhNDDaeo5TuwCPYM*4Od!P~;2T2^-`Z2{#bOc*EnDH?kKs2ZF z9XmF|VtAkdWw{UVD96)#2)Jf#mrIuNm`azn5wo@Frkd&24Uisv{o<(_oiEM#5z_*x+C^{ z)P|X&Tz@#?qqZ=fhlxm#PMcP>0Xsrtt!DF=G|J`ANJdmDe={ zA-Kmy%odBpx>^rAw5p(Kgn^J)q3gRv&+rgWLhG1+2N4FLaonGaFJ8=UEUrQ?1f*nN z=5;uBS%M(DoTM(!c$JfA8-(Xg(;TU81-1}7w5zWBfov*50|_(HgtFcmj^Zh8ngzE~#Vl=s7!9y8u{via;j zV#Z&9&JW*@s*7UAQ~)~xi1*mKsbYW$aeT z2AoqzDpKV)jT4ZtjAK}^+}vbhJoRE=Z3i#U?gvFo<0(PtA_#m-Ahyp{!E*q`0z0U0 z;*a>^QO)dlH#vWZ%fY~*6Um4;=*R11^sQ4zD;k4Vr=T?V#&Z@L;(2~d+3*+aPaZs~`Z^_pJx|8quF;`nKMw5Q2v&cATjw|@1NCu2W(Q8| z>==pu`;G~`gLyN0%y-|{s@iL@eg>-6l>$i-*f=1bWH&WW}J5>^P-+`3a9YF%;H(8+Ve)b5l zdx8{Pl~!=KDi{M0>_#Wtw%xr+{9oApuXq2G-M^r;6}uNanzDN)(rI?%gf>F8AEmd_ zvM{8HOVm4xv5HNFVv}qpVkZsz4RQ#uKRtZubyz3ZN|6DsBA7CQ zXukmfsEn{3&MJ`jD8;|;x? zm_1y0C@?BBF`~Wlm4A4L7~2$hZv&LEp_q87gK{nC-5yZR)|sWNf@XLH_*MLq5?7^l zGVJXgi9ujY%fz5W_Rsc%{uUBd|0KfMx8uWfE#A5=FySndFHiVHrS^Hkgw?1jfvQt} z9FTa>i|LE;~H=^bzluQaKeE{K!KXXylgN%CXfim8le_2)9-xcae^*N^)mD6E2Vr6eR+y<^5@U_%9=!^?L%n*ZvD#>0u3znDAN zo)9pP2PWGwFrRiY5!muu3E1#83VFGbvt1BhY72k9m__ z?2fE1mS<5nM;-4kMB7Z<21PI&HF26E8{=cudbJT!@PNZLFhK_LBN#3i_rX_(Gk?}o zjfOx#M`AoGWoo<6L^Nk zYsP93b5(`cfQw=|hIpfa_Yy!Y{i!PlPv*;@ED~Shx)T87Su%qPPY{qcQ<3^djidgd z9P6LM0thCHbfG!^96;Q<@8{NiZ&mlBfPF#=dn39U)cY}j4y|iVPuBZemQ(L#*u6=f zkWuLuK@-T+m41-@G}hHp^C}d-;4-_l8VX1a&1Mbx$}#1@4E_dafM>rJb;q;WOyUV{ zV+s<9XJ}=#aH^}v9_W#{SBUo0MEhGtu0ymt=JzCT0L2)W;tgtkmBPVeHo*QBNFt(< z*kgcwf{XnpVxNS-MkVB-5?qId`p|gnDD47~uDVyChq(Ty{-A2Lx~_p2SY0m?(=uKV zVxftQC9Ts`Tdl6L6m~uuj;^lTYTK%=Ubj2d_5Q(72sNJ8Mpv?W-0JFQH|=C~4ehVY zX=DS%blx@TP@2?s_03V$_n_27B{YgO`4*%4o@0`~KJx?;iNDe6XyLz1N3T<`&z4v& zMCSsbkbP(fRdTvRHXI53YEQKAeU~N=G|8(Kj!Q7qAs9pg)?uYf@F9)YbvXK8t<~WP zAj+=8d)utTr{JlyI{e{v5=$L!JnMJsuquT;*6-Hgrkb|u@Zt)`SNr#b8JTssopqL0 zhbQv&@z&6*Lp zPW>{p5TG`Q1*t_przj}TNlpQ8yoeFpW%e!SP)tsjjn_A~${jNwKD`K(7y^ULovFBS zZx)4~2j!&o`&=yHIYabu*jfqkNwr0o-tHx%WM4j87G$SnYpXEXRJRIWL*((kIPPBi z7BwV~bx8c#dm(((jXm%E~PVJf#BOMqD`Qqaj~j7r1L8me0nNO)WgkK1NM7Lm^-k zXJIIh;$|zVjz;;`7UiLzDP)=&s-?T6IpxQDu$&T@CkL(OVe{UB!6VC;=`7NBsC0u~ zdN!bv@QQ=-&q2|$2G!jEyKXQJ5iS)u$ElS`6p*SyYK8XQM%}6j?q5*BY7x<>39*Qf zDZP_-*F`!C{*;{T$UCp4ya8Dtn0EpzLe?n`%ij~R5=2e_zDm!VtUHQrgl396XDt_ja&+IWI8j3M0^vayBwP>by$(3s>g3twvp?1L?1=LXW^ ziA#6m6D@|1RZ&t=J47iM1nRJ_;Kdabupgy3pMJkGiA9jcB3h!V^)tDHNIwuYISUD? zgd4GkR$xM;0`P`4w$n478GGwiXYk<9q2NuERzW`0R|GB5Yh3gv+3axQC*S@8zYmba zoB9jib_*-Wi#>w7hlF$`>+tV*Zm}ZpBLZfGuY4W#W)#Uwr|xpe$ACOD=0PsY-EDWE z6UJmAX8*Du^EjI%plN4ROSrS(R*9Mme4l3C$8xu&xO+JG{W!+OBsV94f zu#3i%xzZJd2FQAzOE&4Flu*1cg~7wN*q~~0TJlgJLd~&h5^JF`q$Hk1RdOpL~%>qoQ!?RT<^?rKimDrFTJtxF_M$hxw z|1sm}SNseW+*0l3rurh~71%1Ia*(o&pOHcwvH!c+Z3Y`){T0eceKmT06zssds~WkKy1R^1Ih6C@sYUV>@mLaviU`Q z)nkGe04Zj)2aq4N#l&V+@`*cRSw+#o{s$U3e_Qg4mzA(I`|yZ8X3L$z_!Y{xGy|pHOSggMES&KNRMvj0 zk-)QB_{L@_`W7S*%ZI8bPL~2((Ul?^emJrz=^b6^&E=HtMQKWU60nqXKj&v|o5hn<6pwfL zOWS7~Mf;H{a2c5Dxqi4ki<2ioYtM~*@S5F34-7>PF79nLC-F8#DL_Bs7NBOb#ySx# zi0n|q*lr~e36${E{b$^PDDqP~pzsz%cQh4Rl{hU|U?4-0qT)1p@ncR8DA8#*#p# z5jp0GK45B_nxNCrioR?!cIS5S9Bb#4i{5N%J$MlT8rdB2P%$p zpam_Vh&KQ!N$X#cQ5$rDQyX7ke#P3Dmco$Q*wjjGctZ#AT}r)pW91~^t139oP4!Fh z$gB*1R%I+Gf(CRZVwgRd_zQWd48ov#+m-RE3Q31PvodHKs!=#AS7!)G^S+h?2TR?M zkfjoNtyf0M?OxCCRfcrNx{5L@L%gP^05Rj97yU4YW5_C`;6S9-zTl*`0A>J|>M-HT zQrViIw&>b^xCN3JH_9A&>S*W!T{pIVwDUNyftetXHab_Gc+*4o#T&6l<*{qosGTMR z#*fObQ2IJB^;SZh62PQE+<|1ilT<@e4Yap!hX}5=Lr3tNkCSi5I*^@0Vi4LAvbnyy z`Xc2V;KI@-4_-f5Y60S(TB3$CfOj<{4gjWQ+zHN{brqB&!Dum0&%-3^t-mvexeewo zdhtTFVQr2E7w*I4VKMH~0SO1SjYmN-eA7b1{`}K)DbF!}qlNi5IPTjIK2fJPzonZ+ zMi*$wIfZziKRId{-M|je{a42RZ8CYE?5JDUaUIhV^`V4N35o3Vaa^QrV((ZvgrWVCjK;_j-Qx4 zXt6_`pZF7~@jH-EMf_eYI??a>@Ox)h!+fn_#LkmLT4}z|FKnjo4^zI+$2*7}Ew9Bq zL-{H{c@k87J?yCXApD|KoWm%H7FN4O3*Dj;6zNtJEsO)fesPf?cYvw((?~mwCfc

AwTuilb=iFYebbkQCMn*A(BFF^YNYM)LzrNah*dEf4P zx9NpZ2&jlkK_@Aw;Qrv^j%gKo0-!;#kPn$BT!J1#0LKFQoeRwY)G-=I;&EPs_tKWL zn|P4C*t)rt4jXoR-FmeLu`YSekLF*!4x78~3Fc?P+5QcbsxrPpN`9gHmK|}Do3HhU zYC-d*i{*0v6>^DA$7QT3Ctb&y(FMq1*68;Q2rTgp7`Mzfpk#$_z{J(Q0aL4d17_9x z2883j0i}(x@*%*?1K(KriAW8hglGWs-|}I|2BYQUc`?h2aKYU2OXv%}Sh5-ep(YA~ zC`j^01^y(aNZ#r?`){xdzxTL`m-~r>WpoFj(97ttrGVl03y2ZDpIQX1sIp9+|5&BU zr?MQ+_;i9|cHKfw^SVJ0;?ccD^Z(s1n6E=64(Gi22rsRN(%MS~dbM;fg~cB2r665~ zvwnZ&#qrV?Y$wiU!%?sp7?X(6nwM@<<)^XS@zP^A(@Q%5qL=gywwEB68kQ>!4^C;w zA5u@(@IB$BHGGQdTE^$k^5STCX1a!DkOqv`h|!vc+g16WS?*})0nC}2|6kOe)ip=y z9fK`a!B4a(ZC?+)sL@sQ9eO8vFxT0y+yuu-+^Yt03W74NL9hv=8id3&?t?rdc1vT) zh~FJx202f%+_5_kuv%j{Yv%vf{9IaW8Ferc@8YGYS?2F2Y7c!mXh^S=i(Xz&!v9rHT^=Gd(|N;8bPpYbb^Fc#v(qw&2E$daN7t1Way#>W694_4Eq zGsrfrLw#vC#bE0RVGUC_Rlo^BwP%Q#m%7!(c@vugiZFq|EgEP`a{VKK;5yY4`*1T!M53o#AA)`f+d$ZUS=bh_hLc< zfw(hBhA==Bz@9}~9_)QLDE5L<@W#`0s@!K2BGY)85RxcAxc3P~KQ)ZpwvXl-1*rHm z=o|(8kzTh9TP{U@Jm!#wGgjfer*O8oI62OsCp(aw2zJ4Ag=%Q?+$YQP^d{wU(!!it zwj`6YMXW;dosa;VBwolbp7qOf4N|UFb=bVc4uE2=cZ8jn8tI80UxT!`Dy35cmfZDb z$rf{5o%}dEe|&+PtvIpA?KpXLX9IT{oj0ZPt=E;%tT}NMQi3gkR1ev}pO6h%gh@7j z^u3e7)A-nkHO1#Mq*~yJ1io8Bt?Ky%k8lXmtOmaJn;I774d3KDXOp)MZ^0uRk>QuX zN1;wPV%U`jdn18HFHeH)p=NjOIBu_`;jg|6@ z7!>3HduWza{W_j&M6Ki$$0v(lPx2;Uz4C1Xe4Ea*QS+p?TII= zVkA?78Q88x;=b(vN?dOU^@j8D>mZGCw+ya5#oMY9ksVh+kxF=OwTTnKIDx5ZsggQv z@{QYsJA4Yt<^d?0BB0zHM1=;n4iBvIjSH;e0o-~yzV?@2*|!AhtiUSV7F={XsOsn` z^)^*~j26$A@FW1N4Xhf7yFq~l+$Q7VQiYd|n+B0t4QNmep2d7dp4zDM!K)>OW7C03 zj17KO)((%waBqh!Nd# zeS+MwiJne7DFkZcV1zjiH~jH~4Ut)KJTpVo#UCbdryJWW3YDU=QMUng+sHtC@rNj+ zcfBx!mB7@tSYW$^%@lyx^dO`JO)n2wMj5kgHQqYhv6G)+u;r0>=;1k~YjZo{3(m_j|dqkGGk&4^BQx4QL6u2e0V9+nBc; zYEYz4U7B;CgNYl%r8_;LG5GfS2064!$(p;@l@;eK4x^}VZ9TA> zaL!^Ou~n1efF?r*p1{CJfxf;GRfi=ByC!=M58XjyfH0)+Tn%d)!-YGuA3YPJ|DZMu z{(g_Egz^uBF9QqAJ!AIIa-fe>H*T=I(_B16@LzcuZ#QY(%Qa0cg(ldc;srHrdD+Ic zvg74q<>jTIP+nfywwJr442(N9%7-xjJMVV;`S-m0%{B1uz%~rMtCetaoO?f6)6v<^ z<^CI&mFV4rcrWE2F_+Ry%X^qs(a9>#51PhefSjde5~@hC-m9CiLnQonOG~K2XY+c% zlc)xU5X7q+EU7i&9L{ujkjpGtX^vYx)(or|ZH{{wztD!BA1@%`oQ5x^me@l8z1K*M zxJ+7s_`#)8_4R2#=mv!uvMW`=YA*BLewKaI3bm-j>_?vOa?5Ppwdt-n@f|}Tuzg@) zHSU8gJU}PWB9`OFX`w^vrws63^?JGqDvu0oU)&W}&UlEI%mbaGuuAZdF!36bM?;PD zaXZy{@@)^CKcJiTJzuS69%3SY%3&^Nqm99lfx7t{(ABKFdfK#UX5Fsus(0s@b=6IW zaSE^BA%dRwO(45-n~MCl2+*HKFe!nLp);nuzB@W#a*t>hFJstu)}rdYOt9QpLV|xi zhHSMOgUg-8C+6OG1P_6zhV=&YHqkCQcpM6Q!06JeOAiZ1yDpi9rNDYFDx*VdX7W<_ z4_xeqtDPX0Ng{|jNfd5s0IpU)H8r4`4_#+WETMwXP${_FEo+PgYz86Me7-V2I=Lig zZyBTF28=g0v;>?BDLgn{CkrB3kjo5Ct*>tE4Q6@ZjcQH5r#zM@nW~@CaZy{UfA=3%zXuNqIZlD< ztubz)xNyu+e7zGzx9nI!3(V3AGh7xl?_YpmGsi8_+w`N&D8`m%tE9{dEb-#p$bkFh zPSPNp89^#KJ{O}}a8q?t&hS9lLfq8qmM^;txNHD|bn zN)3Zj6SPtl--}XJL93jWD!rCuh-}o0Ku!?Tk+M~*Q+O#>)NaY|Yqw1Ehe_z<^z7$k z>ZQhh<(;E6K>Cd)6jiynomEk4iLqOaHg$r#Q}eaI!P!@w;Lg{y_6L&3LYl2o|852k zTtovHA!2rvOrrRaainh%hVs_H`e3wVg-pFzu)mu0tq@7rTMEN^EJ33s%UzTo_@D)T zom^0Cc@7N69gL6eQ&G`@tj$2B+>EcXxN%iNCiT`FE`uPhw35FG8=&{f4E`sBziystbl#2u&KaGD;+=0YI;*$KnECQU zFsC7q<>hDLN`xNUBt~G@u`6UDnO=nR>~86;s&r+FFunAu7NtVCj((=Wqoq8sLZ)fU zIZyZ9k0~(>46n}MNaTZv9F^d;&!Qpv<$$NEGy~N>UZpFUK1!v6J|9 zsI)}lzir_uHT)gY?h2y_y&>ug?_b25p3HGI;(poN;?U`AHestyB1wbTb}+!^;ezo_ zu%wA75DE1RzXsh}&G5iZ-#LMuXcwb#;uMu?TjRh1tE})|GD`J{7qOEeYc??1753fF zkp$Zn?{dP0qZ`QJ^(8$xm%~gGmFulno80!mlAY>CgN-c~b)&(C8&uODNMDc^e(8he zf{jJaXKeRAg?O_5TVjb6Q}lZf1f>#?Z@Y8rG!jt65Ro zt#RA`r_-|531slm4`X9XW~pphc7_;JY9lo*a|YDcq~kYVlJ;fZKON1?j9w*;O}9oo z&hwpednLfli7z{#m8b@ZaKXS@&RuI4!kY)aa37L@L% zoH8)50&fuDUd$GFne`z&(k8iRA$WjP=eO4VQY)s=F#1TwDxeE=&xqk{D?@+;K1)kt;QN#Rh%89aY ztgj8c>`e~AHyS$jke-;YU93v+(;9&%2I8G_n-q;+Zq}p$pv{MV+KjhIZ;H~V0dVXjZb|cCn zrDfjGD60fv@dRgp*aM5sfw|+BbBc)SLS?J&^lRy;$DyY!Q?C)W-J&;96bsZadbHhc zbFjuWSS3#c^%N65X&|0BUg?8&C^t{yi9W7^ST)v&RBs)$9kwalF&3!m2)_6c6TB;$ z`p7S+W1GocdNKrR=;7)VC6=>lam8Bmt!*;v#M~-i;NiV0uW|*t(kiq1_Zj0iL@8LW zli3)^C&h#H=DbT&DU*X(&7{GL&2PI6hVaMQ|9@&RA3aEwHx^jW+KQA`VTH;aKB!cI zJ1)H7P6qZvtFkNk>n1jn8dR`4=*F5rb>e0}N4g3A0vX?vP;PT21?*rLby4%es+)hPjVMN-MqL6I>xx@aumu zRyWD&KMvKoHxoxqU^_fe<4x;#1_m1NYI5Igb$e4is5_uIlTPU|IL=^PLWh0WSMCgG zr8@&+iE7>ZJ{MNbc(qP-=NaP_>KJ_TE+nG#3-;a;Nu#sGFWVt4tlVkl`1ENerchO* z@#Ar6yV;1Im|cM$juW#=43y1@7gQwjF0mC@FSoPYnI*PPgZi!B1E8!mZavmZHfGi| z6w}$5J(2GhkQ?o^n%$EfryXj)5i?LQ&=e^8k*9pEuz=OtNtn#H0oHQXpbJ$D`G7$k z89qu7(`wH%(_%j?ZofE1-z2%068 zaMo%#i??Et#w%LCNO#g2v=fxbKzBk$$sbjTDEbW*<+@a3exUMD#wfqd?;+dG3WQd| zZT*=2uC~pR^T>Sm>4Qsfc7W~Ke(z(k+g4@ApzIyD>}4q%I+$$fcR1NyPrad*v6U&F zYh1d;iYM0Fxb>}WAqVy*q7nl`?Q(}3?s0%)vFJfH|NNV%A}WuG(=%b5D-jnrsJF>W zMf&vCzcp?Z=+Q@E$p`8`!0Q^jQDLLDV)hqmFB>3Y!)prraKTow^eLi_uPvB_NQKLU z?4C~~ZIi`qOk*pS>6;`iJtOk@nPDGs4=W>;3zn4;!jZJ9X?8lx2naxyl3zMQCN16;u6Pli2J|5N}ky|mxIV9 z#i2JSyga`n;_!0=J0MPC=Z8iuj^-|YVM%Gy6Y3AVIGV_n5kFp82piZK@z!R>l5QoB zpjPYVK_h-vKQoU*l{evnqO^#NmHmGjrP|0nU-t&m2ENObAR8zI5oz^N=*A1;eaRgR?# zgexC*7PzW>*1X#@{m6Y)+;(uE?O?@c^ig=da%yo4XcfN_qL99fG?!QOosPX^|6K~uJz=Vo&T@BGl7q)Ivf7E6PAb&;(~%8 zUSta)37PDPpd=7v2>}z#Dupa_hvc#;vQLTi3PS zqpojarE=5kM`Z9Bm;dPU$m1r8OzhJ!$%5F{(jPYJQq^{I|NJ>RHZAp|*-~Q<>Hk6d z$m4P{II(a2N=8SuPm$v*-*OgC_$VM>o*($o)ZY87E$K%#Jx@ro4MBACva><3{;4k7 z;LV#lchdE4+%$VTDPrl4#R&cHW;Q;aZzs+g^E^*oM8(;J+GxlBR&SQ{*I&M~-@py_ z5xbjpZMMc8H?x8($08-C)}D_3$e?(OSsfwX_F&H%Fz?JeXE$KAMIZz;kH_)w9#@?H-5DL zT+PqWZY!0~%ly0y=&15PB1<}VPg}0d^LHX=x77?zm5gt-#=W2XT3XLenF!!x(Lcm| zy}gR2wp&CI$0Kgyiay|-k8DKmUsgv<(un2I2J`7>ex_sA{ek|*;3hG$ujr*5Y3kCr z_3|iQVyax>$$yjcnBEVtR(!9=UdU)-l{CKf^0A%Od^b=V5RoPl=x32c#meS;a}pID z!_Bju!H_{ze&V(wi&vX|TG>eGc4_|)sg67yXJ9q|95&Lom={BIit6A(7kJq%;_jMr?WS*>MJMI?EKyMcd^h1 zb)GHt?;=gRT=}2K(4GOBwXm&g_zwndE3<}kyCi#0{(=y86@J)q>ulU>xpzyLJ1n=Z z2RB&myT$)H+>T9=^>z1)lG4BFg^q(n{(^4y2j1q}BXS}|{x`Z$W~cn4bnDAEwkfdJ z8f5hkGvb_h<#;IHPu#nAue#!KebPA7jYf~zl8+LToQIazr?K~P=X8L3R8~x}9E0HV zW)NoVTX6T_z32i~6B6EXD+0oL$S zNRzLDOOiXkPTq83^w}pZ{eWH|qdbQET&k+HQK;E^bmxr6ex%>Z(G;4LT{v%_rgzct zJ?NByl#xEq>DgMp((@6DLbOQXTB_DNJ-cu-={*N7EMucMv${7(xxb+0?d z_(8pH%W-@<`~5RSiF$9zZBe^vZ>j&aMki9l7sz>Oktr*`BH@s+zwbXIfw^dZ zHVkQP#y(mfAD8JpcC}?X=Sv24eI&oxZw;m0vE0fj8#c-gNgHP@)_FXcWpPdq&ZvB{ z{UT>hXYcj$q71DjM=AN8Cu=QkR(8eKS&(9rYRwLAH;4UQm%pjv6Y+Gb z4yEXfu0*z5^Qyn%*LK`2aWQ{3Q+^!gPD>v zu%4HDEc3o~5GqQzvw<_E8<(lU{s-}P%(Ca$-zIt_-Py{Eu1jV(Q|?EJ!^z|b8A9sQ zh_6VE(PyOA@0S13b26daq2!B~J#WQyxJJj+S}^d8YqZX{S1+8g>G|pfGd6utJ->R> zC)M-nwvIj+Hr4#;Tl4pW8|%is&Oe*T+hWgiueK=F99h{B3I|nNFx;U+?eSnV&>Rn~3aXWX zcw0EMTwT%`3dU6|9%yd~L|fFVU^Etrw5!#DXuAkE&HPJ%d>zcRua-#r*tppdMV=XI z55+@)u(>?Y-X4rfIq3_Yu<+T@Sd5*qpc!uq!WnD{wuah+rjX5Oq%+qYLc-@s zs%f@HqRl~Ka#L@vjI;!u@NE)a^5-PaPFcJy6f-+xffYfM%$dP8p?E)~pR3H#F>^_z zBTi0ZOU)&%Xvi!mC|KHWbj6XQCK;5yh81ykBlJ96H!tRtA$_m>84LV z1eTL+vpv$D?j0PRmBm%N>!!KQWNo?1e~qT(IF;tujW_7Z;F}+eGmZSB9n;+`T`h zllGMb&eZNq!YUnJctnt3KLSVv{E;goF|f3nXsuPf{u2dyy(1 zclk+7y|llTI+2r1nQoxlB5|m}>NM`t)al$u0YMsD3;1L;RIN}$RE`>?T6vaB zBps(tB!*MeLQ;7WIzJn~09;EXfEq^0rCtl{#{r~GQG#`;WJ>vb_!aeGGWTL&Dqvj~ zsysDL<*IzO7>{fO#G4^$^m zZ)Q`Ms)?&c0%?5@*Z1)}RRVp1vjB;|4>hq$wc(OW3`mHYJ`sF|nxICiF&HGJ{M6;C zS_ThXWz>A7OjSr5k@6fNo++0B|Mi5J21cIn+etRNrF6esjgQN;`0Z5-bj4JU3L9k z-^FG9%6;X&XO-$=-9!6a?V}#!I!Dci@}UlWq7o@r`%VI%43zr@sv-DXsy;F(TSD_S zB0~<#2{+f)xNRndG)aa=CXJ6Zz#)`tmFHU5xY? zVGbqcP!}k#F2CjxKGh{@kd$um?L@*DCgKTKImKFw|kq zZ-ut*Lu_8h?^PXQjofX@`gD0-*|^858>m$|DuNc4s_p8l+;5>q`qgc;odWeuYUw!I zWFD>bBwEf4o@Ub8#rj^X?xIb9Lv^VCLrwiWbv0M5C--yEN;NIzA@V5grG|F(0PSjl z+C{4#OUqoSuBF8_(AqAfLl*lG#3rnueT39X!i(juMU!H+$Ei+rsalO|v${sLs}1m8 zr!G_5)H=0AZB>`6D^kMmR9BLMo7C0n3+lhr%~**qYHN6hx|0_9CG};}aJ;%(eM_e@ zn^T-8=)Bcnq3&1rlDB;LKJ{&NC?QW` zO~n>JjJq#({5UMm@mTBuDhn$jtAbYSVjl-#1y99(4$&6Wid|&LbtrKQM%LzBSVDmWPw7qnAepZOh`7xUIHzyu+H-GQ`_kmcl#B?k7JB?^WIMihh%6 z7JDG&=Z&|9c$1f74;-I#{fd8geolD7KKg1Ib7k_AyNt(nV2k^!o!sSlJiiRvE)-%t zgf^UXoKBx~8a?|xj2*s??--zvpNwzB=HxOCn83Y&79y6s6dRq(nBXk#c~C^|cx-WA zn!TMs_)&}t#$c&)kTxDWJpoHS4%wOX3&NX=UC*GW@Z%?=2ygg2Miv)CS&1FZgx-gc zV)rC$e>hLUnrCY{lFC8oz_NMAV{h-HM;T6S*i2uWNQ~q@n*M1A9P&I~-xG=3z<$6R ztI+c_{T?J5^hg={sSna5_J?>%T3yTLip5PNtk@HYp<1WI8Bdw?h)(PxSFT+2V34C! zsY2;bSj(1wHmQk3KBZ$I<^O%zeMqHfQ?$_^ZAkvJ-I|iBO`#3fA;e{srMRqoj;CH& zB_n0|*>ouNN90Mp$fwpO5{{4fCKBEGchY02BHgNELKEr#+;wDpNgaH) zdX(h%mWPw7qnAe?+PIXZgzisy3eI-(^q=6h?19rF#U4nBdh5{fq*>BwT~?Z%rz7ow zP`o3PCuh^P^0Al`sJj<1f6*zM#q?>4R-ndJYHBqCHEHT>#}&e% zv(Vx=bhg$g39BTSk|0XRs<}=zH>l=DG!&o;bhfj+j>4K}q$wcQxjfb!4RyrT^iYi4 zt~FPoZ&~+Lbpa}!`&7$Xb)?nQZNt`ai<%dSuvXr_)(j@8F{K-pwcIOZeUO6y!SX~x z@U7sl0^hWscY~j^-9i_5J?+`?7yKSHqau+w5f}ypfE~aefLcx&%>gb1E&*-;22`k4q*0L`I zPN_{Ks(=fCtAV?Kp8)Rw{iY=nD}Z+ZAKQrc0`ckSWJV(K4d7|u55PdukqZQYOMuIP zO~75ilYpf2IY7!wMxj3HsEi>;VQ*!ma|ZXJ+=ucz4V=sBk_m`!&Oi8#*Yad-(^~fw z{8@ivh*L54G#QDR4q4&&v|nuhN9Bqd6xBbkQddWhKx(Vd*5 z`(@h_Phjmuq@3)=(1$e(@#(McN0*YM_O|)6G#VbWbW%qDUes|{ha zkdqcp)^Z)cQyJL{?~#{**U>rt0xm14B1cwCWJO)v@*+?_KxUq@ zjy?d8759OFH5Zf>ntu!;>qOurK<14yuW{0R3hwT}q5rF}%v1*htO~j-NFrP2tkxQZ ztTroU0wVxvStEf_z-U0$MaBX-z&JqaIBTPfc@@^dTD6`4mVR2o`)yogV_9o20ZM^? zRi2K?`Ttv&R0X##NL&0Y<@srCgM|Bcf;a7wujC~)et<8_*AMv6=*|6ow#l-5e>Ijd z=DUCu?vQ%dh^oIBhVRepQ~cU^&Uo2)-uM+F&tv5~q+T|jF@9qF#<+kPfqX^ueIv{F zs<9cl|6|B`x|fahtbVU&Jb8_J$+$`V-uRR8JL68)3_Dr>z8e4U8xOPc{HXdavy|)1NWEJ@0I1p85LuX@tERDV)`RUfD~)qeFp0!}ja8mAbi8b39@V(c<*Gwvb|ULZAY=693vW#bNGC$7&M zcN*Jx-pc(3;|x+{lBS2$-_)N~mT{7Cozc(eZwxd}FiwPWs&Tq8#29Z}Ym6f7Xd@Si z*Bjf7&w-WNh%}|HGP;m;h4#79*bLrgY%7XmSw^cd+XxyhPy;$F zvm0ZnvCufzSYXUE>Wv1Y3IBK0BIAH+)FJMtE@b&O8f(;MQfcXVoMEVOMh4*ga$T3> zlZwZqgQNY%8F~EVp08c<)YI=ARtS6kiIj2ZIW_*|)6r6qPP0`7h%7S~dC?UrJ5W2{=AhaK)>?K;X1 z`BL^J8?dUEVofhsS7{r&0rxuXx)Mu#4Lj@`*@?V{-v%2tvugi2_GmV!p~eR8w`uJD5D>_c9PYXkd`Li=>TYjwCS>}PIcclHachF{N4>sEF)zstJ#E^O-ttnMw`Z%&ce z#M2U1y(O0Wwd;KLARi$okI`FvAJ+zYh^x7;SC7+EJfTDWKs~9R!u3O7563)z41QYu zl>1(+`fK0~>KT0(*XzI-^7#|+ZQ6IC&glknDy~K3^dVw;1FL^PyB;Ra{e*lA_@m}{ zTi-X(JG_HU-=Gcxf1#)7h1~Zv?F0IY-ddX*R39VLI9|K^8d(}2r|Fzt6b_u;@;VKiK z->4VV^Yoa{s$Z*Lsb8vJ(2xGy)}@r=?W{RI$R7H)>3zS+-o`iBDY=(jpL^KH{u+BG zUu94FE9`84Nr&YW9J|&x65Be)9&7lmW50YIcr~Mi4)*%n*_{cp>)y=XO+Z~pySRYb ze;#-~(1>d;R-(6SDIAOO@57cY>h5lxJNnIv6oZ8Gu3g%ROkzFpMy^muC*GPpfut4&;6!hgXOG-oQM)EXJD=acVK_VG9s$i zHu_P0qGLAxGpMK60arlTL@03yT!ls22z(Bgfc3OlpYzy^)e{@|d0+=VH(+aT;^{`L z;ts5zSVXzsg8w!((zp>z_m~=C+(4+CXmz&`?sna#zRQ!i1jIgl4}18OcFEIjZ4IAL zKfqt?p;*N4V-dw3?!g*9jaB?9w(v*T#J%`GgJpajAF+>bVAbBi=f_yMzw-1tcJBc0 zKk@rBzjrnLT`bxM(0dzwjXsQE`vL=u-i%{UGtLCg;OPTw*y+amSiIrA!cVg$S$I7hd#La5@%osiACAM`5(~n+6zq*2c*lTId zr&nmey3C>9uBCsU#2R@Os|H1k2nrY<TR={(2cuQyNU>J6bEdHt-W=(aL*c;|+0+P_Y&pmd z0|$xg=hr1!gvg<4wm}M1H}WoEL!uk+^G6pJN4g`7juC%rAWo`U!@)IXtXUs@Cl->@ zj;}s{ouA(xG3Bg1TP3X|vqh=ju%`Y#Fp4$wVqgJqA#f282d)4%0U;^vsH-h`J zWW~JxG8nC@KV63p+8OdweesK;mZRpP6n;mEonA&w0+E9xu@Q#%fU6l=1#qf zG|k>llEd<{Pinn2(NdrqtPQ%>Xk;b(LJ01NMpi@vE9HQzz8Wv-lve?w5xCGpz-*@( z$%`Lmd*{mKK{ne$t7H##`C9YRU^Jp;M_M|=5%;krl`5GC*)Jwgp{w-6B-+gksq=DJ zU#hw6_=SVnjSMPFXoY@fB9nNw4_#6p!#bv>~2&96!N-!@oNj zUO%tf%PVf7iDAeQYk|pgHmcnoyyDud#0eaX7N|xYNL%j$4sO_% zB(yvb3+9=zpngH8C`pL)M8NiilN^OgOVD*Gwvsa-9$86Bm@^GY9)FqA(z|6!Qc{^l zwGL?*0`jY(o^u*Y{oGF!@nsgl6 zZZF5|x>^%H(<6>%By8iydxRzZ8nqz1x!K`J@mz*OE3vgvGrqQi_vk_>Fy7oIhcRq_ z&WQ9JE-x)$Qk>O2xB|6uxaD$aLT*YhsHL+b9BQT;^$4P?4aU?0`&a|7qKQh~1bJ8j zoxITH9C$D-wp{N)AhV4@osQZKg@%?#cv;Yur{A^HlENIQh^fgT#mH=ORITg`$3t{P zCVi18NaQo-fasp0u#)D;_7I$A;qgj_k_6eOGw7bf1Qu{Ii7(H1xTm6iT{ZY6o* zEZ6snJhP~LiSVKtQh*4Tsrag zNaKi1oMo8K}ivIAh-QIrHb4)%A5V>^f*1FsIF!S6|!MXil5cU{;%Rs~hIcm@>bvy1|?~zk!!CYpI%z6h0}`5{{y0 zIUL4lIp|b6JL`)n-B??sGu&df1sF$0gUvz4lP!AQ)v?ymZO?*ryn%3p(`dTB>$c&H zTg@4*VgT~Y)zJ{OCLXc$tt(y6MQqhuEtrs{mFB#l3_)pxfoA%QM&2C_n#IM1PKcTa zN3YuR%-PjuVUgeO&ok#YRx^g-ZPl9U#@c1Gs~1T=Y z+|X{|#(51h>d&>qTfQQ&c1=g5ooT5pSVYw8F}SD<>k`xPi8t3YJ+IU~ZIwC4>VfRZ zi!K*ADcMYlbLhAA8{5mIJC_FAQe`?gXCZGJGu<7>tK>|OL)brS=9MG%ZPMsio*8I~ zP8!`Z4j$`r!co(N)9fkahM&5>6;~%qpu2;~GD!proXV5V_-H zex&1SZuF0ri0X^P-+y*faaFjo3cpHCo>e3V94ClCq**~{7FE>~3IW3ChYe}PI(V!M zk63wC2YfMqA!18~-(OQ!HM69uz8tQ?s*n(7mR8l1DE>$dY+;L*3-g3n1;Q$-3MVyH zNMbmXaduN>RXuDxwNzF$kae&T&Y<2@Ul;iOY`@ z!6Kl-PWsI9s``>DPI|ifE<)cu=z5*#dX}W7sOo}zk>;ve6fN-;As5|<7SLm%r3$TK zye_wNj4RjHa&vxrc%lAkpWR96pAZfZsR9NVOm9iL+4jyOKq4{ zY?niMmA|Hu5WvVoRAq_h?gf%%rr+ zlIoQDTdeh&thuFmcIB0nmyl3@ffQ;C&)Tie$aS(ul=K1$1h3J8~3Sp?q9jmY~bhs+q;Q z29x=uF0FzQbxM*%Ern7Z{`}ktxyf2BRozobt-9Ertd`=EFjfUsRt=}*iXD}r&r0Md!as`AJy(e@>^#ye%?8WyVz+SBcf)K~u` z(WvNF>TNOgx4fdXxU#}uR$N?JUQ$v~Tv%D=FD)x8lexuW^^9Ag@PMXA5AxV!?zqbGlCm^ zN!L^KFLs=&Bc4{%!zH|s8BNw|QR*mptc~P&_lccGl zpW->KX%UgXhQ>3K>RInc^Th8oFZ!{W(Cc;El1iYt#gS^QJk1NMRaT{2|9Gi%k_NfN zWG5S#)xLA3$g4iRBt7|Ulx=4bEx?loDI6=bu)9hZZWlVJ!F4QzI-PxmbUT#4Wf>_DN=)Jw2i3&w@1<^`0LgrciIkuSXxDaJ_qf_4`6zte z{v5fO(3HX?{noU*pjl^zTcEkQb7lV7?aRW!_VMn6wW@ITBnIN4*7$h6{h{P*FtUa# ztLlt>WunXsv>R_;=gVhY`HeRMdn1@~irKb&{~ycc{vc+ba&6MMnqJ~^B?0N#E0aH4;2 z&ITKaL=O02ANv>JcfoDo(=!r@E#PkrOC%lxFCUXgyawJnj`s=r;GfIB2l)Q+iNqrC z&+~Y90BjWS-T=4(yc_&9_!Y1@fpxIHN_`t_g8LOF5|hCl;0wX8gS)^l`QZl-FM=QZ z7Wfr;E>0vq2A6?{ahQ2Acp^9sJ|BEN_%iShz_)>qDwkPC6L3<-v*oD z%Xx=jGPs4cnJn%Mf9k`kG^$ze7 z)}Xh88(A0L1s=t^@ILUh;Dg{Fg0qk3taVc&Q3zfFo(ujWxC8tlcsn?_g#9A$_zPH@ z1V=7RBo2YM2NH?F9N3O5Pb4b9MXX&e0uN_RbPf0~;G4m(26^uT{GhC7f;Y1McnCbG z4So)L&kVs2o_Z1d;5)!;z!fXe8#o4j4EzZAMet+o=pB4w1ifeRt_ye~xUd7ggLhqm z-oYnE;RoLUehmCB_(gDQ41Vxy;9(pxUlxZS{MXg+gGa7`A6&T(e()mjW8e+o7s1~H ze+-^|8T=ejUk9EDz6ZPr{KVy?AAIGNWaO8gY!4G~5e(;~Z4L^9uL-2$B;9(rnUjd#7ei3{=c;ds}o?X2A5QD=%2;h!oF=!OO8gETr^tQ;cpjU$D~0!7%`5a5fECzC`G$kbyGlpRxjxDP zxEi|Fg(JJwqC;XwpLmeHi7+?HiwRDcxz}fG>$SD_mOktIW^@g48AcIA&e^_m3U&iK zs~m%b1B51_ZE&;u_0AoNW7zRnbShfB|OD}|8mP?=G zrLWUuEC0|JK>w+i?%SgS492emxZRir-EV<*8Z-&#>efEbgMaO z`d;XRpvyNyT>b^gv>kw+eH42CUc65Pz1Yj&p5)JiJ{bTozTAleTJ9ro9goKhW;G%*(vntF8vkg z8FTp7qL+SoQodp=IvRSDmu^=E6F(FBGU)AIy405zONNA*N|<{Hv&UN}rMw^0)l%o9 zjWDws5{aqaFd65#^>!ol2xHL^-m=OVrVC2S`flhQob7non-1S^-F!X`eZm6HL8Q>X z@6z`}|0VPTDfBm8dM5V!cE-NHN})gF(sQ7n$C&spDf9y_eLD0r85{S+-v<5JqtG`( z-^kc`Yl{4huKc^9zYo1MML&hEex8Qj?|k<8Q~2L^`S(MA4f>K4x@8`^2VRB&edUm<~MoGJ-1bvFSSFz z$}8V@nH#^%qkaxO#kTsITzVLK7W12U3V+0OQBnXI??}L z=tG$|?WCV`^`CLQ45xJY9e{p)8}l|V|HWForuRRdc@*?hQut4B`SYOPcyS_ehL_*U zp60KEz7u-Bm)@3?ABO%V=oMaiEJ@!2{X5XNd+EN-I)LQwKIr4ZynFAZhb(>>Gwg+4 zo=(SKc=tn_0c~(f*`MT=eP(}D##~YVOB!bkneiQ$o&){m_C)F!)Au(WxrzMg(7zw) zzMp`s(-0=i4(6LZ)!!}9=Q0o7Bn(a(eAguN5B)pPgDLb2UHV?=hoSdWJ_n$G0zJpe z-)!kmbkv{uac}0kJ@qAd(2JnAr`U*)Ys2fHcQG&ad*z3d^25+S5B(G`-D=)iKU<(* z2R)^)@mU3|%OCo)(7WsJg}xVhRVV8XDe3#Bo4y0kpJBfKLJIv?F1)J)paBpTu7W-S~XZ{X-b~FzEXKOgQyB<4rgIEztMxU|lXH|9zABhyLrG z@TbtxUQYh{Gj6ZDjqiV?@ZaL{=RyA| z^l2&jt9H|02mLQ!#J;7_i(Psc`f+!#?v|4Nv2OaeKp*s_qs)Jx4}dQFId1x`sijr^ z&__bQ$V>MHb^52`cL4et=u3rOla+nFuQqG&wv5^=b8D~Kteh>qr)L#j+h=-K#rnSI zW=*~*tD-uqusSQJCd;hJ8cg__tW5oFg_09k$3u=}^VoGv1IILQOasR>a7+WoG;mA< z$24$E1IILQOasR>a7+W;X@C_peL1xBXJ=07V5aQ)y1@2e2}@raPqHveI{J$14H)a2 zf#R`7=Ga_p-$w*LEo+)wvUDPsDQg^DY>!x%tO;(z9@faJI*?5|b7udMf#;a_6 zt&MN8@m)54$i{nY?C2$@x_dp{ZP#}v-2PfCoKx<*(&$dOHrw%F5A={te(e`>1y zAE(i`r^WyCH2Tgo`U`1vCw;4I$17>{N7DG6@I7Hi4?WQj4YWdJW?Oi=jW^o(X&Yyr zVAE~9#>S7>_>he&PPD?UvGKz;e%i*FC)sjrywS!_+qlok7Jaad7uvYZ#&_Fzzm0PS zS>ZcuyvxQ1Z9M%Hi@wpu`)r(js^!1P#$7gk+QylBgM|GI8*jJqJ{xBbvG~*VIycRu z(9b#a(z5c3%IcaaQ)~H`KvSkvnK``OHO{OkC@m;tDLU51TYmAta#f(eUeKWmc!Mig zz)NZQ@xTgIu%f-Qpe+z7^p(Qu-E$f1d4du<2#SZFhgJ?`T}o1v&gq zf9ha4>m`@dpE~`PBWDD(59n(gey9I+aE0bRlHc~$->(%NIQ(t`?FdX8OaCoNapHIS z$zuGZ3wHRO{@%e(|4tBnrR(o3e5EgS_?`aK!HaA@C;v`32TzACeY5*)_s>p0J=x|@ zPrvQWH=V39arm9_frFj#ffIjv{sT6DjV;g_Z#dW)p9sH`%x40K8K79DZlKIN0XjZHaN~rxU+Zj-6@ozi`e7d^i_-j>VXx zpOQC+-@)I5Bq5#no$$p3 vkH7vh#p2KT2mDgqBqaT8%H{B<6~7KE0WIlidG|>0O|?S&*5l{pbG-jAde_t( literal 0 HcmV?d00001 From 37ff5b603722eb0eef1c589cf0a5caa1bd0b21af Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:17:46 +1100 Subject: [PATCH 055/163] Add files via upload --- bin/bc | Bin 0 -> 84960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/bc diff --git a/bin/bc b/bin/bc new file mode 100644 index 0000000000000000000000000000000000000000..64b3cc9202030b52441e6e1785753434fdff5917 GIT binary patch literal 84960 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 literal 0 HcmV?d00001 From 11cf742117843b204ff94559dd0605fec314c82e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:46:16 +1100 Subject: [PATCH 056/163] Add files via upload --- bin/64570_synonvme | Bin 0 -> 17241 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/64570_synonvme diff --git a/bin/64570_synonvme b/bin/64570_synonvme new file mode 100644 index 0000000000000000000000000000000000000000..2dc63b55f2cfc20dc364bbc39d2b16105db24799 GIT binary patch literal 17241 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 Date: Thu, 23 Nov 2023 07:46:43 +1100 Subject: [PATCH 057/163] Create tmp.txt --- lib/tmp.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 lib/tmp.txt diff --git a/lib/tmp.txt b/lib/tmp.txt new file mode 100644 index 0000000..2d030d7 --- /dev/null +++ b/lib/tmp.txt @@ -0,0 +1 @@ +delete me From 644c444b4ed2944941f5b937e78bc3cf77c88685 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:47:00 +1100 Subject: [PATCH 058/163] Add files via upload --- lib/64570_libsynonvme.so.1 | Bin 0 -> 54154 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/64570_libsynonvme.so.1 diff --git a/lib/64570_libsynonvme.so.1 b/lib/64570_libsynonvme.so.1 new file mode 100644 index 0000000000000000000000000000000000000000..1f97be2d5b43e3d68c45f780d3857d597862d842 GIT binary patch literal 54154 zcmeIb34ByV_CMO$AOh)*BWPUERvQInNmLY2#x!)GBLN~wFbWz%(t${l&U88$T%$>p zHbyfeqqxirZVZ2QM#eR`U;qVoaYq?7u5;UnqN9j1+VA^4Rk!deYt+T`wW^>h{dkT5k}lbiJtRb-f#(zADVvY&|+P z>m>t?^`6o7p3(KpG?NIp%rsqPMJD7kYpVhzritA)>lJ+xto)zUE7bMU?^o?5rvKD~ zYNqCxor!wv-+z1Q;j_)t?F}SPua=9MnmSdEhJv`y#XTQ)J#JIvc(l#MeF7hF<>H>r z2VAG(o{sxK+bB;1p5m*A$H$KpN*_u;tb;m*O$ zYclRLr}o7Ys_XX8Ev_cYuMxOx3nCGxize;4Ae#63YEHrq_3Mf!QMPWwwn z0_g0o;C}!s({*N8>U#9EIp${30{w6>(nE1q;0|cm{yH_2TJr%Zb?zvg-w)|oxX0+c zHJOD>qAni>*l(;zcphxYXIP&9+sEU8n4*zS*QraV$Le&6P8~>(z&#xIBHX-=REcdU z(gNJoxM`2aU3l~SbjML6*QPvp>E&-W-Tvy_AMd>Q^-^LFw z|KRp#n^J~9^XZ<9HqSjZ=k0&M6vC+gv^4`zw!sIP1ED7Ctcji04-Qb^O>zs!vb3Hkf_Fzh1m!@~68#uOIzw z^^6gBm5hFC_lsHSZ*A#)>=oY=AD+Fb^P(%?eJ-oyj_S`J-gaWi;uBY|du+-_oilHq z|F5@JG~fD(=Otg*^H|QUKi&J&wH}Yf9?B0q9H_ z0Dt}f^ved2^JxR%zdJyG=MO;VCCIT~`3%5kCY)D)_wow_`G-kKG9v9GeI|*J$8V0zaD_TYXJJ01Ms_<8rg$53@DvfOUwbxmCt}m~A%$OI$+V#5do}zt-R>d= z$hbO@=XIvYZJ2Gl4qkUCuq{)=J4+N`k>>Lfr28XM?*350w`=@Wn$O)jh`mz7>&^a7 zR)AdH?m;I1mn!%!jenZx)iB$d)e4ZW;g@Rs%s(i=XBz&!$RF}#pp5HJDzV+8<*?hW z0QAee*qz@X65l;hvJzYK>15sC-3(xGnR2*J(^;eGFxKJqK5n6-$M-6M+HB8h{O0Kj zFcp0B%GUfZx=iJJRbu-Be34Fet^)j4^BL0pvQd$6c|e!f$C{4wMwRFKhS!6peEz8N z*JwKTAxrw5noq`Nyl&9=ovT#-VwKo_qxqNM60q@_&fR)^n}Z6`l=JIaZcYYxxISdC zi)(?Vzg`PwFoRTF59@vv-m3DOH2ohnezWe^;TrxYjo&;^;oqean*-(SSMwk+iat5(Zlw_Y5C6xjBfmfM;e6u?|V z=4*Iivx1+e={%?DWa|aw7zT)!5H9l3=e@R(IQ+ZicbzON) z^@ToL(b;q6&Y3^km*2p@MMWN4Lok5<(OAQZh8q8pvWlh4qF6<~ipGF1FHqiqng#jO zrsp;JDr%y|Qczr7>znBdMuF3p`YM(cHP+Yr13`CPrP+*B*I>e;`1zH-x?pwHis`{X zO&p!t%6a7%OatSA6;^m&Q_xpeS>&s!D)u!5+4}72IwI7T*VOncY*hhYjQEV|KrNUk z@&&5PYv%dND{T#R^?~ZTU==$YEU#F`{+3mhSI2tgscu*{+h6I6d%S zC~;9VGpcJShgrTA^UG@*eYRR(ZG%ND9^di;e}%OpMK%6leqEIxu=yuM#R0rIimTj)xP|?N?((;rf_FsRr%|Ebtj*s#%IP7U$B8gTH~v;RaMmZF>uJ$Rn*oq4OA@U zNLM%bD<)4aYiOt_ud9l-TvQ7^%l8!fi=Ylm8ZMNPBaAII#G?VF*q<-TL(&D%NOxtW ztwId}TB>ZUw*~zkeT+M;4C}x_429*vrG)`sRdo|dqhr3tYLzZQT2|%@ z1nT@{81nL9wZBgFzmURMUSWge1HK00sVCNiVqpA54-2D`0TF+oEMS8@_%5hfkzd!~ z3j}?YCk84D(eo9esT|qq~2c18mVspwJhnfX$UJ@s%|AqP>|0NiNg+Xlo2s*Hl#o%S2>+sH%pSC~Ih3 zTnEdr5mM)CiUHW_3{Npyp|S`QDq9%9h(M4~7;q8gPBgfv-baI&w!#CQC58M3syppM zva?T^ULL57Gere5m6UZ9rI;yM+7`Q!Jjv!Y)>Xsa5=@DD21ixAqTVNtOVBy$GkhX= z89vkVEsvI-1?eiCu#T^Hdhu-J^Xq2$YL-{m#cU>8Fx^+vP~8|S(5*lUR{gbAEuk5k zLm6vK@bmzaCi49^CIyL&6~TYasA+6i8l_y|k5dc?Bfp{Kgy;Z>2T-2e^taKfak`ve zr!1rY(m6g~r4p{EIv|=(7gZjFwgNC6Iu?YxTvk~fpaqCUiW$+j&ut7s&zG^|D6bRc zGL41>#F@5&MyCXr7Z3+cfTj98UyUz1hq0`rj@qs(Mww9g{Hi(rpfX4?W`F&PV!y}N zK!2nfAsFKvb@esXiyPppD=|mZme-GO@Q=^2X&C&4kAPDMfZ0R~EBJJ>iB`9~R?u>6 z=-doXaaqpz6Kpft(Xtaz*L*r5_ITonQRqq0rxV6cj6R<@{v^f|$=G*I!p*<@Pd)Lk zdP+r_hTB>aduEM6x@<5~vm{+=Bw-I$l`GmT9b}8$Moy-w|qb{9Sh{yk`>dAG$-q zwUXs|&kMcLWM`Z|K zq8{b%q#l(aJXJl)-`pORA$*p4l)v5{l_A`GM?*+q5C1BD($u5;E$vYm;!}3!wWvou z5uU3aXAgo1db+pHTS4T(wQ5D+H5N=aC6U$#hn)T zPy+O|x<@^b&M*yQvZhC62-iz*0j#sYJqktsuD8Ig?+UvtaJvP++X8o3;Llj#^v~wC zy+=KfAL~2N9TvECf3e2`=X){pGJ4b#=^S7Jk?!tM8N!FFNBO(AM`Z{fp&r%W4`T2G zE%0;;{2&WF(*n=3z_TpygDr5U1%8MHKH383yJ7Rnw!jZFfk-D=;7cv=Tnl`p1@5)L z54XSzE$|~O@KOuhXMr!Wz?~NOQVaY@3%uR}Kgt4cvcO#yc(Vo0J$dt5X@QS2fk-SrhNJ_gc@Z&7_&sgAk%UVjeTj0lA z@ON0?V=eF=3;Zk#+_1pMS>U@Z@I@B*UJKmZlapdS@6#@(S@6>>@Cg=prUjmDfoECZ zITpCn0zbh5A8mn`Tj1Fic$Eb{$pSyo0?)O;OD%A(1umhqE-SRab?7D~r53o}G8OnD z3w)A={!$BkvISmmf&b0|Z?eFrSm4bTxZXmP(v=qYd<%Z31wPdRUu}W^)&l?a@mC4_ zDuG`m@T&xVmB6nO_*DY`f0ux_<@0oJd)gcK*=*jn?qG6cySL@3^es`bL?(WSqR6O^ z@z-%gE}oc|6<4??f@{<}%qO8jc)R3ZWj>ktZplB#JhwE$>m|RLd2U&R*GT?R=DGC{ z?v(uf%yY{j+${OKnP)g2u9y7n%yWw&yh!plGtVuAaG~V?z&y7I!nu;ant5&wgtH}o z1@qhz2s9AAsKl~keE|tTXlK+}{E|J4F$$!Q? zm&W1UKeGQHGVf%*NAmA5e|$p@Gp&%90Y=QBTn`Q87K@n@b(y>O4@&taZRyzq9(&tslTyKuMU z&tRTQwD5Y#Ph*}-u<#nmPhp-*uW+a2Phg%)u5h#Dk7NE6=IbSY6!Tnqg%?Tw5azk$ z3KvTLH_UTM70#9X5azj*3TI0`nR#wihMkiC;cv)u=@ibC{MXEL$rQFp{xjxJXMXoS z8Gq(;neUPOJIuS8-!A!AnV-gdx8$E=eme8(CBK<@Zn1^eNd8gg^O*0H{Qb<&V7^)M zcQZee`FhFU&b*iTMUuan`F!RJCI1KJ&tN`R@>erIi}`HHU%`9<^G?ZM$oy>PGbJBj zeh%|C$)C^sT;_NGAmh(`A@e$gqYexjEAVG)8pW7&?v^dA)!Sa>IHFbfV^(~ATO@e2w`1b8 z^HJ>})If`lKXyAF?iT+a#n0(>chMPnJ2GCWw%IlcyB#BT;Q2{9bz>)tqzm;Uy<0gy zkbZt>Z(h!`sPO`@a=N`8Bc5l~4MJw>Ry>C%!nHV#fEEzHi?hcTG^z7NUNCozH?+@~ zgAsrvPWOi12d_7vrm+k)7etxe66NkvHbL&B!AZy|{!RsdIo%7kIF4vWp|mIT=X*n6 zd)xK|=WO8nGEfhq3fsI8THn^)n7m+1e&}s?7d>^9ZpO((>KMVs6#0JwTe{B{z`wi8 zjtc1eFrY;1jaY{nQ&qSJ6?$Kc%9s5w@rHhUl3WyVWQ;I6?G0`5w(Sa*v!ksXIqF2{ zOXCR9cMzl-AUBR6e38=vnT@>#Xz5<7YcwQ~)14ps#vA%HKlFWm=tXbnyA5~;X>*Ke zb!BptwzawjBjv^Ck@|UStINU1e|ztl-S(`b^+`O>Zu{8L`mj9g3cco7)!p{0#Qy1JDzCIuD|~_K$cj2)%6hV9Lm^{0H*w9@p@HJNyN%RBy$%1)(p!9pi4ffc?Hk zm`c8SP59#7_&-*Z;VABlnlvT zOoodgLoXn(0d0p2fgqE`kXXzPoIX<~M}sRRzx&-?3~zvYavW|_RMy{N;2^*HJxYH4 zXmfV|5>zVPuLM=ElwQY4&e66P+(3Gc)-Ulu32sBDshxvh@|U0Hy6WJf`rz_{jypwW z9>*iYTpOG~&FL=aNLz;<@-Vz@BSBC=BmbL7Brm5s^fnZ;AoMBbpX-2Q+%7~f_4K2W zjWvJQvth>vp&~A!D zn}eKEc@NQUH=aP>tHztmJB|?l-;Y1K{PQl*+wcbf*xhvp;8D}b_&bIGBXN9G z#2;X+JJtAATE>sv!T4PU^l0S~>&nf6xrYja@uQ~&T4@~GxyY&UYbDz4G6Q$Uv2mpV;a1OA~mU{0SkDy_~ zQnnKFePb}1_jY(vBF&SA1V`rVq~*N!6=0mkcj#$A@rN3{??G?fT^vpks0ipWbOSUp zwk)O?M~p;EMj@K+eZaJ%EV9*+aXS!V#MfxB2-eTn1Gn~Kt(akRa`#vmce?^!%k?<+nt4wp`KCwV77?YLqG;E$#f zv18&I(uX8Q?xwy4CvSvY1yI8pfSdwn7WxpFWPz9|U;tLqhyn`8jOUs!N}bTS$=k9e zt@km;GhVp4juE|nR{8?o4=(C^w9)&ls1lcfu}%(Foh*-b(t$SAoN%k@GTdESj_*K& zqg6-jIL{Q!PK;&mbMCH@(y@#O;?TB6)&4=E-J#^yF%vz>T0R`{y$>quZI|G;6$F?` zI}@-FqKVYKTNJ*#xS)O1sem$2EXvv0J3Qvn(DNj3%f3T`hv&DS_D}TLcuqvx_^DDP zQ%(zVx+ygoKlfSmaqjt1y&r9f!#u7mPP?ft8Os;J62}t8Aa;>YFZimX^&x@3J3d# z$MiKE5|imGr+XtyjP_lu@uhJ9(7i2}u&L>p!R-8Ya2P7h$`2jpqF*d_WksE0<1!f1 zXk|w3^W0^S0cxFV>wUEf@o_1r!Y=-}$U2_s=bGa=6bjh#Or-Z-cNfN(n9JfYmqoSZ z1M1c5#yMYDrx@DD+h2G)W;)(ZdjY79hco~AY^d1v%}$RCf$e5*i;?u+X7A*;8b5h= zhdI6_STSw56s^g)s91UQAi8-=c$@_Q=fcNb&Sdgc?8@|NC-2?naiycW3Y1ZbiDpAC z^4`!}c$8S;`ZSK@w=$Af;aLI}*w@-JihrBY@}*2lZKtBl<9N6L)I*;XbX2<1bGkS1 zh>;2^_~h-l)y3btz;I20+-RMj^m4f0W_S_$(k%-*m|-z!8#jL*i6BNPaP1GoKD6AI zhxdohfYc-+|0$jh8bNC#j$+X~p##Pa=#LHvq!VjlJb@HN;A;$}vA;=R_y7d95$n)+ z0?J>F*u+XUEkX9v%IA!E&a=FH*=-SVdJC5W|k0&=+ksGDSeZ^96S7_Y$ zi{y4<+>PB~R0u`6qXvSzu&BhB#_gKiBEzf6iPX^5m^z`KzX$q8YL#(YJh}Z8xxZ<0 zMVef_@jbi!v$C5??&igl8=}YsG`UnE_qeMWVB@d9NU?Vz&}{J(xu=Z&PSh0dXDO_+ zlN3vSk>X9H_;({tg4~q`#oZ|4_%6~E*N|e$FH)RIiVNc@W+;k((-iHR;(Aj22SxC+ za{P7y(1yfQRNEUPYBa^iS&CkFlVaH~QoMr{yZ#l|Ylq_TSWWSKP!tUjb@8-cH%6P8N_IKio8q?L*@AL=tb1kqPl6_E#jnB8iV#ggGWZ8h6wG#-^Cd z5OdQ-$AYz1)aL%rEkY$@;yKp&r4}?*AaxI96ut!uauug>|K$c%BgL$NZZyp|@h_rG z+fQ>D_kXH`ld$aaeFO&edWPF&XJLZ{@fTv)-oYvk>h-pt%91pr6g9o=7csg;?hKX7 zRJqe6w=4_7HnRELwySXq<4{>h=OQw(te!lWSr{*$6^$LNdpehYUJ5hj6o&iRxVg)V zT{Ld(>O$1pwgm+8Cco}zy#m!AWz>#^!jnuz-sCR}tmkpN>L5&4QY~02n4vEe z;#Fv$h>u`C#Q2=bVJ_&%xDg6N{TTVt}BF6W?@FLW9wD~zR!x1e(`(CU=IgBuYRN1z2wB3%m z4Q5aZs3){LKHdWDwv}L4`t=z0Y;*QVmsE#NRvl`s;@Eej{q<}l5S`3ER3L;2mx3EA zLM{}+*!mF|=m@%UALUHZK8fPK9pZ)%ZbIF{^CRb@m)`aQm($(FARo~q8n-=pH2y#e z?*U21S5PPj$}PGY5H$C;JUOWi^tXtf40Q+(Gxw>j?0XQ;r5j&^C+rhnst02T>ZqZR zmcdO&#>T3kK1;&I=&txPrSkXS%%`PQ zk#aR)rj%dAvq;&4wkhE7z1Z)DT&?40oC4X^Chv)IS&Z6APITr=CzH8wLzHv=*;BR!wW`v%;+(!;3!8dqzY z;Wq51cMd4G2YULGTL+X9bX!3e;&T_D9|<1{Er~gCb~mP0Io*+g-wS;`0@W~( zqtRu;c^AN@vW-2oKS)z)pS%dv`}=u0yG#~e6`L&x8ICc<%4{78Jko4?A$xGR6V6!m zyb#h~i<}5t#6aPOr>Jo=iFYTuga_V_?>}i@r)XaWYFf#|283wQpJgaAO+Ue99z`D5 z{g5zYBoNh?p;$TE=*hRW1C{XM%N1Z5JZ3Ox_;XQgSl&4uCOBF9JIJa;hsfQ}ZcX zTs8j`8r4eeSIMe;X)I()S1%Wvwiw5PBg^|Cgf28fL?`EiC4?~u@$50Gt6|*0Sf94~SkI`jCvWucvKnh|U zNlIy5)PphGb6!Pb-p!#DS;F_;)`=Gfq9STHt)SyU7hlK~guXTwgSocuOE+OV=TR=M za`qTcf?^3odN^9ZTY$oRytM2X@pch~;O?3Uq?n+M+fiRyJ?CuCnBBc?rd}_hEITsZ zL9Lh_3JMq;cH2;Fdfq#q|6nNS^e!u+v$JyMW0Z zJ;6VMmQ? zY~#VbmuWvC!2FhNNd>0@r(x+C?WgVA$d^pUl$~e;JH{BU(j*3n2FmLy*H|D zexQ~DCuS_DROJ;bQf{dVqLX^z#bN{6l^w0fLd;N6t2J%YcjbvO9Lrw$=RnzombFI79W%kFi$$ zgNN*|gO$+^n(asX#~#J}*UY&l&-Z|)>fick|MsCYhU+dcaW4Zd`nUJ3SpNoGd&_%0 zeYT>s{}-8Fr}Aw-NKiHKB;M-E%@nsMYjr#dIeG?e{ht9ZP=G}|alD~d5E?XteZBPl z$=HX%z#Ou227P14$Xb-q7=r+tFU)#S#Mi~!jE&I9&=#V%0+t{87$Nu~)aX6TlxOHY z&U(i{5DIT0@Z?SQMs!A|v2)&34RYb}DEGVYYLnC3<~L;UHWt7oI4xB=(uSc0%v#2J zV8C(x2p{k6x)jyPNEXSYf(*R>s62&ufsn#_7{*3&xr&^2cF&_e$(1XtmCp(f-x)`O zv4YSZEUB^YZ=9%U91j|gp$%L3di=rrh)QIvmY$IgdNBBdkQkRhY?xV zUn!vG8$)^3;qJNs^x!}?!%AX0^$>_D`#K&Jl~7;d6NMkT=ci~qrd~!K^EwnS#JCyq z=>;WsS4fdvh76c%13gV$k$oLH8lD@YBW~|^X4g1TWMr$V=Oa;d*09dukcV*~grnyF zB8a_}h&YL5g8)ODB@$_SHRwZ0KuX>>J_SBX;96`bnT3*aUGjn|VaSY<9F!F5lKWK& zhZZFVq2zR3vKl3D#Rqq{^rXR6#ezM=OA_x{_q)85LkQDHoY&+M51r)e&sqdS%3(TM z%jNky<5S2}ZAP^o3f5Hc{eEoLmB3jhTK=gw=WM3y!7tNpoo?4@k4|^%lzSJ%%hah; zr=7Zd4N~LJl<3nPx!-Yn=gLdKUCWPYj@J46L5sdLvLOeumLGbG=X5e1`(vm}(~TXd zh2<3{Sx4)GKo#4i9c1UjvVWjlp++m5;Zsnk=j+gW+&HRZdt%>*u?cL}ex~jAJLC3O zmEDfQE|Q!+_|9-ZOz^i`ROQ=97{PDT1B^%txl<=wcj=+AuFyi4t008AzV|StH|-}O z|E2LG>!iA9$O}LhdlWKjo9!Co%toOGQu63v$OXDE1yh=F-7C`m1Dco<#AMW(Zu535 zbk&CsqfC!zMvbV8NOp6y-#3b-s-x{AA$P9~8)A!I%p{)BS8Siv=*y-66IS&KO59z? zfg+hbA6mg(OpX?+ZHiTM5(0OYq8eCvA~2t1AZToQjl(inhUHvDRNnTW3tJgo%`6OV zSJM3o==trZ!(`toWcy+4j0wU=WCL{D{{x9_&Tk*=-PX+3dChJ=J=DqhbX)UE`~{C7 z4u#0Sd>c_(Y)KyawJ(ipqk6saBG|s}sgwASNw?x5v>iq6E}nLQ7dS3I>N&vFNOV*= zgX__o-gTX;@dti#)}G+lNSe~)g7sbD=b1Qbn+L681-8x1W2mSEfu zfthc#YoRsT3i!V4J7^UcS&I-&1+*)_f%18vpXvFbFM1D#AMu2~VAsw?FEz>wf)e(I z-q9uzF|K=A4ca3Rm7dCQDkoxm_mb%4V+@MxJ)u~gj zDDdfoChKrlx-;LXrj$Ba$g!ZC~99}$>#3bpsAG#wN_I{N5-l- zrP?-b;Tj8sSI5ecz*c&CFa(z$8YFtUM7H8ZMGHbd885x4I$RA|%&3vx$a$%bj5}rkt7F6y zfW^&Y!@z9#aBRzHJ9l>-Al=Rgph9du^`V~9+no?<_|kpm{N?Vto9%aGOpC*x7{$Mb z_+Ov_aP$sv++7=0h5Z#r$0u@hAuBwA3hu6S#mc|(tgMiTVx^FnEkA%Xmt5|yQ-Lls z@588o&NiAXDfA z0=S*g;bCZ28|(koIV)iTWZ=NVy~9mT62zJOo&rA4o-ydT-}>p)!RS0HVeIfv@c! z8Wdg*Bl5`f8+t!4^o{Z9GXVY_Gb?#GTaD;-H=~2@uDy!f(W>1J(CM9r`5`ao<8UJ? z%*LK<7vFtF+sfGM78V~t4b|jQG^q?XoP~znUAK$KGhSAR?;(-ef{o?>q!|7oW)siE zHStGPvpCvB8mqLt6bT=X1~|^{u9MM7j4VXANLBh8m5evg$MAjdg2pUJ+}*XpBriMw z`9y{MG?CX4`BdTjD2*Q={+uFVdxWp zIP2GGk^Gt%gXIFFb%%?%@N)6~7JixU}un#*B)8gvMu9T||>%$8cSCtl}LJjj{sjmzs4|th4Fxf zo7k*ttFkNEuhQqk_hCP74e;ZXilILAod@g8^W*E_T|%271iG}gSDTLJ&KvP!d(fvr z7;6BDe)mMZeB0f15MUw$h^0sIGz5JR12Hl|H>bPzAI4RXw3b7k^>54$F8_R8Dz|Mv zj_x)=%Xh{zKU|o{@~s|b;TVHO6sIk`@w-YIf84bOB&xiQx@Wu{t*&NpN3+S6jb~t0 z0*j^F3qn1P1Bc$v>?p+Zf^lj)hY+^ikA*y$puDyV_@L9pI? zl8Lbw&B7P8m7)}1hMlHgeWp*Ms1SC7YQnqKzf9HdR>uJcXCT(nl<@+zs?+Gj#=Gi+ zyhJ}bjnZ#*t%l}U>^qm>%b!{YXnYt7f2H`~Sr*Lv!f4JO#pugm6g!GXqIK}w+Jjzk zOLGkvq(hFrQdX`8N@bi2ZoGKOMTZkTYx0zFGK7dgZrmx+7t8Lh$w0xenS_%jL7*7h zfX?novBFf2=V;X7cO8&FI2qw5^36aFpJuL8;tmj82X3$*GD{2iuTU)|UZIA!$sHMa zr@?xURphp#Tn<0X)a`pFf9q&nlm0LDzq_CQZ#7PaUc`=#9D#Nq*5@$L=6DN3 z=q@@HK&d|efm#+ZP%o@v;7di6h>9QiexyrIcQb&PZ@=ewYZx1s^zccCU2{t_V% z;>cf++a(+OmD_wM8mP_&Rfw+yr$!DFg~_$jLzLd5k7cP-uF!$4=rZkQRDX1zGJb+O zf$kS4Qu>sRc`RcK;!ruq@C*FD_(VVaK4q*`bZ-D%lj1U=XpVOaN~oJ^M3mMkE6F$j zFgfRO8*t!@4x!0oNWy>n0q1Sv2IM;QisQWvvek-o94d)f^Lz)XV{DW)DqRA>XK6zu zcm!nVHoq;r6`oHJ8N7~IJ=UCbZvnOr=2InVb#e5uTM>uqTFYE zE!x*Kg&#}DVqz6CfZow@{KTm5M76F6F8#gqVIUXnXT~mgIB@!#C^Pp09p4c}50#Ri zlF;s={qVaZpQlfaL~OPTj>p#|Wbx?9Z(ef5rcX0F4m(h0)X+P|Y*fdN@I(j^2RU#? zHTu2a^JppB?ucuUQ@uYGHH5$37x8Xk#Dge+V#t(T;_f=q)Me7Vk9Z2jM*c17? zd^2D4U%r)p!}lO;jIrPOv+)ssriAek*K?R~Uge|{7ax^oksCw?P4I#Fp*ImE>0k%} z1I#V-HH>T1XGd^3kUP6=kBYPqH0+c!Ry3YPXah(%SAwA7d4db^k@FbFN~`dw0-;RC z5eSX=V!!R|!8#f$!~-`lh~>s94u*C-eS(jOCZd;WJ>7N=vAC@L9?{Ji$CKe$z@s9a ze{GORXDq(RsX_3Dj~CD#1UjFLQ9+G_I8Xsgh~rct4wgv92DF9fW*W59jBd_@q>WcV zbsH;zlsa{L6KEj5X$4uM0qA&9VO%7fZZlGl_e|dBX!{y<8QfffiYjdR0>g>0WfO9= z=9>`wF}V31!U5C>E>u`LxH(i~4P^+lv+;Co_s35Vy^#Y(R$mOgxmo58=vEW^FftUmo97n9v?rE%Pb{g3^A1 z2?ez>zyjgC)ltu(Ai=)tGgh}r$8&-E^W*<;|NZ_E!+?Glg;T+g>@%o%>?8P*#POKN zIqq1n3ck`HAsLU0sor2GJWtK<)^RrcXq6Uy5KLYT^wbOxK|J=f(5I?NJXVV=z`N9{UPZ;>c%e^76_Td`ES+Z#*^(4G6z4&=AP))O`|a%lC=#-d`XE z>XQSsHQ_0!B<_guo^oA@@!s3ieG+^UB99*6YDKfchs1m9jxytsdw?DO3&&dK2X_}5 z0CyS1arp0!Ht{baz90C;SCEaw8$2#+J$~TfH=5W)pp9X^hysB3jrU@11DwqUXAs|HI^A6lA$)rTagppM#m9Q16y8K6D)j0m^3}#< zG>^`z@t1gsU$}-|>#r9$W@dIoPRhQDUt37u-gu^t2=lo|Dt+TbXk2!`bgYaW3vC|7 z;BnJuneGryqoqLX@m;NzuBuPRbD_7G87cSM(XH4x71Q_9T^cE19>&S;QWYS85HKyF z<49mhMG!d`MXK5hP$7hlPaD(0n~opl_d*8lulk_|)m?TTbZx5J^K`e*FuRRyK;yaf z(&@$RsV+Hy>c(_O0Z68wepe*)o6B&pd^dU;>-WOwdSoa%p!=QAAA!gPdK51sh*}WE z+NhZRiNWoC*(mvko`-)n9&SS45Dznkz`e8Y4my7qkH2E_pu`%olb*H=ZOI;BRlcL{ zCHjwgkby5l+<_qSIf#sUh}T3OS1BJ<@O!I}u*AIxei1?=oVgk+9v$n#C2lkFMWBwh zBf0U1(5#deTkJYazEj7q2~7M6!ZBJfo;bAWXnT&4RY%5tM=%)jGv-BXj+pl`V3E&F z(M>%sxlwU0!eU{?cma(e*ewAyGuYh^^N#WH-($fpHU`bDyqgY3*;+druPC7^ksjGZfs}=+<6u zs%t=Z`o7F`(1FFkfjixak%xvkbzEs28tsVe=lvUF#qg9PYY9)stMIf5(7yY5xjHWW zS7KZm0c}iL3&8>ha=k>w7rW}?f>NATW<+}Z-@q4kMHgAZQ9lHTX{74t=rrQ)LX4{% zyePTEUFh83fMVEm*TnxT%ovg-99>7`*Fal-aZ&m8xIkhXc(Lr`y^qO2O(sH4g3*8%!4=Emq z7R@PB_&_(&^9N9>qR%AVy6!$FKWq1+U(3CM8pi8rB0NO6YX%}LWB~s5-P4!9w=k~Y zuPD3_I;rHR74fkn`-#xu!4CJ3d3}R!nH#Si(EWsXZ0K+HgyBTDC z1m^U33^bm{_d{>6qW2wKq)F*|>1M7Lf5t~BqVg%pE49+`+NDS(UQ42^BF2RvCL_D! zhs1d8OSDbFe;13_t_ERISjKD0wiDyEF($!NAhc-wH5knb9}=&PL{3fU`=C2|f9@nS z6OHfQI>w4W4$Uh3=Yik*((KSzYI`tBGGi?&z`lBsD9qc4d8gVSR1!$B5hdedg&9PI zVq6TQ@Wpi1U;i(R#n10Itschtb(cB6#%(pN#3aeCrL6{a%&hLvS29tBp2rt^G86Os zVY6^>udA7E8xv|h@-|MqFA(_+F7cbuh`fhGN+8}cV>_4`N6ibC7j($J!Kqk^K}ByJ z^Sv=XsNt5F>_!u5 zJ3{Vw3W-Pp61MwyXz5XUQR@+hmY%n)EV2HSwpAqRW~m3BCg5HFnMqRj9r6kBn8 z+Kl3Dfa5@M^o1Y#ez9wjaU1x?Y=0b-JmGuvN6`E>^qs92bHi=oWn`ga>iGvkWzI$g zehpd9`q&ByLvh@AU#z}Ie;(dzfbY@QpyM>BNf-k;WqAq|QmQ3)4IO1gzduL$k3t8W&%*x|#u^ zE6oP$ViCwkql~AG{UCREXWOAs@25XZ$07kHs7xI#prsLcKr&XNLfnVxM2w+XK1}~D z(W%ej6mj^uaT5{0OV2dU0aqNHE7*eCZK;F)s$mhT5^$`-tZmMsH=zzWdKK zp2CRexdXEN+re=i&{102c1+h0q75y}7uo7V^?bC=T{Gzfmx26H9h(t~UEn)`ANQg9 zLFD!lbW-iV{LGL~9f;rIirKj+@87cNFR1B-nV}iiGAlFo(Ei zoVpnvMiTz}e6Kz#)*KszQ*|2e&YVQF;{=T-VILmdc~rjA9Es9^U|GB z8!za~Fn#MN#qJ2OtA0PX5M$y7A2JLaQ4x7KLq^j>Hh};pb`jE5D6P^wvokwoc3gtjGTb-t(Tn zpzVr(<4oIF>~COlKTZq=KNJ}E4d`&7MSp3K<0oeuuEz)?bbuw@2_|~qtLmiip#vhPLtm z;yBTO#xagZ?%`)5RhxFDwtSMrcUK?%Nyb=xpdWi->h8k4L1|qCZertH5|vjwDCX?y zeO&WH`NBuCM!s1Cop>d~?8E|c$KR($rR(sOiP_wGB~F=zBE3#m2!GJKV*Qx zhcHtkF54x^)C0kV@jIvtKZa^N)QkN({#;?I{E$xL39yCHJhr%n=Z$GJVEh2Hw_=au zkW+)UjEc9>_!#1qbBD$9D-ObM$B5I>96rFGx|Yr2N0V@v9Z%dZc3Kt#Xq+K$rOQsG z*FBgW>Z!uad!TVQlp(Z*pC%vOvNsYuIf2>PG~DQKOWO3O|9lg<>CdQ`XX|}QormN| zpdYiqKx~}bkW>A*1I_f_VH}2jSiZQE^$pmCbfQ0f7~S3$L1TOSc<$?@8c7&LhJ~x- zSL@?9dnbU)EdJhsWfdmvf};%#7w|*VNQ{x-0w%D@ScSne?Njz^2iRgac{odcA+`x_ zAFROF7!7bu6dS$(+yNx`mr63%dIvH&JKZh+Npk#o3uVdOcQx>iwh=PZK9w1hr@Lz* zDscS4UQBNM2Tk<&L&}e#=aF9VC-SSaUm6n;yr9V&@Y4Mqma z(#4tvv%YEnAcei^f3V-&LH11UakLhK^riWl?0cBL;NV+5Z0`=@p@9_=j8%Y)$)Eh@ z>Z<@N7N5bGhF749j)Md(FZ6+wLSiFN5eh+2fC5V8hX64;QSa>Y!l$FAk$OvPJa8;_ zoiP8y26%8p{881wIYCV%dOY?m1s8uD=bEflX zAqZ_TI#Ac5j%vMKv~d^531?(B-b8uu-v%&F#AEv;<6iJgX~Ww>;HBtBp>lCF+l;Bm zTLgX|l&n-X*Uynp;xVtte!2Netkz#si`TzaS33L?e#H9?{Dx z8_`wFao;_`)Tjkv=+$KY0D^o_F$}0&dXb%|A~(*10D1O2?zcvoK>)wsih(3Y*b&Lu z1=-96P-Jr?c!0>-kyu1@4bZ_z@3lrU1gzz6Yz36AGsvGuhFRy@j1vKJca?*h)P}IP zGZ+hP0?jhe%;{Fjcq*$(rDotNc^AtM=^EWA(gI9FV|e7d#?NGog9k>teDIAp+@yX! zx2ltl&Wn2B<-I7zcQq9`5uYl=HnmHp!M!hu}2AX-~2Z;hJ&Q>m5fc}V7NM-gp#*4lg;Ku#2XQefq^fOCh6k2u;61s9x4EMLA!yqegPVkL)_4}yxLEf=Cu{uv)? zu*o!O(h+(avjn&w1@1*!lYwY*&^nd^-M0$P^C_{8XCzA~2I$^1T$QRP$^5PW^O z{NhedcM&8IGbeY~72pRFc@Yg7+29e44L|!lNZHZ)1c*exchGdM0iB#~2$E;zR-=+h zPEk@?WS}#p=Y%goePba;%HlAi`;%IkUZf_yj@P{{pL;ES8~+Fd6%=po_$j@UZ{3_; zd@eh>01hl0A<1FrFboo|%iE6QfL|IXY55jlJaED#c$xgHjOdv9(P85XCE`|oQl0ax z=ooYl-&=!2Xz0q#kOX>v7&R=zSam(Noy>MxwxkzK-q*NF4gVzgwc!$(IoiS$U&~Wo z%kV3?TU*$HA;Cv@U6dhaH}3&ThG9fvBQAzO%~{vo^&H448Quw(QF;zVjd!f?u@#v> z7NBly_>4<|CE6;%4tk1oz zT7No5t_H1e0P;4jgHWWy=m(t27CirY{eN2mb<1mgWz`L3k~TC{j<2wdYM3&r(wSdZ z;SU6S6+vfxd7!-37xV>eKb3AO#^58g3dts1vo+L{<>hmUsK}? zm}tURRdt}Yth}zWticzkF0UyI_{u2>T&n&IwCW7{ol!b-=Fj#;iTMMn@0HaJ%gSo~ zl|Hj;LR+BAeRY+-fbMb8iaLLdf5{5lsH2-q?NYKt!31BhVtl2qs=To#*f62KqPmQA z{eiOT%7*b^ze?4J=L?c_Dl}&u#>(lhf*>?gzU5^QoNiiGE2&#n=f9xNSvWo4*-+yT zI)f|feOz~1`|GP@k4afjs_QuF!D@e-_XWy>jR7A3qej`> z%b~U+yCO8_OUyfqmj-<3M@^-z&=;tHsg*DBIZGN~UZcim7gX6iw5pQ2>R^L&9t^^o zKMNcLeRVdkzac1v&guTzT3Aqn0bATLmkkx{VOWi8XVs;rtpZ)E zWA~1tN)^PYhI+!2*LT%Ia$xmn`vB zmM!+doBGNs8*0lM>oI%z##58P;e_SofeC>|HKoeDTK3=6j!q0xzovSzRQ(^+PaGEr z975-$=&Vy#hnT=0z&OHiM#0=9Snwb`K%}5u^H?XG@^Z|T80=*}XJH8jOYk)zR1-A{ z_-f0m>A%Wqs;lCCenRxY;6sZ}w@B-Y1tt@Mwe`~3acps1eWRKwrIldJEox1TI(ryK z+2R$P9x>U=B(j*pFkw`~adoE47o}BhW(pV=)r|Jr-x#D9s`b_SVX>H@RFJZy#=jU& z$-j(~0R+X0%5dno5no)O{I-=JxNhx&%NpT=twm~HY^e9e&*D)Lh;%Bdef6AbM0upf z_{!j7EiKN!WKTK+W~%E@rw)v8YPVsug8mABO&P-g8)j!;S-=mtj>MwaHpGV&<%sZX zz9v=QhKU#QwbhqT`Hi-a*WK5~d5TF|2P?HWML^8sNqNbQqX07?B zeZ}IDs>-0u+T*b)+Lts-(Idz+xI(u8T3S#2aFI}G6`sN=RyXKqMK`DM3Lyh$UL&SH zCootAVUHOP3#*DA{4xu5XbOusuD+h#Aqu#Q_RKnytCnJX$NHt>5sq_p6{dIbM*ZQ5 zk~$e2nEi^$rwWoagDaE^2k@q4G8ht^OUMng9#`d4vBJ12+qmTlQ-cr&GcxC;+9w(9 zxjBM#3L4c3X9o!WLPDmRU%=TP8iDpSDMco#v0P1z*R)OFNup;>&$BAU(u!bh9D!Ir zIj2Qgs8p4NkxDEmP#EoVH*Lls({s11c-8#nz%kS15=T#QRx}1wZA55eoWEsT zvAkj|HlEPiO21Rsjt>qa-=+4*VGn?ynwXyO4KL(sz@X^#bz5F0zOjXYTzN= zdkyv)3BNWH8J&uMP5nC1MYNm44nQcMfwa*Kk@9|Ivn>}hjb+lO4{~A ze{p`BzfYR}2>3+Wv;n)Wgg**8NR3U{iyjL2W|Sk%+JgE>Cn4=d%HOlf#sLHVE>|hi z(ig!eQtwNV$abXb-atQbpr-3R)Wch{rSC@~JCLULp#A+J52V>hyFQ3S79w5wAr3wv zP5&qoxfki`kAa6x+N@8&C(ve!LwR!EC=MAx^p8>h>V!exT8z?`X0DTd@iqBU>A_(K67wO%L zdoS?MCN$5U*^*o?6qnl5ZBBq*z|u0pEHt5EJ9T8F zSuH6ZyR&JCJ!`r>(``?m23+>(Fvy{_1u{o!n_@i`J#(6BjxE^6;;uyfHL!(T(gELBCIhb}Wu|?#)J}d5ExV=V z8ADG33cuZ151V;Fw|foouVlL|sWa_sP-(j}`JExs9O|LDGlrgqdM^Nf5^QS-Y-~V& z3+z2dCO_GSUDh9ldg-vq@w(kU{q@+hlUq=Ax}~Qx)qt{}1*pFl^?%Fy`S#3flA$tJ zQnoFr$pO_#FiVr+>t)-;Y_A>d;h7iv-U*lsFuo3EAFfIEMrkawkbp!mSfBO`6-DedQpxeNxL{k9|?{>qG350Kq5%1EZ=&%`;T^ z8V(;+2w!CK)d~8e0jmLQ>LA5eNAjFRUD!S><-;U<&#)@{_F>h(kk;t(UrLjoP8ccE zekkw9!BZCA-IU|mc7{c-oXImyjmq1ym8GJCp98-X_>aH`QnuGopZk~5OnaBJz}`6~ zWoeRq^_Vm5YsM7W*Nw@yugBdvCb<;igEI6HUveF=rvZB!u%`jLhS+leEC#Sd1LqLf zn1Fc+fxaOc>Sk+0JqZ=rwhyrRAT}2m1!$oVuqwdjY8YFU2HYkslb5+duMl{psOvHD zN{E*aXr5+o_RtlHRTV3VVpxWXb5L=fuE=I_!oXGxf4LrWQHX-~+MAP-FA_gQ{jNuu z3ooDVVp+@=z($rw{f}p8P4w9fV<`pdI@G%r^&Z#yeQk1{J*$KIeGPrlm1!7`mO&6g zT5{(Qd$vd1kwvkS7u(mR&9bjgTY}ULG`5e6el?Xkjk61XB4Cz%O=|KY;g{KB+%A+i zqkIu;?7z~R?MJ5E4v*N6im*F!aelcNbXVfM$__%rpM(EYI(2$srRl`G6L`6Q?t`~j z;pGcS^7#Vr_5$x6@(GLnMg8u|g+{qkc9GZVebiZa<#@VaFU_|_B3Izq28Y{{oZL*u zQ;2LX%DzF_hvedyY^pgWWzV3WmkZ~eRiN34kCAG$y!-fJ&N~J6b>Mz`Zpy9TKF%Wx z-;~=wL8t4!NaQ9woAOP7y8*wj8-8Ig ztf%=n%!6Zs1N1F90OV;vo(AM;K=uJSxd6ao082EG6yPi3F&hZ<57AIJP|tuF_pRsy zY(9w11xA5php;)CMYbvpoMELU(4onNCd}mTjG@WX5@B9xH?hkVx{X4#JJW3AJOJmR z;d7C?(E*5+<57c{arMKI$d!0j<3T%{H5Bt2q7(wv9JmU2HpHA_kK!YyGhUcscR~<4 zQg9EgwT~{eXP+yEuHvZ|P;V*f;dn;$s)4`w81Q<){hTa+Nk=)pYjRSaO0uuZIn%yA zr^w!wlW*_Fy(TAlWxoUL9f|>7mjlm>y9;-Bj*r-I(K*EcmS`Y+r2<+pn*eMCVj&Pq zf#^YPL4=wrnr?Cc;l~prKR&?bquyL#6lfj^n*$j6CMUu-{BMjFp}IKfX1sMV9@C$UM0OERVjXLo zmz`X14e|1Z*4rl)+H=p9z(r!E$5Fov^?L`XkBF8LsR|MERJ+B{hi~v$-yMmZ_utz4 z`Z4h5_Ac0aH|+fx*!y&IZ8?AOO9R|6Sh#{CTL?U=OJk4c^lU@?Ft8b}J5#o{p= z2wXBmL)}1~g(2u$(FfRk5St5(0?iI#b2N)=RT^+xX%UKHo@v5N{$_E?k7tA$*SE(N zx`{$GJ5x77>Dw-bTnn(KYuXx#45t15H+Hsta!OOOeaGZ8?LCu=?8fAL`)=IZCl4H7 zT>$K9z@7$dIMm5C#6Aj9p}z881%6pwu+?#?MvZvpGU6;IC7?9LTu8&6B| z)<-T2P<0Nf&eK&%P{c3mtQYLCC#M4lopVwP(#npiW<Rik^Ubq$yCJ>Y{ z9@$QMuS6o(=s3~3cI5I63|Q$UpJAUg$DVt(I2FW*%#6B+Ps$4IS+nfUGJ6*60K$~LfEwVAek~H=zxYA>xR&b= zYYdAOS<9fA_VrFoIL?dg&p3;*(yhRAaxP-p>G3hGcW6E^W&mR;Fc`9briN`amhZqu-8(LdMj8@#vjWouHT&q zc%t($=64hq0{1E4dZMv1;`D1%^0*H5avh36xN?w(>(H6@!sHw5rE~3zO6{e{Tmo;} zcTGBDX!14o(%JS!mG)A%y>PxfFOuh_Xs;XX-T7uDvPsKS$Gp;BUbH>E?!`*v@qQbb zIkeQiGHJHGGiec0Hzs2xShDUewaC@1RwV#brUAWf;3s@$4V&R|)(ofnO!?|BM7an5f#hN2lgId^gv6xXk>^Z<2GJqIb#W4e2>WM+n*wSrrY&~rMYjp z6z{coVardhm6|{EozZkn(2PqM$MV7!xVm~&qMNa;*7b+$Vx6_&gDSa7`NcFY6Fyoq zZt|V233KVk%WUr_Y`ZYOS_>kg^Jcrdb^cy0nD2FdBrE;Dcs--XCy|AdvlV29PUq{i zN~ghxiqZq@0VI{j3qdvrP|N7Xw}r^o2@WS!2?>3p45>2$eHuhi)c zI$f*NhjqGDr*G=?Q=RV7>7WyI`#L>Frzh)lhEC_}v`VMTb$X>vZ_w#loj$D7tvY>E zr=RL{k4^`jsN2`+F*-e2r!#aqU#C?%U9QtBb;_T@=e1U+59@TRPT$n&r#juE(?NV$ zf$Kn>9;4Hfbvi?*^L1LK)8#t7Ql~fQbgfPw*6CKAzNynsb-G8VgS7uTP^ZV}^kki` z`B3pU(BEBms*;E9Q0enJ{ijYp*XbaQcbHDc>hyG-&eLg?PA}5wN}b-Q({(z1NT;vs fG<~gV|683Oa+k^ Date: Thu, 23 Nov 2023 07:47:19 +1100 Subject: [PATCH 059/163] Delete lib/tmp.txt --- lib/tmp.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 lib/tmp.txt diff --git a/lib/tmp.txt b/lib/tmp.txt deleted file mode 100644 index 2d030d7..0000000 --- a/lib/tmp.txt +++ /dev/null @@ -1 +0,0 @@ -delete me From 598ad7a622e36525504f0f9296bcf5d8dc0bca1b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:47:45 +1100 Subject: [PATCH 060/163] Delete bin/dtbpatch --- bin/dtbpatch | Bin 130840 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/dtbpatch diff --git a/bin/dtbpatch b/bin/dtbpatch deleted file mode 100644 index 0f314f2ae480c4c43c8bfcf2cfe2d7c1b08794aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130840 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žLD_7J0lT=~=9shO7KEq~1#+ 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 W=u~`2yZ@c9>HUXUfq8@XHTZuF*iQlg From 4c12b1feddf97aab72a92c0197213eb49c0a0aea Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 20:51:12 +1100 Subject: [PATCH 061/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3f61e1..755aaea 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ ### Running the script via SSH Thank you to the following PayPal donators and GitHub sponsors +- Neil Tapp - Kleissner Investments - Angel Scandinavia - bcollins From 3281870dd6a1e7e0bbf923be658b1a7885354ade Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 20:52:01 +1100 Subject: [PATCH 062/163] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 208bea0..085dec6 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,19 @@ ### Running the script via SSH Thank you to the following paypal donators and GitHub sponsors +- Neil Tapp +- Kleissner Investments +- Angel Scandinavia +- bcollins +- Mir Hekmat +- Andrew Tapp +- Peter Weißflog +- Mir Hekmat +- Joseph Skup +- Dirk Kurfuerst +- Gareth Locke +- Rory de Ruijter +- Nathan O'Farrell - Harry Bos - Mark-Philipp Wolfger - Filip Kraus From d8f178701060ab7994fd09069bed9f5f852c44a0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:17:59 +1100 Subject: [PATCH 063/163] Update README.md --- README.md | 54 ++++++++++++++---------------------------------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 755aaea..c01f41b 100644 --- a/README.md +++ b/README.md @@ -105,43 +105,17 @@ ### Running the script via SSH **Donators** -Thank you to the following PayPal donators and GitHub sponsors - -- Neil Tapp -- Kleissner Investments -- Angel Scandinavia -- bcollins -- Mir Hekmat -- Andrew Tapp -- Peter Weißflog -- Mir Hekmat -- Joseph Skup -- Dirk Kurfuerst -- Gareth Locke -- Rory de Ruijter -- Nathan O'Farrell -- Harry Bos -- Mark-Philipp Wolfger -- Filip Kraus -- John Pham -- Alejandro Bribian Rix -- Daniel Hofer -- Bogdan-Stefan Rotariu -- Kevin Boatswain -- anschluss-org -- Yemeth -- Patrick Thomas -- Manuel Marquez Corral -- Evrard Franck -- Chad Palmer -- 侯​永政 -- CHEN​HAN-YING -- Eric Wells -- Massimiliano Pesce -- JasonEMartin -- Gerrit Klussmann -- Alain Aube -- Robert Kraut -- Charles-Edouard Poisnel -- Oliver Busch -- And the anonymous donors and private sponsors +Thank you to the following PayPal donators, GitHub sponsors and hardware donators + +| | | | | +|--------------------|--------------------|----------------------|----------------------| +| Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | +| bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | +| Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | +| Rory de Ruijter | Nathan O'Farrell | Harry Bos | Mark-Philipp Wolfger | +| Filip Kraus | John Pham | Alejandro Bribian Rix | Daniel Hofer | +| Bogdan-Stefan Rotariu | Kevin Boatswain | anschluss-org | Yemeth | +| Patrick Thomas | Manuel Marquez Corral | Evrard Franck | Chad Palmer | +| 侯​永政 | CHEN​HAN-YING | Eric Wells | Massimiliano Pesce | +| JasonEMartin | Gerrit Klussmann | Alain Aube | Robert Kraut | +| Charles-Edouard Poisnel | Oliver Busch | anonymous donors | private sponsors | From e6bccd05ba3d5bbd7f81b4cbbf7f6840b0c51a9e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:18:41 +1100 Subject: [PATCH 064/163] Update README.md --- README.md | 50 ++++++++++++-------------------------------------- 1 file changed, 12 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 085dec6..b51b269 100644 --- a/README.md +++ b/README.md @@ -107,41 +107,15 @@ ### Running the script via SSH Thank you to the following paypal donators and GitHub sponsors -- Neil Tapp -- Kleissner Investments -- Angel Scandinavia -- bcollins -- Mir Hekmat -- Andrew Tapp -- Peter Weißflog -- Mir Hekmat -- Joseph Skup -- Dirk Kurfuerst -- Gareth Locke -- Rory de Ruijter -- Nathan O'Farrell -- Harry Bos -- Mark-Philipp Wolfger -- Filip Kraus -- John Pham -- Alejandro Bribian Rix -- Daniel Hofer -- Bogdan-Stefan Rotariu -- Kevin Boatswain -- anschluss-org -- Yemeth -- Patrick Thomas -- Manuel Marquez Corral -- Evrard Franck -- Chad Palmer -- 侯​永政 -- CHEN​HAN-YING -- Eric Wells -- Massimiliano Pesce -- JasonEMartin -- Gerrit Klussmann -- Alain Aube -- Robert Kraut -- Charles-Edouard Poisnel -- Oliver Busch -- And the anonymous donors and private sponsors +| | | | | +|--------------------|--------------------|----------------------|----------------------| +| Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | +| bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | +| Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | +| Rory de Ruijter | Nathan O'Farrell | Harry Bos | Mark-Philipp Wolfger | +| Filip Kraus | John Pham | Alejandro Bribian Rix | Daniel Hofer | +| Bogdan-Stefan Rotariu | Kevin Boatswain | anschluss-org | Yemeth | +| Patrick Thomas | Manuel Marquez Corral | Evrard Franck | Chad Palmer | +| 侯​永政 | CHEN​HAN-YING | Eric Wells | Massimiliano Pesce | +| JasonEMartin | Gerrit Klussmann | Alain Aube | Robert Kraut | +| Charles-Edouard Poisnel | Oliver Busch | anonymous donors | private sponsors | From 85c2ae442e2b88cd12f8a5d04826b7d00410b0ee Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:20:22 +1100 Subject: [PATCH 065/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b51b269..c01f41b 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ ### Running the script via SSH **Donators** -Thank you to the following paypal donators and GitHub sponsors +Thank you to the following PayPal donators, GitHub sponsors and hardware donators | | | | | |--------------------|--------------------|----------------------|----------------------| From b9383b838adbb32cf7821ff7745716608141995f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 25 Nov 2023 16:20:22 +1100 Subject: [PATCH 066/163] Update syno_hdd_db.sh v3.2.67 - Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree, - and are using DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. - Now edits model.dtb instead of downloading a pre-edited version. - Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 - Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161 - ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY - SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI - Fixed bug where memory was shown in MB but with GB unit. --- syno_hdd_db.sh | 505 ++++++++++++++++--------------------------------- 1 file changed, 162 insertions(+), 343 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 263ea4a..aff7000 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -4,12 +4,6 @@ # Github: https://github.com/007revad/Synology_HDD_db # Script verified at https://www.shellcheck.net/ # -# Easiest solution: -# Edit /etc.defaults/synoinfo.conf and change support_disk_compatibility="yes" to "no" and reboot. -# Then all drives can be used without error messages. -# -# But lets do this the proper way by adding our drive models to the appropriate .db file. -# # To run in task manager as root (manually or scheduled): # /volume1/scripts/syno_hdd_db.sh # replace /volume1/scripts/ with path to script # @@ -21,212 +15,22 @@ # sudo -i /volume1/scripts/syno_hdd_db.sh -force -showedits #-------------------------------------------------------------------------------------------------- -# TODO -# Maybe also edit the other disk compatibility db in synoboot, used during boot time. -# It's also parsed and checked and probably in some cases it could be more critical to patch that one instead. -# -# Solve issue of --restore option restoring files that were backed up with older DSM version. -# Change how synoinfo.conf is backed up and restored to prevent issue #73 - -# DONE +# CHANGES # Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree, -# and are using DSM 7.2 Update 2, Update 3, 7.2.1 and 7.2.1 Update 1. -# -# Fixed bug where memory was shown in MB but with GB unit. -# -# -# Bug fix for script not updating itself if .sh file had been renamed. -# -# Bug fix for missing executable permissions if .sh file had been renamed. -# -# Bug fix to prevent update loop if script's .tar.gz file already exists in /tmp. -# -# Bug fix to prevent update failing if script's temp folder already exists in /tmp. -# -# Now only copies CHANGES.txt to script location if script is located on a volume, -# to prevent putting CHANGES.txt on system partition (/usr/bin, /usr/sbin, /root etc.) -# -# Added -e --email option to disable coloured output to make task scheduler emails easier to read. -# -# -# Added support to disable unsupported memory warnings on DVA models. -# -# Fixed bug where newly connected expansion units weren't found until up to 24 hours later. #124 -# -# Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. -# Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ with older DSM version. -# -# Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. -# -# Enable NVMe drive use for models that do not have NVMe drives enabled. -# -# Fixed bugs where the calculated amount of installed memory could be incorrect: -# - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 -# - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 -# -# Fixed bug displaying the max memory setting if total installed memory was less than the max memory. Issue #107 -# -# Fixed bug where sata1 drive firmware version was wrong if there was a sata10 drive. -# -# Minor bug fix for checking amount of installed memory. -# -# Now enables any installed Synology M.2 PCIe cards for models that don't officially support them. -# -# Added -i, --immutable option to enable immutable snapshots on models older than '20 series running DSM 7.2. -# -# Changed help to show that -r, --ram also sets max memory to the amount of installed memory. -# -# Changed the "No M.2 cards found" to "No M.2 PCIe cards found" to make it clearer. -# -# Added "You may need to reboot" message when NVMe drives were detected. -# -# Fixed HDD/SSD firmware versions always being 4 characters long (for DSM 7.2 and 6.2.4 Update 7). -# -# Fixed detecting the amount of installed memory (for DSM 7.2 which now reports GB instead of MB). -# -# Fixed USB drives sometimes being detected as internal drives (for DSM 7.2). -# -# Fixed error if /run/synostorage/disks/nvme0n1/m2_pool_support doesn't exist yet (for DSM 7.2). -# -# Fixed drive db update still being disabled in /etc/synoinfo.conf after script run without -n or --noupdate option. -# -# Fixed drive db update still being disabled in /etc/synoinfo.conf after script run with --restore option. -# -# Fixed permissions on restored files being incorrect after script run with --restore option. -# -# Fixed permissions on backup files. -# -# Now skips checking the amount of installed memory in DSM 6 (because it was never working). -# -# Now the script reloads itself after updating. -# -# Added --autoupdate=AGE option to auto update synology_hdd_db x days after new version released. -# Autoupdate logs update success or errors to DSM system log. -# -# Added -w, --wdda option to disable WDDA -# https://kb.synology.com/en-us/DSM/tutorial/Which_Synology_NAS_supports_WDDA -# https://www.youtube.com/watch?v=cLGi8sPLkLY -# https://community.synology.com/enu/forum/1/post/159537 -# -# Added --restore info to --help -# -# Updated restore option to download the latest db files from Synology -# -# Now warns you if you try to run it in sh with "sh scriptname.sh" -# -# Fixed DSM 6 bug where the drives were being duplicated in the .db files each time the script was run. -# -# Fixed DSM 6 bug where the .db files were being duplicated as .dbr each time the db files were edited. -# -# Fixed bug where expansion units ending in RP or II were not detected. -# -# Added a --restore option to undo all changes. -# -# Now looks for and edits both v7 and non-v7 db files to solve issue #11 for RS '21 models running DSM 6.2.4. -# This will also ensure the script still works if: -# Synology append different numbers to the db file names in DSM 8 etc. -# The detected NAS model name does not match the .db files' model name. -# -# Now backs up the .db.new files (as well as the .db files). -# -# Now shows max memory in GB instead of MB. -# -# Now shows status of "Support disk compatibility" setting even if it wasn't changed. -# -# Now shows status of "Support memory compatibility" setting even if it wasn't changed. -# -# Improved shell output when editing max memory setting. -# -# Changed method of checking if drive is a USB drive to prevent ignoring internal drives on RS models. -# -# Changed to not run "synostgdisk --check-all-disks-compatibility" in DSM 6.2.3 (which has no synostgdisk). -# -# Now edits max supported memory to match the amount of memory installed, if greater than the current max memory setting. -# -# Now allows creating M.2 storage pool and volume all from Storage Manager -# -# Now always shows your drive entries in the host db file if -s or --showedits used, -# instead of only db file was edited during that run. -# -# Changed to show usage if invalid long option used instead of continuing. -# -# Fixed bug inserting firmware version for already existing model. -# -# Changed to add drives' firmware version to the db files (to support data deduplication). -# See https://github.com/007revad/Synology_enable_Deduplication -# -# Changed to be able to edit existing drive entries in the db files to add the firmware version. -# -# Now supports editing db files that don't currently have any drives listed. -# -# Fixed bug where the --noupdate option was coded as --nodbupdate. Now either will work. -# -# Fixed bug in re-enable drive db updates -# -# Fixed "download new version" failing if script was run via symlink or ./ -# -# Changed to show if no M.2 cards were found, if M.2 drives were found. -# -# Changed latest version check to download to /tmp and extract files to the script's location, -# replacing the existing .sh and readme.txt files. -# -# Added a timeouts when checking for newer script version in case github is down or slow. -# -# Added option to disable incompatible memory notifications. -# -# Now finds your expansion units' model numbers and adds your drives to their db files. -# -# Now adds your M.2 drives to your M.2 PCI cards db files (M2Dxx and E10M20-T1 and future models). -# -# Improved flags/options checking and added usage help. -# -# Can now download the latest script version for you (if you have user home service enabled in DSM). -# -# Now adds 'support_m2_pool="yes"' line for models that don't have support_m2_pool in synoinfo.conf -# to (hopefully) prevent losing your SSH created M2 volume when running this script on models -# that DSM 7.2 Beta does not list as supported for creating M2 volumes. -# -# Changed Synology model detection to be more reliable (for models that came in different variations). -# -# Changed checking drive_db_test_url setting to be more durable. -# -# Added removal of " 00Y" from end of Samsung/Lenovo SSDs to fix issue #13. -# -# Fixed bug where removable drives were being detected and added to drive database. -# -# Fixed bug where "M.2 volume support already enabled" message appeared when NAS had no M.2 drives. -# -# Added check that M.2 volume support is enabled (on supported models). -# -# Added support for M.2 SATA drives. -# -# Can now skip processing M.2 drives by running script with the -m2 flag. -# -# Changed method of getting drive and firmware version so script is faster and easier to maintain. -# - No longer using smartctl or hdparm. -# -# Changed SAS drive firmware version detection to support SAS drives that hdparm doesn't work with. -# -# Removed error message and aborting if *.db.new not found (clean DSM installs don't have a *.db.new). -# -# Force DSM to check disk compatibility so reboot not needed (DSM 6 may still need a reboot). -# -# Fixed DSM 6 issue when DSM 6 has the old db file format. -# -# Add support for SAS drives. -# -# Get HDD/SSD/SAS drive model number with smartctl instead of hdparm. +# and are using DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. # -# Check if there is a newer script version available. +# Now edits model.dtb instead of downloading a pre-edited version. # -# Add support for NVMe drives. +# Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 # -# Prevent DSM auto updating the drive database. +# Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161 +# - ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY +# - SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI # -# Optionally disable "support_disk_compatibility". +# Fixed bug where memory was shown in MB but with GB unit. -scriptver="v3.2.66" +scriptver="v3.2.67" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -310,9 +114,6 @@ if options="$(getopt -o abcdefghijklmnopqrstuvwxyz0123456789 -l \ -r|--ram) # Disable "support_memory_compatibility" ram=yes ;; - -i|--immutable) # Enable "support_worm" (immutable snapshots) - immutable=yes # Does not work for models without support_worm=yes already - ;; -w|--wdda) # Disable "support_memory_compatibility" wdda=no ;; @@ -391,11 +192,6 @@ if [[ $dsm -gt "6" ]]; then fi # Get Synology model - -# This doesn't work for drives migrated from different model -#model=$(find /var/lib/disk-compatibility -regextype egrep -regex ".*host(_v7)?\.db$" |\ -# cut -d"/" -f5 | cut -d"_" -f1 | uniq) - model=$(cat /proc/sys/kernel/syno_hw_version) modelname="$model" @@ -430,6 +226,13 @@ elif [[ $model =~ '-j'$ ]]; then # GitHub issue #2 echo -e "\nUsing model: $model" fi + +# Get StorageManager version +storagemgrver=$(synopkg version StorageManager) +# Show StorageManager version +if [[ $storagemgrver ]]; then echo -e "StorageManager $storagemgrver\n"; fi + + # Show options used echo "Using options: ${args[*]}" @@ -726,6 +529,68 @@ fi # Get list of installed SATA, SAS and M.2 NVMe/SATA drives, # PCIe M.2 cards and connected Expansion Units. +vendor_from_id(){ + # Vendor ids missing in /usr/syno/etc.defaults/pci_vendor_ids.conf + # $1 is vendor id + # https://devicehunt.com/all-pci-vendors + vendor="" + case "${1,,}" in + 0x10ec) vendor=TEAMGROUP ;; + 0x025e) vendor=Solidigm ;; + 0x1458) vendor=Gigabyte ;; + 0x1462) vendor=MSI ;; + 0x196e) vendor=PNY ;; + 0x1987) vendor=Phison ;; + 0x1b1c) vendor=Corsair ;; + 0x1c5c) vendor="SK Hynix" ;; + 0x1cc4) vendor=UMIS ;; + 0x1cfa) vendor=Corsair ;; # Memory only? + 0x1d97) vendor=SPCC/Lexar ;; # 2 brands with same vid + 0x1dbe) vendor=ADATA ;; + 0x1e49) vendor=ZHITAI ;; + 0x1e4b) vendor=HS/MAXIO ;; # 2 brands with same vid + 0x1f40) vendor=Netac ;; + *) + echo -e "\n${Error}WARNING{OFF} No vendor found for id $1" >&2 + echo -e "Contact 007revad to get your drive added.\n" >&2 + ;; + esac +} + +set_vendor(){ + # Add missing vendors to /usr/syno/etc.defaults/pci_vendor_ids.conf + if [[ $vendor ]]; then + if ! grep "$vid" "$vidfile" >/dev/null; then + synosetkeyvalue "$vidfile" "${vid,,}" "$vendor" + val=$(synogetkeyvalue "$vidfile" "${vid,,}") + if [[ $val == "${vendor}" ]]; then + echo "Added $vendor to pci_vendor_ids" >&2 + else + echo "Failed to add $vendor to pci_vendor_ids!" >&2 + fi + fi + if ! grep "$vid" "$vidfile2" >/dev/null; then + synosetkeyvalue "$vidfile2" "${vid,,}" "$vendor" + fi + fi +} + +get_vid(){ + # $1 is /dev/nvme0n1 etc + if [[ $1 ]]; then + vid=$(nvme id-ctrl "$1" | grep -E ^vid | awk '{print $NF}') + if [[ $vid ]]; then + val=$(synogetkeyvalue "$vidfile" "${vid,,}") + if [[ -z $val ]]; then + vendor_from_id "$vid" && set_vendor + fi + fi + fi +} + +vidfile="/usr/syno/etc.defaults/pci_vendor_ids.conf" +vidfile2="/usr/syno/etc/pci_vendor_ids.conf" + fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*' 00Y' ]]; then @@ -733,8 +598,8 @@ fixdrivemodel(){ fi # Brands that return "BRAND " and need "BRAND " removed. - if [[ $1 =~ ^[A-Za-z]{1,7}' '.* ]]; then - # See Smartmontools database in /var/lib/smartmontools/drivedb.db + if [[ $1 =~ ^[A-Za-z]{3,7}' '.* ]]; then + # See Smartmontools database in /var/lib/smartmontools/drivedb.db hdmodel=${hdmodel#"WDC "} # Remove "WDC " from start of model name hdmodel=${hdmodel#"HGST "} # Remove "HGST " from start of model name hdmodel=${hdmodel#"TOSHIBA "} # Remove "TOSHIBA " from start of model name @@ -743,14 +608,18 @@ fixdrivemodel(){ hdmodel=${hdmodel#"Hitachi "} # Remove "Hitachi " from start of model name hdmodel=${hdmodel#"SAMSUNG "} # Remove "SAMSUNG " from start of model name hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name + elif [[ $1 =~ ^'APPLE HDD '.* ]]; then + # Old drive brands hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name fi } getdriveinfo(){ # $1 is /sys/block/sata1 etc + + # Skip USB drives usb=$(grep "$(basename -- "$1")" /proc/mounts | grep "[Uu][Ss][Bb]" | cut -d" " -f1-2) - if [[ ! $usb ]]; then # Skip USB drives + if [[ ! $usb ]]; then # Get drive model hdmodel=$(cat "$1/device/model") @@ -821,6 +690,7 @@ getcardmodel(){ } m2_pool_support(){ + # M.2 drives in M2 adaptor card do not support storage pools if [[ $isinm2card != "yes" ]]; then if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support @@ -846,6 +716,11 @@ for d in /sys/block/*; do nvme*) if [[ $d =~ nvme[0-9][0-9]?n[0-9][0-9]?$ ]]; then if [[ $m2 != "no" ]]; then + # Fix unknown vendor id if needed. GitHub issue #161 + # "Failed to get disk vendor" from synonvme --vendor-get + # causes "Unsupported firmware version" warning. + get_vid "/dev/$(basename -- "${d}")" + getm2info "$d" "nvme" # Get M.2 card model if in M.2 card getcardmodel "/dev/$(basename -- "${d}")" @@ -1139,17 +1014,18 @@ updatedb(){ default="$default":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true}]}}} if grep '"disk_compatbility_info":{}' "$2" >/dev/null; then - # Replace "disk_compatbility_info":{} with "disk_compatbility_info":{"WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}}} + # Replace "disk_compatbility_info":{} with + # "disk_compatbility_info":{"WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}}} #echo "Edit empty db file:" # debug editdb7 "empty" "$2" elif grep '"'"$hdmodel"'":' "$2" >/dev/null; then - # Replace "WD40PURX-64GVNY0":{ with "WD40PURX-64GVNY0":{"80.00A80":{ ... }}}, + # Replace "WD40PURX-64GVNY0":{ with "WD40PURX-64GVNY0":{"80.00A80":{ ... }}}, #echo "Insert firmware version:" # debug editdb7 "insert" "$2" else - # Add "WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}} + # Add "WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}} #echo "Append drive and firmware:" # debug editdb7 "append" "$2" fi @@ -1168,7 +1044,8 @@ updatedb(){ # example: # {"success":1,"list":[{"model":"WD60EFRX-68MYMN1","firmware":"82.00A82","rec_intvl":[1]}, #if sed -i "s/$startstring/$startstring$string/" "$2"; then - if sed -i "s/${startstring//\//\\/}/${startstring//\//\\/}$string/" "$2"; then + #if sed -i "s/${startstring//\//\\/}/${startstring//\//\\/}$string/" "$2"; then + if sed -i "s/$startstring/$startstring${string//\//\\/}/" "$2"; then echo -e "Added ${Yellow}$hdmodel${Off} to ${Cyan}$(basename -- "$2")${Off}" else ding @@ -1234,11 +1111,6 @@ done #------------------------------------------------------------------------------ # Enable unsupported Synology M2 PCIe cards -# DS1821+, DS1621+ and DS1520+ also need edited device tree blob file -# /etc.defaults/model.dtb -# RS822RP+, RS822+, RS1221RP+ and RS1221+ with DSM older than 7.2 need -# device tree blob file from DSM 7.2 to support M2D18 - enable_card(){ # $1 is the file # $2 is the section @@ -1278,6 +1150,7 @@ if [[ $1 == E10M20-T1 ]] || [[ $1 == M2D20 ]]; then $1 { compatible = "Synology"; model = "synology_${1,,}"; + power_limit = "14.85,14.85"; m2_card@1 { @@ -1304,6 +1177,7 @@ elif [[ $1 == M2D18 ]]; then M2D18 { compatible = "Synology"; model = "synology_m2d18"; + power_limit = "9.9,9.9"; m2_card@1 { @@ -1338,26 +1212,58 @@ fi } -download_dtc(){ - # Download dtc from github - echo "Downloading dtc" >&2 - if cd /var/services/tmp; then - url="https://github.com/${repo}/raw/main/bin/dtc" - #if curl -kLJO -m 30 --connect-timeout 5 "$url"; then - if curl -kLO -m 30 --connect-timeout 5 "$url"; then - mv /var/services/tmp/dtc /usr/sbin/dtc - chmod 755 /usr/sbin/dtc - fi +install_binfile(){ + # install_binfile + # example: + # file_url="https://raw.githubusercontent.com/${repo}/main/bin/dtc" + # install_binfile dtc "$file_url" /usr/bin/bc a+x bin/dtc + + if [[ -f "${scriptpath}/$5" ]]; then + binfile="${scriptpath}/$5" + echo -e "\nInstalling ${1}" + elif [[ -f "${scriptpath}/$(basename -- "$5")" ]]; then + binfile="${scriptpath}/$(basename -- "$5")" + echo -e "\nInstalling ${1}" else - echo -e "${Error}ERROR${Off} Failed to cd to /var/services/tmp!" >&2 - fi -} + # Download binfile + if [[ $autoupdate == "yes" ]]; then + reply=y + else + echo -e "\nNeed to download ${1}" + echo -e "${Cyan}Do you want to download ${1}?${Off} [y/n]" + read -r -t 30 reply + fi + if [[ ${reply,,} == "y" ]]; then + echo -e "\nDownloading ${1}" + if ! curl -kLO -m 30 --connect-timeout 5 "$2" -o "/tmp/$1"; then + echo -e "${Error}ERROR${Off} Failed to download ${1}!" + return + fi + binfile="/tmp/${1}" + printf "Downloaded md5: " + md5sum -b "$binfile" | awk '{print $1}' -edit_dts(){ + md5=$(md5sum -b "$binfile" | awk '{print $1}') + if [[ $md5 != "$6" ]]; then + echo "Expected md5: $6" + echo -e "${Error}ERROR${Off} Downloaded $1 md5 hash does not match!" + exit 1 + fi + else + echo -e "${Error}ERROR${Off} Cannot add M2 PCIe card without ${1}!" + exit 1 + fi + fi -#set -x # debug + # Set binfile executable + chmod "$4" "$binfile" + # Copy binfile to destination + cp -p "$binfile" "$3" +} + +edit_dts(){ # $1 is M.2 card model # Edit model.dts if needed if ! grep "$1" "$dtb_file" >/dev/null; then @@ -1368,42 +1274,6 @@ edit_dts(){ #echo "$1 already exists in model${hwrev}.dtb" >&2 # echo -e "${Yellow}$1${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 fi - -#set +x # debug - -} - - -set_pwr_limit(){ - if ! grep "$pwr_limit" "$dts_file" >/dev/null; then - # Save current power_limit - pwr_lmt_old=$(grep power_limit "$dts_file" | cut -d\" -f2) - - # Find line to insert power_limit - pwrlim_line=$(awk '! NF { print NR }' "$dts_file" | head -n 2 | tail -n 1) - - power_limit=" power_limit = \"$pwr_limit\";" - #echo "$power_limit" >&2 # debug - - if grep power_limit "$dts_file" >/dev/null; then - filehead=$(head -n $((pwrlim_line -2)) "$dts_file") - else - filehead=$(head -n $((pwrlim_line -1)) "$dts_file") - fi - #echo "$filehead" >&2 # debug - - filetail=$(tail -n +$((pwrlim_line +1)) "$dts_file") - #echo "$filetail" >&2 # debug - - echo "$filehead" > "$dts_file" - echo -e "$power_limit\n" >> "$dts_file" - echo "$filetail" >> "$dts_file" - - # Show result - echo -e "Updated power limit in ${Cyan}model${hwrev}.dtb${Off}" >&2 - echo " Old power_limit $pwr_lmt_old" >&2 - echo " New power_limit $pwr_limit" >&2 - fi } @@ -1416,54 +1286,21 @@ check_modeldtb(){ # If syno_hw_revision is r1 or r2 it's a real Synology, # and I need to edit model_rN.dtb instead of model.dtb if [[ $hwrevision =~ r[0-9] ]]; then - #echo "hwrevision: $hwrevision" >&2 # debug + #echo "hwrevision: $hwrevision" # debug hwrev="_$hwrevision" fi - dtb_file="/etc.defaults/model${hwrev}.dtb" dts_file="/etc.defaults/model${hwrev}.dts" dtb2_file="/etc/model${hwrev}.dtb" - - # NVMe power_limit - if grep power_limit /run/model.dtb >/dev/null; then - - if [ -f /sys/firmware/devicetree/base/power_limit ]; then - pwrval=$(cat /sys/firmware/devicetree/base/power_limit | cut -d"," -f1) - # Check pwrval is float or numeric - if [[ ! $pwrval =~ ^[0-9]+([.][0-9]+)?$ ]]; then - pwrval="100" - fi - else - pwrval="100" - fi - - pwr_limit="" - nvme_drives=$(ls /sys/class/nvme | wc -w) - for i in $(seq 0 $((nvme_drives -1))); do - [ "$i" -eq 0 ] && pwr_limit="$pwrval" || pwr_limit="${pwr_limit},$pwrval" - done - - #echo "power_limit $pwr_limit" >&2 # debug - fi - - # Check power_limit and adapter card already in model.dtb - if grep "$pwr_limit" "$dtb_file" >/dev/null && grep "$1" "$dtb_file" >/dev/null - then - echo -e "${Yellow}$1${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 - return - fi - - # Check if dtc exists and is executable - if [[ ! -x /usr/sbin/dtc ]]; then - if [[ -f ./bin/dtc ]]; then - cp -f ./bin/dtc /usr/sbin/dtc - chmod 755 /usr/sbin/dtc - else - download_dtc - fi + if [[ ! -x $(which dtc) ]]; then + md5hash="01381dabbe86e13a2f4a8017b5552918" + branch="main" + file_url="https://raw.githubusercontent.com/${repo}/${branch}/bin/dtc" + # install_binfile + install_binfile dtc "$file_url" /usr/sbin/dtc "a+x" bin/dtc "$md5hash" fi # Check again if dtc exists and is executable @@ -1479,13 +1316,8 @@ check_modeldtb(){ chmod 644 "$dts_file" # Edit model.dts - #edit_dts "E10M20-T1" # test - #edit_dts "M2D20" # test - #edit_dts "M2D18" # test edit_dts "$1" - [[ -n $pwr_limit ]] && set_pwr_limit - # Compile model.dts to model.dtb dtc -q -I dts -O dtb -o "$dtb_file" "$dts_file" # -q Suppress warnings @@ -1493,9 +1325,6 @@ check_modeldtb(){ chmod a+r "$dtb_file" chown root:root "$dtb_file" cp -pu "$dtb_file" "$dtb2_file" # Copy dtb file to /etc - - # Delete model.dts - rm "$dts_file" else echo -e "${Error}ERROR${Off} Missing /usr/sbin/dtc or not executable!" >&2 fi @@ -1506,6 +1335,7 @@ check_modeldtb(){ for c in "${m2cards[@]}"; do #echo "" m2cardconf="/usr/syno/etc.defaults/adapter_cards.conf" + m2card2conf="/usr/syno/etc/adapter_cards.conf" case "$c" in E10M20-T1) backupdb "$m2cardconf" @@ -1513,12 +1343,16 @@ for c in "${m2cards[@]}"; do enable_card "$m2cardconf" E10M20-T1_sup_nic "E10M20-T1 NIC" enable_card "$m2cardconf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" #enable_card "$m2cardconf" E10M20-T1_sup_sata "E10M20-T1 SATA" + enable_card "$m2card2conf" E10M20-T1_sup_nic "E10M20-T1 NIC" + enable_card "$m2card2conf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" + #enable_card "$m2card2conf" E10M20-T1_sup_sata "E10M20-T1 SATA" check_modeldtb "$c" ;; M2D20) backupdb "$m2cardconf" echo "" enable_card "$m2cardconf" M2D20_sup_nvme "M2D20 NVMe" + enable_card "$m2card2conf" M2D20_sup_nvme "M2D20 NVMe" check_modeldtb "$c" ;; M2D18) @@ -1526,12 +1360,15 @@ for c in "${m2cards[@]}"; do echo "" enable_card "$m2cardconf" M2D18_sup_nvme "M2D18 NVMe" enable_card "$m2cardconf" M2D18_sup_sata "M2D18 SATA" + enable_card "$m2card2conf" M2D18_sup_nvme "M2D18 NVMe" + enable_card "$m2card2conf" M2D18_sup_sata "M2D18 SATA" check_modeldtb "$c" ;; M2D17) backupdb "$m2cardconf" echo "" enable_card "$m2cardconf" M2D17_sup_sata "M2D17 SATA" + enable_card "$m2card2conf" M2D17_sup_sata "M2D17 SATA" ;; *) echo "Unknown M2 card type: $c" @@ -1689,9 +1526,7 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo fi - -# Enable nvme support This probably should be before we look for NVMe drives. -# But it probably also needs a reboot after we change it. +# Enable nvme support if [[ $m2 != "no" ]]; then # Check if nvme support is enabled setting="$(get_key_value $synoinfo supportnvme)" @@ -1817,22 +1652,6 @@ if [[ $wdda == "no" ]]; then fi -# Optionally enable "support_worm" (immutable snapshots) -setting="$(get_key_value $synoinfo support_worm)" -if [[ $immutable == "yes" ]]; then - if [[ $setting != "yes" ]]; then - # Disable support_memory_compatibility - synosetkeyvalue "$synoinfo" support_worm "yes" - setting="$(get_key_value "$synoinfo" support_worm)" - if [[ $setting == "yes" ]]; then - echo -e "\nEnabled Immutable Snapshots." - fi - elif [[ $setting == "no" ]]; then - echo -e "\nImmutable Snapshots already enabled." - fi -fi - - #------------------------------------------------------------------------------ # Finished From 8248e4cc851d3c2715570f9cf6763730be443fa6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 25 Nov 2023 16:23:10 +1100 Subject: [PATCH 067/163] Update CHANGES.txt --- CHANGES.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 80319c5..93c8fa7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,14 @@ -v3.2.66 -- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using DSM 7.2 Update 2 and Update 3. +v3.2.67-RC +- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using: + - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. +- Now edits model.dtb instead of downloading a pre-edited version. +- Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 +- Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161 + - ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY + - SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI - Fixed bug where memory was shown in MB but with GB unit. - Removed -i, --immutable option. +- Minor bug fixes. v3.1.65 - Bug fix for NVMe drives with / in the model name for non-device tree Synology models. Issue #154 From 430d5a0653e97db049195f7c5e710eb30b1a0b90 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 26 Nov 2023 04:21:42 +1100 Subject: [PATCH 068/163] Delete bin/bc --- bin/bc | Bin 84960 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/bc diff --git a/bin/bc b/bin/bc deleted file mode 100644 index 64b3cc9202030b52441e6e1785753434fdff5917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84960 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 From 9aa22be5eb88e775eb4d4d84cc512375bd7f9242 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 26 Nov 2023 04:21:55 +1100 Subject: [PATCH 069/163] Delete bin/DS1823xs+_synonvme --- bin/DS1823xs+_synonvme | Bin 17241 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/DS1823xs+_synonvme diff --git a/bin/DS1823xs+_synonvme b/bin/DS1823xs+_synonvme deleted file mode 100644 index 2dc63b55f2cfc20dc364bbc39d2b16105db24799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17241 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 Date: Sun, 26 Nov 2023 04:22:06 +1100 Subject: [PATCH 070/163] Delete bin/DS1821+_synonvme --- bin/DS1821+_synonvme | Bin 17241 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/DS1821+_synonvme diff --git a/bin/DS1821+_synonvme b/bin/DS1821+_synonvme deleted file mode 100644 index 2dc63b55f2cfc20dc364bbc39d2b16105db24799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17241 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 Date: Sun, 26 Nov 2023 04:22:32 +1100 Subject: [PATCH 071/163] Delete lib/DS1823xs+_libsynonvme.so.1 --- lib/DS1823xs+_libsynonvme.so.1 | Bin 54154 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/DS1823xs+_libsynonvme.so.1 diff --git a/lib/DS1823xs+_libsynonvme.so.1 b/lib/DS1823xs+_libsynonvme.so.1 deleted file mode 100644 index 1f97be2d5b43e3d68c45f780d3857d597862d842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54154 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 fG<~gV|683Oa+k^ Date: Sun, 26 Nov 2023 04:22:43 +1100 Subject: [PATCH 072/163] Delete lib/DS1821+_libsynonvme.so.1 --- lib/DS1821+_libsynonvme.so.1 | Bin 54154 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/DS1821+_libsynonvme.so.1 diff --git a/lib/DS1821+_libsynonvme.so.1 b/lib/DS1821+_libsynonvme.so.1 deleted file mode 100644 index 1f97be2d5b43e3d68c45f780d3857d597862d842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54154 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 fG<~gV|683Oa+k^ Date: Sun, 26 Nov 2023 04:23:08 +1100 Subject: [PATCH 073/163] Delete lib/64570_libsynonvme.so.1 --- lib/64570_libsynonvme.so.1 | Bin 54154 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/64570_libsynonvme.so.1 diff --git a/lib/64570_libsynonvme.so.1 b/lib/64570_libsynonvme.so.1 deleted file mode 100644 index 1f97be2d5b43e3d68c45f780d3857d597862d842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54154 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 fG<~gV|683Oa+k^ Date: Sun, 26 Nov 2023 04:23:19 +1100 Subject: [PATCH 074/163] Delete bin/64570_synonvme --- bin/64570_synonvme | Bin 17241 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/64570_synonvme diff --git a/bin/64570_synonvme b/bin/64570_synonvme deleted file mode 100644 index 2dc63b55f2cfc20dc364bbc39d2b16105db24799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17241 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 Date: Sun, 26 Nov 2023 04:23:41 +1100 Subject: [PATCH 075/163] Delete dtb directory --- dtb/All_Depreciated.txt | 1 - dtb/DS1520+_model.dtb | Bin 3617 -> 0 bytes dtb/DS1621+_model.dtb | Bin 3834 -> 0 bytes dtb/DS1821+_model.dtb | Bin 4420 -> 0 bytes dtb/DS2422+_model.dtb | Bin 4923 -> 0 bytes dtb/RS1221+_model.dtb | Bin 3900 -> 0 bytes dtb/RS1221RP+_model.dtb | Bin 3904 -> 0 bytes dtb/RS2421+_model.dtb | Bin 5871 -> 0 bytes dtb/RS2421RP+_model.dtb | Bin 6225 -> 0 bytes dtb/RS2423+_model.dtb | Bin 9166 -> 0 bytes dtb/RS2821RP+_model.dtb | Bin 6918 -> 0 bytes dtb/RS822+_model.dtb | Bin 3617 -> 0 bytes dtb/RS822RP+_model.dtb | Bin 3617 -> 0 bytes 13 files changed, 1 deletion(-) delete mode 100644 dtb/All_Depreciated.txt delete mode 100644 dtb/DS1520+_model.dtb delete mode 100644 dtb/DS1621+_model.dtb delete mode 100644 dtb/DS1821+_model.dtb delete mode 100644 dtb/DS2422+_model.dtb delete mode 100644 dtb/RS1221+_model.dtb delete mode 100644 dtb/RS1221RP+_model.dtb delete mode 100644 dtb/RS2421+_model.dtb delete mode 100644 dtb/RS2421RP+_model.dtb delete mode 100644 dtb/RS2423+_model.dtb delete mode 100644 dtb/RS2821RP+_model.dtb delete mode 100644 dtb/RS822+_model.dtb delete mode 100644 dtb/RS822RP+_model.dtb diff --git a/dtb/All_Depreciated.txt b/dtb/All_Depreciated.txt deleted file mode 100644 index 4bbd93a..0000000 --- a/dtb/All_Depreciated.txt +++ /dev/null @@ -1 +0,0 @@ -These model.dtb files are no longer needed. diff --git a/dtb/DS1520+_model.dtb b/dtb/DS1520+_model.dtb deleted file mode 100644 index 5bce9d2f9169d9bcd84acafddecf237e72476549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5nJd22qfrnCp?g3bt8JSPr6B5` z0>U%VCa&@98$c(3kf%w@qUtgbu1^EK$kG9YUmRLyALiZCn!~(bT7Q7~b0A}9zimB% z2@KS&!*UV!3M~GSRx*+(ad^nGXAmhEMi_M5%oTI(%SW*)eEX!3A*RldktE zIc$&O!TVg7Lmg{dro36Kl~RsN$GSdV|4)4daYobF4NHv+>kND853akHti7|q`w4Uv z2nWg`?+?&jAj}E!&cO6Un6$PxRsR{u?+WZMo90uiQgKputmZ=MJH3?B7!1Qe`{zJ^ z72gsEHdVev{!o^sZrqbMbWB#|1!aYN6}zZL)R~5T74~tUoW_0+=EsRWukBgb)%}?Z zyG%viSB)xmu{#U7~`vx|K#BhQtV>dwWpXPhexXqywx&G&^2zKbQm=zo4cS{r#Us(Y`+ zn_qH#L|>eRygGgKVaa1r;$}f7q$FZK4ap%*dB9>K9u}Si@gRYRhYgZ(jsx=UQ1bh} z4;A*7rXbGg8_Dz{#+{V*fa48P>U2Yw_a|?47|TX>;Bztz;)AXmgk*Q`WG>8ra9I}0PAxVWqQc$FVBAw;4H+L4c*LZzLuBPEP@IUDJ z2T;%=Axb1VDkKmy`?7r(JGq2NSlaVGX1|$lW_H&1Y30ukLN5Ozgsc&=@&VrWpk0G@ z6&gI&2F$;e{o1dkMyKJug#G8!l*Mc~t<2wq{xVnd-o&wO+jCZ3=Rrm04D?YS;vp7} zZ$Ud(8CT`c!u-=BA5(bagL^JO+bIHnz2EQaImC&fRdL_I_zpC!=Ntq4{|%b8 zxzl$ZLkAv|ZQ^$Y)=GZip5A0-N#^mG6;B+5AXXd={K6M~t^1=Gm9~6V<5Td)R${nf z<**pYcOIj=5Qg4gx1+ZZ2J+N6B^ME%L;C|`s4;{sTaLZ$+MO5Dt*x=S4tvYkP{&SS zW1-@axL)Arp$ZSN(n(UyCyeVC+kRv}wAb(ldN5Pw!gtQYzz;@xkG9d$xH4pIxV=Si z1@~=t(}6=;wPU|CSI^1B4b>)NoARCIkAg_T2|rdicV}(GIQ&$y!j@)#EyT;%r2TaS zn{>Xn#IQfh2hVd;47IOa8S>T~oAb5WWO!*`H~Z`V$*(9aXrB6UrEuXH#(Mjk>*^)X zz9S@2R>n6SoyuzhT=Ow)3c8o}RMSVJ?}t#WeJWIi)E~!hY!EUBvwz76Ji@X+u|gz zhf=mJPVyRP;v|s%0jJet=iVxiukvr>q`ntS4%FjhzDtgIo*FqBy$9uS4 z{Dpj-lkm<-#;Gm$ma8?wkwv13Q(aaT3F9w{#m&oDuD{j*_z3k(=ZUbPf~k&r8)jon zYnXV4%+zN1?$veH)PbhEP27)izo~6m;9xfHrjLy#ap`XDA!~ArZQ_kgdkTCA$bO@NiIH%rj z?DNt7O9RFVvbFteli+`+I7(jcf}4@WwEU7{TO3DDoG;H$iCt diff --git a/dtb/DS1821+_model.dtb b/dtb/DS1821+_model.dtb deleted file mode 100644 index c90ec426c8f28715833c111fb07f8f048c60df48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4420 zcmd5=&2G~`5Z(nUD5WY@#epL?RA^=Ar?f~&NTjMbR6>G7B@UKjyNQMEHU0_BnYZ9Q zxbY6~2ndM_5+^t#X7G5OJS(>RXaLMVIWV1Q*h}ng@O5@Ft{zprg7Rb_Ff3LHpXTL))ukx zOe2JanT$u+vK%{cWq1gUMqxR}Fs?rgW8b)M9O577al2(MP?DyuV>?5&M%hRet_WEZ zZf6->&i%C2GhyT6vv^L1Emtnmwn^Vnd+7KAj^mX$wrC1LTqj4#D1#UDT;)aoyfhatSAySoOr}n z$*E~SRqYf-VlhslNN7$T9zs^k5_PMF1gJlEYWE3d^ejwSlAADV&$0?8p7j%FDEz)q z=b^6Gb$1Ycj}hzjc~x4kYh&&D*zp_mb4>34JnfgvBy`lzQzQZp<_hY31n-y7^jQsS zl%G%r?}aDk9^X(3Q)FUs)}OSBc_mY#SF3k-zTOI#8G7}6Rj-h&;|uvZk1q#Mm^1Y1 zc_kzGirlZ$dt;v7cHu_~ahTHEDdtfxwsnVvv7Pz-z#}1Zy?~6oB=uQD_~j~%{V0#& z^2PFadc*>Gdo0F>t_wTwjhBFU>b;i2A!Lk&Q`tE7CdX{oj^RQ%J?ti4nu=j3WT};S z1Hg3h#Iw!=I~~rR>NA#!ncPk?3;y}Q^2{2cAy_M2~JXS|bqUH$uuvGu2nv0cX2{=oA-v^8kA zp}~j0gyCn|Kk?1;(PelpWB>Ie6uuZvD)V=szmnwh=2+J>%`|$3@t`7e1^TED@em8g zccI;=jH~iXF#jTrGZ&ut!97=@9R{8qiwLI*93T2s+z&7Ydy4gs(EnB$e}ew^e0&X_ zU!Wm2V(`5~-7pO3$^A_>qu)xKony6$M?qvJzDS?zgu#7pV5JuImEAvRRPy@?V_dtG zw-Q70I4_3UkIxcg2SzYHClB<2!YMI&tr%6`H`~&m2}5x>Y0JZzFs9q`s1*bCsdH+! z1+oY}O+Kw-OtK`(X}=nXvf*M=oF|;w$w4E+oDsTo)@EP3*zy8T{|$etv51d zh;vikt%H1-cdo7lurbYZEig>mik&?57!Sum_5E=R_WstiZEaKA#V_c=jPw!c<19%W z+p3$$@T+d&yX})?MCjU-GSlcn+k5Z@BSB?b(uo5*_>}WWwSN1 zJvvEwmX&kfshRs_e+y�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 Hg9zd;N)Y#q diff --git a/dtb/RS2421RP+_model.dtb b/dtb/RS2421RP+_model.dtb deleted file mode 100644 index 4b7d333a9f52fbd5be743d699ab9c77a2d8b5e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6225 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 diff --git a/dtb/RS822+_model.dtb b/dtb/RS822+_model.dtb deleted file mode 100644 index caf3a9c1fa5c4fc67c49d4fe2a5b96ef3d60f078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5DEbKurms0ED2RfR7OI-u&6!JNwo?i-MKj?aZ6^e(%q`d9(NP*0a9}x&0;~ zf&xfZ(BD0snJ1T>hb9dJWz;aQw+>tx7dJ9q?a;@l6x>e33B5xHboA z`nDHB-RFVO9^&Er7SL-z&jBGX@=*@eUI0Qle1BwhE8&e##CiUBRbVt0Q~3w;B(g#dUia zbDjDvAFZ+FvkSQnN?lwr*X#53|EaH{wo=!k95fxQckG3~nAmxItzfVF6$tABACyDh zKR_=5;hrGxCeSlsD>)O%KJ(3RweGe+{5oUr!%0i~ljil$)LkiaKGRax01OY>0DJTf z-UA#K!=AZ4L|LUpJ@cpZjBMB&ly&mU@wP7Km%=irBhyA=-{K?K_Z2!>))B}AT=#O9%=WuUd`zy@R^at?M#XnXn z{wnHa$7*E{Km+bMwc?O2%9XqS0b`h}+c3XUt&HR<;;qTm8-E5L(DbEqwGYzpba@@i z)w{i{lb6^$c%yXuk^#djeZK1f$#@SK)WG*sFcarc16ytI&)ICULay{Ns8!!*k{x&Q zom^|C12IAu)7E(R<37=kVSW#&JAHSQ6OIZ;+>X2y{s|^i9k?)bx7Y;0#5Zxm*;P zjGtQ$AHKzDrERutCVP|jm;gA(hn`BmWG9p8OJ_S^1ecsF^jcc2+%M=?z}O#RAP&-v zOjV7r#k7>9Qn@V2LTXc}nz&2EG)3JuaLK5)Im>}SN^$D>^E`*DekwJH8~KH2W|cBr z%NcO8R!e?d3Nt@{X{waRFOt2t1?x3wsVO?6do#|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ From e0deaf8926fa7a8e80c383918876ecb4db6a1693 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 27 Nov 2023 19:36:51 +1100 Subject: [PATCH 076/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c01f41b..654df74 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| +| | | | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From a0a351ebe235fbd1345a737f87987aada6571b33 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 29 Nov 2023 06:44:47 +1100 Subject: [PATCH 077/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 654df74..b7b3805 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | | cpharada | +| | | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From 870c1941fe7c6e1fe2d5f86d3a2fff4bb9f6391a Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 29 Nov 2023 06:45:33 +1100 Subject: [PATCH 078/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c01f41b..b7b3805 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| +| | | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From 86f6144febe3cedbc16b9fc056ff039031c44665 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 30 Nov 2023 07:27:22 +1100 Subject: [PATCH 079/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7b3805..dc54161 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | Matthias Pfaff | cpharada | +| | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From 77491ea0d91216f2ecef032ddb845f74ee312177 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 30 Nov 2023 07:28:57 +1100 Subject: [PATCH 080/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7b3805..dc54161 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | Matthias Pfaff | cpharada | +| | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From a53820d313ff307dcd00f7b0894c432c35d641f9 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:49:24 +1100 Subject: [PATCH 081/163] Update syno_hdd_db.sh Added M2D17 for devicetree models --- syno_hdd_db.sh | 205 ++++++++++++++++++++++++++++++------------------- 1 file changed, 126 insertions(+), 79 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index aff7000..bb8fb5d 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -30,7 +30,7 @@ # Fixed bug where memory was shown in MB but with GB unit. -scriptver="v3.2.67" +scriptver="v3.2.68" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -434,19 +434,40 @@ fi #------------------------------------------------------------------------------ -# Restore changes from backups +# Set file variables + +if [[ -f /etc.defaults/model.dtb ]]; then # Is device tree model + # Get syn_hw_revision, r1 or r2 etc (or just a linefeed if not a revision) + hwrevision=$(cat /proc/sys/kernel/syno_hw_revision) + + # If syno_hw_revision is r1 or r2 it's a real Synology, + # and I need to edit model_rN.dtb instead of model.dtb + if [[ $hwrevision =~ r[0-9] ]]; then + #echo "hwrevision: $hwrevision" # debug + hwrev="_$hwrevision" + fi + dtb_file="/etc.defaults/model${hwrev}.dtb" + dtb2_file="/etc/model${hwrev}.dtb" + #dts_file="/etc.defaults/model${hwrev}.dts" + dts_file="/tmp/model${hwrev}.dts" +fi + +adapter_cards="/usr/syno/etc.defaults/adapter_cards.conf" +adapter_cards2="/usr/syno/etc/adapter_cards.conf" dbpath=/var/lib/disk-compatibility/ synoinfo="/etc.defaults/synoinfo.conf" -adapter_cards="/usr/syno/etc.defaults/adapter_cards.conf" -modeldtb="/etc.defaults/model.dtb" + + +#------------------------------------------------------------------------------ +# Restore changes from backups if [[ $restore == "yes" ]]; then dbbakfiles=($(find $dbpath -maxdepth 1 \( -name "*.db.new.bak" -o -name "*.db.bak" \))) echo if [[ ${#dbbakfiles[@]} -gt "0" ]] || [[ -f ${synoinfo}.bak ]] ||\ - [[ -f ${modeldtb}.bak ]] || [[ -f ${adapter_cards}.bak ]] ; then + [[ -f ${dtb_file}.bak ]] || [[ -f ${adapter_cards}.bak ]] ; then # Restore synoinfo.conf from backup if [[ -f ${synoinfo}.bak ]]; then @@ -459,22 +480,40 @@ if [[ $restore == "yes" ]]; then fi # Restore adapter_cards.conf from backup + # /usr/syno/etc.defaults/adapter_cards.conf if [[ -f ${adapter_cards}.bak ]]; then if cp -p "${adapter_cards}.bak" "${adapter_cards}"; then - echo -e "Restored $(basename -- "$adapter_cards")\n" + echo -e "Restored ${adapter_cards}\n" else restoreerr=1 - echo -e "${Error}ERROR${Off} Failed to restore adapter_cards.conf!\n" + echo -e "${Error}ERROR${Off} Failed to restore ${adapter_cards}!\n" + fi + fi + # /usr/syno/etc/adapter_cards.conf + if [[ -f ${adapter_cards2}.bak ]]; then + if cp -p "${adapter_cards2}.bak" "${adapter_cards2}"; then + echo -e "Restored ${adapter_cards2}\n" + else + restoreerr=1 + echo -e "${Error}ERROR${Off} Failed to restore ${adapter_cards2}!\n" fi fi - # Restore modeldtb from backup - if [[ -f ${modeldtb}.bak ]]; then - if cp -p "${modeldtb}.bak" "${modeldtb}"; then - echo -e "Restored $(basename -- "$modeldtb")\n" + # Restore model.dtb from backup + if [[ -f ${dtb_file}.bak ]]; then + # /etc.default/model.dtb + if cp -p "${dtb_file}.bak" "${dtb_file}"; then + echo -e "Restored ${dtb_file}\n" + else + restoreerr=1 + echo -e "${Error}ERROR${Off} Failed to restore ${dtb_file}!\n" + fi + # Restore /etc/model.dtb from /etc.default/model.dtb + if cp -p "${dtb_file}.bak" "${dtb2_file}"; then + echo -e "Restored ${dtb2_file}\n" else restoreerr=1 - echo -e "${Error}ERROR${Off} Failed to restore model.dtb!\n" + echo -e "${Error}ERROR${Off} Failed to restore ${dtb2_file}!\n" fi fi @@ -519,7 +558,7 @@ if [[ $restore == "yes" ]]; then echo -e "\nRestore successful." fi else - echo "Nothing to restore." + echo -e "Nothing to restore." fi exit fi @@ -910,10 +949,15 @@ backupdb(){ if [[ $(basename "$1") == "synoinfo.conf" ]]; then echo "" >&2 # Formatting for stdout fi + if [[ $2 == "long" ]]; then + fname="$1" + else + fname=$(basename -- "${1}") + fi if cp -p "$1" "$1.bak"; then - echo -e "Backed up $(basename -- "${1}")" >&2 + echo -e "Backed up ${fname}" >&2 else - echo -e "${Error}ERROR 5${Off} Failed to backup $(basename -- "${1}")!" >&2 + echo -e "${Error}ERROR 5${Off} Failed to backup ${fname}!" >&2 return 1 fi fi @@ -984,7 +1028,6 @@ editdb7(){ echo -e "\n${Error}ERROR 6c${Off} Failed to update $(basename -- "$2")${Off}" #exit 6 fi - fi } @@ -1015,7 +1058,7 @@ updatedb(){ if grep '"disk_compatbility_info":{}' "$2" >/dev/null; then # Replace "disk_compatbility_info":{} with - # "disk_compatbility_info":{"WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}}} + # "disk_compatbility_info":{"WD40PURX-64GVNY0":{"80.00A80":{ ... }}},"default":{ ... }}}} #echo "Edit empty db file:" # debug editdb7 "empty" "$2" @@ -1116,16 +1159,29 @@ enable_card(){ # $2 is the section # $3 is the card model and mode if [[ -f $1 ]] && [[ -n $2 ]] && [[ -n $3 ]]; then + backupdb "$adapter_cards" long + backupdb "$adapter_cards2" long + # Check if section exists if ! grep '^\['"$2"'\]$' "$1" >/dev/null; then echo -e "Section [$2] not found in $(basename -- "$1")!" >&2 return fi # Check if already enabled - val=$(get_section_key_value "$1" "$2" "$modelname") + # + # No idea if "cat /proc/sys/kernel/syno_hw_version" returns upper or lower case RP + # "/usr/syno/etc.defaults/adapter_cards.conf" uses lower case rp but upper case RS + # So we'll convert RP to rp when needed. + # + modelrplowercase=${modelname//RP/rp} + val=$(get_section_key_value "$1" "$2" "$modelrplowercase") if [[ $val != "yes" ]]; then - if set_section_key_value "$1" "$2" "$modelname" yes; then + # /usr/syno/etc.defaults/adapter_cards.conf + if set_section_key_value "$1" "$2" "$modelrplowercase" yes; then + # /usr/syno/etc/adapter_cards.conf + set_section_key_value "$adapter_cards2" "$2" "$modelrplowercase" yes echo -e "Enabled ${Yellow}$3${Off} for ${Cyan}$modelname${Off}" >&2 + rebootmsg=yes else echo -e "${Error}ERROR 9${Off} Failed to enable $3 for ${modelname}!" >&2 fi @@ -1135,7 +1191,6 @@ enable_card(){ fi } - dts_m2_card(){ # $1 is the card model # $2 is the dts file @@ -1208,10 +1263,36 @@ elif [[ $1 == M2D18 ]]; then }; EOM2D18 +elif [[ $1 == M2D17 ]]; then + cat >> "$2" <; + }; + }; + + m2_card@2 { + + ahci { + pcie_postfix = "00.0,03.0,00.0"; + ata_port = <0x01>; + }; + }; + }; +}; +EOM2D17 + fi } - install_binfile(){ # install_binfile # example: @@ -1235,7 +1316,7 @@ install_binfile(){ fi if [[ ${reply,,} == "y" ]]; then echo -e "\nDownloading ${1}" - if ! curl -kLO -m 30 --connect-timeout 5 "$2" -o "/tmp/$1"; then + if ! curl -kL -m 30 --connect-timeout 5 "$2" -o "/tmp/$1"; then echo -e "${Error}ERROR${Off} Failed to download ${1}!" return fi @@ -1263,37 +1344,9 @@ install_binfile(){ cp -p "$binfile" "$3" } -edit_dts(){ - # $1 is M.2 card model - # Edit model.dts if needed - if ! grep "$1" "$dtb_file" >/dev/null; then - dts_m2_card "$1" "$dts_file" - #echo "Added $1 to model${hwrev}.dtb" >&2 - echo -e "Added ${Yellow}$1${Off} to ${Cyan}model${hwrev}.dtb${Off}" >&2 -# else - #echo "$1 already exists in model${hwrev}.dtb" >&2 -# echo -e "${Yellow}$1${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 - fi -} - - -check_modeldtb(){ +edit_modeldtb(){ # $1 is E10M20-T1 or M2D20 or M2D18 or M2D17 if [[ -f /etc.defaults/model.dtb ]]; then # Is device tree model - # Get syn_hw_revision, r1 or r2 etc (or just a linefeed if not a revision) - hwrevision=$(cat /proc/sys/kernel/syno_hw_revision) - - # If syno_hw_revision is r1 or r2 it's a real Synology, - # and I need to edit model_rN.dtb instead of model.dtb - if [[ $hwrevision =~ r[0-9] ]]; then - #echo "hwrevision: $hwrevision" # debug - hwrev="_$hwrevision" - fi - - dtb_file="/etc.defaults/model${hwrev}.dtb" - dts_file="/etc.defaults/model${hwrev}.dts" - dtb2_file="/etc/model${hwrev}.dtb" - # Check if dtc exists and is executable if [[ ! -x $(which dtc) ]]; then md5hash="01381dabbe86e13a2f4a8017b5552918" @@ -1307,16 +1360,22 @@ check_modeldtb(){ if [[ -x /usr/sbin/dtc ]]; then # Backup model.dtb - if ! backupdb "$dtb_file"; then - echo -e "${Error}ERROR${Off} Failed to backup ${dtb_file}!" >&2 - fi + backupdb "$dtb_file" long # Output model.dtb to model.dts dtc -q -I dtb -O dts -o "$dts_file" "$dtb_file" # -q Suppress warnings chmod 644 "$dts_file" # Edit model.dts - edit_dts "$1" + for c in "${cards[@]}"; do + # Edit model.dts if needed + if ! grep "$c" "$dtb_file" >/dev/null; then + dts_m2_card "$c" "$dts_file" + echo -e "Added ${Yellow}$c${Off} to ${Cyan}model${hwrev}.dtb${Off}" >&2 + else + echo -e "${Yellow}$c${Off} already exists in ${Cyan}model${hwrev}.dtb${Off}" >&2 + fi + done # Compile model.dts to model.dtb dtc -q -I dts -O dtb -o "$dtb_file" "$dts_file" # -q Suppress warnings @@ -1325,6 +1384,7 @@ check_modeldtb(){ chmod a+r "$dtb_file" chown root:root "$dtb_file" cp -pu "$dtb_file" "$dtb2_file" # Copy dtb file to /etc + rebootmsg=yes else echo -e "${Error}ERROR${Off} Missing /usr/sbin/dtc or not executable!" >&2 fi @@ -1333,42 +1393,29 @@ check_modeldtb(){ for c in "${m2cards[@]}"; do - #echo "" - m2cardconf="/usr/syno/etc.defaults/adapter_cards.conf" - m2card2conf="/usr/syno/etc/adapter_cards.conf" case "$c" in E10M20-T1) - backupdb "$m2cardconf" echo "" - enable_card "$m2cardconf" E10M20-T1_sup_nic "E10M20-T1 NIC" - enable_card "$m2cardconf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" - #enable_card "$m2cardconf" E10M20-T1_sup_sata "E10M20-T1 SATA" - enable_card "$m2card2conf" E10M20-T1_sup_nic "E10M20-T1 NIC" - enable_card "$m2card2conf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" - #enable_card "$m2card2conf" E10M20-T1_sup_sata "E10M20-T1 SATA" - check_modeldtb "$c" + enable_card "$adapter_cards" E10M20-T1_sup_nic "E10M20-T1 NIC" + enable_card "$adapter_cards" E10M20-T1_sup_nvme "E10M20-T1 NVMe" + #enable_card "$adapter_cards" E10M20-T1_sup_sata "E10M20-T1 SATA" + cards=(E10M20-T1) && edit_modeldtb ;; M2D20) - backupdb "$m2cardconf" echo "" - enable_card "$m2cardconf" M2D20_sup_nvme "M2D20 NVMe" - enable_card "$m2card2conf" M2D20_sup_nvme "M2D20 NVMe" - check_modeldtb "$c" + enable_card "$adapter_cards" M2D20_sup_nvme "M2D20 NVMe" + cards=(M2D20) && edit_modeldtb ;; M2D18) - backupdb "$m2cardconf" echo "" - enable_card "$m2cardconf" M2D18_sup_nvme "M2D18 NVMe" - enable_card "$m2cardconf" M2D18_sup_sata "M2D18 SATA" - enable_card "$m2card2conf" M2D18_sup_nvme "M2D18 NVMe" - enable_card "$m2card2conf" M2D18_sup_sata "M2D18 SATA" - check_modeldtb "$c" + enable_card "$adapter_cards" M2D18_sup_nvme "M2D18 NVMe" + enable_card "$adapter_cards" M2D18_sup_sata "M2D18 SATA" + cards=(M2D18) && edit_modeldtb ;; M2D17) - backupdb "$m2cardconf" echo "" - enable_card "$m2cardconf" M2D17_sup_sata "M2D17 SATA" - enable_card "$m2card2conf" M2D17_sup_sata "M2D17 SATA" + enable_card "$adapter_cards" M2D17_sup_sata "M2D17 SATA" + cards=(M2D17) && edit_modeldtb ;; *) echo "Unknown M2 card type: $c" From 79dd19149d42c7929d242bc5419cd93089e8fa95 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:50:59 +1100 Subject: [PATCH 082/163] Update CHANGES.txt --- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 93c8fa7..08d391b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,5 @@ -v3.2.67-RC -- Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree and are using: +v3.2.68 +- Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using: - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. - Now edits model.dtb instead of downloading a pre-edited version. - Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 From 3a264a695b476ef795bd44d9851e9297ab4bc35e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:23:06 +1100 Subject: [PATCH 083/163] Update syno_hdd_db.sh Bug fix to prevent enabling supportnvme and support_m2_pool on models with no M.2 slots or PCIe ports. --- syno_hdd_db.sh | 92 ++++++++++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 44 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index bb8fb5d..0a892a4 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -1574,61 +1574,65 @@ fi # Enable nvme support -if [[ $m2 != "no" ]]; then - # Check if nvme support is enabled - setting="$(get_key_value $synoinfo supportnvme)" - enabled="" - if [[ ! $setting ]]; then - # Add supportnvme="yes" - synosetkeyvalue "$synoinfo" supportnvme "yes" - enabled="yes" - elif [[ $setting == "no" ]]; then - # Change supportnvme="no" to "yes" - synosetkeyvalue "$synoinfo" supportnvme "yes" - enabled="yes" - elif [[ $setting == "yes" ]]; then - echo -e "\nNVMe support already enabled." - fi - - # Check if we enabled nvme support - setting="$(get_key_value $synoinfo supportnvme)" - if [[ $enabled == "yes" ]]; then - if [[ $setting == "yes" ]]; then - echo -e "\nEnabled NVMe support." - else - echo -e "\n${Error}ERROR${Off} Failed to enable NVMe support!" - fi - fi -fi - - -# Enable m2 volume support -if [[ $m2 != "no" ]]; then - if [[ $m2exists == "yes" ]]; then - # Check if m2 volume support is enabled - smp=support_m2_pool - setting="$(get_key_value $synoinfo ${smp})" +if ls /dev | grep nvme >/dev/null ; then + if [[ $m2 != "no" ]]; then + # Check if nvme support is enabled + setting="$(get_key_value $synoinfo supportnvme)" enabled="" if [[ ! $setting ]]; then - # Add support_m2_pool="yes" - #echo 'support_m2_pool="yes"' >> "$synoinfo" - synosetkeyvalue "$synoinfo" "$smp" "yes" + # Add supportnvme="yes" + synosetkeyvalue "$synoinfo" supportnvme "yes" enabled="yes" elif [[ $setting == "no" ]]; then - # Change support_m2_pool="no" to "yes" - synosetkeyvalue "$synoinfo" "$smp" "yes" + # Change supportnvme="no" to "yes" + synosetkeyvalue "$synoinfo" supportnvme "yes" enabled="yes" elif [[ $setting == "yes" ]]; then - echo -e "\nM.2 volume support already enabled." + echo -e "\nNVMe support already enabled." fi - # Check if we enabled m2 volume support - setting="$(get_key_value $synoinfo ${smp})" + # Check if we enabled nvme support + setting="$(get_key_value $synoinfo supportnvme)" if [[ $enabled == "yes" ]]; then if [[ $setting == "yes" ]]; then - echo -e "\nEnabled M.2 volume support." + echo -e "\nEnabled NVMe support." else - echo -e "\n${Error}ERROR${Off} Failed to enable m2 volume support!" + echo -e "\n${Error}ERROR${Off} Failed to enable NVMe support!" + fi + fi + fi +fi + + +# Enable m2 volume support +if ls /dev | grep nv[em] >/dev/null ; then + if [[ $m2 != "no" ]]; then + if [[ $m2exists == "yes" ]]; then + # Check if m2 volume support is enabled + smp=support_m2_pool + setting="$(get_key_value $synoinfo ${smp})" + enabled="" + if [[ ! $setting ]]; then + # Add support_m2_pool="yes" + #echo 'support_m2_pool="yes"' >> "$synoinfo" + synosetkeyvalue "$synoinfo" "$smp" "yes" + enabled="yes" + elif [[ $setting == "no" ]]; then + # Change support_m2_pool="no" to "yes" + synosetkeyvalue "$synoinfo" "$smp" "yes" + enabled="yes" + elif [[ $setting == "yes" ]]; then + echo -e "\nM.2 volume support already enabled." + fi + + # Check if we enabled m2 volume support + setting="$(get_key_value $synoinfo ${smp})" + if [[ $enabled == "yes" ]]; then + if [[ $setting == "yes" ]]; then + echo -e "\nEnabled M.2 volume support." + else + echo -e "\n${Error}ERROR${Off} Failed to enable m2 volume support!" + fi fi fi fi From 5c2c1d3d7746b9547b0241b9d3e1372807b90896 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:59:42 +1100 Subject: [PATCH 084/163] Update syno_hdd_db.sh Bug fix for M.2 drives in adapter cards --- syno_hdd_db.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 0a892a4..509cad5 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -30,7 +30,7 @@ # Fixed bug where memory was shown in MB but with GB unit. -scriptver="v3.2.68" +scriptver="v3.2.69" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -701,7 +701,6 @@ getm2info(){ getcardmodel(){ # Get M.2 card model (if M.2 drives found) # $1 is /dev/nvme0n1 etc - isinm2card="" if [[ ${#nvmelist[@]} -gt "0" ]]; then cardmodel=$(synodisk --m2-card-model-get "$1") if [[ $cardmodel =~ M2D[0-9][0-9] ]]; then @@ -713,7 +712,6 @@ getcardmodel(){ m2carddblist+=("${model}_${cardmodel,,}.db") # M.2 card's db file fi m2cardlist+=("$cardmodel") # M.2 card - isinm2card="yes" elif [[ $cardmodel =~ E[0-9][0-9]+M.+ ]]; then # Ethernet + M2 adaptor card if [[ -f "${model}_${cardmodel,,}${version}.db" ]]; then @@ -723,17 +721,14 @@ getcardmodel(){ m2carddblist+=("${model}_${cardmodel,,}.db") # M.2 card's db file fi m2cardlist+=("$cardmodel") # M.2 card - isinm2card="yes" fi fi } m2_pool_support(){ # M.2 drives in M2 adaptor card do not support storage pools - if [[ $isinm2card != "yes" ]]; then - if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 - echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support - fi + if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 + echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support fi } From ac0a3f3439e21cf666a9e50185d8e4d8b85d137f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 1 Dec 2023 13:03:52 +1100 Subject: [PATCH 085/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 509cad5..1833ee3 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -30,7 +30,7 @@ # Fixed bug where memory was shown in MB but with GB unit. -scriptver="v3.2.69" +scriptver="v3.2.68" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From c79056a80c5100ce11855bc82010233fb3f3b896 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:37:15 +1100 Subject: [PATCH 086/163] Update CHANGES.txt --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index 08d391b..4073d58 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ v3.2.68 - Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using: - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. - Now edits model.dtb instead of downloading a pre-edited version. +- Improvements to --restore option. - Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 - Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161 - ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY From b2e0b8ce7e7898e672e7c9016fa1dc3f184398f8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:44:51 +1100 Subject: [PATCH 087/163] Update syno_hdd_db.sh Improvements to --restore option. --- syno_hdd_db.sh | 62 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 1833ee3..c9e5a62 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -16,8 +16,8 @@ #-------------------------------------------------------------------------------------------------- # CHANGES -# Updated so E10M20-T1, M2D20 and M2D18 now work in models that use device tree, -# and are using DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. +# Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use devicetree +# and are using DSM 7.2 Update 2 or 3, 7.2.1, 7.2.1 Update 1, 2 or 3. # # Now edits model.dtb instead of downloading a pre-edited version. # @@ -28,6 +28,8 @@ # - SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI # # Fixed bug where memory was shown in MB but with GB unit. +# +# Bug fixes and improvements to --restore option. scriptver="v3.2.68" @@ -463,54 +465,71 @@ synoinfo="/etc.defaults/synoinfo.conf" # Restore changes from backups if [[ $restore == "yes" ]]; then - dbbakfiles=($(find $dbpath -maxdepth 1 \( -name "*.db.new.bak" -o -name "*.db.bak" \))) - echo + dbbaklist=($(find $dbpath -maxdepth 1 \( -name "*.db.new.bak" -o -name "*.db.bak" \))) + # Sort array + IFS=$'\n' + dbbakfiles=($(sort <<<"${dbbaklist[*]}")) + unset IFS + echo "" if [[ ${#dbbakfiles[@]} -gt "0" ]] || [[ -f ${synoinfo}.bak ]] ||\ [[ -f ${dtb_file}.bak ]] || [[ -f ${adapter_cards}.bak ]] ; then # Restore synoinfo.conf from backup if [[ -f ${synoinfo}.bak ]]; then - if cp -p "${synoinfo}.bak" "${synoinfo}"; then - echo -e "Restored $(basename -- "$synoinfo")\n" - else - restoreerr=1 - echo -e "${Error}ERROR${Off} Failed to restore synoinfo.conf!\n" - fi + keyvalues=("support_disk_compatibility" "support_memory_compatibility") + keyvalues+=("mem_max_mb" "supportnvme" "support_m2_pool" "support_wdda") + for v in "${!keyvalues[@]}"; do + defaultval="$(get_key_value ${synoinfo}.bak "${keyvalues[v]}")" + currentval="$(get_key_value ${synoinfo} "${keyvalues[v]}")" + if [[ $currentval != "$defaultval" ]]; then + if synosetkeyvalue "$synoinfo" "${keyvalues[v]}" "$defaultval"; + then + echo "Restored ${keyvalues[v]} = $defaultval" + fi + fi + done fi + # Delete "drive_db_test_url=127.0.0.1" line (and line break) from synoinfo.conf + sed -i "/drive_db_test_url=*/d" "$synoinfo" + sed -i "/drive_db_test_url=*/d" /etc/synoinfo.conf + # Restore adapter_cards.conf from backup # /usr/syno/etc.defaults/adapter_cards.conf if [[ -f ${adapter_cards}.bak ]]; then if cp -p "${adapter_cards}.bak" "${adapter_cards}"; then - echo -e "Restored ${adapter_cards}\n" + echo "Restored ${adapter_cards}" else restoreerr=1 echo -e "${Error}ERROR${Off} Failed to restore ${adapter_cards}!\n" fi - fi - # /usr/syno/etc/adapter_cards.conf - if [[ -f ${adapter_cards2}.bak ]]; then - if cp -p "${adapter_cards2}.bak" "${adapter_cards2}"; then - echo -e "Restored ${adapter_cards2}\n" + # /usr/syno/etc/adapter_cards.conf + if cp -p "${adapter_cards}.bak" "${adapter_cards2}"; then + echo -e "Restored ${adapter_cards2}" else restoreerr=1 echo -e "${Error}ERROR${Off} Failed to restore ${adapter_cards2}!\n" fi + + # Make sure they don't lose E10M20-T1 network connection + modelrplowercase=${modelname//RP/rp} + set_section_key_value ${adapter_cards} E10M20-T1_sup_nic "$modelrplowercase" + set_section_key_value ${adapter_cards2} E10M20-T1_sup_nic "$modelrplowercase" fi # Restore model.dtb from backup if [[ -f ${dtb_file}.bak ]]; then # /etc.default/model.dtb if cp -p "${dtb_file}.bak" "${dtb_file}"; then - echo -e "Restored ${dtb_file}\n" + echo "Restored ${dtb_file}" else restoreerr=1 echo -e "${Error}ERROR${Off} Failed to restore ${dtb_file}!\n" fi # Restore /etc/model.dtb from /etc.default/model.dtb if cp -p "${dtb_file}.bak" "${dtb2_file}"; then - echo -e "Restored ${dtb2_file}\n" + echo -e "Restored ${dtb2_file}" else restoreerr=1 echo -e "${Error}ERROR${Off} Failed to restore ${dtb2_file}!\n" @@ -518,6 +537,8 @@ if [[ $restore == "yes" ]]; then fi # Restore .db files from backups + echo "" + # /var/lib/disk-compatibility for f in "${!dbbakfiles[@]}"; do replaceme="${dbbakfiles[f]%.bak}" # Remove .bak if cp -p "${dbbakfiles[f]}" "$replaceme"; then @@ -540,9 +561,6 @@ if [[ $restore == "yes" ]]; then fi done - # Delete "drive_db_test_url=127.0.0.1" line (inc. line break) from /etc/synoinfo.conf - sed -i "/drive_db_test_url=*/d" /etc/synoinfo.conf - # Update .db files from Synology syno_disk_db_update --update @@ -558,7 +576,7 @@ if [[ $restore == "yes" ]]; then echo -e "\nRestore successful." fi else - echo -e "Nothing to restore." + echo "Nothing to restore." fi exit fi From de35a3ad5482d84798367c9d63b6152b4eed10da Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:46:59 +1100 Subject: [PATCH 088/163] Delete dtb directory --- dtb/DS1520+_model.dtb | Bin 3617 -> 0 bytes dtb/DS1621+_model.dtb | Bin 3834 -> 0 bytes dtb/DS1821+_model.dtb | Bin 4420 -> 0 bytes dtb/DS1823+_model.dtb | Bin 5762 -> 0 bytes dtb/DS2422+_model.dtb | Bin 4923 -> 0 bytes dtb/RS1221+_model.dtb | Bin 3900 -> 0 bytes dtb/RS1221RP+_model.dtb | Bin 3904 -> 0 bytes dtb/RS2421+_model.dtb | Bin 5871 -> 0 bytes dtb/RS2421RP+_model.dtb | Bin 6225 -> 0 bytes dtb/RS2423+_model.dtb | Bin 9166 -> 0 bytes dtb/RS2821RP+_model.dtb | Bin 6918 -> 0 bytes dtb/RS822+_model.dtb | Bin 3617 -> 0 bytes dtb/RS822RP+_model.dtb | Bin 3617 -> 0 bytes 13 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/DS1520+_model.dtb delete mode 100644 dtb/DS1621+_model.dtb delete mode 100644 dtb/DS1821+_model.dtb delete mode 100644 dtb/DS1823+_model.dtb delete mode 100644 dtb/DS2422+_model.dtb delete mode 100644 dtb/RS1221+_model.dtb delete mode 100644 dtb/RS1221RP+_model.dtb delete mode 100644 dtb/RS2421+_model.dtb delete mode 100644 dtb/RS2421RP+_model.dtb delete mode 100644 dtb/RS2423+_model.dtb delete mode 100644 dtb/RS2821RP+_model.dtb delete mode 100644 dtb/RS822+_model.dtb delete mode 100644 dtb/RS822RP+_model.dtb diff --git a/dtb/DS1520+_model.dtb b/dtb/DS1520+_model.dtb deleted file mode 100644 index 5bce9d2f9169d9bcd84acafddecf237e72476549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5nJd22qfrnCp?g3bt8JSPr6B5` z0>U%VCa&@98$c(3kf%w@qUtgbu1^EK$kG9YUmRLyALiZCn!~(bT7Q7~b0A}9zimB% z2@KS&!*UV!3M~GSRx*+(ad^nGXAmhEMi_M5%oTI(%SW*)eEX!3A*RldktE zIc$&O!TVg7Lmg{dro36Kl~RsN$GSdV|4)4daYobF4NHv+>kND853akHti7|q`w4Uv z2nWg`?+?&jAj}E!&cO6Un6$PxRsR{u?+WZMo90uiQgKputmZ=MJH3?B7!1Qe`{zJ^ z72gsEHdVev{!o^sZrqbMbWB#|1!aYN6}zZL)R~5T74~tUoW_0+=EsRWukBgb)%}?Z zyG%viSB)xmu{#U7~`vx|K#BhQtV>dwWpXPhexXqywx&G&^2zKbQm=zo4cS{r#Us(Y`+ zn_qH#L|>eRygGgKVaa1r;$}f7q$FZK4ap%*dB9>K9u}Si@gRYRhYgZ(jsx=UQ1bh} z4;A*7rXbGg8_Dz{#+{V*fa48P>U2Yw_a|?47|TX>;Bztz;)AXmgk*Q`WG>8ra9I}0PAxVWqQc$FVBAw;4H+L4c*LZzLuBPEP@IUDJ z2T;%=Axb1VDkKmy`?7r(JGq2NSlaVGX1|$lW_H&1Y30ukLN5Ozgsc&=@&VrWpk0G@ z6&gI&2F$;e{o1dkMyKJug#G8!l*Mc~t<2wq{xVnd-o&wO+jCZ3=Rrm04D?YS;vp7} zZ$Ud(8CT`c!u-=BA5(bagL^JO+bIHnz2EQaImC&fRdL_I_zpC!=Ntq4{|%b8 zxzl$ZLkAv|ZQ^$Y)=GZip5A0-N#^mG6;B+5AXXd={K6M~t^1=Gm9~6V<5Td)R${nf z<**pYcOIj=5Qg4gx1+ZZ2J+N6B^ME%L;C|`s4;{sTaLZ$+MO5Dt*x=S4tvYkP{&SS zW1-@axL)Arp$ZSN(n(UyCyeVC+kRv}wAb(ldN5Pw!gtQYzz;@xkG9d$xH4pIxV=Si z1@~=t(}6=;wPU|CSI^1B4b>)NoARCIkAg_T2|rdicV}(GIQ&$y!j@)#EyT;%r2TaS zn{>Xn#IQfh2hVd;47IOa8S>T~oAb5WWO!*`H~Z`V$*(9aXrB6UrEuXH#(Mjk>*^)X zz9S@2R>n6SoyuzhT=Ow)3c8o}RMSVJ?}t#WeJWIi)E~!hY!EUBvwz76Ji@X+u|gz zhf=mJPVyRP;v|s%0jJet=iVxiukvr>q`ntS4%FjhzDtgIo*FqBy$9uS4 z{Dpj-lkm<-#;Gm$ma8?wkwv13Q(aaT3F9w{#m&oDuD{j*_z3k(=ZUbPf~k&r8)jon zYnXV4%+zN1?$veH)PbhEP27)izo~6m;9xfHrjLy#ap`XDA!~ArZQ_kgdkTCA$bO@NiIH%rj z?DNt7O9RFVvbFteli+`+I7(jcf}4@WwEU7{TO3DDoG;H$iCt diff --git a/dtb/DS1821+_model.dtb b/dtb/DS1821+_model.dtb deleted file mode 100644 index c90ec426c8f28715833c111fb07f8f048c60df48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4420 zcmd5=&2G~`5Z(nUD5WY@#epL?RA^=Ar?f~&NTjMbR6>G7B@UKjyNQMEHU0_BnYZ9Q zxbY6~2ndM_5+^t#X7G5OJS(>RXaLMVIWV1Q*h}ng@O5@Ft{zprg7Rb_Ff3LHpXTL))ukx zOe2JanT$u+vK%{cWq1gUMqxR}Fs?rgW8b)M9O577al2(MP?DyuV>?5&M%hRet_WEZ zZf6->&i%C2GhyT6vv^L1Emtnmwn^Vnd+7KAj^mX$wrC1LTqj4#D1#UDT;)aoyfhatSAySoOr}n z$*E~SRqYf-VlhslNN7$T9zs^k5_PMF1gJlEYWE3d^ejwSlAADV&$0?8p7j%FDEz)q z=b^6Gb$1Ycj}hzjc~x4kYh&&D*zp_mb4>34JnfgvBy`lzQzQZp<_hY31n-y7^jQsS zl%G%r?}aDk9^X(3Q)FUs)}OSBc_mY#SF3k-zTOI#8G7}6Rj-h&;|uvZk1q#Mm^1Y1 zc_kzGirlZ$dt;v7cHu_~ahTHEDdtfxwsnVvv7Pz-z#}1Zy?~6oB=uQD_~j~%{V0#& z^2PFadc*>Gdo0F>t_wTwjhBFU>b;i2A!Lk&Q`tE7CdX{oj^RQ%J?ti4nu=j3WT};S z1Hg3h#Iw!=I~~rR>NA#!ncPk?3;y}Q^2{2k zL_tAw{{e`ang$`!P*YNXgb*MaDr!!=_h!aliL=>LB6OA}9zVa&-+S|BoF8x8|C_Pr zK4FXxW5A985mE)fXn#-=%4C&>(?<)kHY;L&hMOOGLe(>2K{-MUsr}6%stn2 z1Mk2eoT=A{3uPaJf%Z_J)%C)Z7f}!wcY%f%(w~I!5)9;j#0)FH56@4)z~?J4-YJWj zfID7Dy9$G+aahP4Nkl_EGZ@w`K7S75Z5USXS1|vz@%$ake}my1y+8EcfC*g4+ZX>+ z@UD(OIU&70gNEF)umIt?i%asrKa;^K4_Ub@=pVT^$(jqK?6(bXa-3 z*M49Y){h0_w0deC!%OLC)&lu*+jCERclTWl>&o0b3zq8K2+vJHur&Ed{UC%AH0fbZ zHcy-Ngn9kbb@$xY-2?oA8ToB%;UA@Xfb0yMGzI6#I#PUa(r8?WIrLlSab>%g&ck(}-Q;B|CfpmjIzdh+ zjvK)9qU*ltdV9lq1=alyv2FBb=Vf^O9cXA1uy;V~&L8F(S&tj@_h3#wCn5?ag%BAK z;6m9Q;0qBp8buF!`550Bu;X#_VjR(|03y+Q0#|R9-wN`zY^AYkAf4e>i ztqtKZ`rrD8*?ZQ)&;UVyl5#+M4 zUrmsd{xd~yPk>ym%K6S;=Dp4NGW%wmTxGxaO!L6@@qF1id%-uaJwsLdZQnVL&VpLL zI;%9~tNp20J`dv+_GvLwUT13DaFaRn@l0XRaAEzT%>?crz^KltAY(DL>v8Vywsh*% zQRi+xsNc8kYE6B1U%l8aDX==1*sb1M9v!dd?6ZsiU#yIGzmCTNJQnN@>-S_g_QL?6 zz19Bab3T6SNM>B8O`|fql{kCU;j!{!bD+c2%@H`V-Y-Pj#7)A^B%kun=sUXyWb@EM`#*(6}*Xj57fBphVWS3;L)0GVNm4?g` z{ETfK0qVhVEtF}_%Xpj!mdZ#ZY%U5F%Z%ZsKz|<6SDwn_Y?i}Upq%AwfdVTb;pdt@ zjUw1yJ`x46D{`VpBx`C{DUxwvkw_{-CU~jG(Kav`Ds7wR><-~mNJxyCgb-m`AK30s#EaLv+F{6UZV0sF0$49CIbue-vCg3jhEB diff --git a/dtb/DS2422+_model.dtb b/dtb/DS2422+_model.dtb deleted file mode 100644 index aa85b59eefecb9e149e7d509c24540276b2449b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4923 zcmdT|&2G~`5Z(nUD5XGEap1@emA10o1PVw9iB^b1PjKkXa%?xTu)W4Vp*iywyazYl z0UiM%aY5n)XT;2`*LL05ZIb#xq>cAy_M2~JXS|bqUH$uuvGu2nv0cX2{=oA-v^8kA zp}~j0gyCn|Kk?1;(PelpWB>Ie6uuZvD)V=szmnwh=2+J>%`|$3@t`7e1^TED@em8g zccI;=jH~iXF#jTrGZ&ut!97=@9R{8qiwLI*93T2s+z&7Ydy4gs(EnB$e}ew^e0&X_ zU!Wm2V(`5~-7pO3$^A_>qu)xKony6$M?qvJzDS?zgu#7pV5JuImEAvRRPy@?V_dtG zw-Q70I4_3UkIxcg2SzYHClB<2!YMI&tr%6`H`~&m2}5x>Y0JZzFs9q`s1*bCsdH+! z1+oY}O+Kw-OtK`(X}=nXvf*M=oF|;w$w4E+oDsTo)@EP3*zy8T{|$etv51d zh;vikt%H1-cdo7lurbYZEig>mik&?57!Sum_5E=R_WstiZEaKA#V_c=jPw!c<19%W z+p3$$@T+d&yX})?MCjU-GSlcn+k5Z@BSB?b(uo5*_>}WWwSN1 zJvvEwmX&kfshRs_e+y�imnCu^*W3{Stk{(qk@66&H0(`RftxoaTCSu&`IF+Lt-3B(3|5Kq-68_-vN;IK#e6J@Y& ze5P;Fl)_ZLDb|g0UCBtj5~)dVwI*uNOR5y+6ured%3xczMG#r3H}G8+2*>r=*o_lU zgbe?vF_Xv(v&bCAB8yJXm>_RW3% zXxE^j4eQlW*8!67LHkXZS7ENioS*7NR+eNQk6H1=K@-G^qn=;*qObk^Ax5SDKh^jW zys?!wTro4N4fKD~MrSS?dVSrG?p!tyXU)!mV;{Qq#v4gVE3a#?w&ayMb^;3v#bx4p zfuDzpT4JTcq?#WXlRvh-X+N-c@dtXsZxu(2a2^JJaH7{}A1!TH(%ojaJC9w#;i0=f ze?BE{s1_OD6nB;K8GC@pB7`f;V`V7^1GwAQ$;JTh0H##wjcth3iu zHDN4nD=@!q+YfDLbGtk}rcTv!DW;*<&nZo1g5jQ!YgQNU0S_is97J4Dm*sximnUyR zSMiOyLcfklWZ5DynSG~WQu#g;CP}fWgH|1rn7sf@J56yi=W7}!S=uG<)8e!xV{Q1V zV-l7Yi3x2R?%Q&2yY$nVhH0nN6}Ib`1mX+8)Oem|j+6Q(G5Fig(_Skk!OkKvwZ&<< zS|c1;B$_bQb!Cx2-814OqIdzA8qX6lYWy6_y}F;WNEqF*IMsD!k!ZjqBECpWX5TYv zMBPtWBxb`Ti-fUF@e=Yfmg_HKNPu(PJNW;>*vx{6j@@_g9k1^$kto8~0q<4Rh&AjD zI0h0P5kU%1iI0+LC0qe}Yi7MZ748deOU(O{Uvml8KXK?Oyv9zK7sj z=p%^WjUWi#i|5Q=l3kPSmM$2W&CHoIXU_MXGiS12R{s1XWObhqvP;OyFL>XFb_d#R zXz*AsK>kVg8^4wsU4{1&_Fs)t7PH~FCcg{)0N_9?uj4y zXg8pt4eRA`-vOfVLHljES7ENg&Cm2AD@!sjk6E$rpb28d(ZDZ!(bxWd7o*DmA8LFB z-qJ$#2`)2L_yaxRw~C`h@;nUu;8d^CK3dwYq`S**e;&Jn!z1@# z{(MT@P%SdPDef%)G>8N$nLjnmy-DBTj9IsouJEOuueop;pEO?=@JZ)tM+~S#Phe zYQjX^R$zYJwjbHf=5}>@Oq~+Bq|de$)6g4oN>iC&D2H6L`gj+3Fsb4o;)1%2`{_`g zyeVD9H|h%gCMJ<(i^ODdaTX?(@8`lKDK>S`YGM+zmw;)fEl!5ZS(s#Lm%Pu4)0T|2 zvE9TZEG-ff?rym6%DwH%Pm!lxxwlj43foOg0`VnaYCTVe%UN+!-y{Zq7pA>VOoE+7 zV#3{xpA&IfuGa`h773#}fvKr0i-h5;87C3NOTg56p3t`OvlEjn5=OTZlPnS~m_)=E ziK(mZHMy5X;(VB7kuaDjUP4~Rxc(xB1h~MxgZ~$d%`AxM#C-?f@%ru(i6VS0^Fd9G zSffFiV{*cSyyBY2@Lq>zxPUdP%nKd-hI-~~2$8m_N_#c$R`Xg%?kg>|?F$@t@7vpG zV42#tU(IW7mI9V!ei02~N)i^*n2adTBbE|zG3Qy7mKj{!tjwk*9_agHDL)NEh}t{K zK|QB$m2v_MdN@^#Gdd~rLqCI$k!f+rX`V}Qkg(k2bO<(sl2h*__Vd$!PYoC=!#{nVH3UTNKIP?}}ldz3Q*1^e^?wNnVFW?XG zJK!fEBrZsZ19!yCIJ28g<7~I22c)j#jXm~!o~J#@m!&^Hg}C}l2=PFOD<9!`6WS$c z7oow=dIt1N_hD~$sswZzPq0G;s>^F1`si+FJS0ovEf z_!IQMmE+U!{0t4T5yN`1<+#p$=xKhF?r6WM?rN8rtSrsEJdwo{hcK)p?)!yLeU|q- zji&PbD96X(iEWDE(#(D_Q2xCbD+^&T|EwInR*b6c&AO~Egwd?a+Cmu3x@g~;Y>GVW zC$lb)P4L?*7$L?iZt~3--&LQ+y8Lo~FFJ z40H9oW5#LT9OWL_b#fLR<=(74j&hH4(Ase9P1nBrN~a8+7pB}>p2@w)u~T3y%3Mob zFYr}ZUVFkC?xfYb`vUO(w(WcN9s2?PK@TXCJJu3;9tM7}%{&wN7*}6~ZMeNfa48-( z-E~)s(W*DfK0R|%H!PVfmaVki|Dv;_udl^)E}8b|>~9A#c~bkb;^&pRKcE(~&X#M* z{^l52$d?nDI7SX26W?nsK3uKq19@VMThcEc7LgkINu?mfyX_?KE$3VnYP%urhU2X5 zmiDn~IxNBbE!%!%JNJ6i?3vu}WLLzdeUm8kr1FOYolQuGI@iJ~?i@7MwLwO*U^y;kzObcQ$}$0TwmjRY)d@SiQj>Y#(3<&*Hn~sAfquJJFugE;R2w;l#~7V z59g15sq02gqtCmrXL)6JVNau+2eN0d+w(H1;5*Kpvb+;5ck-&~oMs!*SzWqMqxAp@CcG8SSaJ+Z0DCIpNT Hg9zd;N)Y#q diff --git a/dtb/RS2421RP+_model.dtb b/dtb/RS2421RP+_model.dtb deleted file mode 100644 index 4b7d333a9f52fbd5be743d699ab9c77a2d8b5e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6225 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 diff --git a/dtb/RS822+_model.dtb b/dtb/RS822+_model.dtb deleted file mode 100644 index caf3a9c1fa5c4fc67c49d4fe2a5b96ef3d60f078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5DEbKurms0ED2RfR7OI-u&6!JNwo?i-MKj?aZ6^e(%q`d9(NP*0a9}x&0;~ zf&xfZ(BD0snJ1T>hb9dJWz;aQw+>tx7dJ9q?a;@l6x>e33B5xHboA z`nDHB-RFVO9^&Er7SL-z&jBGX@=*@eUI0Qle1BwhE8&e##CiUBRbVt0Q~3w;B(g#dUia zbDjDvAFZ+FvkSQnN?lwr*X#53|EaH{wo=!k95fxQckG3~nAmxItzfVF6$tABACyDh zKR_=5;hrGxCeSlsD>)O%KJ(3RweGe+{5oUr!%0i~ljil$)LkiaKGRax01OY>0DJTf z-UA#K!=AZ4L|LUpJ@cpZjBMB&ly&mU@wP7Km%=irBhyA=-{K?K_Z2!>))B}AT=#O9%=WuUd`zy@R^at?M#XnXn z{wnHa$7*E{Km+bMwc?O2%9XqS0b`h}+c3XUt&HR<;;qTm8-E5L(DbEqwGYzpba@@i z)w{i{lb6^$c%yXuk^#djeZK1f$#@SK)WG*sFcarc16ytI&)ICULay{Ns8!!*k{x&Q zom^|C12IAu)7E(R<37=kVSW#&JAHSQ6OIZ;+>X2y{s|^i9k?)bx7Y;0#5Zxm*;P zjGtQ$AHKzDrERutCVP|jm;gA(hn`BmWG9p8OJ_S^1ecsF^jcc2+%M=?z}O#RAP&-v zOjV7r#k7>9Qn@V2LTXc}nz&2EG)3JuaLK5)Im>}SN^$D>^E`*DekwJH8~KH2W|cBr z%NcO8R!e?d3Nt@{X{waRFOt2t1?x3wsVO?6do#|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ From ebdf38105cfc7da7116066ee25d61495e26ff1d1 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:53:25 +1100 Subject: [PATCH 089/163] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 4073d58..e6ee8d2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,6 @@ v3.2.68 - Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using: - - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. + - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. Issue #132, #148 - Now edits model.dtb instead of downloading a pre-edited version. - Improvements to --restore option. - Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 From 861570d116b5bd11270e7d1fd14bd113b0cb5883 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 3 Dec 2023 14:36:22 +1100 Subject: [PATCH 090/163] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index dc54161..2d7bc17 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ ### Download the script See How to download the script for the easiest way to download the script. +Do ***NOT*** save the script to a M.2 volume. The M.2 volume won't be available until after the script has run. + ### When to run the script You would need to re-run the script after a DSM update. If you have DSM set to auto update the best option is to run the script every time the Synology boots, and the best way to do that is to setup a scheduled task to run the the script at boot-up. From 7e90269f731808d92b0b7344c586983e9d78d5db Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 3 Dec 2023 14:38:09 +1100 Subject: [PATCH 091/163] Delete lib directory --- lib/64570_libsynonvme.so.1 | Bin 54154 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/64570_libsynonvme.so.1 diff --git a/lib/64570_libsynonvme.so.1 b/lib/64570_libsynonvme.so.1 deleted file mode 100644 index 1f97be2d5b43e3d68c45f780d3857d597862d842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54154 zcmeIb34ByV_CMO$AOh)*BWPUERvQInNmLY2#x!)GBLN~wFbWz%(t${l&U88$T%$>p zHbyfeqqxirZVZ2QM#eR`U;qVoaYq?7u5;UnqN9j1+VA^4Rk!deYt+T`wW^>h{dkT5k}lbiJtRb-f#(zADVvY&|+P z>m>t?^`6o7p3(KpG?NIp%rsqPMJD7kYpVhzritA)>lJ+xto)zUE7bMU?^o?5rvKD~ zYNqCxor!wv-+z1Q;j_)t?F}SPua=9MnmSdEhJv`y#XTQ)J#JIvc(l#MeF7hF<>H>r z2VAG(o{sxK+bB;1p5m*A$H$KpN*_u;tb;m*O$ zYclRLr}o7Ys_XX8Ev_cYuMxOx3nCGxize;4Ae#63YEHrq_3Mf!QMPWwwn z0_g0o;C}!s({*N8>U#9EIp${30{w6>(nE1q;0|cm{yH_2TJr%Zb?zvg-w)|oxX0+c zHJOD>qAni>*l(;zcphxYXIP&9+sEU8n4*zS*QraV$Le&6P8~>(z&#xIBHX-=REcdU z(gNJoxM`2aU3l~SbjML6*QPvp>E&-W-Tvy_AMd>Q^-^LFw z|KRp#n^J~9^XZ<9HqSjZ=k0&M6vC+gv^4`zw!sIP1ED7Ctcji04-Qb^O>zs!vb3Hkf_Fzh1m!@~68#uOIzw z^^6gBm5hFC_lsHSZ*A#)>=oY=AD+Fb^P(%?eJ-oyj_S`J-gaWi;uBY|du+-_oilHq z|F5@JG~fD(=Otg*^H|QUKi&J&wH}Yf9?B0q9H_ z0Dt}f^ved2^JxR%zdJyG=MO;VCCIT~`3%5kCY)D)_wow_`G-kKG9v9GeI|*J$8V0zaD_TYXJJ01Ms_<8rg$53@DvfOUwbxmCt}m~A%$OI$+V#5do}zt-R>d= z$hbO@=XIvYZJ2Gl4qkUCuq{)=J4+N`k>>Lfr28XM?*350w`=@Wn$O)jh`mz7>&^a7 zR)AdH?m;I1mn!%!jenZx)iB$d)e4ZW;g@Rs%s(i=XBz&!$RF}#pp5HJDzV+8<*?hW z0QAee*qz@X65l;hvJzYK>15sC-3(xGnR2*J(^;eGFxKJqK5n6-$M-6M+HB8h{O0Kj zFcp0B%GUfZx=iJJRbu-Be34Fet^)j4^BL0pvQd$6c|e!f$C{4wMwRFKhS!6peEz8N z*JwKTAxrw5noq`Nyl&9=ovT#-VwKo_qxqNM60q@_&fR)^n}Z6`l=JIaZcYYxxISdC zi)(?Vzg`PwFoRTF59@vv-m3DOH2ohnezWe^;TrxYjo&;^;oqean*-(SSMwk+iat5(Zlw_Y5C6xjBfmfM;e6u?|V z=4*Iivx1+e={%?DWa|aw7zT)!5H9l3=e@R(IQ+ZicbzON) z^@ToL(b;q6&Y3^km*2p@MMWN4Lok5<(OAQZh8q8pvWlh4qF6<~ipGF1FHqiqng#jO zrsp;JDr%y|Qczr7>znBdMuF3p`YM(cHP+Yr13`CPrP+*B*I>e;`1zH-x?pwHis`{X zO&p!t%6a7%OatSA6;^m&Q_xpeS>&s!D)u!5+4}72IwI7T*VOncY*hhYjQEV|KrNUk z@&&5PYv%dND{T#R^?~ZTU==$YEU#F`{+3mhSI2tgscu*{+h6I6d%S zC~;9VGpcJShgrTA^UG@*eYRR(ZG%ND9^di;e}%OpMK%6leqEIxu=yuM#R0rIimTj)xP|?N?((;rf_FsRr%|Ebtj*s#%IP7U$B8gTH~v;RaMmZF>uJ$Rn*oq4OA@U zNLM%bD<)4aYiOt_ud9l-TvQ7^%l8!fi=Ylm8ZMNPBaAII#G?VF*q<-TL(&D%NOxtW ztwId}TB>ZUw*~zkeT+M;4C}x_429*vrG)`sRdo|dqhr3tYLzZQT2|%@ z1nT@{81nL9wZBgFzmURMUSWge1HK00sVCNiVqpA54-2D`0TF+oEMS8@_%5hfkzd!~ z3j}?YCk84D(eo9esT|qq~2c18mVspwJhnfX$UJ@s%|AqP>|0NiNg+Xlo2s*Hl#o%S2>+sH%pSC~Ih3 zTnEdr5mM)CiUHW_3{Npyp|S`QDq9%9h(M4~7;q8gPBgfv-baI&w!#CQC58M3syppM zva?T^ULL57Gere5m6UZ9rI;yM+7`Q!Jjv!Y)>Xsa5=@DD21ixAqTVNtOVBy$GkhX= z89vkVEsvI-1?eiCu#T^Hdhu-J^Xq2$YL-{m#cU>8Fx^+vP~8|S(5*lUR{gbAEuk5k zLm6vK@bmzaCi49^CIyL&6~TYasA+6i8l_y|k5dc?Bfp{Kgy;Z>2T-2e^taKfak`ve zr!1rY(m6g~r4p{EIv|=(7gZjFwgNC6Iu?YxTvk~fpaqCUiW$+j&ut7s&zG^|D6bRc zGL41>#F@5&MyCXr7Z3+cfTj98UyUz1hq0`rj@qs(Mww9g{Hi(rpfX4?W`F&PV!y}N zK!2nfAsFKvb@esXiyPppD=|mZme-GO@Q=^2X&C&4kAPDMfZ0R~EBJJ>iB`9~R?u>6 z=-doXaaqpz6Kpft(Xtaz*L*r5_ITonQRqq0rxV6cj6R<@{v^f|$=G*I!p*<@Pd)Lk zdP+r_hTB>aduEM6x@<5~vm{+=Bw-I$l`GmT9b}8$Moy-w|qb{9Sh{yk`>dAG$-q zwUXs|&kMcLWM`Z|K zq8{b%q#l(aJXJl)-`pORA$*p4l)v5{l_A`GM?*+q5C1BD($u5;E$vYm;!}3!wWvou z5uU3aXAgo1db+pHTS4T(wQ5D+H5N=aC6U$#hn)T zPy+O|x<@^b&M*yQvZhC62-iz*0j#sYJqktsuD8Ig?+UvtaJvP++X8o3;Llj#^v~wC zy+=KfAL~2N9TvECf3e2`=X){pGJ4b#=^S7Jk?!tM8N!FFNBO(AM`Z{fp&r%W4`T2G zE%0;;{2&WF(*n=3z_TpygDr5U1%8MHKH383yJ7Rnw!jZFfk-D=;7cv=Tnl`p1@5)L z54XSzE$|~O@KOuhXMr!Wz?~NOQVaY@3%uR}Kgt4cvcO#yc(Vo0J$dt5X@QS2fk-SrhNJ_gc@Z&7_&sgAk%UVjeTj0lA z@ON0?V=eF=3;Zk#+_1pMS>U@Z@I@B*UJKmZlapdS@6#@(S@6>>@Cg=prUjmDfoECZ zITpCn0zbh5A8mn`Tj1Fic$Eb{$pSyo0?)O;OD%A(1umhqE-SRab?7D~r53o}G8OnD z3w)A={!$BkvISmmf&b0|Z?eFrSm4bTxZXmP(v=qYd<%Z31wPdRUu}W^)&l?a@mC4_ zDuG`m@T&xVmB6nO_*DY`f0ux_<@0oJd)gcK*=*jn?qG6cySL@3^es`bL?(WSqR6O^ z@z-%gE}oc|6<4??f@{<}%qO8jc)R3ZWj>ktZplB#JhwE$>m|RLd2U&R*GT?R=DGC{ z?v(uf%yY{j+${OKnP)g2u9y7n%yWw&yh!plGtVuAaG~V?z&y7I!nu;ant5&wgtH}o z1@qhz2s9AAsKl~keE|tTXlK+}{E|J4F$$!Q? zm&W1UKeGQHGVf%*NAmA5e|$p@Gp&%90Y=QBTn`Q87K@n@b(y>O4@&taZRyzq9(&tslTyKuMU z&tRTQwD5Y#Ph*}-u<#nmPhp-*uW+a2Phg%)u5h#Dk7NE6=IbSY6!Tnqg%?Tw5azk$ z3KvTLH_UTM70#9X5azj*3TI0`nR#wihMkiC;cv)u=@ibC{MXEL$rQFp{xjxJXMXoS z8Gq(;neUPOJIuS8-!A!AnV-gdx8$E=eme8(CBK<@Zn1^eNd8gg^O*0H{Qb<&V7^)M zcQZee`FhFU&b*iTMUuan`F!RJCI1KJ&tN`R@>erIi}`HHU%`9<^G?ZM$oy>PGbJBj zeh%|C$)C^sT;_NGAmh(`A@e$gqYexjEAVG)8pW7&?v^dA)!Sa>IHFbfV^(~ATO@e2w`1b8 z^HJ>})If`lKXyAF?iT+a#n0(>chMPnJ2GCWw%IlcyB#BT;Q2{9bz>)tqzm;Uy<0gy zkbZt>Z(h!`sPO`@a=N`8Bc5l~4MJw>Ry>C%!nHV#fEEzHi?hcTG^z7NUNCozH?+@~ zgAsrvPWOi12d_7vrm+k)7etxe66NkvHbL&B!AZy|{!RsdIo%7kIF4vWp|mIT=X*n6 zd)xK|=WO8nGEfhq3fsI8THn^)n7m+1e&}s?7d>^9ZpO((>KMVs6#0JwTe{B{z`wi8 zjtc1eFrY;1jaY{nQ&qSJ6?$Kc%9s5w@rHhUl3WyVWQ;I6?G0`5w(Sa*v!ksXIqF2{ zOXCR9cMzl-AUBR6e38=vnT@>#Xz5<7YcwQ~)14ps#vA%HKlFWm=tXbnyA5~;X>*Ke zb!BptwzawjBjv^Ck@|UStINU1e|ztl-S(`b^+`O>Zu{8L`mj9g3cco7)!p{0#Qy1JDzCIuD|~_K$cj2)%6hV9Lm^{0H*w9@p@HJNyN%RBy$%1)(p!9pi4ffc?Hk zm`c8SP59#7_&-*Z;VABlnlvT zOoodgLoXn(0d0p2fgqE`kXXzPoIX<~M}sRRzx&-?3~zvYavW|_RMy{N;2^*HJxYH4 zXmfV|5>zVPuLM=ElwQY4&e66P+(3Gc)-Ulu32sBDshxvh@|U0Hy6WJf`rz_{jypwW z9>*iYTpOG~&FL=aNLz;<@-Vz@BSBC=BmbL7Brm5s^fnZ;AoMBbpX-2Q+%7~f_4K2W zjWvJQvth>vp&~A!D zn}eKEc@NQUH=aP>tHztmJB|?l-;Y1K{PQl*+wcbf*xhvp;8D}b_&bIGBXN9G z#2;X+JJtAATE>sv!T4PU^l0S~>&nf6xrYja@uQ~&T4@~GxyY&UYbDz4G6Q$Uv2mpV;a1OA~mU{0SkDy_~ zQnnKFePb}1_jY(vBF&SA1V`rVq~*N!6=0mkcj#$A@rN3{??G?fT^vpks0ipWbOSUp zwk)O?M~p;EMj@K+eZaJ%EV9*+aXS!V#MfxB2-eTn1Gn~Kt(akRa`#vmce?^!%k?<+nt4wp`KCwV77?YLqG;E$#f zv18&I(uX8Q?xwy4CvSvY1yI8pfSdwn7WxpFWPz9|U;tLqhyn`8jOUs!N}bTS$=k9e zt@km;GhVp4juE|nR{8?o4=(C^w9)&ls1lcfu}%(Foh*-b(t$SAoN%k@GTdESj_*K& zqg6-jIL{Q!PK;&mbMCH@(y@#O;?TB6)&4=E-J#^yF%vz>T0R`{y$>quZI|G;6$F?` zI}@-FqKVYKTNJ*#xS)O1sem$2EXvv0J3Qvn(DNj3%f3T`hv&DS_D}TLcuqvx_^DDP zQ%(zVx+ygoKlfSmaqjt1y&r9f!#u7mPP?ft8Os;J62}t8Aa;>YFZimX^&x@3J3d# z$MiKE5|imGr+XtyjP_lu@uhJ9(7i2}u&L>p!R-8Ya2P7h$`2jpqF*d_WksE0<1!f1 zXk|w3^W0^S0cxFV>wUEf@o_1r!Y=-}$U2_s=bGa=6bjh#Or-Z-cNfN(n9JfYmqoSZ z1M1c5#yMYDrx@DD+h2G)W;)(ZdjY79hco~AY^d1v%}$RCf$e5*i;?u+X7A*;8b5h= zhdI6_STSw56s^g)s91UQAi8-=c$@_Q=fcNb&Sdgc?8@|NC-2?naiycW3Y1ZbiDpAC z^4`!}c$8S;`ZSK@w=$Af;aLI}*w@-JihrBY@}*2lZKtBl<9N6L)I*;XbX2<1bGkS1 zh>;2^_~h-l)y3btz;I20+-RMj^m4f0W_S_$(k%-*m|-z!8#jL*i6BNPaP1GoKD6AI zhxdohfYc-+|0$jh8bNC#j$+X~p##Pa=#LHvq!VjlJb@HN;A;$}vA;=R_y7d95$n)+ z0?J>F*u+XUEkX9v%IA!E&a=FH*=-SVdJC5W|k0&=+ksGDSeZ^96S7_Y$ zi{y4<+>PB~R0u`6qXvSzu&BhB#_gKiBEzf6iPX^5m^z`KzX$q8YL#(YJh}Z8xxZ<0 zMVef_@jbi!v$C5??&igl8=}YsG`UnE_qeMWVB@d9NU?Vz&}{J(xu=Z&PSh0dXDO_+ zlN3vSk>X9H_;({tg4~q`#oZ|4_%6~E*N|e$FH)RIiVNc@W+;k((-iHR;(Aj22SxC+ za{P7y(1yfQRNEUPYBa^iS&CkFlVaH~QoMr{yZ#l|Ylq_TSWWSKP!tUjb@8-cH%6P8N_IKio8q?L*@AL=tb1kqPl6_E#jnB8iV#ggGWZ8h6wG#-^Cd z5OdQ-$AYz1)aL%rEkY$@;yKp&r4}?*AaxI96ut!uauug>|K$c%BgL$NZZyp|@h_rG z+fQ>D_kXH`ld$aaeFO&edWPF&XJLZ{@fTv)-oYvk>h-pt%91pr6g9o=7csg;?hKX7 zRJqe6w=4_7HnRELwySXq<4{>h=OQw(te!lWSr{*$6^$LNdpehYUJ5hj6o&iRxVg)V zT{Ld(>O$1pwgm+8Cco}zy#m!AWz>#^!jnuz-sCR}tmkpN>L5&4QY~02n4vEe z;#Fv$h>u`C#Q2=bVJ_&%xDg6N{TTVt}BF6W?@FLW9wD~zR!x1e(`(CU=IgBuYRN1z2wB3%m z4Q5aZs3){LKHdWDwv}L4`t=z0Y;*QVmsE#NRvl`s;@Eej{q<}l5S`3ER3L;2mx3EA zLM{}+*!mF|=m@%UALUHZK8fPK9pZ)%ZbIF{^CRb@m)`aQm($(FARo~q8n-=pH2y#e z?*U21S5PPj$}PGY5H$C;JUOWi^tXtf40Q+(Gxw>j?0XQ;r5j&^C+rhnst02T>ZqZR zmcdO&#>T3kK1;&I=&txPrSkXS%%`PQ zk#aR)rj%dAvq;&4wkhE7z1Z)DT&?40oC4X^Chv)IS&Z6APITr=CzH8wLzHv=*;BR!wW`v%;+(!;3!8dqzY z;Wq51cMd4G2YULGTL+X9bX!3e;&T_D9|<1{Er~gCb~mP0Io*+g-wS;`0@W~( zqtRu;c^AN@vW-2oKS)z)pS%dv`}=u0yG#~e6`L&x8ICc<%4{78Jko4?A$xGR6V6!m zyb#h~i<}5t#6aPOr>Jo=iFYTuga_V_?>}i@r)XaWYFf#|283wQpJgaAO+Ue99z`D5 z{g5zYBoNh?p;$TE=*hRW1C{XM%N1Z5JZ3Ox_;XQgSl&4uCOBF9JIJa;hsfQ}ZcX zTs8j`8r4eeSIMe;X)I()S1%Wvwiw5PBg^|Cgf28fL?`EiC4?~u@$50Gt6|*0Sf94~SkI`jCvWucvKnh|U zNlIy5)PphGb6!Pb-p!#DS;F_;)`=Gfq9STHt)SyU7hlK~guXTwgSocuOE+OV=TR=M za`qTcf?^3odN^9ZTY$oRytM2X@pch~;O?3Uq?n+M+fiRyJ?CuCnBBc?rd}_hEITsZ zL9Lh_3JMq;cH2;Fdfq#q|6nNS^e!u+v$JyMW0Z zJ;6VMmQ? zY~#VbmuWvC!2FhNNd>0@r(x+C?WgVA$d^pUl$~e;JH{BU(j*3n2FmLy*H|D zexQ~DCuS_DROJ;bQf{dVqLX^z#bN{6l^w0fLd;N6t2J%YcjbvO9Lrw$=RnzombFI79W%kFi$$ zgNN*|gO$+^n(asX#~#J}*UY&l&-Z|)>fick|MsCYhU+dcaW4Zd`nUJ3SpNoGd&_%0 zeYT>s{}-8Fr}Aw-NKiHKB;M-E%@nsMYjr#dIeG?e{ht9ZP=G}|alD~d5E?XteZBPl z$=HX%z#Ou227P14$Xb-q7=r+tFU)#S#Mi~!jE&I9&=#V%0+t{87$Nu~)aX6TlxOHY z&U(i{5DIT0@Z?SQMs!A|v2)&34RYb}DEGVYYLnC3<~L;UHWt7oI4xB=(uSc0%v#2J zV8C(x2p{k6x)jyPNEXSYf(*R>s62&ufsn#_7{*3&xr&^2cF&_e$(1XtmCp(f-x)`O zv4YSZEUB^YZ=9%U91j|gp$%L3di=rrh)QIvmY$IgdNBBdkQkRhY?xV zUn!vG8$)^3;qJNs^x!}?!%AX0^$>_D`#K&Jl~7;d6NMkT=ci~qrd~!K^EwnS#JCyq z=>;WsS4fdvh76c%13gV$k$oLH8lD@YBW~|^X4g1TWMr$V=Oa;d*09dukcV*~grnyF zB8a_}h&YL5g8)ODB@$_SHRwZ0KuX>>J_SBX;96`bnT3*aUGjn|VaSY<9F!F5lKWK& zhZZFVq2zR3vKl3D#Rqq{^rXR6#ezM=OA_x{_q)85LkQDHoY&+M51r)e&sqdS%3(TM z%jNky<5S2}ZAP^o3f5Hc{eEoLmB3jhTK=gw=WM3y!7tNpoo?4@k4|^%lzSJ%%hah; zr=7Zd4N~LJl<3nPx!-Yn=gLdKUCWPYj@J46L5sdLvLOeumLGbG=X5e1`(vm}(~TXd zh2<3{Sx4)GKo#4i9c1UjvVWjlp++m5;Zsnk=j+gW+&HRZdt%>*u?cL}ex~jAJLC3O zmEDfQE|Q!+_|9-ZOz^i`ROQ=97{PDT1B^%txl<=wcj=+AuFyi4t008AzV|StH|-}O z|E2LG>!iA9$O}LhdlWKjo9!Co%toOGQu63v$OXDE1yh=F-7C`m1Dco<#AMW(Zu535 zbk&CsqfC!zMvbV8NOp6y-#3b-s-x{AA$P9~8)A!I%p{)BS8Siv=*y-66IS&KO59z? zfg+hbA6mg(OpX?+ZHiTM5(0OYq8eCvA~2t1AZToQjl(inhUHvDRNnTW3tJgo%`6OV zSJM3o==trZ!(`toWcy+4j0wU=WCL{D{{x9_&Tk*=-PX+3dChJ=J=DqhbX)UE`~{C7 z4u#0Sd>c_(Y)KyawJ(ipqk6saBG|s}sgwASNw?x5v>iq6E}nLQ7dS3I>N&vFNOV*= zgX__o-gTX;@dti#)}G+lNSe~)g7sbD=b1Qbn+L681-8x1W2mSEfu zfthc#YoRsT3i!V4J7^UcS&I-&1+*)_f%18vpXvFbFM1D#AMu2~VAsw?FEz>wf)e(I z-q9uzF|K=A4ca3Rm7dCQDkoxm_mb%4V+@MxJ)u~gj zDDdfoChKrlx-;LXrj$Ba$g!ZC~99}$>#3bpsAG#wN_I{N5-l- zrP?-b;Tj8sSI5ecz*c&CFa(z$8YFtUM7H8ZMGHbd885x4I$RA|%&3vx$a$%bj5}rkt7F6y zfW^&Y!@z9#aBRzHJ9l>-Al=Rgph9du^`V~9+no?<_|kpm{N?Vto9%aGOpC*x7{$Mb z_+Ov_aP$sv++7=0h5Z#r$0u@hAuBwA3hu6S#mc|(tgMiTVx^FnEkA%Xmt5|yQ-Lls z@588o&NiAXDfA z0=S*g;bCZ28|(koIV)iTWZ=NVy~9mT62zJOo&rA4o-ydT-}>p)!RS0HVeIfv@c! z8Wdg*Bl5`f8+t!4^o{Z9GXVY_Gb?#GTaD;-H=~2@uDy!f(W>1J(CM9r`5`ao<8UJ? z%*LK<7vFtF+sfGM78V~t4b|jQG^q?XoP~znUAK$KGhSAR?;(-ef{o?>q!|7oW)siE zHStGPvpCvB8mqLt6bT=X1~|^{u9MM7j4VXANLBh8m5evg$MAjdg2pUJ+}*XpBriMw z`9y{MG?CX4`BdTjD2*Q={+uFVdxWp zIP2GGk^Gt%gXIFFb%%?%@N)6~7JixU}un#*B)8gvMu9T||>%$8cSCtl}LJjj{sjmzs4|th4Fxf zo7k*ttFkNEuhQqk_hCP74e;ZXilILAod@g8^W*E_T|%271iG}gSDTLJ&KvP!d(fvr z7;6BDe)mMZeB0f15MUw$h^0sIGz5JR12Hl|H>bPzAI4RXw3b7k^>54$F8_R8Dz|Mv zj_x)=%Xh{zKU|o{@~s|b;TVHO6sIk`@w-YIf84bOB&xiQx@Wu{t*&NpN3+S6jb~t0 z0*j^F3qn1P1Bc$v>?p+Zf^lj)hY+^ikA*y$puDyV_@L9pI? zl8Lbw&B7P8m7)}1hMlHgeWp*Ms1SC7YQnqKzf9HdR>uJcXCT(nl<@+zs?+Gj#=Gi+ zyhJ}bjnZ#*t%l}U>^qm>%b!{YXnYt7f2H`~Sr*Lv!f4JO#pugm6g!GXqIK}w+Jjzk zOLGkvq(hFrQdX`8N@bi2ZoGKOMTZkTYx0zFGK7dgZrmx+7t8Lh$w0xenS_%jL7*7h zfX?novBFf2=V;X7cO8&FI2qw5^36aFpJuL8;tmj82X3$*GD{2iuTU)|UZIA!$sHMa zr@?xURphp#Tn<0X)a`pFf9q&nlm0LDzq_CQZ#7PaUc`=#9D#Nq*5@$L=6DN3 z=q@@HK&d|efm#+ZP%o@v;7di6h>9QiexyrIcQb&PZ@=ewYZx1s^zccCU2{t_V% z;>cf++a(+OmD_wM8mP_&Rfw+yr$!DFg~_$jLzLd5k7cP-uF!$4=rZkQRDX1zGJb+O zf$kS4Qu>sRc`RcK;!ruq@C*FD_(VVaK4q*`bZ-D%lj1U=XpVOaN~oJ^M3mMkE6F$j zFgfRO8*t!@4x!0oNWy>n0q1Sv2IM;QisQWvvek-o94d)f^Lz)XV{DW)DqRA>XK6zu zcm!nVHoq;r6`oHJ8N7~IJ=UCbZvnOr=2InVb#e5uTM>uqTFYE zE!x*Kg&#}DVqz6CfZow@{KTm5M76F6F8#gqVIUXnXT~mgIB@!#C^Pp09p4c}50#Ri zlF;s={qVaZpQlfaL~OPTj>p#|Wbx?9Z(ef5rcX0F4m(h0)X+P|Y*fdN@I(j^2RU#? zHTu2a^JppB?ucuUQ@uYGHH5$37x8Xk#Dge+V#t(T;_f=q)Me7Vk9Z2jM*c17? zd^2D4U%r)p!}lO;jIrPOv+)ssriAek*K?R~Uge|{7ax^oksCw?P4I#Fp*ImE>0k%} z1I#V-HH>T1XGd^3kUP6=kBYPqH0+c!Ry3YPXah(%SAwA7d4db^k@FbFN~`dw0-;RC z5eSX=V!!R|!8#f$!~-`lh~>s94u*C-eS(jOCZd;WJ>7N=vAC@L9?{Ji$CKe$z@s9a ze{GORXDq(RsX_3Dj~CD#1UjFLQ9+G_I8Xsgh~rct4wgv92DF9fW*W59jBd_@q>WcV zbsH;zlsa{L6KEj5X$4uM0qA&9VO%7fZZlGl_e|dBX!{y<8QfffiYjdR0>g>0WfO9= z=9>`wF}V31!U5C>E>u`LxH(i~4P^+lv+;Co_s35Vy^#Y(R$mOgxmo58=vEW^FftUmo97n9v?rE%Pb{g3^A1 z2?ez>zyjgC)ltu(Ai=)tGgh}r$8&-E^W*<;|NZ_E!+?Glg;T+g>@%o%>?8P*#POKN zIqq1n3ck`HAsLU0sor2GJWtK<)^RrcXq6Uy5KLYT^wbOxK|J=f(5I?NJXVV=z`N9{UPZ;>c%e^76_Td`ES+Z#*^(4G6z4&=AP))O`|a%lC=#-d`XE z>XQSsHQ_0!B<_guo^oA@@!s3ieG+^UB99*6YDKfchs1m9jxytsdw?DO3&&dK2X_}5 z0CyS1arp0!Ht{baz90C;SCEaw8$2#+J$~TfH=5W)pp9X^hysB3jrU@11DwqUXAs|HI^A6lA$)rTagppM#m9Q16y8K6D)j0m^3}#< zG>^`z@t1gsU$}-|>#r9$W@dIoPRhQDUt37u-gu^t2=lo|Dt+TbXk2!`bgYaW3vC|7 z;BnJuneGryqoqLX@m;NzuBuPRbD_7G87cSM(XH4x71Q_9T^cE19>&S;QWYS85HKyF z<49mhMG!d`MXK5hP$7hlPaD(0n~opl_d*8lulk_|)m?TTbZx5J^K`e*FuRRyK;yaf z(&@$RsV+Hy>c(_O0Z68wepe*)o6B&pd^dU;>-WOwdSoa%p!=QAAA!gPdK51sh*}WE z+NhZRiNWoC*(mvko`-)n9&SS45Dznkz`e8Y4my7qkH2E_pu`%olb*H=ZOI;BRlcL{ zCHjwgkby5l+<_qSIf#sUh}T3OS1BJ<@O!I}u*AIxei1?=oVgk+9v$n#C2lkFMWBwh zBf0U1(5#deTkJYazEj7q2~7M6!ZBJfo;bAWXnT&4RY%5tM=%)jGv-BXj+pl`V3E&F z(M>%sxlwU0!eU{?cma(e*ewAyGuYh^^N#WH-($fpHU`bDyqgY3*;+druPC7^ksjGZfs}=+<6u zs%t=Z`o7F`(1FFkfjixak%xvkbzEs28tsVe=lvUF#qg9PYY9)stMIf5(7yY5xjHWW zS7KZm0c}iL3&8>ha=k>w7rW}?f>NATW<+}Z-@q4kMHgAZQ9lHTX{74t=rrQ)LX4{% zyePTEUFh83fMVEm*TnxT%ovg-99>7`*Fal-aZ&m8xIkhXc(Lr`y^qO2O(sH4g3*8%!4=Emq z7R@PB_&_(&^9N9>qR%AVy6!$FKWq1+U(3CM8pi8rB0NO6YX%}LWB~s5-P4!9w=k~Y zuPD3_I;rHR74fkn`-#xu!4CJ3d3}R!nH#Si(EWsXZ0K+HgyBTDC z1m^U33^bm{_d{>6qW2wKq)F*|>1M7Lf5t~BqVg%pE49+`+NDS(UQ42^BF2RvCL_D! zhs1d8OSDbFe;13_t_ERISjKD0wiDyEF($!NAhc-wH5knb9}=&PL{3fU`=C2|f9@nS z6OHfQI>w4W4$Uh3=Yik*((KSzYI`tBGGi?&z`lBsD9qc4d8gVSR1!$B5hdedg&9PI zVq6TQ@Wpi1U;i(R#n10Itschtb(cB6#%(pN#3aeCrL6{a%&hLvS29tBp2rt^G86Os zVY6^>udA7E8xv|h@-|MqFA(_+F7cbuh`fhGN+8}cV>_4`N6ibC7j($J!Kqk^K}ByJ z^Sv=XsNt5F>_!u5 zJ3{Vw3W-Pp61MwyXz5XUQR@+hmY%n)EV2HSwpAqRW~m3BCg5HFnMqRj9r6kBn8 z+Kl3Dfa5@M^o1Y#ez9wjaU1x?Y=0b-JmGuvN6`E>^qs92bHi=oWn`ga>iGvkWzI$g zehpd9`q&ByLvh@AU#z}Ie;(dzfbY@QpyM>BNf-k;WqAq|QmQ3)4IO1gzduL$k3t8W&%*x|#u^ zE6oP$ViCwkql~AG{UCREXWOAs@25XZ$07kHs7xI#prsLcKr&XNLfnVxM2w+XK1}~D z(W%ej6mj^uaT5{0OV2dU0aqNHE7*eCZK;F)s$mhT5^$`-tZmMsH=zzWdKK zp2CRexdXEN+re=i&{102c1+h0q75y}7uo7V^?bC=T{Gzfmx26H9h(t~UEn)`ANQg9 zLFD!lbW-iV{LGL~9f;rIirKj+@87cNFR1B-nV}iiGAlFo(Ei zoVpnvMiTz}e6Kz#)*KszQ*|2e&YVQF;{=T-VILmdc~rjA9Es9^U|GB z8!za~Fn#MN#qJ2OtA0PX5M$y7A2JLaQ4x7KLq^j>Hh};pb`jE5D6P^wvokwoc3gtjGTb-t(Tn zpzVr(<4oIF>~COlKTZq=KNJ}E4d`&7MSp3K<0oeuuEz)?bbuw@2_|~qtLmiip#vhPLtm z;yBTO#xagZ?%`)5RhxFDwtSMrcUK?%Nyb=xpdWi->h8k4L1|qCZertH5|vjwDCX?y zeO&WH`NBuCM!s1Cop>d~?8E|c$KR($rR(sOiP_wGB~F=zBE3#m2!GJKV*Qx zhcHtkF54x^)C0kV@jIvtKZa^N)QkN({#;?I{E$xL39yCHJhr%n=Z$GJVEh2Hw_=au zkW+)UjEc9>_!#1qbBD$9D-ObM$B5I>96rFGx|Yr2N0V@v9Z%dZc3Kt#Xq+K$rOQsG z*FBgW>Z!uad!TVQlp(Z*pC%vOvNsYuIf2>PG~DQKOWO3O|9lg<>CdQ`XX|}QormN| zpdYiqKx~}bkW>A*1I_f_VH}2jSiZQE^$pmCbfQ0f7~S3$L1TOSc<$?@8c7&LhJ~x- zSL@?9dnbU)EdJhsWfdmvf};%#7w|*VNQ{x-0w%D@ScSne?Njz^2iRgac{odcA+`x_ zAFROF7!7bu6dS$(+yNx`mr63%dIvH&JKZh+Npk#o3uVdOcQx>iwh=PZK9w1hr@Lz* zDscS4UQBNM2Tk<&L&}e#=aF9VC-SSaUm6n;yr9V&@Y4Mqma z(#4tvv%YEnAcei^f3V-&LH11UakLhK^riWl?0cBL;NV+5Z0`=@p@9_=j8%Y)$)Eh@ z>Z<@N7N5bGhF749j)Md(FZ6+wLSiFN5eh+2fC5V8hX64;QSa>Y!l$FAk$OvPJa8;_ zoiP8y26%8p{881wIYCV%dOY?m1s8uD=bEflX zAqZ_TI#Ac5j%vMKv~d^531?(B-b8uu-v%&F#AEv;<6iJgX~Ww>;HBtBp>lCF+l;Bm zTLgX|l&n-X*Uynp;xVtte!2Netkz#si`TzaS33L?e#H9?{Dx z8_`wFao;_`)Tjkv=+$KY0D^o_F$}0&dXb%|A~(*10D1O2?zcvoK>)wsih(3Y*b&Lu z1=-96P-Jr?c!0>-kyu1@4bZ_z@3lrU1gzz6Yz36AGsvGuhFRy@j1vKJca?*h)P}IP zGZ+hP0?jhe%;{Fjcq*$(rDotNc^AtM=^EWA(gI9FV|e7d#?NGog9k>teDIAp+@yX! zx2ltl&Wn2B<-I7zcQq9`5uYl=HnmHp!M!hu}2AX-~2Z;hJ&Q>m5fc}V7NM-gp#*4lg;Ku#2XQefq^fOCh6k2u;61s9x4EMLA!yqegPVkL)_4}yxLEf=Cu{uv)? zu*o!O(h+(avjn&w1@1*!lYwY*&^nd^-M0$P^C_{8XCzA~2I$^1T$QRP$^5PW^O z{NhedcM&8IGbeY~72pRFc@Yg7+29e44L|!lNZHZ)1c*exchGdM0iB#~2$E;zR-=+h zPEk@?WS}#p=Y%goePba;%HlAi`;%IkUZf_yj@P{{pL;ES8~+Fd6%=po_$j@UZ{3_; zd@eh>01hl0A<1FrFboo|%iE6QfL|IXY55jlJaED#c$xgHjOdv9(P85XCE`|oQl0ax z=ooYl-&=!2Xz0q#kOX>v7&R=zSam(Noy>MxwxkzK-q*NF4gVzgwc!$(IoiS$U&~Wo z%kV3?TU*$HA;Cv@U6dhaH}3&ThG9fvBQAzO%~{vo^&H448Quw(QF;zVjd!f?u@#v> z7NBly_>4<|CE6;%4tk1oz zT7No5t_H1e0P;4jgHWWy=m(t27CirY{eN2mb<1mgWz`L3k~TC{j<2wdYM3&r(wSdZ z;SU6S6+vfxd7!-37xV>eKb3AO#^58g3dts1vo+L{<>hmUsK}? zm}tURRdt}Yth}zWticzkF0UyI_{u2>T&n&IwCW7{ol!b-=Fj#;iTMMn@0HaJ%gSo~ zl|Hj;LR+BAeRY+-fbMb8iaLLdf5{5lsH2-q?NYKt!31BhVtl2qs=To#*f62KqPmQA z{eiOT%7*b^ze?4J=L?c_Dl}&u#>(lhf*>?gzU5^QoNiiGE2&#n=f9xNSvWo4*-+yT zI)f|feOz~1`|GP@k4afjs_QuF!D@e-_XWy>jR7A3qej`> z%b~U+yCO8_OUyfqmj-<3M@^-z&=;tHsg*DBIZGN~UZcim7gX6iw5pQ2>R^L&9t^^o zKMNcLeRVdkzac1v&guTzT3Aqn0bATLmkkx{VOWi8XVs;rtpZ)E zWA~1tN)^PYhI+!2*LT%Ia$xmn`vB zmM!+doBGNs8*0lM>oI%z##58P;e_SofeC>|HKoeDTK3=6j!q0xzovSzRQ(^+PaGEr z975-$=&Vy#hnT=0z&OHiM#0=9Snwb`K%}5u^H?XG@^Z|T80=*}XJH8jOYk)zR1-A{ z_-f0m>A%Wqs;lCCenRxY;6sZ}w@B-Y1tt@Mwe`~3acps1eWRKwrIldJEox1TI(ryK z+2R$P9x>U=B(j*pFkw`~adoE47o}BhW(pV=)r|Jr-x#D9s`b_SVX>H@RFJZy#=jU& z$-j(~0R+X0%5dno5no)O{I-=JxNhx&%NpT=twm~HY^e9e&*D)Lh;%Bdef6AbM0upf z_{!j7EiKN!WKTK+W~%E@rw)v8YPVsug8mABO&P-g8)j!;S-=mtj>MwaHpGV&<%sZX zz9v=QhKU#QwbhqT`Hi-a*WK5~d5TF|2P?HWML^8sNqNbQqX07?B zeZ}IDs>-0u+T*b)+Lts-(Idz+xI(u8T3S#2aFI}G6`sN=RyXKqMK`DM3Lyh$UL&SH zCootAVUHOP3#*DA{4xu5XbOusuD+h#Aqu#Q_RKnytCnJX$NHt>5sq_p6{dIbM*ZQ5 zk~$e2nEi^$rwWoagDaE^2k@q4G8ht^OUMng9#`d4vBJ12+qmTlQ-cr&GcxC;+9w(9 zxjBM#3L4c3X9o!WLPDmRU%=TP8iDpSDMco#v0P1z*R)OFNup;>&$BAU(u!bh9D!Ir zIj2Qgs8p4NkxDEmP#EoVH*Lls({s11c-8#nz%kS15=T#QRx}1wZA55eoWEsT zvAkj|HlEPiO21Rsjt>qa-=+4*VGn?ynwXyO4KL(sz@X^#bz5F0zOjXYTzN= zdkyv)3BNWH8J&uMP5nC1MYNm44nQcMfwa*Kk@9|Ivn>}hjb+lO4{~A ze{p`BzfYR}2>3+Wv;n)Wgg**8NR3U{iyjL2W|Sk%+JgE>Cn4=d%HOlf#sLHVE>|hi z(ig!eQtwNV$abXb-atQbpr-3R)Wch{rSC@~JCLULp#A+J52V>hyFQ3S79w5wAr3wv zP5&qoxfki`kAa6x+N@8&C(ve!LwR!EC=MAx^p8>h>V!exT8z?`X0DTd@iqBU>A_(K67wO%L zdoS?MCN$5U*^*o?6qnl5ZBBq*z|u0pEHt5EJ9T8F zSuH6ZyR&JCJ!`r>(``?m23+>(Fvy{_1u{o!n_@i`J#(6BjxE^6;;uyfHL!(T(gELBCIhb}Wu|?#)J}d5ExV=V z8ADG33cuZ151V;Fw|foouVlL|sWa_sP-(j}`JExs9O|LDGlrgqdM^Nf5^QS-Y-~V& z3+z2dCO_GSUDh9ldg-vq@w(kU{q@+hlUq=Ax}~Qx)qt{}1*pFl^?%Fy`S#3flA$tJ zQnoFr$pO_#FiVr+>t)-;Y_A>d;h7iv-U*lsFuo3EAFfIEMrkawkbp!mSfBO`6-DedQpxeNxL{k9|?{>qG350Kq5%1EZ=&%`;T^ z8V(;+2w!CK)d~8e0jmLQ>LA5eNAjFRUD!S><-;U<&#)@{_F>h(kk;t(UrLjoP8ccE zekkw9!BZCA-IU|mc7{c-oXImyjmq1ym8GJCp98-X_>aH`QnuGopZk~5OnaBJz}`6~ zWoeRq^_Vm5YsM7W*Nw@yugBdvCb<;igEI6HUveF=rvZB!u%`jLhS+leEC#Sd1LqLf zn1Fc+fxaOc>Sk+0JqZ=rwhyrRAT}2m1!$oVuqwdjY8YFU2HYkslb5+duMl{psOvHD zN{E*aXr5+o_RtlHRTV3VVpxWXb5L=fuE=I_!oXGxf4LrWQHX-~+MAP-FA_gQ{jNuu z3ooDVVp+@=z($rw{f}p8P4w9fV<`pdI@G%r^&Z#yeQk1{J*$KIeGPrlm1!7`mO&6g zT5{(Qd$vd1kwvkS7u(mR&9bjgTY}ULG`5e6el?Xkjk61XB4Cz%O=|KY;g{KB+%A+i zqkIu;?7z~R?MJ5E4v*N6im*F!aelcNbXVfM$__%rpM(EYI(2$srRl`G6L`6Q?t`~j z;pGcS^7#Vr_5$x6@(GLnMg8u|g+{qkc9GZVebiZa<#@VaFU_|_B3Izq28Y{{oZL*u zQ;2LX%DzF_hvedyY^pgWWzV3WmkZ~eRiN34kCAG$y!-fJ&N~J6b>Mz`Zpy9TKF%Wx z-;~=wL8t4!NaQ9woAOP7y8*wj8-8Ig ztf%=n%!6Zs1N1F90OV;vo(AM;K=uJSxd6ao082EG6yPi3F&hZ<57AIJP|tuF_pRsy zY(9w11xA5php;)CMYbvpoMELU(4onNCd}mTjG@WX5@B9xH?hkVx{X4#JJW3AJOJmR z;d7C?(E*5+<57c{arMKI$d!0j<3T%{H5Bt2q7(wv9JmU2HpHA_kK!YyGhUcscR~<4 zQg9EgwT~{eXP+yEuHvZ|P;V*f;dn;$s)4`w81Q<){hTa+Nk=)pYjRSaO0uuZIn%yA zr^w!wlW*_Fy(TAlWxoUL9f|>7mjlm>y9;-Bj*r-I(K*EcmS`Y+r2<+pn*eMCVj&Pq zf#^YPL4=wrnr?Cc;l~prKR&?bquyL#6lfj^n*$j6CMUu-{BMjFp}IKfX1sMV9@C$UM0OERVjXLo zmz`X14e|1Z*4rl)+H=p9z(r!E$5Fov^?L`XkBF8LsR|MERJ+B{hi~v$-yMmZ_utz4 z`Z4h5_Ac0aH|+fx*!y&IZ8?AOO9R|6Sh#{CTL?U=OJk4c^lU@?Ft8b}J5#o{p= z2wXBmL)}1~g(2u$(FfRk5St5(0?iI#b2N)=RT^+xX%UKHo@v5N{$_E?k7tA$*SE(N zx`{$GJ5x77>Dw-bTnn(KYuXx#45t15H+Hsta!OOOeaGZ8?LCu=?8fAL`)=IZCl4H7 zT>$K9z@7$dIMm5C#6Aj9p}z881%6pwu+?#?MvZvpGU6;IC7?9LTu8&6B| z)<-T2P<0Nf&eK&%P{c3mtQYLCC#M4lopVwP(#npiW<Rik^Ubq$yCJ>Y{ z9@$QMuS6o(=s3~3cI5I63|Q$UpJAUg$DVt(I2FW*%#6B+Ps$4IS+nfUGJ6*60K$~LfEwVAek~H=zxYA>xR&b= zYYdAOS<9fA_VrFoIL?dg&p3;*(yhRAaxP-p>G3hGcW6E^W&mR;Fc`9briN`amhZqu-8(LdMj8@#vjWouHT&q zc%t($=64hq0{1E4dZMv1;`D1%^0*H5avh36xN?w(>(H6@!sHw5rE~3zO6{e{Tmo;} zcTGBDX!14o(%JS!mG)A%y>PxfFOuh_Xs;XX-T7uDvPsKS$Gp;BUbH>E?!`*v@qQbb zIkeQiGHJHGGiec0Hzs2xShDUewaC@1RwV#brUAWf;3s@$4V&R|)(ofnO!?|BM7an5f#hN2lgId^gv6xXk>^Z<2GJqIb#W4e2>WM+n*wSrrY&~rMYjp z6z{coVardhm6|{EozZkn(2PqM$MV7!xVm~&qMNa;*7b+$Vx6_&gDSa7`NcFY6Fyoq zZt|V233KVk%WUr_Y`ZYOS_>kg^Jcrdb^cy0nD2FdBrE;Dcs--XCy|AdvlV29PUq{i zN~ghxiqZq@0VI{j3qdvrP|N7Xw}r^o2@WS!2?>3p45>2$eHuhi)c zI$f*NhjqGDr*G=?Q=RV7>7WyI`#L>Frzh)lhEC_}v`VMTb$X>vZ_w#loj$D7tvY>E zr=RL{k4^`jsN2`+F*-e2r!#aqU#C?%U9QtBb;_T@=e1U+59@TRPT$n&r#juE(?NV$ zf$Kn>9;4Hfbvi?*^L1LK)8#t7Ql~fQbgfPw*6CKAzNynsb-G8VgS7uTP^ZV}^kki` z`B3pU(BEBms*;E9Q0enJ{ijYp*XbaQcbHDc>hyG-&eLg?PA}5wN}b-Q({(z1NT;vs fG<~gV|683Oa+k^ Date: Sun, 3 Dec 2023 14:38:25 +1100 Subject: [PATCH 092/163] Delete bin/bc --- bin/bc | Bin 84960 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/bc diff --git a/bin/bc b/bin/bc deleted file mode 100644 index 64b3cc9202030b52441e6e1785753434fdff5917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84960 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 From f41aadef7999af5c02e08556d380a63289ee877a Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 3 Dec 2023 14:38:35 +1100 Subject: [PATCH 093/163] Delete bin/64570_synonvme --- bin/64570_synonvme | Bin 17241 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/64570_synonvme diff --git a/bin/64570_synonvme b/bin/64570_synonvme deleted file mode 100644 index 2dc63b55f2cfc20dc364bbc39d2b16105db24799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17241 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 Date: Thu, 7 Dec 2023 06:15:20 +1100 Subject: [PATCH 094/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d7bc17..f4e0bfd 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | Mikescher | Matthias Pfaff | cpharada | +| Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | | Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke | From 09e35030490008a977511f05054d13380df5d428 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:41:16 +1100 Subject: [PATCH 095/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f4e0bfd..af98a36 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| +| | | | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | From 26be6106c5433e48e16eade1c2765df142b016b5 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 10 Dec 2023 19:02:09 +1100 Subject: [PATCH 096/163] Update my-other-scripts.md --- my-other-scripts.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/my-other-scripts.md b/my-other-scripts.md index f6ab88f..d0c309f 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -31,5 +31,8 @@ ## All my Synology Scripts - **Synology_DSM_reinstall** - Easily re-install the same DSM version without losing any data or settings +- **Download_Synology_Archive** + - Download all or part of the Synology archive + - **ScriptNotify** - DSM 7 package to allow your scripts to send DSM notifications From b4d00c87e1a558b6e04cea54f9e19c6ad4ee1e1f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 10 Dec 2023 19:09:35 +1100 Subject: [PATCH 097/163] Update my-other-scripts.md --- my-other-scripts.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/my-other-scripts.md b/my-other-scripts.md index d0c309f..d643119 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -31,7 +31,13 @@ ## All my Synology Scripts - **Synology_DSM_reinstall** - Easily re-install the same DSM version without losing any data or settings -- **Download_Synology_Archive** +- **Synology_Cleanup_Coredumps** + - Cleanup memory core dumps from crashed processes + +- **Docker_Autocompose** + - Create .yml files from your docker existing containers + +- **Download_Synology_Archive** - Download all or part of the Synology archive - **ScriptNotify** From 56d6516b4cec616bcbb3431d41d7aec226941653 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 10 Dec 2023 19:11:16 +1100 Subject: [PATCH 098/163] Update my-other-scripts.md --- my-other-scripts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/my-other-scripts.md b/my-other-scripts.md index d643119..a4bb068 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -5,7 +5,7 @@ ## All my Synology Scripts - **Synology_enable_M2_volume** - Enable creating volumes with non-Synology M.2 drives. - - Enable Health Info for non-Synology NVMe drives. + - Enable Health Info for non-Synology NVMe drives (not in DSM 7.2.1 or later). - **Synology_M2_volume** - Easily create an M.2 volume on Synology NAS. From 62cc7920e42d629fec6433c6471aadf614f1229b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:10:57 +1100 Subject: [PATCH 099/163] Update syno_hdd_db.sh Added KIOXIA vendor id --- syno_hdd_db.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index c9e5a62..de1eaa7 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -604,6 +604,7 @@ vendor_from_id(){ 0x1cfa) vendor=Corsair ;; # Memory only? 0x1d97) vendor=SPCC/Lexar ;; # 2 brands with same vid 0x1dbe) vendor=ADATA ;; + 0x1e0f) vendor=KIOXIA ;; 0x1e49) vendor=ZHITAI ;; 0x1e4b) vendor=HS/MAXIO ;; # 2 brands with same vid 0x1f40) vendor=Netac ;; From abe7bc694e6942d1eecd6b8b3abcd76e77849015 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:12:19 +1100 Subject: [PATCH 100/163] Update CHANGES.txt Added KIOXIA vendor id. --- CHANGES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index e6ee8d2..bc5c813 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +v3.2.69 +- Added KIOXIA vendor id. + v3.2.68 - Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using: - DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. Issue #132, #148 From 17ad9904536b0ae86302dd0e0291d71d8cb0115e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:14:26 +1100 Subject: [PATCH 101/163] Update my-other-scripts.md --- my-other-scripts.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/my-other-scripts.md b/my-other-scripts.md index a4bb068..877bb6f 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -13,6 +13,9 @@ ## All my Synology Scripts - **Synology_enable_M2_card** - Enable Synology M.2 PCIe cards in Synology NAS that don't officially support them. +- **Synology_enable_eunit** + - Enable an unsupported Synology eSATA Expansion Unit models. + - **Synology_enable_Deduplication** - Enable deduplication with non-Synology SSDs and unsupported NAS models. From 3db8456a45bcc0521cfa4daad3cc4f514b4f8d28 Mon Sep 17 00:00:00 2001 From: "John M. Kuchta" Date: Sat, 16 Dec 2023 01:03:21 -0800 Subject: [PATCH 102/163] Fixed scriptver string. Was off by one digit and thus auto-upgrades were failing. --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index de1eaa7..7562aae 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -32,7 +32,7 @@ # Bug fixes and improvements to --restore option. -scriptver="v3.2.68" +scriptver="v3.2.69" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From e4c8b3ea851be5e91ca3f36b2aaab573414b69f0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 16 Dec 2023 22:13:22 +1100 Subject: [PATCH 103/163] Update CHANGES.txt --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index bc5c813..81f8909 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,6 @@ v3.2.69 - Added KIOXIA vendor id. +- Bug fix for wrong version number, which caused an update loop. v3.2.68 - Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using: From 7c7a07e845d47228677c4f1f3f6dda7e4dc89375 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:51:33 +1100 Subject: [PATCH 104/163] Add files via upload --- syno_hdd_vendor_ids.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 syno_hdd_vendor_ids.txt diff --git a/syno_hdd_vendor_ids.txt b/syno_hdd_vendor_ids.txt new file mode 100644 index 0000000..12bec6b --- /dev/null +++ b/syno_hdd_vendor_ids.txt @@ -0,0 +1,20 @@ +# You can add your drive's vendor id and vendor name here + +0x1dbe="ADATA" +0x0ed1="aigo" +0x1bdc="Apacer" +0x1b1c="Corsair" +0x1cfa="Corsair" +0x1458="Gigabyte" +0x1e0f="KIOXIA" +0x05dc="Lexar" +0x1462="MSI" +0x1f40="Netac" +0x1987="Phison" +0x196e="PNY" +0x1c5c="SK Hynix" +0x025e="Solidigm" +0x10ec="TEAMGROUP" +0x1d79="Transcend" +0x1cc4="UMIS" +0x1e49="ZHITAI" From 66ae3bd54c1b9bf414d4190886b8ecc002a4fb0e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:54:43 +1100 Subject: [PATCH 105/163] Update CHANGES.txt v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: - E10M20-T1, M2D20, M2D18 and M2D17 - Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. - Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh --- CHANGES.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 81f8909..be999b5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,10 @@ +v3.3.70 +- Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: + - E10M20-T1, M2D20, M2D18 and M2D17 +- Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. +- Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. + - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh + v3.2.69 - Added KIOXIA vendor id. - Bug fix for wrong version number, which caused an update loop. From c8cdbf01b6c142fb51b0ee695c37d9af914e55ca Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 15:57:36 +1100 Subject: [PATCH 106/163] Update CHANGES.txt v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: - E10M20-T1, M2D20, M2D18 and M2D17 - Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. - Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh - Now warns if script is located on an M.2 volume. --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index be999b5..e102f32 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,7 @@ v3.3.70 - Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. - Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh +- Now warns if script is located on an M.2 volume. v3.2.69 - Added KIOXIA vendor id. From ade9cc38aee877770c89bce3aafc5eb36a490f06 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:02:08 +1100 Subject: [PATCH 107/163] Update syno_hdd_db.sh v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: - E10M20-T1, M2D20, M2D18 and M2D17 - Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. - Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh - Now warns if script is located on an M.2 volume. --- syno_hdd_db.sh | 126 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 104 insertions(+), 22 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 7562aae..060707d 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -16,6 +16,17 @@ #-------------------------------------------------------------------------------------------------- # CHANGES +# Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. +# - E10M20-T1, M2D20, M2D18 and M2D17 +# +# Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. +# +# Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. +# - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh +# +# Now warns if script is located on an M.2 volume. +# +# # Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use devicetree # and are using DSM 7.2 Update 2 or 3, 7.2.1, 7.2.1 Update 1, 2 or 3. # @@ -32,7 +43,7 @@ # Bug fixes and improvements to --restore option. -scriptver="v3.2.69" +scriptver="v3.3.70" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -298,6 +309,14 @@ echo "Running from: ${scriptpath}/$scriptfile" #echo "scriptver: $scriptver" # debug +# Warn if script located on M.2 drive +scriptvol=$(echo "$scriptpath" | cut -d"/" -f2) +result="$(lsblk | grep -B 4 /"$scriptvol" | grep nvme)" +if [[ -n $result ]]; then + echo "${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" +fi + + cleanup_tmp(){ cleanup_err= @@ -459,6 +478,9 @@ adapter_cards="/usr/syno/etc.defaults/adapter_cards.conf" adapter_cards2="/usr/syno/etc/adapter_cards.conf" dbpath=/var/lib/disk-compatibility/ synoinfo="/etc.defaults/synoinfo.conf" +strgmgr="/var/packages/StorageManager/target/ui/storage_panel.js" +vidfile="/usr/syno/etc.defaults/pci_vendor_ids.conf" +vidfile2="/usr/syno/etc/pci_vendor_ids.conf" #------------------------------------------------------------------------------ @@ -536,9 +558,21 @@ if [[ $restore == "yes" ]]; then fi fi - # Restore .db files from backups + # Restore storage_panel.js from backup + strgmgrver="$(synopkg version StorageManager)" + if [[ -f "${strgmgr}.$strgmgrver" ]]; then + if cp -p "${strgmgr}.$strgmgrver" "$strgmgr"; then + echo "Restored $(basename -- "$strgmgr")" + else + restoreerr=1 + echo -e "${Error}ERROR${Off} Failed to restore $(basename -- "$strgmgr")!\n" + fi + else + echo "No backup of $(basename -- "$strgmgr") found." + fi + echo "" - # /var/lib/disk-compatibility + # Restore .db files from backups for f in "${!dbbakfiles[@]}"; do replaceme="${dbbakfiles[f]%.bak}" # Remove .bak if cp -p "${dbbakfiles[f]}" "$replaceme"; then @@ -601,16 +635,33 @@ vendor_from_id(){ 0x1b1c) vendor=Corsair ;; 0x1c5c) vendor="SK Hynix" ;; 0x1cc4) vendor=UMIS ;; - 0x1cfa) vendor=Corsair ;; # Memory only? + 0x1cfa) vendor=Corsair ;; # Memory only? 0x1d97) vendor=SPCC/Lexar ;; # 2 brands with same vid 0x1dbe) vendor=ADATA ;; - 0x1e0f) vendor=KIOXIA ;; + 0x1e0f) vendor=KIOXIA ;; 0x1e49) vendor=ZHITAI ;; - 0x1e4b) vendor=HS/MAXIO ;; # 2 brands with same vid + 0x1e4b) vendor=HS/MAXIO ;; # 2 brands with same vid 0x1f40) vendor=Netac ;; + + 0x1bdc) vendor=Apacer;; + 0x0ed1) vendor=aigo ;; + 0x05dc) vendor=Lexar ;; + 0x1d79) vendor=Transcend;; *) - echo -e "\n${Error}WARNING{OFF} No vendor found for id $1" >&2 - echo -e "Contact 007revad to get your drive added.\n" >&2 + # Get vendor from syno_hdd_vendor.txt + vidlist="$scriptpath/syno_hdd_vendor.txt" + if [[ -r "$vidlist" ]]; then + val=$(synogetkeyvalue "$vidlist" "$1") + if synogetkeyvalue "$vidlist" "$1"; then + vendor="$val" + else + echo -e "\n${Yellow}WARNING{OFF} No vendor found for vid $1" >&2 + echo -e "You can add your drive's vendor to: " + echo "$vidlist" + fi + else + echo -e "\n${Error}ERROR{OFF} $vidlist not found!" >&2 + fi ;; esac } @@ -618,17 +669,20 @@ vendor_from_id(){ set_vendor(){ # Add missing vendors to /usr/syno/etc.defaults/pci_vendor_ids.conf if [[ $vendor ]]; then - if ! grep "$vid" "$vidfile" >/dev/null; then - synosetkeyvalue "$vidfile" "${vid,,}" "$vendor" - val=$(synogetkeyvalue "$vidfile" "${vid,,}") - if [[ $val == "${vendor}" ]]; then - echo "Added $vendor to pci_vendor_ids" >&2 - else - echo "Failed to add $vendor to pci_vendor_ids!" >&2 + # DS1817+, DS1517+, RS1219+, RS818+ don't have pci_vendor_ids.conf + if [[ "$vidfile" ]]; then + if ! grep "$vid" "$vidfile" >/dev/null; then + synosetkeyvalue "$vidfile" "${vid,,}" "$vendor" + val=$(synogetkeyvalue "$vidfile" "${vid,,}") + if [[ $val == "${vendor}" ]]; then + echo "Added $vendor to pci_vendor_ids" >&2 + else + echo "Failed to add $vendor to pci_vendor_ids!" >&2 + fi + fi + if ! grep "$vid" "$vidfile2" >/dev/null; then + synosetkeyvalue "$vidfile2" "${vid,,}" "$vendor" fi - fi - if ! grep "$vid" "$vidfile2" >/dev/null; then - synosetkeyvalue "$vidfile2" "${vid,,}" "$vendor" fi fi } @@ -646,9 +700,6 @@ get_vid(){ fi } -vidfile="/usr/syno/etc.defaults/pci_vendor_ids.conf" -vidfile2="/usr/syno/etc/pci_vendor_ids.conf" - fixdrivemodel(){ # Remove " 00Y" from end of Samsung/Lenovo SSDs # Github issue #13 if [[ $1 =~ MZ.*' 00Y' ]]; then @@ -1311,7 +1362,7 @@ install_binfile(){ # install_binfile # example: # file_url="https://raw.githubusercontent.com/${repo}/main/bin/dtc" - # install_binfile dtc "$file_url" /usr/bin/bc a+x bin/dtc + # install_binfile dtc "$file_url" /usr/bin/dtc a+x bin/dtc if [[ -f "${scriptpath}/$5" ]]; then binfile="${scriptpath}/$5" @@ -1717,6 +1768,37 @@ if [[ $wdda == "no" ]]; then fi +# Enabled creating pool on drives in M.2 adaptor card +if [[ -f "$strgmgr" ]]; then + # StorageManager package is installed + if [[ ${#m2cards[@]} -gt "0" ]]; then + + if grep 'notSupportM2Pool_addOnCard' "$strgmgr" >/dev/null; then + # Backup storage_panel.js" + strgmgrver="$(synopkg version StorageManager)" + if [[ ! -f "${1}.$strgmgrver" ]]; then + if cp -p "$strgmgr" "${strgmgr}.$strgmgrver"; then + echo -e "Backed up $(basename -- "$strgmgr")" + else + echo -e "${Error}ERROR${Off} Failed to backup $(basename -- "$strgmgr")!" + fi + fi + + sed -i 's/notSupportM2Pool_addOnCard:this.T("disk_info","disk_reason_m2_add_on_card"),//g' "$strgmgr" + sed -i 's/},{isConditionInvalid:0/dev/null; then + echo "Enabled creating pool on drives in M.2 adaptor card." + else + echo -e "${Error}ERROR${Off} Failed to enable creating pool on drives in M.2 adaptor card!" + fi + else + echo "Creating pool in UI on drives in M.2 adaptor card already enabled." + fi + fi +fi + + #------------------------------------------------------------------------------ # Finished From 9c27c66900e9ac3a25e0ae8f8f1fbde3f3980c4c Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:22:06 +1100 Subject: [PATCH 108/163] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index af98a36..14978e1 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ #### What the script does: * Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them. * Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots). * Enables creating M.2 storage pools and volumes from within Storage Manager **(newer models only?)**. + * Including for M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1. * Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only). * **If you have M.2 drives you may need to reboot.** * Reminds you that you may need to reboot the Synology after running the script. From 646e63668bf08bffe75eec55edb707bc9996f896 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 16:38:00 +1100 Subject: [PATCH 109/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14978e1..e5c44d5 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ #### What the script does: * Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them. * Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots). * Enables creating M.2 storage pools and volumes from within Storage Manager **(newer models only?)**. - * Including for M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1. + * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1. * Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only). * **If you have M.2 drives you may need to reboot.** * Reminds you that you may need to reboot the Synology after running the script. From eb7cfe4d4818f7258d2db289809e185279fc4899 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 17:10:05 +1100 Subject: [PATCH 110/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5c44d5..26a747b 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ #### What the script does: * Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them. * Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots). * Enables creating M.2 storage pools and volumes from within Storage Manager **(newer models only?)**. - * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1. + * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 (need to run script after each boot). * Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only). * **If you have M.2 drives you may need to reboot.** * Reminds you that you may need to reboot the Synology after running the script. From 20615392337a672a2fc198384b3e063197c5b37a Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 17:10:35 +1100 Subject: [PATCH 111/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 26a747b..e28c682 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ #### What the script does: * Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them. * Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots). * Enables creating M.2 storage pools and volumes from within Storage Manager **(newer models only?)**. - * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 (need to run script after each boot). + * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 **(need to run script after each boot)**. * Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only). * **If you have M.2 drives you may need to reboot.** * Reminds you that you may need to reboot the Synology after running the script. From dcdd85cc1b673bce053cfcfe6be40ee9ebc3aed3 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 17:48:39 +1100 Subject: [PATCH 112/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e28c682..f4cd2f9 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ #### What the script does: * Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them. * Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots). * Enables creating M.2 storage pools and volumes from within Storage Manager **(newer models only?)**. - * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 **(need to run script after each boot)**. + * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 for DSM 7.2.1 and above **(need to run script after each boot)**. * Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only). * **If you have M.2 drives you may need to reboot.** * Reminds you that you may need to reboot the Synology after running the script. From 5a3202f87d134f93a50861fdcae5fa4af26023b1 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 17:50:22 +1100 Subject: [PATCH 113/163] Update CHANGES.txt --- CHANGES.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index e102f32..f3d3ae0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,8 @@ v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: - - E10M20-T1, M2D20, M2D18 and M2D17 + - E10M20-T1, M2D20, M2D18 and M2D17. + - DSM 7.2.1 and above only. + - Script needs to run after each boot. - Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. - Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh From ab5c4e38f08abdde4fe4fa5716ef6e8b9deaf5a1 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 17 Dec 2023 20:18:50 +1100 Subject: [PATCH 114/163] Update syno_hdd_db.sh Formatting fix --- syno_hdd_db.sh | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 060707d..3ded120 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -25,25 +25,9 @@ # - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh # # Now warns if script is located on an M.2 volume. -# -# -# Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use devicetree -# and are using DSM 7.2 Update 2 or 3, 7.2.1, 7.2.1 Update 1, 2 or 3. -# -# Now edits model.dtb instead of downloading a pre-edited version. -# -# Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161 -# -# Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161 -# - ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY -# - SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI -# -# Fixed bug where memory was shown in MB but with GB unit. -# -# Bug fixes and improvements to --restore option. -scriptver="v3.3.70" +scriptver="v3.3.71" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -1776,6 +1760,7 @@ if [[ -f "$strgmgr" ]]; then if grep 'notSupportM2Pool_addOnCard' "$strgmgr" >/dev/null; then # Backup storage_panel.js" strgmgrver="$(synopkg version StorageManager)" + echo "" if [[ ! -f "${1}.$strgmgrver" ]]; then if cp -p "$strgmgr" "${strgmgr}.$strgmgrver"; then echo -e "Backed up $(basename -- "$strgmgr")" @@ -1788,12 +1773,12 @@ if [[ -f "$strgmgr" ]]; then sed -i 's/},{isConditionInvalid:0/dev/null; then - echo "Enabled creating pool on drives in M.2 adaptor card." + echo -e "Enabled creating pool on drives in M.2 adaptor card." else echo -e "${Error}ERROR${Off} Failed to enable creating pool on drives in M.2 adaptor card!" fi else - echo "Creating pool in UI on drives in M.2 adaptor card already enabled." + echo -e "\nCreating pool in UI on drives in M.2 adaptor card already enabled." fi fi fi @@ -1853,6 +1838,4 @@ if [[ $dsm -eq "6" ]] || [[ $rebootmsg == "yes" ]]; then echo -e "\nYou may need to ${Cyan}reboot the Synology${Off} to see the changes." fi - exit - From bfce6e644eaf3d64e4a43411a52aea64eb1fa6ff Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:09:28 +1100 Subject: [PATCH 115/163] Update syno_hdd_db.sh Bugfix for backing up storage_panel --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 3ded120..7e34804 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -1761,7 +1761,7 @@ if [[ -f "$strgmgr" ]]; then # Backup storage_panel.js" strgmgrver="$(synopkg version StorageManager)" echo "" - if [[ ! -f "${1}.$strgmgrver" ]]; then + if [[ ! -f "${strgmgr}.$strgmgrver" ]]; then if cp -p "$strgmgr" "${strgmgr}.$strgmgrver"; then echo -e "Backed up $(basename -- "$strgmgr")" else From 9a57ea47f762ae5cb530e34ff2ffdd635bbdc5f8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:23:45 +1100 Subject: [PATCH 116/163] Update CHANGES.txt v3.3.71 - Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. --- CHANGES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index f3d3ae0..23691b5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +v3.3.71 +- Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. +- Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. + v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: - E10M20-T1, M2D20, M2D18 and M2D17. From 084b83b18bf1249895f00adf6543315f074ac1d4 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:25:44 +1100 Subject: [PATCH 117/163] Update syno_hdd_db.sh v3.3.71 - Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. --- syno_hdd_db.sh | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 7e34804..4bd703e 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -388,6 +388,27 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | syslog_set warn "$script failed to copy $tag to script location" fi + # Copy new syno_hdd_vendor_ids.txt file + vidstxt="syno_hdd_vendor_ids.txt" + if [[ $scriptpath =~ /volume* ]]; then + if [[ ! -f "$scriptpath/$vidstxt" ]]; then # Don't overwrite file + # Copy new syno_hdd_vendor_ids.txt file to script location + if ! cp -p "/tmp/$script-$shorttag/$vidstxt" "$scriptpath"; then + if [[ $autoupdate != "yes" ]]; then copyerr=1; fi + echo -e "${Error}ERROR${Off} Failed to copy"\ + "$script-$shorttag/$vidstxt to:\n $scriptpath" + else + # Set permissions on CHANGES.txt + if ! chmod 664 "$scriptpath/$vidstxt"; then + if [[ $autoupdate != "yes" ]]; then permerr=1; fi + echo -e "${Error}ERROR${Off} Failed to set permissions on:" + echo "$scriptpath/$vidstxt" + fi + vids_txt=" and syno_hdd_vendor_ids.txt" + fi + fi + fi + # Copy new CHANGES.txt file if [[ $scriptpath =~ /volume* ]]; then # Copy new CHANGES.txt file to script location @@ -411,7 +432,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | # Notify of success (if there were no errors) if [[ $copyerr != 1 ]] && [[ $permerr != 1 ]]; then - echo -e "\n$tag$changestxt downloaded to: ${scriptpath}\n" + echo -e "\n$tag$changestxt$vids_txt downloaded to: ${scriptpath}\n" syslog_set info "$script successfully updated to $tag" # Reload script From d26553b77a046b8f720e4de8077a314e73808471 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:28:31 +1100 Subject: [PATCH 118/163] Update syno_hdd_db.sh v3.3.71 - Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 4bd703e..b743012 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -398,8 +398,8 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | echo -e "${Error}ERROR${Off} Failed to copy"\ "$script-$shorttag/$vidstxt to:\n $scriptpath" else - # Set permissions on CHANGES.txt - if ! chmod 664 "$scriptpath/$vidstxt"; then + # Set permissions on syno_hdd_vendor_ids.txt + if ! chmod 755 "$scriptpath/$vidstxt"; then if [[ $autoupdate != "yes" ]]; then permerr=1; fi echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath/$vidstxt" From 7a35bfca9167fec197d34b43cd91105495df5c76 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:31:20 +1100 Subject: [PATCH 119/163] Update syno_hdd_db.sh v3.3.71 - Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. --- syno_hdd_db.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index b743012..5525201 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -404,7 +404,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath/$vidstxt" fi - vids_txt=" and syno_hdd_vendor_ids.txt" + vids_txt=", syno_hdd_vendor_ids.txt" fi fi fi @@ -423,7 +423,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath/CHANGES.txt" fi - changestxt=" and changes.txt" + changestxt=", changes.txt" fi fi From c415d5f40053f09314e6454d44135f00c22b54dd Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:33:52 +1100 Subject: [PATCH 120/163] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 23691b5..da3c45f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,5 @@ v3.3.71 -- Bug fix for enablings creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. +- Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. v3.3.70 From 77e372287f6c2ec9edb126a96dffdcda9ee995f9 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:36:47 +1100 Subject: [PATCH 121/163] Update syno_hdd_db.sh Bug fix for checking if script located on NVMe drive. --- syno_hdd_db.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 5525201..6ba9913 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -295,8 +295,9 @@ echo "Running from: ${scriptpath}/$scriptfile" # Warn if script located on M.2 drive scriptvol=$(echo "$scriptpath" | cut -d"/" -f2) -result="$(lsblk | grep -B 4 /"$scriptvol" | grep nvme)" -if [[ -n $result ]]; then +vg=$(lvdisplay | grep /volume_"${volume#volume}" | cut -d"/" -f3) +md=$(pvdisplay | grep -B 1 "$vg" | grep /dev/ | cut -d"/" -f3) +if cat /proc/mdstat | grep "$md" | grep nvme >/dev/null; then echo "${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" fi From 0bc9d7739d838c19b67f393625eb4f244f45cff5 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:37:05 +1100 Subject: [PATCH 122/163] Update CHANGES.txt --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index da3c45f..a6f3d23 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ v3.3.71 - Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. +- Bug fix for checking if script located on NVMe drive. v3.3.70 - Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards: From 542d66f1b1d813e1027f9121e52160b4a6f34f87 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 21 Dec 2023 10:12:05 +1100 Subject: [PATCH 123/163] Update syno_hdd_db.sh Bug fix for detecting if script is installed on NVMe drive. --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 6ba9913..e7e8c18 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -295,7 +295,7 @@ echo "Running from: ${scriptpath}/$scriptfile" # Warn if script located on M.2 drive scriptvol=$(echo "$scriptpath" | cut -d"/" -f2) -vg=$(lvdisplay | grep /volume_"${volume#volume}" | cut -d"/" -f3) +vg=$(lvdisplay | grep /volume_"${scriptvol#volume}" | cut -d"/" -f3) md=$(pvdisplay | grep -B 1 "$vg" | grep /dev/ | cut -d"/" -f3) if cat /proc/mdstat | grep "$md" | grep nvme >/dev/null; then echo "${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" From f836963b6beee2da41c8e243a6f529c5f83eaf51 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 21 Dec 2023 10:12:53 +1100 Subject: [PATCH 124/163] Update syno_hdd_db.sh Bug fix for detecting if script is installed on NVMe drive. --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index e7e8c18..cbea2e7 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.71" +scriptver="v3.3.72" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From 866e9c741d6eae4f6eecb12ff067ad1a41698ca1 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 21 Dec 2023 10:13:27 +1100 Subject: [PATCH 125/163] Update CHANGES.txt --- CHANGES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index a6f3d23..b08bdac 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +v3.3.72 +- Bug fix for checking if script located on NVMe drive. + v3.3.71 - Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. From 319eb7f8a25cdaaa017e7457b760a5d88fd7d6ca Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 21 Dec 2023 15:38:21 +1100 Subject: [PATCH 126/163] Update CHANGES.txt --- CHANGES.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index b08bdac..2926d54 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,4 @@ v3.3.72 -- Bug fix for checking if script located on NVMe drive. - -v3.3.71 - Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. - Bug fix for checking if script located on NVMe drive. From 1072f61d61749e14edf40909c788a44f814fddd7 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 25 Dec 2023 19:11:21 +1100 Subject: [PATCH 127/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f4cd2f9..0f1f55f 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | | Matthias Gerhardt | +| | | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | From 215cca9cdc3f971d5cb3e61bdfecfa56073e31d2 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 27 Dec 2023 06:36:39 +1100 Subject: [PATCH 128/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f1f55f..4e37389 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ ### Running the script via SSH | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | Yunhao Zhang | Matthias Gerhardt | +| | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | From e9f2cb5ab1638109fd19fc67215e1d7a9f2144bd Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 27 Dec 2023 07:30:44 +1100 Subject: [PATCH 129/163] Update syno_hdd_db.sh Enabling m2_pool_support was also adding a newline. --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index cbea2e7..f365509 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -804,7 +804,7 @@ getcardmodel(){ m2_pool_support(){ # M.2 drives in M2 adaptor card do not support storage pools if [[ -f /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support ]]; then # GitHub issue #86, 87 - echo 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support + echo -n 1 > /run/synostorage/disks/"$(basename -- "$1")"/m2_pool_support fi } From d9396f2b6787ea99f66b26c6705ed1ccabb969f0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 27 Dec 2023 07:32:00 +1100 Subject: [PATCH 130/163] Update syno_hdd_db.sh Increment version --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index f365509..bc363a4 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.72" +scriptver="v3.3.73" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From 490387840d38b1ae4ed98fb825a12e001382d732 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:16:02 +1100 Subject: [PATCH 131/163] Add files via upload --- images/vendor_vid.png | Bin 0 -> 3567 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/vendor_vid.png diff --git a/images/vendor_vid.png b/images/vendor_vid.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d02600485e3dabcbfe01638e1db96cc3507674 GIT binary patch literal 3567 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 XMBFp-T&!Q;FaYl0YG3=?rQ81kbmULm literal 0 HcmV?d00001 From 24e38f06ff48147ec286862bd078850d1232ef08 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:30:26 +1100 Subject: [PATCH 132/163] Add files via upload --- images/unknown.png | Bin 0 -> 11269 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/unknown.png diff --git a/images/unknown.png b/images/unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..11f4fb6187b9cde55bfd3edc9a88079e4c351279 GIT binary patch literal 11269 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 MMf-NyEj0GO07yoKfdBvi literal 0 HcmV?d00001 From f5d353f9758f7d81b6224fb7d39384b14fe41ea0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:33:38 +1100 Subject: [PATCH 133/163] Update README.md Add info about vendors_vids.txt --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 4e37389..b5af62e 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,18 @@ ### Running the script via SSH

+### vendor_ids.txt + +If DSM doesn't know the brand of your NVMe drives they will show up in Storage Manager as Unknown brand, and Unrecognised firmware version. + +

+ +In this case the script will show you the vendor ID and advise you to add it to the syno_hdd_vendor_ids.txt file. + +

+ +
+ **Credits** - The idea for this script came from a comment made by Empyrealist on the Synology subreddit. From 1138fd5af06359eacad7c8d39aacb72aa90a392d Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:34:11 +1100 Subject: [PATCH 134/163] Add files via upload --- images/unknown.png | Bin 0 -> 11269 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/unknown.png diff --git a/images/unknown.png b/images/unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..11f4fb6187b9cde55bfd3edc9a88079e4c351279 GIT binary patch literal 11269 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 MMf-NyEj0GO07yoKfdBvi literal 0 HcmV?d00001 From 8e1f08044de9bd5d72283cc60c840991ab166265 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:42:29 +1100 Subject: [PATCH 135/163] Delete images/vendor_vid.png --- images/vendor_vid.png | Bin 3567 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/vendor_vid.png diff --git a/images/vendor_vid.png b/images/vendor_vid.png deleted file mode 100644 index c4d02600485e3dabcbfe01638e1db96cc3507674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3567 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 XMBFp-T&!Q;FaYl0YG3=?rQ81kbmULm From d1e9b7cccafe61d0ccada352037f62f2c3d644d8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:43:25 +1100 Subject: [PATCH 136/163] Add files via upload --- images/vendor_ids.png | Bin 0 -> 3608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/vendor_ids.png diff --git a/images/vendor_ids.png b/images/vendor_ids.png new file mode 100644 index 0000000000000000000000000000000000000000..a0440f30e112ec49e48ed661cb21d11a79c848d3 GIT binary patch literal 3608 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 literal 0 HcmV?d00001 From b10027e8aa8c71ab7279f3a97897c407e35dc21e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:47:32 +1100 Subject: [PATCH 137/163] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b5af62e..e596322 100644 --- a/README.md +++ b/README.md @@ -100,13 +100,15 @@ ### Running the script via SSH ### vendor_ids.txt +If the script does not warn you about a missing vendor id you don't need to edit syno_hdd_vendor_ids.txt + If DSM doesn't know the brand of your NVMe drives they will show up in Storage Manager as Unknown brand, and Unrecognised firmware version.

In this case the script will show you the vendor ID and advise you to add it to the syno_hdd_vendor_ids.txt file. -

+


From 273aad9ba25f3e468859c6c00dc9548510103ced Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:49:42 +1100 Subject: [PATCH 138/163] Update syno_hdd_vendor_ids.txt --- syno_hdd_vendor_ids.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/syno_hdd_vendor_ids.txt b/syno_hdd_vendor_ids.txt index 12bec6b..ad91b97 100644 --- a/syno_hdd_vendor_ids.txt +++ b/syno_hdd_vendor_ids.txt @@ -1,4 +1,6 @@ -# You can add your drive's vendor id and vendor name here +# You can add your drive's vendor id and vendor name here. +# +# If the script does not warn you about a missing vendor id you don't need to edit this file. 0x1dbe="ADATA" 0x0ed1="aigo" From c9949ec765e020fe8864e7296219bf01be4a9c9b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:53:18 +1100 Subject: [PATCH 139/163] Update syno_hdd_vendor_ids.txt --- syno_hdd_vendor_ids.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_vendor_ids.txt b/syno_hdd_vendor_ids.txt index ad91b97..44f51d5 100644 --- a/syno_hdd_vendor_ids.txt +++ b/syno_hdd_vendor_ids.txt @@ -1,6 +1,6 @@ # You can add your drive's vendor id and vendor name here. # -# If the script does not warn you about a missing vendor id you don't need to edit this file. +# Only edit this file if the script warns you about a missing vendor id. 0x1dbe="ADATA" 0x0ed1="aigo" From ec475f9f938314bf57d34d4897df00a946e87d50 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 12:54:24 +1100 Subject: [PATCH 140/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e596322..a925040 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ ### Running the script via SSH ### vendor_ids.txt -If the script does not warn you about a missing vendor id you don't need to edit syno_hdd_vendor_ids.txt +You only need to edit syno_hdd_vendor_ids.txt if the script warns you about a missing vendor id. If DSM doesn't know the brand of your NVMe drives they will show up in Storage Manager as Unknown brand, and Unrecognised firmware version. From c38bbdfcb224484e75688d3d843070a7c5a6deb8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:02:57 +1100 Subject: [PATCH 141/163] Update syno_hdd_db.sh Bug fixes for vendor id --- syno_hdd_db.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index bc363a4..57bf7fb 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -21,13 +21,13 @@ # # Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives. # -# Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id. -# - syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh +# Now includes syno_hdd_vendor_ids.txt so users can add their NVMe drive's vendor id. +# - syno_hdd_vendor_ids.txt needs to be in the same folder as syno_hdd_db.sh # # Now warns if script is located on an M.2 volume. -scriptver="v3.3.73" +scriptver="v3.3.74" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -178,7 +178,7 @@ fi # Check script is running as root if [[ $( whoami ) != "root" ]]; then ding - echo -e "${Error}ERROR${Off} This script must be run as root or sudo!" + echo -e "${Error}ERROR${Off} This script must be run as sudo or root!" exit 1 fi @@ -654,16 +654,16 @@ vendor_from_id(){ 0x05dc) vendor=Lexar ;; 0x1d79) vendor=Transcend;; *) - # Get vendor from syno_hdd_vendor.txt - vidlist="$scriptpath/syno_hdd_vendor.txt" + # Get vendor from syno_hdd_vendor_ids.txt + vidlist="$scriptpath/syno_hdd_vendor_ids.txt" if [[ -r "$vidlist" ]]; then val=$(synogetkeyvalue "$vidlist" "$1") - if synogetkeyvalue "$vidlist" "$1"; then + if [[ -n "$val" ]]; then vendor="$val" else - echo -e "\n${Yellow}WARNING{OFF} No vendor found for vid $1" >&2 - echo -e "You can add your drive's vendor to: " - echo "$vidlist" + echo -e "\n${Yellow}WARNING${Off} No vendor found for vid $1" >&2 + echo -e "You can add ${Cyan}$1${Off} and your drive's vendor to: " >&2 + echo "$vidlist" >&2 fi else echo -e "\n${Error}ERROR{OFF} $vidlist not found!" >&2 @@ -681,9 +681,9 @@ set_vendor(){ synosetkeyvalue "$vidfile" "${vid,,}" "$vendor" val=$(synogetkeyvalue "$vidfile" "${vid,,}") if [[ $val == "${vendor}" ]]; then - echo "Added $vendor to pci_vendor_ids" >&2 + echo -e "\nAdded $vendor to pci_vendor_ids" >&2 else - echo "Failed to add $vendor to pci_vendor_ids!" >&2 + echo -e "\nFailed to add $vendor to pci_vendor_ids!" >&2 fi fi if ! grep "$vid" "$vidfile2" >/dev/null; then @@ -1774,7 +1774,7 @@ if [[ $wdda == "no" ]]; then fi -# Enabled creating pool on drives in M.2 adaptor card +# Enable creating pool on drives in M.2 adaptor card if [[ -f "$strgmgr" ]]; then # StorageManager package is installed if [[ ${#m2cards[@]} -gt "0" ]]; then From 4a3abf57890bb86d027d1dfa65b2a5b29a533a62 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:04:00 +1100 Subject: [PATCH 142/163] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 57bf7fb..02bc6fa 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.74" +scriptver="v3.3.73" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From d2a15b2980af515a521de7f40b1cf577edfe7427 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:04:56 +1100 Subject: [PATCH 143/163] Update CHANGES.txt --- CHANGES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 2926d54..da9b842 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +v3.3.73 +- Bug fix for vendor id. + v3.3.72 - Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards. - Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself. From f0b44ffbb1501e0a2e80657c5ed49bcb32b7c3eb Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 29 Dec 2023 20:41:19 +1100 Subject: [PATCH 144/163] Update syno_hdd_db.sh v3.3.74 - Include smart_test_ignore and smart_attr_ignore in db files. --- syno_hdd_db.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 02bc6fa..34998f2 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.73" +scriptver="v3.3.74" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -1121,11 +1121,13 @@ updatedb(){ else fwstrng=\"$fwrev\" fwstrng="$fwstrng":{\"compatibility_interval\":[{\"compatibility\":\"support\",\"not_yet_rolling_status\" - fwstrng="$fwstrng":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true}]}, + fwstrng="$fwstrng":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true, + fwstrng="$fwstrng"\"smart_test_ignore\":false,\"smart_attr_ignore\":false}]}, default=\"default\" default="$default":{\"compatibility_interval\":[{\"compatibility\":\"support\",\"not_yet_rolling_status\" - default="$default":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true}]}}} + default="$default":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true, + default="$default"\"smart_test_ignore\":false,\"smart_attr_ignore\":false}]}}}, if grep '"disk_compatbility_info":{}' "$2" >/dev/null; then # Replace "disk_compatbility_info":{} with From e5775b6cad2c47ec414c2985070e9223c70680ba Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 29 Dec 2023 20:42:00 +1100 Subject: [PATCH 145/163] Update CHANGES.txt --- CHANGES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index da9b842..4d0eca5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +v3.3.74 +- Include smart_test_ignore and smart_attr_ignore in db files. + v3.3.73 - Bug fix for vendor id. From 6f5b4f8f395c88a93adeb1b14d722d17b6fe26a5 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 30 Dec 2023 12:17:51 +1100 Subject: [PATCH 146/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a925040..27f7ec0 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ ### vendor_ids.txt | | | | | |--------------------|--------------------|----------------------|----------------------| -| | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | +| Reece Lyne | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | | bcollins | Peter jackson | Mir Hekmat | Andrew Tapp | From e264668589548cb841a0069239a2c253f3669f4e Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 30 Dec 2023 17:21:33 +1100 Subject: [PATCH 147/163] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 27f7ec0..2cf6b62 100644 --- a/README.md +++ b/README.md @@ -124,8 +124,9 @@ ### vendor_ids.txt Thank you to the following PayPal donators, GitHub sponsors and hardware donators -| | | | | +| | | | | |--------------------|--------------------|----------------------|----------------------| +| | | | Alec Wilhere | | Reece Lyne | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | From 84989d254f7eabb4d9b079aa40ca7bc13f38808d Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 1 Jan 2024 09:09:11 +1100 Subject: [PATCH 148/163] Update README.md Updated donators list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2cf6b62..82f48fa 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ ### vendor_ids.txt | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | | Alec Wilhere | +| | | Ez Hosting | Alec Wilhere | | Reece Lyne | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | From 903349e82ef6247ea21c440c4192c56f60c4112b Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:36:46 +1100 Subject: [PATCH 149/163] Update syno_hdd_db.sh v3.3.75 - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. - Minor bug fix. --- syno_hdd_db.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 34998f2..a650005 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,9 +27,10 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.74" +scriptver="v3.3.75" script=Synology_HDD_db repo="007revad/Synology_HDD_db" +scriptname=syno_hdd_db # Check BASH variable is bash if [ ! "$(basename "$BASH")" = bash ]; then @@ -296,9 +297,9 @@ echo "Running from: ${scriptpath}/$scriptfile" # Warn if script located on M.2 drive scriptvol=$(echo "$scriptpath" | cut -d"/" -f2) vg=$(lvdisplay | grep /volume_"${scriptvol#volume}" | cut -d"/" -f3) -md=$(pvdisplay | grep -B 1 "$vg" | grep /dev/ | cut -d"/" -f3) +md=$(pvdisplay | grep -B 1 -E '[ ]'"$vg" | grep /dev/ | cut -d"/" -f3) if cat /proc/mdstat | grep "$md" | grep nvme >/dev/null; then - echo "${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" + echo -e "${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" fi @@ -381,7 +382,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | fi # Copy new script sh file to script location - if ! cp -p "/tmp/$script-$shorttag/syno_hdd_db.sh" "${scriptpath}/${scriptfile}"; + if ! cp -p "/tmp/$script-$shorttag/${scriptname}.sh" "${scriptpath}/${scriptfile}"; then copyerr=1 echo -e "${Error}ERROR${Off} Failed to copy"\ @@ -410,10 +411,12 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | fi fi - # Copy new CHANGES.txt file + # Copy new CHANGES.txt file to script location (if script on a volume) if [[ $scriptpath =~ /volume* ]]; then # Copy new CHANGES.txt file to script location - if ! cp -p "/tmp/$script-$shorttag/CHANGES.txt" "$scriptpath"; then + if ! cp -p "/tmp/$script-$shorttag/CHANGES.txt"\ + "${scriptpath}/${scriptname}_CHANGES.txt"; + then if [[ $autoupdate != "yes" ]]; then copyerr=1; fi echo -e "${Error}ERROR${Off} Failed to copy"\ "$script-$shorttag/CHANGES.txt to:\n $scriptpath" @@ -424,7 +427,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath/CHANGES.txt" fi - changestxt=", changes.txt" + changestxt=" and changes.txt" fi fi @@ -433,7 +436,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | # Notify of success (if there were no errors) if [[ $copyerr != 1 ]] && [[ $permerr != 1 ]]; then - echo -e "\n$tag$changestxt$vids_txt downloaded to: ${scriptpath}\n" + echo -e "\n$tag ${scriptfile}$vids_txt$changestxt downloaded to: ${scriptpath}\n" syslog_set info "$script successfully updated to $tag" # Reload script From ce812d9b18fc9b7a8f5e7a39090ad5b1a3664c00 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:37:44 +1100 Subject: [PATCH 150/163] Update CHANGES.txt v3.3.75 --- CHANGES.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 4d0eca5..988164e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,9 @@ +v3.3.75 +- Now saves changes.txt as _changes.txt when updating the script. + - To not overwrite changes.txt if my other scripts are in the same folder. +- Bug fix for detecting if script is located on M.2 drive. +- Minor bug fix. + v3.3.74 - Include smart_test_ignore and smart_attr_ignore in db files. From a9986b4cd8cd08edcfa47ff83c9dac5a9660088d Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 7 Jan 2024 11:39:25 +1100 Subject: [PATCH 151/163] Update CHANGES.txt --- CHANGES.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 988164e..a884ae9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,12 +1,10 @@ v3.3.75 +- Include smart_test_ignore and smart_attr_ignore in db files. - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. - Minor bug fix. -v3.3.74 -- Include smart_test_ignore and smart_attr_ignore in db files. - v3.3.73 - Bug fix for vendor id. From 10efea01fda6f3ff38d5c6b1b8f462152343e197 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:09:02 +1100 Subject: [PATCH 152/163] Update CHANGES.txt Bug for fix for when -s or --showedits option was used. --- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index a884ae9..228c641 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,9 @@ -v3.3.75 +v3.4.76 - Include smart_test_ignore and smart_attr_ignore in db files. - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. +- Bug fix that caused error when -s or --shoedits option was used. - Minor bug fix. v3.3.73 From e6b14959a4395bf249b1900e39556939b8722923 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:16:11 +1100 Subject: [PATCH 153/163] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 228c641..4ed165e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ v3.4.76 - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. -- Bug fix that caused error when -s or --shoedits option was used. +- Bug fix that caused error when -s or --shoedits option was used. Issue #200 - Minor bug fix. v3.3.73 From 421937a1ebb4ecd75930083335687c6762a29f8c Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:16:58 +1100 Subject: [PATCH 154/163] Update CHANGES.txt - Bug fix for error when -s or --shoedits option was used. Issue #200 --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 4ed165e..7e65d9a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ v3.4.76 - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. -- Bug fix that caused error when -s or --shoedits option was used. Issue #200 +- Bug fix for error when -s or --shoedits option was used. Issue #200 - Minor bug fix. v3.3.73 From e045f9005acd12752eb21ff48bc50829470b0a8f Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:17:13 +1100 Subject: [PATCH 155/163] Update CHANGES.txt - Bug fix for error when -s or --showedits option was used. Issue #200 --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7e65d9a..37fe6d3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ v3.4.76 - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. - Bug fix for detecting if script is located on M.2 drive. -- Bug fix for error when -s or --shoedits option was used. Issue #200 +- Bug fix for error when -s or --showedits option was used. Issue #200 - Minor bug fix. v3.3.73 From c3e1f15dba4cde3f45ac59b81263a905c5426c26 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:17:27 +1100 Subject: [PATCH 156/163] Update syno_hdd_db.sh - Bug fix for error when -s or --showedits option was used. Issue #200 --- syno_hdd_db.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index a650005..7fde39c 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.3.75" +scriptver="v3.4.76" script=Synology_HDD_db repo="007revad/Synology_HDD_db" scriptname=syno_hdd_db @@ -633,6 +633,7 @@ vendor_from_id(){ # Vendor ids missing in /usr/syno/etc.defaults/pci_vendor_ids.conf # $1 is vendor id # https://devicehunt.com/all-pci-vendors + # https://pci-ids.ucw.cz/ vendor="" case "${1,,}" in 0x10ec) vendor=TEAMGROUP ;; @@ -1130,7 +1131,7 @@ updatedb(){ default=\"default\" default="$default":{\"compatibility_interval\":[{\"compatibility\":\"support\",\"not_yet_rolling_status\" default="$default":\"support\",\"fw_dsm_update_status_notify\":false,\"barebone_installable\":true, - default="$default"\"smart_test_ignore\":false,\"smart_attr_ignore\":false}]}}}, + default="$default"\"smart_test_ignore\":false,\"smart_attr_ignore\":false}]}}} if grep '"disk_compatbility_info":{}' "$2" >/dev/null; then # Replace "disk_compatbility_info":{} with @@ -1176,6 +1177,18 @@ updatedb(){ } +# Fix ,, instead of , bug caused by v3.3.75 +if [[ "${#db1list[@]}" -gt "0" ]]; then + for i in "${!db1list[@]}"; do + sed -i "s/,,/,/" + done +fi +if [[ "${#db2list[@]}" -gt "0" ]]; then + for i in "${!db2list[@]}"; do + sed -i "s/,,/,/" + done +fi + # HDDs and SATA SSDs num="0" while [[ $num -lt "${#hdds[@]}" ]]; do From 4c533cb11a9a44d040d1ca8658ac0f2c88cf48f0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 11:31:52 +1100 Subject: [PATCH 157/163] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 82f48fa..372061d 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,8 @@ ### Scheduling the script in Synology's Task Scheduler ### Running the script via SSH +[How to enable SSH and login to DSM via SSH](https://kb.synology.com/en-global/DSM/tutorial/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet) + You run the script in a shell with sudo -i or as root. ```YAML From 0977d5481951d564af904410d4a47db48e98a8d8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:33:35 +1100 Subject: [PATCH 158/163] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 37fe6d3..7271186 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.4.76 +v3.4.77 - Include smart_test_ignore and smart_attr_ignore in db files. - Now saves changes.txt as _changes.txt when updating the script. - To not overwrite changes.txt if my other scripts are in the same folder. From 2e8fc173178c89fbd81f89d58a3314929c6b082c Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:35:59 +1100 Subject: [PATCH 159/163] Update syno_hdd_db.sh Bug for previous bug fix. Issue #200 --- syno_hdd_db.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 7fde39c..b4c2d14 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.4.76" +scriptver="v3.4.77" script=Synology_HDD_db repo="007revad/Synology_HDD_db" scriptname=syno_hdd_db @@ -1180,12 +1180,12 @@ updatedb(){ # Fix ,, instead of , bug caused by v3.3.75 if [[ "${#db1list[@]}" -gt "0" ]]; then for i in "${!db1list[@]}"; do - sed -i "s/,,/,/" + sed -i "s/,,/,/" "${db1list[i]}" done fi if [[ "${#db2list[@]}" -gt "0" ]]; then for i in "${!db2list[@]}"; do - sed -i "s/,,/,/" + sed -i "s/,,/,/" "${db2list[i]}" done fi From 5784d65ace24f432f490808cf2e4153d75ff150c Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:45:38 +1100 Subject: [PATCH 160/163] Update syno_hdd_db.sh Add check that script is running on Synology NAS. --- syno_hdd_db.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index b4c2d14..5d708e8 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -27,7 +27,7 @@ # Now warns if script is located on an M.2 volume. -scriptver="v3.4.77" +scriptver="v3.4.78" script=Synology_HDD_db repo="007revad/Synology_HDD_db" scriptname=syno_hdd_db @@ -39,7 +39,13 @@ if [ ! "$(basename "$BASH")" = bash ]; then exit 1 fi -#echo -e "bash version: $(bash --version | head -1 | cut -d' ' -f4)\n" # debug +# Check script is running on a Synology NAS +if ! uname -a | grep -i synology >/dev/null; then + echo "This script is NOT running on a Synology NAS!" + echo "Copy the script to a folder on the Synology" + echo "and run it from there." + exit 1 +fi ding(){ printf \\a From 82939119f8cf5b59404a0de2ae43339404a393ae Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:46:07 +1100 Subject: [PATCH 161/163] Update CHANGES.txt --- CHANGES.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 7271186..a899ec2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,6 @@ +v3.4.78 +- Added check that script is running on Synology NAS. + v3.4.77 - Include smart_test_ignore and smart_attr_ignore in db files. - Now saves changes.txt as _changes.txt when updating the script. From 85092468f96d9a656f8a1cb16ed568657c598592 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 8 Jan 2024 20:07:50 +1100 Subject: [PATCH 162/163] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 372061d..c030c32 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ ### vendor_ids.txt | | | | | |--------------------|--------------------|----------------------|----------------------| -| | | Ez Hosting | Alec Wilhere | +| | Voluntary Commerce LLC | Ez Hosting | Alec Wilhere | | Reece Lyne | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt | | Darryl Harper | Mikescher | Matthias Pfaff | cpharada | | Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia | From 04a2d3915a2671e6b57062fcb591636a05fecfca Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 9 Jan 2024 08:56:09 +1100 Subject: [PATCH 163/163] Update my-other-scripts.md --- my-other-scripts.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/my-other-scripts.md b/my-other-scripts.md index 877bb6f..0375a43 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -13,9 +13,6 @@ ## All my Synology Scripts - **Synology_enable_M2_card** - Enable Synology M.2 PCIe cards in Synology NAS that don't officially support them. -- **Synology_enable_eunit** - - Enable an unsupported Synology eSATA Expansion Unit models. - - **Synology_enable_Deduplication** - Enable deduplication with non-Synology SSDs and unsupported NAS models. @@ -34,6 +31,9 @@ ## All my Synology Scripts - **Synology_DSM_reinstall** - Easily re-install the same DSM version without losing any data or settings +- **Synology_app_mover** + - Easily move Synology packages from one volume to another volume + - **Synology_Cleanup_Coredumps** - Cleanup memory core dumps from crashed processes