找回密码
 立即注册
楼主: xsp1989

[原创] 完美解决猫盘群晖掉IP问题

 火... [复制链接]

0

主题

14

回帖

158

积分

初级渣柚V2

积分
158
发表于 2023-1-14 21:57:46 | 显示全部楼层
学习一下

2

主题

5

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2023-1-17 15:37:30 | 显示全部楼层
感谢分享。

0

主题

2

回帖

11

积分

初级渣柚V1

积分
11
QQ
发表于 2023-1-17 21:24:14 | 显示全部楼层
看看怎么解决

1

主题

3

回帖

46

积分

初级渣柚V1

积分
46
发表于 2023-1-17 21:58:38 | 显示全部楼层
谢谢谢谢谢谢谢谢谢

0

主题

7

回帖

21

积分

初级渣柚V1

积分
21
QQ
发表于 2023-1-18 09:18:32 | 显示全部楼层
转发:我好像解决部分猫盘刷群晖后掉IP的问题了
) Q0 h: u" ?# m$ n9 i
! {& x  G# |5 naquila995
" {  y% I% B5 f. J3 I! F
) E- u/ Y6 a3 O8 x) Q3 s4 e9 q于 2020-06-24 16:37:11 发布
4 g, S- @$ q) i5 A. f" R7 U! o; q2 [1 n" E
13215
8 h7 n# f' @  E9 T' e$ S! P+ w 收藏 13
1 v' C+ Q  e( j' L; {+ U分类专栏: 群晖
( I6 b  K# Y! Z& i版权' ^4 L1 U" G9 L7 E) ^9 R, _

" X$ p+ F+ l9 N群晖
+ I9 \8 _; L8 a9 r/ P8 Y专栏收录该内容
2 @7 b- S  c$ E" q" |; }; h9 Z' \1 篇文章0 订阅
7 d, {! z$ E1 H订阅专栏
, I! x" M2 Z4 |- i我好像解决部分猫盘刷群晖后掉IP的问题了
# J. O. m7 k+ I) {/ e2 w
) V; E& q0 x' O9 m我好像解决部分猫盘刷群晖后掉IP的问题了
; S+ E! F) J  m4 Z  l7 u4 [7 J
% J) M$ h+ B0 ]* N$ q9 Z5 c先说我的情况,xianyu上的,到手发现刷群晖后第一次没挂硬盘时可见ip,关机,上硬盘,再开机就一直见不到ip了,没敢一直重启,心疼硬盘。
' B1 z) s& y3 c- o6 N; H然后刷个X3P用了一段时间,还是想用群晖。上了块固态,试了多次后,应该解决掉IP的问题了,现在挂的是500G普通盘,一直正常。
; C5 b9 n3 Y/ n9 _* A; G- O ; s+ m# ?. _7 ]/ k- z  x  N# x: T
跳过刷机说重点,每次重刷完群晖都是可以连上的,但重启后就不行了,所以应该不是所谓的虚焊问题,应该是某个设置没有达到,网卡没有工作。
. I  \2 L5 H# s* ], _0 }& z $ P$ ]# c9 V! z3 G; C
然后发现的情况是,如果进到env环境(我也不知道叫什么,反正就是在xshell下一直按回车的环境),网卡是工作的,只是再进到群晖启动时没有工作。
6 D# s2 O% `- ^: I0 d
& u/ i5 W" L* D; t; l% F) x先看了下有什么可用的命令:
6 S  N" [0 r9 S  x9 S. L
+ |2 f  U  p7 P$ |/ I& sMarvell>> help
$ J; M0 ?; P3 H: D( t& c# ^2 {?       - alias for 'help'
4 j6 q. D. w8 C* M0 A: Pbase    - print or set address offset; l4 G8 a% h" z) I! W
bdinfo  - print Board Info structure+ y' }' ^1 Y& E; J
blkcache- block cache diagnostics and control' j5 e& v6 p& h5 |" x2 V
boot    - boot default, i.e., run 'bootcmd'
, \8 e/ ?# |8 i+ w- f0 `+ ^bootd   - boot default, i.e., run 'bootcmd'# d: R" c% w& f7 B% n1 w! U, f) E
bootefi - Boots an EFI payload from memory3 m* M6 A1 S+ `% f2 h
bootelf - Boot from an ELF image in memory' \. ]2 A6 I# u0 G6 g) @* c7 h
booti   - boot arm64 Linux Image image from memory2 c  ?, r$ R" Q: @! D- k5 ?6 L. }. f
bootm   - boot application image from memory2 j2 z" r, V1 i/ Y: Y! F6 B
============================================================* p$ Q/ Q/ e' v& j# ?
bootp   - boot image via network using BOOTP/TFTP protocol2 T/ @$ A$ e  N$ d9 a
============================================================
8 n! U$ |. U0 U0 P- y; C# k" tbootvx  - Boot vxWorks from an ELF image
8 S9 l2 z: U9 T- S) a. I, y3 mbubt    - Burn a u-boot image to flash) z& D7 a: [; e0 Y# E
cmp     - memory compare
: {) [" d* q. b) u4 W, X* U+ Kconinfo - print console devices and information
; j! \$ v- l, M' t& c5 kcp      - memory copy5 {( }8 H/ N# V, L7 C0 a1 `: m: o
crc32   - checksum calculation! T- H4 H9 a4 v" I
dcache  - enable or disable data cache1 e1 i8 R5 O6 B; I
-------------------------------------------------------------* C, o+ D2 [( S9 o$ z
dhcp    - boot image via network using DHCP/TFTP protocol/ l0 a: p' x- ]% t6 o6 V. Y& H
-------------------------------------------------------------
, ~+ U% {9 ^% G5 `2 Odm      - Driver model low level access# r$ `: B. y0 J, o% R( U$ Z9 N* B
echo    - echo args to console  H% M* y1 ~0 P* ?$ E
editenv - edit environment variable
$ L. F( b) |: S; b, {* Nenv     - environment handling commands9 X4 F# z) y- B8 Z/ ]$ ~
exit    - exit script
3 Z) }7 a( z+ h4 O0 U: D" D. s. Sext2load- load binary file from a Ext2 filesystem
5 V" m: D$ b) Y- s, R, \0 j! Z/ lext2ls  - list files in a directory (default /)# r! X3 x; z2 t3 y5 H! K  ]
ext4load- load binary file from a Ext4 filesystem
1 C! W0 \+ k) iext4ls  - list files in a directory (default /)
4 K4 G1 r* t1 F) [ext4size- determine a file's size
! t8 j7 N& P7 x3 r# Z) ~ext4write- create a file in the root directory
8 ?0 l' h$ m- M5 l. x( Xfalse   - do nothing, unsuccessfully
, u0 P* z/ e7 B& k( F! V: Vfatinfo - print information about filesystem
4 @4 {! A$ d3 F8 o9 I  g3 Ffatload - load binary file from a dos filesystem3 W* a+ c* }8 h2 Z  g
fatls   - list files in a directory (default /)& F' ]/ q4 e) y4 a; h6 z! k9 s
fatsize - determine a file's size' _& y8 J* [7 h, A, s- @
fdt     - flattened device tree utility commands0 N" o1 k  \( R% W  r
fstype  - Look up a filesystem type
" Y, l6 f# l4 |# Z# l/ ~* p$ K+ sgo      - start application at address 'addr'
0 c9 c0 V1 r5 ]0 Xgpio    - query and control gpio pins
2 |7 d( u2 j0 whelp    - print command description/usage
( m9 t' P; T  B" c, ^- @: Qi2c     - I2C sub-system
/ S2 p- v# a0 m! N6 \8 Q" n" eicache  - enable or disable instruction cache9 [4 r6 L. f3 c8 I. ]
iminfo  - print header information for application image
) _) t! I8 w9 t) Fir      - ir    - Reading and changing internal register values.
+ {  v( P, b0 [9 T' _+ E # F: i3 e# G% h. x1 \

  C8 x2 _. ~3 I7 B4 s+ E! {itest   - return true/false on integer compare
  d" B% F+ C! I8 E6 H% L* nload    - load binary file from a filesystem, M; G4 T& b2 m2 A% T
loadb   - load binary file over serial line (kermit mode)
  g0 Y2 ]! j  a; rloads   - load S-Record file over serial line
, d" T5 S3 `! Zloadx   - load binary file over serial line (xmodem mode)
$ Z% e; T$ A0 p- j- Gloady   - load binary file over serial line (ymodem mode)+ {6 H7 X+ A) _9 s
loop    - infinite loop on address range
. c0 @* n; q" Xls      - list files in a directory (default /)- g" B6 }/ @6 Z, f+ v+ F8 ^2 p: {
lzmadec - lzma uncompress a memory region
9 h$ W" j. ^$ P2 D9 h2 I' P: Qmd      - memory display. N' ]4 U' O) l
mdio    - MDIO utility commands2 K/ t  s% f. Z& q0 R
mii     - MII utility commands
$ p& ^9 M5 {# n7 `, Y, B6 Emm      - memory modify (auto-incrementing address)+ S+ ]7 A0 J7 w# m# g
mmc     - MMC sub system
- e- A5 x9 e9 i( d: R0 Bmmcinfo - display MMC info7 u2 r) s6 a- u& d
mw      - memory write (fill)7 p' |0 N6 L8 R5 O! R% i  u
nfs     - boot image via network using NFS protocol
! U; M7 o9 I- D7 x% l( ^" Inm      - memory modify (constant address)
# r' w$ c! J8 R$ d: V( ^part    - disk partition related commands
$ _9 y" a5 v) I2 cping    - send ICMP ECHO_REQUEST to network host2 C7 r& w9 e2 M
printenv- print environment variables
# |7 r5 o* a9 E3 d, x$ Hpxe     - commands to get and boot from pxe files# @# I9 w3 J8 i3 i' Z
regulator- uclass operations1 y) M$ t; b+ F# m3 Q1 j! X
reset   - Perform RESET of the CPU
" _. n' U" m% ]0 j1 Q& n) c# G) Brun     - run commands in an environment variable: x7 v6 ?3 V5 \! A' g
save    - save file to a filesystem) V9 p4 m2 G' }( D1 |+ B
saveenv - save environment variables to persistent storage0 I0 U& u3 ^; @
scsi    - SCSI sub-system
% U; j: K  D" x1 \scsiboot- boot from SCSI device
7 X2 p3 b4 T1 g! w* g& Tsetenv  - set environment variables
. z+ u. P; o3 V- W: zsf      - SPI flash sub-system# O1 N# a& }0 R4 S
showvar - print local hushshell variables
) b1 q% x& b. s8 Esize    - determine a file's size
  J8 M. p0 B! p) J! k* e; Tsleep   - delay execution for some time  {1 |! N3 G2 ~: Q; V
source  - run script from memory
* g* J8 k# l6 \' W9 e; Vsspi    - SPI utility command
9 n: ]2 O' f7 ]3 Fsysboot - command to get and boot from syslinux files6 o0 u  {* J3 O" R% G
test    - minimal test like /bin/sh
3 C1 v: s3 K9 H+ utftpboot- boot image via network using TFTP protocol# v' E3 \: h% O' X
time    - run commands and summarize execution time
' ]' N. o( S; [' a" O' i. Ptrue    - do nothing, successfully& n6 n$ ?2 c2 ?. x& h
usb     - USB sub-system  a+ x0 g  `7 B
usbboot - boot from USB device
- {4 q- t1 }7 F7 {7 `* Wversion - print monitor, compiler and linker version
5 p5 E+ I/ n/ ^- z' [' T6 d1 B$ \ 2 }* g4 ?5 c; c) S9 ?" N- r( e
发现了gpio
! d2 ]) A/ l4 d- o# ~" a ; U- T* a3 ~+ L9 W( n8 o" e1 ~
arvell>> gpio
5 U0 y" V' c: d# Q1 a' G' f9 Agpio - query and control gpio pins: i3 M* ~0 Q: f0 r
# ?% z$ {, q7 I: |5 w) Q

8 \& b9 y! C: u  u* p$ TUsage:
, f, J& \- q- J7 ]# C& t" |3 ~gpio <input|set|clear|toggle> <pin>2 E7 a2 ~0 }0 p" Z4 ]/ [) f
    - input/set/clear/toggle the specified pin
% T( b' P5 D! E/ j( Ngpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs- W! D' ?/ F  \* _
0 k0 r& _" H7 [) ^! y* E
0 V, o$ ]% ~5 a, M. R. z, K% F' L
Marvell>> gpio status! z; t% W( Q. P" f: L
Bank GPIO2:
& y2 I; {( `( {, yGPIO20: output: 1 [x] sata_pwr
( e: B- n) T# ^+ B% _GPIO221: output: 1 [x] phy_reset7 d) m7 y4 {& e  ~
+ y+ x$ V- D$ D" D0 c8 c
可见的io脚
2 ]' l( `( Q6 e2 ~# ` 2 m0 X8 D$ f$ |
Marvell>> gpio status -a( h: |( k. q: A0 [
Bank GPIO1:* x! C$ _. n1 B; c
GPIO10: input: 0 [ ]
6 E5 F0 P8 P; d2 U9 m- O. IGPIO11: input: 0 [ ]+ \! y4 b3 t: |8 L) W3 J
GPIO12: input: 1 [ ]
0 c) k3 ], L7 vGPIO13: input: 1 [ ]
9 W$ ^3 i. A5 c! XGPIO14: input: 1 [ ]
  X4 f7 }' C& t) m  RGPIO15: input: 1 [ ]
( f3 u% `# j6 c, ~6 i9 ^3 c6 JGPIO16: input: 0 [ ]* Y  k9 i' {* `& m. C
GPIO17: input: 0 [ ]
) v1 F% y6 r9 ~GPIO18: input: 0 [ ]
7 ?+ I" S0 [$ j7 |GPIO19: input: 0 [ ]" ?3 @$ h8 ~6 S- L
GPIO110: input: 1 [ ]
2 _8 p; A0 L: [. o3 S8 }( H! vGPIO111: input: 0 [ ]" D7 ]& w1 L: c$ j7 b3 c; d* \. @6 R$ S
GPIO112: input: 0 [ ]
6 \1 ~' {$ D# R7 |GPIO113: input: 0 [ ]/ V+ I! [+ c& e2 B: g) Q: ^
GPIO114: input: 0 [ ]7 ]. T+ D7 _0 q8 P% P# e
GPIO115: input: 1 [ ]% J( l  G, M; B$ n1 N
GPIO116: input: 1 [ ]
1 i, I1 a' X7 x: FGPIO117: input: 1 [ ]
: T* R8 `* C0 H8 b- \  m6 k0 P3 o$ O) lGPIO118: input: 1 [ ]
8 g9 l7 m: J, W$ }* {9 V, dGPIO119: input: 1 [ ]) |8 W" L! ^' Y
GPIO120: input: 0 [ ]
$ ]& Z8 C' k/ X4 n7 U7 NGPIO121: input: 0 [ ]1 n; B+ b. d9 c2 t& n
GPIO122: input: 0 [ ]
- b% T* [' z# Q/ ]3 zGPIO123: input: 0 [ ]
! k7 m* Z$ @9 D' O% Q' ~GPIO124: input: 0 [ ]
" d( |& k: L) GGPIO125: input: 0 [ ]" m* K  d/ W' T1 z! `; ]' x, a
GPIO126: input: 0 [ ]. T$ q. x4 i5 l2 i1 a
GPIO127: input: 0 [ ]
. A7 P" c9 g8 F+ d) r9 b* gGPIO128: input: 0 [ ]
+ d4 m2 D4 j) @, x7 q- bGPIO129: input: 0 [ ]
0 F1 B  u7 ?  a4 u7 YGPIO130: input: 0 [ ]
5 K* X  h. ^, g' h7 l0 FGPIO131: input: 0 [ ]% Q6 {: R$ ~$ z8 y! {) s# K
GPIO132: input: 0 [ ]7 Q& |' O# V- S( Y# o
GPIO133: input: 0 [ ]
$ c. W' N( A1 ~2 @/ NGPIO134: input: 0 [ ], A2 r6 R$ s  x- ~2 y5 A# K
GPIO135: input: 0 [ ]
1 x! _- T- i  w' v' L1 e! X1 f/ p
6 y$ R5 [. S5 Y1 ~  \9 t  K
" X2 J' a- P+ ~: RBank GPIO2:
! l. _1 p& G3 v! u2 P! }GPIO20: output: 1 [x] sata_pwr
) U2 p9 X* ~( K! c0 v0 _GPIO21: input: 0 [ ]
+ a$ j! V  r! P& s+ V) E6 S4 tGPIO22: input: 1 [ ]
7 N1 \' |7 k, L4 {. q; n* i8 w6 \GPIO23: input: 1 [ ]; l* @* X- N  l8 v2 B
GPIO24: input: 1 [ ]0 r! E6 P' F- K1 G2 o3 E
GPIO25: input: 1 [ ]' l, Y4 G5 J: Q  D4 V  R+ k5 Y
GPIO26: input: 0 [ ]4 d1 {% k) Q' s0 {/ Z3 n
GPIO27: input: 1 [ ]& y4 `- H& m3 y3 ]7 \. w& J! l
GPIO28: input: 1 [ ]
4 Y" b% V, X. k* x  T* zGPIO29: input: 1 [ ]
" I. g) ~* U5 @5 H# f2 Q$ KGPIO210: input: 1 [ ]
5 i* j: A. j8 }# j% J' pGPIO211: input: 1 [ ]
1 k2 @5 ~: w, V! b8 H- {GPIO212: input: 0 [ ]
0 `$ i4 T" V, O" u9 \8 gGPIO213: input: 0 [ ]! h" z& E* e  ]5 n8 x
GPIO214: input: 1 [ ]
4 ]- _$ |' U5 s7 M  G# T! c: |8 FGPIO215: input: 1 [ ]  p& Q% A4 D4 O' E+ ?$ a7 r
GPIO216: input: 1 [ ]1 g) B# i& x% N$ t( P- V
GPIO217: input: 1 [ ]: d! {% G  Z& a5 ?- v
GPIO218: input: 1 [ ]
( X# X6 W! f- A) I. d1 L1 j9 AGPIO219: input: 1 [ ]
! M) h) r# J1 I; WGPIO220: input: 0 [ ]
, P# [# @- J4 r0 IGPIO221: output: 1 [x] phy_reset
: T6 p/ r7 z  ]  k! KGPIO222: input: 1 [ ]$ i& h( {* _3 `' p( |2 d
GPIO223: input: 1 [ ]
2 Q' C+ K- A. b& JGPIO224: input: 1 [ ]6 X2 J3 g' ~7 W' L/ O8 ]1 K
GPIO225: input: 1 [ ]6 ]* l) `( q) ]( ~5 u' r
GPIO226: input: 1 [ ]( g% V; v  U( g
GPIO227: input: 0 [ ]
4 H0 K3 y( l( D; V. ]7 p8 @GPIO228: input: 0 [ ]- z6 S% e) W8 ?% x9 b/ a$ M; u
GPIO229: input: 0 [ ]
% g2 |/ n/ J& E0 A0 R( e# x+ B # N1 I& T% K$ P
别的看不懂,只看到一个是硬盘的供电,一个是phy_reset,不知道干什么的。
; _" w3 t; y3 s& Q# P# Z , }. |" E3 `8 g( Y& m" U
Marvell>> gpio  T# R( [% F, A/ y6 W
gpio - query and control gpio pins: M' [" B, Y% V' @7 v; N3 R# U1 R3 C% R

; v! Q: k( `0 V" X) h * M# \2 l1 J5 S" a3 R8 P
Usage:
+ X* G& U0 g1 zgpio <input|set|clear|toggle> <pin>; @' W4 F5 ]/ a3 o7 h
    - input/set/clear/toggle the specified pin5 K! l& D' g. \9 M
gpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs! v* k! \! v; g- C) p- B
3 h6 y5 ^; w: u) f8 |
set是置1,clear是置0,toggle八成就是翻转(初中级英语,没办法,全靠猜)! G% c; N0 M  j4 f2 b* t5 I) H
2 J4 p3 _9 _8 _7 \  z
然后看到env有地方是参数设置,类似dos的环境变量吧
% V2 @+ d2 t4 V6 C) O 5 X; K7 g4 a( R' V
Marvell>> env print0 j4 h7 Z$ Z5 q$ ?, e9 u& ^
arch=arm" W- m" E: X, d( S: Z6 u
baudrate=115200
1 {4 n& C+ x8 [& }/ M4 Bboard=mvebu_armada-37xx
/ ^7 u( \- c$ |7 L* }8 ]4 g3 xboard_name=mvebu_armada-37xx
4 q7 `5 @, C3 ?" W) Rboot_mmc0p1= setenv bootdev mmc 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
' x; S. l2 f3 Hboot_mmc0p2= setenv bootdev mmc 0:2; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
0 m+ K  ^% o' F; `7 c9 z4 w5 Iboot_sata=scsi scan; setenv bootdev scsi 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};9 J& t8 q/ S- C% \  U
boot_targets=usb mmc0p1 mmc0p2 sata
% F' f) O- B. _" F# \2 E* F1 f' Yboot_usb=usb start; setenv bootdev usb 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
6 \1 G( ^2 o  U" z( x5 A/ \bootcmd=gpio input GPIO23; if test $? = 0 ;then echo "Enter button mode";run bootcmd_button;else echo "Enter nomal Mode";run bootcmd_normal;fi
& O' J; {2 B, M; Q, L  E. ebootcmd_button=for target in ${boot_targets};do run boot_${target}; done;6 Z5 e: \* k0 l
bootcmd_normal=run bootcmd_syno;
  Q; c/ F: _# }+ Y' J( Dbootcmd_syno=run syno_bootargs;sf probe;sf read $loadaddr 0x0D5000 0x306000;echo "syno: start decompressing kernel... ";lzmadec $loadaddr $kernel_addr;sf read $initrd_addr 0x3DB000 0x410000;sf read $fdt_addr 0xd2000 0x3000;booti $kernel_addr $initrd_addr $fdt_addr;& P- ^2 z0 G/ A  j
bootdelay=13 H' K( _3 M) Z4 r( h: W3 S7 \
bootdev=scsi 0:13 a% I0 A6 I8 k
console=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
5 y: ~0 q) L; M7 b7 ecpu=armv8
* _0 e$ D% _+ U! P' V( Fethact=neta@300001 J4 q) A6 @1 A& B7 a
ethaddr=00:11:32:11:22:00
8 h' I' E3 @1 I; }: D3 h! t& |ethprime=eth0
) W5 n0 O% R( P1 h* Kfdt_addr=0x6000000
" ~; m& y& ?% C6 v2 Yfdt_high=0xffffffffffffffff
: `! {5 J5 B5 J* `( O; o7 Ufdtcontroladdr=1f6437d0
) G9 Q! @1 B. }' Fgatewayip=192.168.1.254
+ W( F1 Y7 W. i- [' T' Ehostname=catdrive5 G0 T* ]9 k$ M8 \0 q9 R  u5 m
image_name=/vmlinuz# D; E: _1 x, F
initrd_addr=0x1100000
- K( L, v7 O  A- k! q1 tinitrd_size=0x2000000
: Q1 ^# B  S1 @0 B8 b: C5 f4 Vipaddr=192.168.1.119
) E4 m' k: h, R6 s+ }' [kernel_addr=0x7000000
2 b- |9 f" I5 a5 sloadaddr=0x8000000$ K# q) D, D/ b: P0 o3 ?
netdev=eth0  K+ L# f" u/ K3 b! P
netmask=255.255.255.0
( }( z, g8 F( V8 R( v1 W8 Grootpath=/srv/nfs/4 y; w6 J5 m, t! c7 j
scriptaddr=0x6d00000# R/ {- I8 d5 {+ }7 C3 \. r2 n+ q
serverip=192.168.1.254
& G& ]  |% _1 |' C* [: @& {soc=mvebu" V; e# M! ~* t  z  e1 u# n
stderr=serial@12000
9 J; u' ]  p' W% N! w- astdin=serial@12000/ M1 T% {+ f0 d  ]9 f6 Q. u: e
stdout=serial@12000
9 P; i3 G$ O+ `( p9 Y8 lsyno_bootargs=setenv bootargs console=ttyS0,115200 ip=off root=/dev/sda1 rw swiotlb=2048 syno_hw_version=DS119j syno_fw_version=M.246 syno_hdd_powerup_seq=1 ihd_num=1 netif_num=1 syno_hdd_enable=40 syno_hdd_act_led=10 flash_size=8 vendor=Marvell
- q$ |  m6 l8 }& V& yvendor=Marvell
. i2 x, e% o3 h: Z9 S - N) ~7 k# {5 D; P( b' e

/ W' A6 ^6 \" t% p. OEnvironment size: 2001/8188 bytes
. _  f9 `8 i# ^$ EMarvell>>
; T& [$ N( m( Y. _3 ?2 w$ o 7 G$ q# r. S$ F( q3 o4 w' Y3 {9 }
看到有一个GPIO23,试了下,原来是reset按钮检测,没什么用。但它有两个启动项,主要是bootcmd_normal,而这又指向bootcmd_syno.( v: b4 n3 O' E! s# v5 B3 m
bootcmd_syno=run syno_bootargs;sf probe;sf read $loadaddr 0x0D5000 0x306000;echo "syno: start decompressing kernel... ";lzmadec $loadaddr $kernel_addr;sf read $initrd_addr 0x3DB000 0x410000;sf read $fdt_addr 0xd2000 0x3000;booti $kernel_addr $initrd_addr $fdt_addr;5 q$ ^) H8 j' g5 |9 q) Y

; q6 [% B2 y# m" O3 N8 D这里好像是群晖引导,一条一条的命令,我又不会改linux的启动呀内核呀,只能在这儿动手了
' j" A8 L, [& T/ D8 K  a! _. gbootdelay=10 ,启动等待时间,1秒,太少,我都来不及按,改成10秒0 |$ o; }6 K( V' y" z& G

8 L( m6 N$ a2 Abootcmd_syno=gpio clear GPIO221;sleep 10;gpio clear GPIO20;sleep 10;gpio set GPIO221;sleep 10;gpio set GPIO20;sleep 10;run syno_bootargs;sf probe;sf read $loadaddr 0x0D5000 0x306000;echo "syno: start decompressing kernel... ";lzmadec $loadaddr $kernel_addr;sf read $initrd_addr 0x3DB000 0x410000;sf read $fdt_addr 0xd2000 0x3000;booti $kernel_addr $initrd_addr $fdt_addr;4 M# E+ Z$ J3 N. ^! E+ _, s

, u! J3 \8 i  E5 D& U% |注意我划掉的那部分,是先给硬盘断电,一会儿再通电,在固态硬盘可用,可能因为固态硬盘启动电流小,冲击小,当用普通盘时,有一定几率会死机,所以用普通盘时,我去掉了。& i# U  K1 l9 n. D
思路是:& X9 {. g  s, o* L
启动前先把phy那个=0,等10秒,关硬盘,等10秒,phy那个置1,开硬盘。之后正常启动。
! ^; V8 f! @! c4 U( Q 1 W' d4 \8 E2 B" N
这样有时能得到IP,但还是会有一定几率不行,所以又加上了网上流行的ping 60秒不通时重启  T+ `9 Q* `; v

0 M* L$ k6 s9 l2 x+ M控制面板,任务计划-新增-触发的任务-用户定义脚本,开机启动,开机60秒得不到ip 重启
* s( Z( q4 Q4 i0 q#!/bin/bash
- z, T  |1 T" Z) k7 bdt=`date '+%d/%m/%Y %H:%M:%S'`
1 N" G2 u$ r, N; b5 aecho "$dt"5 ^. i6 B1 f0 v& b! k
sleep 60
. E$ w! R/ g3 e  Lnum=`ping -c20 114.114.114.114 | tail -2 | head -1 | cut -f 3 -d"," | cut -f 1 -d"%" | cut -f 2 -d" "`
7 b" t  l; q  g. j2 h+ Jecho $num/ ?/ T# {. f& I5 h6 E# ~0 j' i
echo $?
* ?8 l" |* Y: u6 jif [ $? -eq 0 -a $num -eq 0 ]; then
7 n/ h7 ~* w) N4 t    echo "$dt ok" >> /result.txt0 l% P$ l: k+ U, \7 a
else$ X, _5 H3 |  {* x$ |
    echo "$dt noip loss $num reboot" >> /result.txt
, g5 k" O) }8 \9 r    reboot
. r3 g9 e( g  [' S4 z9 {* Lfi: R8 u; I2 q$ }; q; T0 Z  ^

3 N( I7 @' Z6 `9 o* C7 [2 ^第五行,ping后边的IP自己改,我用了一个外网的IP。
. d3 \# P/ |2 ^+ s
) }- T" w8 l4 e0 f5 e2 {总是思路就是,第一次刷完群晖会有ip,挂着硬盘,装系统,设置60秒脚本,重启,如果找不到IP,改bootcmd_syno,再重启等着进系统。
" Z3 E* f! }) B# a* Z
- ?7 h9 L/ c0 P我反正试了几天,刚上电,等一会儿根本没有IP,60秒后,会重启,这次绝对有IP。但总要用ttl+shell盯着测试太麻烦,所以又加了一个正常启动后闪led灯的脚本,从网上抄的,忘记上谁发的了,侵权见谅。( o) G+ _+ H4 ~9 u3 M0 ]0 L

' d! n1 y4 |+ U. J* S: q还是上边60秒的地方,再加一条" n+ K+ q1 @, Z/ K. _9 x

3 z" E/ Q! A) F  U! M
" U" G8 J8 f" d$ m9 j. G8 ]/ |2cset -y -f 0 0x45 0x00 0x55
* F$ b# E( E. N" l7 h; hi2cset -y -f 0 0x45 0x01 0x016 ?$ S- z% ?7 K9 O0 \
i2cset -y -f 0 0x45 0x30 0x07: ~" E! P0 X" Z  J: b
i2cset -y -f 0 0x45 0x31 0x72
8 j' q3 ?; c& B% `% d+ H0 b8 oi2cset -y -f 0 0x45 0x32 0x723 H, V& F8 Z$ d
i2cset -y -f 0 0x45 0x33 0x72
" B: r  ?: P4 @  R' z5 h: r#调节三个灯灯每周期上升沿和最高亮度时间* `6 P, S+ u! B
#想要白色的话,把三个灯时间改为一样的就可以了,比如全部设为0x44
* S6 L$ k( @* e5 x, n& f: F+ zi2cset -y -f 0 0x45 0x37 0x44) e4 p, r6 i: u! Q7 g3 S, g7 Q4 G( V
i2cset -y -f 0 0x45 0x3a 0x558 w6 n2 t) ]! z, u1 ~1 k
i2cset -y -f 0 0x45 0x3d 0x66. V( A7 S: I1 s  q& p
#调节三个灯每周期下降沿时间和关机时间% f& \/ k" J$ i! D$ c' _. L. q
i2cset -y -f 0 0x45 0x38 0x44
% F+ ?  ]( w3 f; R/ Y2 yi2cset -y -f 0 0x45 0x3b 0x55  A+ b0 k7 d/ M% ~# d- X
i2cset -y -f 0 0x45 0x3e 0x662 [% L8 }. n+ G7 ]6 k
i2cset -y -f 0 0x45 0x39 0x40" J6 c) r. k/ x. g4 T  F9 Z3 E) P6 K
i2cset -y -f 0 0x45 0x3c 0x408 ^1 J# F3 E- _% {% }
i2cset -y -f 0 0x45 0x3f 0x40, K: a& u$ |% h/ ^, x# Y! N
# 0-255,更亮
1 Z8 B: ~, f: s' A, Ii2cset -y -f 0 0x45 0x34 128- z) T$ ?" U% l* a$ ^
i2cset -y -f 0 0x45 0x35 128
2 o7 T- E. }: L( t" i, qi2cset -y -f 0 0x45 0x36 128  D/ R& k: f$ @6 B1 D
! I; U% ~: T: J' ]
然后在这条设置里有一个“先行任务”,设置成上边的60秒,也就是60秒那条执行完才执行这条。而60秒那条,没有ip就会重启,有ip就完成了,就会执行亮灯
" \: P# V6 j, r( U5 B# t
# L; ?$ Q$ b3 T: I5 R ! Y& D) j* V& }
我知道很多大神会做内核解决各种问题,我也知道看起来很小的问题,工作量是非常大的,可能要几个月才能解决,所以大神做的东西是不可能轻易免费发出来的,人家也要吃饭,不可能靠爱发电(我也在公司做简单的技术,知道技术无价的道理)。我从99年学电脑开始,绝大部分的东西都是从网上找来学的,所以非常感谢所有把知识发到网上共享的大神们。
" W, S6 l) E% y$ @, |' A
& F: n9 l% b  M5 e" G7 ~9 E希望大家有条件能测试一下这个方法,如果可行,请发出去让更多的人看到,如果有改进的方法,也请共享出来,因为这个方法换盘好像不方便。; X% ^( Q" h- m

1

主题

4

回帖

255

积分

中级渣柚V1

积分
255
发表于 2023-1-18 14:08:36 | 显示全部楼层
时间问题?

5

主题

34

回帖

302

积分

中级渣柚V1

积分
302
发表于 2023-2-1 16:28:20 | 显示全部楼层
多谢分享!!
4 v! q" r0 Q1 L* q' S! W7 O1 f: ?

2

主题

15

回帖

282

积分

中级渣柚V1

积分
282
发表于 2023-2-1 18:25:22 来自手机 | 显示全部楼层
看一看学习

3

主题

32

回帖

330

积分

中级渣柚V1

积分
330
发表于 2023-2-1 22:18:59 来自手机 | 显示全部楼层
学习学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-6-6 17:24 , Processed in 0.067713 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表