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

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

 火... [复制链接]

0

主题

14

回帖

158

积分

初级渣柚V2

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

2

主题

5

回帖

51

积分

初级渣柚V2

积分
51
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的问题了- K0 s: L) C7 U

6 v$ U) G% x" d" G) S5 xaquila995
7 k7 R5 s9 ?  |2 Q/ g3 }$ X, U/ [  U7 G. v8 M9 z& p
于 2020-06-24 16:37:11 发布) Q8 S- G; P0 `; L  P

! f9 I. c( W4 S132155 X3 _" k, R. F$ u5 u& l
收藏 13
7 R/ b: o7 \0 K0 V/ w* D分类专栏: 群晖
0 {) k+ h% _8 O! {5 j* q版权( a) t# T$ H2 H9 C* k
. O: H2 M, a$ C4 H6 ?
群晖1 t, P. w* J2 C8 s+ }) O4 Z
专栏收录该内容
0 d; c. Y5 _; Y- P9 d) Q1 篇文章0 订阅
/ O  L$ B8 l7 C* g) B$ q订阅专栏
" Z0 V+ U. L; ~我好像解决部分猫盘刷群晖后掉IP的问题了6 y3 n/ ?+ W: j6 F

# z8 [# ~- J& P4 R: J: j2 ?1 r0 Z我好像解决部分猫盘刷群晖后掉IP的问题了4 ^8 E4 \5 T) W' k# x2 v/ T+ T7 f

0 @# S, h! z! n' E4 E先说我的情况,xianyu上的,到手发现刷群晖后第一次没挂硬盘时可见ip,关机,上硬盘,再开机就一直见不到ip了,没敢一直重启,心疼硬盘。
$ u" w, S( n( ^* I5 L然后刷个X3P用了一段时间,还是想用群晖。上了块固态,试了多次后,应该解决掉IP的问题了,现在挂的是500G普通盘,一直正常。
7 T  V+ V, W; I8 _$ d8 u + S3 G9 _1 }7 r
跳过刷机说重点,每次重刷完群晖都是可以连上的,但重启后就不行了,所以应该不是所谓的虚焊问题,应该是某个设置没有达到,网卡没有工作。# F* g" u+ \& Y  Y# w

$ E  k9 }  O7 M# U0 x8 D  G然后发现的情况是,如果进到env环境(我也不知道叫什么,反正就是在xshell下一直按回车的环境),网卡是工作的,只是再进到群晖启动时没有工作。( `; @$ ^& t$ j# D0 J1 S
' K4 f7 B# a6 b7 E$ K9 p
先看了下有什么可用的命令:
' o# ~0 N! E6 z; n. f2 J, D; @ ( _4 Z$ u: d+ o; L* B# C
Marvell>> help3 Y9 H: G. H8 l' f" i1 O; \
?       - alias for 'help'
: c4 G" t' w1 o4 `  ebase    - print or set address offset
' I# w" ]- o+ H$ [) g- Q; r2 e" K, jbdinfo  - print Board Info structure
. t$ c! ~* A$ V% V9 q) `5 jblkcache- block cache diagnostics and control( W. ?8 |' s( E7 W
boot    - boot default, i.e., run 'bootcmd'
/ |# }/ _: Z! l3 [4 u" G7 E% U7 xbootd   - boot default, i.e., run 'bootcmd') I9 R8 H2 `$ i/ k% D- T, p
bootefi - Boots an EFI payload from memory  V: z0 ]* z2 U6 M/ p' Y
bootelf - Boot from an ELF image in memory- }& L0 M# F+ z& V
booti   - boot arm64 Linux Image image from memory% Y* t8 V( q3 N+ u0 {8 }
bootm   - boot application image from memory
5 i: F2 L2 N  U+ y============================================================) }) p4 ~; ]8 b
bootp   - boot image via network using BOOTP/TFTP protocol
) Q* Z8 f* [  q2 n, C============================================================" L* y( k0 _3 I* x) k! v$ N3 C
bootvx  - Boot vxWorks from an ELF image
, H# C3 B1 x+ h. a/ \& D6 j. Mbubt    - Burn a u-boot image to flash0 q6 S# M1 W$ P8 `( c0 a
cmp     - memory compare
/ F7 G# w( a9 P9 Yconinfo - print console devices and information
  N3 Z) N# O) R3 e- V8 Ecp      - memory copy  r) q" z8 @4 [& N- v1 Z0 w
crc32   - checksum calculation
' f: r1 @7 f. E3 p" K- H* vdcache  - enable or disable data cache
/ |  j2 l+ B% M$ z0 H$ Z-------------------------------------------------------------
5 }6 U3 J& t3 D/ s8 V; Sdhcp    - boot image via network using DHCP/TFTP protocol
/ \" v# l9 _2 ^9 u& T-------------------------------------------------------------9 K% K; h" B$ p+ e2 [4 o
dm      - Driver model low level access
- U# u7 d; y( {- B  uecho    - echo args to console3 k5 ]9 u% I/ G8 I5 Q* l. i
editenv - edit environment variable+ k" t! Q! ^+ u2 K1 P" Y
env     - environment handling commands; y! [0 r/ Y+ D  V8 M, [, e* J
exit    - exit script# W0 U: Q% O6 l  m
ext2load- load binary file from a Ext2 filesystem* n( ~, k4 f6 c
ext2ls  - list files in a directory (default /)
5 {0 s8 ^8 L$ I; D% |; a& `2 Lext4load- load binary file from a Ext4 filesystem5 _& K; Y. @3 j/ ]0 m5 g) v$ [
ext4ls  - list files in a directory (default /)2 r0 {2 n; P3 R5 d
ext4size- determine a file's size  u  r3 n7 u7 x
ext4write- create a file in the root directory
  W$ U' R2 ?, u6 l8 g8 Ofalse   - do nothing, unsuccessfully: j& }3 W2 \4 I9 e7 O4 _
fatinfo - print information about filesystem, O" O/ C# M7 `& s3 J
fatload - load binary file from a dos filesystem7 C9 K7 U0 V7 D2 o0 ]- t" J
fatls   - list files in a directory (default /)
2 m, O' g  u& U- V1 H; r+ ifatsize - determine a file's size
2 S0 t2 A/ m0 E9 ]( wfdt     - flattened device tree utility commands
1 Q0 M9 f; g+ `  s8 q# zfstype  - Look up a filesystem type
9 J6 T% L/ p/ a: [! t- p. Xgo      - start application at address 'addr'8 a( \; a/ l& F( W* t( }, m, C. d! P( [
gpio    - query and control gpio pins
9 t% _6 |/ D! o( G) t  X& Whelp    - print command description/usage  b% ^- g& V9 I6 G- ~9 X
i2c     - I2C sub-system
$ e5 O. U+ B/ t: k. ~5 ], `- m# _9 A  Ficache  - enable or disable instruction cache3 Z2 \4 R/ O' d) B0 M/ }; j
iminfo  - print header information for application image
8 `$ q0 A  O# vir      - ir    - Reading and changing internal register values.  s( ?0 v. A  S- v9 j- u2 L; F

; F6 w) a* K1 O1 `
$ C- p2 p) b5 n+ P6 P: w: t. p0 }itest   - return true/false on integer compare9 {" L( n' H9 c* Z: B* L! o
load    - load binary file from a filesystem
: `) `9 m; K; V" k% Y7 Iloadb   - load binary file over serial line (kermit mode)( t9 S4 t( ]/ n* D/ `( p
loads   - load S-Record file over serial line
) o0 q5 l6 b, \- I' D9 t. {/ _loadx   - load binary file over serial line (xmodem mode)6 ~$ J; m- {; p2 Q
loady   - load binary file over serial line (ymodem mode)
! D* C  C/ ?8 R  y2 F1 Tloop    - infinite loop on address range
1 p( b$ `) M! o* s) i, `+ a' k* Lls      - list files in a directory (default /)* t4 F# p% B& L$ g. D, B6 _; [- `) x
lzmadec - lzma uncompress a memory region
' ?9 g/ ^( l2 F% }; A/ A9 V6 omd      - memory display
) D; M/ o$ S1 emdio    - MDIO utility commands
. |3 z5 z" a$ n* m& Xmii     - MII utility commands" k1 A/ G5 d3 K2 E% p/ a
mm      - memory modify (auto-incrementing address)/ j' G7 A1 U" H9 A
mmc     - MMC sub system& v4 a7 z+ ?0 @  M  a% l/ |
mmcinfo - display MMC info
% X, n0 b& r) P' ^5 i, W' E2 B# C& t7 Fmw      - memory write (fill)
$ A1 h# u1 l4 @6 ]0 F' j2 ]nfs     - boot image via network using NFS protocol2 I, Y7 Z: |# C/ t. p
nm      - memory modify (constant address)3 p0 F: u2 g" T+ E
part    - disk partition related commands8 {5 w" J2 ^# s0 ?5 w
ping    - send ICMP ECHO_REQUEST to network host+ I$ t* Z5 z: _% m# e% j
printenv- print environment variables4 S  Z; X" k# U# H" ~+ V) Y
pxe     - commands to get and boot from pxe files+ p) W! E% C- [. M" B% q
regulator- uclass operations
- K, C% z7 B' d& S' w2 K* `reset   - Perform RESET of the CPU) i# I$ _, n% {3 t3 @3 p
run     - run commands in an environment variable* q% C2 T8 E6 c4 v' p7 T
save    - save file to a filesystem+ p$ g' c2 G' d0 V. I
saveenv - save environment variables to persistent storage
+ N& ^' n! |4 z& O$ Hscsi    - SCSI sub-system1 q% w! d* h* W2 ^6 U* f
scsiboot- boot from SCSI device
+ }* Y9 U& c0 S( Gsetenv  - set environment variables
! \+ s& h) W9 Z9 d* vsf      - SPI flash sub-system
0 M$ b- K' P9 C" _  ~: vshowvar - print local hushshell variables4 ?7 H+ e4 v8 O. t! O
size    - determine a file's size
% {- r' @! m6 d6 l4 asleep   - delay execution for some time
/ g+ q& r1 H. Gsource  - run script from memory+ ]) {8 n9 N+ M9 T3 E
sspi    - SPI utility command% D4 I( C9 m+ p: u# l9 l' }% |' V! Y
sysboot - command to get and boot from syslinux files
) J! u- |/ P  l8 \1 H6 dtest    - minimal test like /bin/sh
3 c/ {$ M! X9 Q# Ftftpboot- boot image via network using TFTP protocol
" |' m% C  P2 O1 g) U8 V. u/ N# ztime    - run commands and summarize execution time
. x1 w! w4 }# u: K2 n0 x. f9 Btrue    - do nothing, successfully
5 Z; M! |) c- g+ @usb     - USB sub-system) J* h! i4 l+ j! l! q
usbboot - boot from USB device
6 j  N: ~9 V, Q" Uversion - print monitor, compiler and linker version
1 _* h2 g; E# S, q3 U, Y+ p
! F- e" `: q, D发现了gpio
' y& ]' D; u" G8 ~- L+ u& V, P 8 a9 V1 T) z  t; a' w6 \  C
arvell>> gpio* `8 N8 H+ ]5 p/ j  G  [7 N
gpio - query and control gpio pins
( B3 j4 S. \8 x" j2 C. d 6 ?4 M8 ^4 Y' W- g6 y; s" q
& h: G- W8 T- V& T0 c
Usage:1 ?7 D. {- I4 M+ S8 e( n
gpio <input|set|clear|toggle> <pin>5 n* B8 y! D0 ^
    - input/set/clear/toggle the specified pin
: ]0 p0 n0 ~, Z  s9 m5 A# B4 }gpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs
: t5 u7 t, y4 r9 j8 X
/ _4 s  e  e5 i1 B2 s2 t/ \( _ % j0 q* P3 [( `2 I/ O2 _. M  K
Marvell>> gpio status
! @8 e8 S  Z3 ~0 ?( S4 xBank GPIO2:
6 u+ h) L$ Q: z# b- Y7 NGPIO20: output: 1 [x] sata_pwr
7 f0 f3 r$ g! F" V' MGPIO221: output: 1 [x] phy_reset
6 l7 n' G+ F4 h 6 L+ Z1 B& a+ J. v. L+ O9 P& b
可见的io脚
; R% L! y" c' B- ]4 N: } 7 E8 c+ y) U  l3 X$ y
Marvell>> gpio status -a5 e, \: M0 g( _! Z$ x
Bank GPIO1:% H) t+ y/ P# R# u' g6 p+ s
GPIO10: input: 0 [ ]% }& j! V+ f6 ^( h
GPIO11: input: 0 [ ]% B, Z: q" N, `
GPIO12: input: 1 [ ]
: S4 A+ ]. C5 M! UGPIO13: input: 1 [ ]  I: F. e: s6 a$ o$ V
GPIO14: input: 1 [ ]
# {. l; V: e( J% yGPIO15: input: 1 [ ]
4 O" t* G& ]5 ~3 p0 c4 dGPIO16: input: 0 [ ]; p5 N% T( I* @8 l. e! a
GPIO17: input: 0 [ ]% n1 m& ?; Q3 r9 F/ s
GPIO18: input: 0 [ ]
# Y, ]# c, u" I, U: aGPIO19: input: 0 [ ]
5 p! L! S2 A  o* `5 g. u6 VGPIO110: input: 1 [ ], X% z4 m8 s. L6 ]7 t' o/ s
GPIO111: input: 0 [ ]
7 f' X- ?" f. N  n: Q4 [$ w! _GPIO112: input: 0 [ ]
! E2 y( H8 g! k# \. i- GGPIO113: input: 0 [ ]
' [$ F- k% d1 ^5 W! n& e$ |- RGPIO114: input: 0 [ ]
# T% D+ _" a; C, Y, U5 N- LGPIO115: input: 1 [ ]
% |9 m* d9 }8 o  |1 @# v/ o6 h2 y! dGPIO116: input: 1 [ ]
1 O7 c2 B6 B* e: M* R6 YGPIO117: input: 1 [ ]3 q3 [3 \# J9 b( z
GPIO118: input: 1 [ ]: `$ k9 I3 d8 J( w- `. c4 }: d8 g
GPIO119: input: 1 [ ]
: u$ {- k8 H% xGPIO120: input: 0 [ ], }. B, E" F* h6 X3 f
GPIO121: input: 0 [ ]  I. a0 j/ u8 X" x. n- C0 B
GPIO122: input: 0 [ ]
- E) R2 e8 P3 G7 ^2 n  G% JGPIO123: input: 0 [ ]- g0 P, I/ q0 ], `; Q5 }' P
GPIO124: input: 0 [ ]
; v2 t* f% S8 K: Y0 `% g, N7 U4 ^GPIO125: input: 0 [ ]
5 _6 u! ]! q0 ^. n2 J9 RGPIO126: input: 0 [ ]  F5 ^7 Z7 e  i# F
GPIO127: input: 0 [ ]
$ v( r: d% y# e3 x5 m8 x# F$ AGPIO128: input: 0 [ ]
: t6 r# d/ I! I/ ^5 T$ X3 e- eGPIO129: input: 0 [ ]
( H2 O7 ^) B# `/ H8 V* U; `GPIO130: input: 0 [ ]) ^' g# v/ |8 ~, I5 Z
GPIO131: input: 0 [ ]7 v; a$ O' K. m. a4 O- ]. E( D
GPIO132: input: 0 [ ]
) T6 y* [  K* O9 Q& m9 C3 C' S6 zGPIO133: input: 0 [ ]
1 l0 ?$ D$ u+ p$ Q/ A4 f0 tGPIO134: input: 0 [ ]
0 G4 a" K- B: u4 P' m. U4 PGPIO135: input: 0 [ ]8 a( ~5 V" h) F8 O1 V

, p" G$ ^! f8 j1 @$ }* \ " a; }( R4 {9 z9 o6 B
Bank GPIO2:
* E5 B* z$ N' n$ Q% p; |. eGPIO20: output: 1 [x] sata_pwr' F+ a* k8 h- R! c7 W2 j
GPIO21: input: 0 [ ]6 d& C0 f8 @1 A' I
GPIO22: input: 1 [ ]
2 J% S  C, q/ ^, R! e6 L3 b5 _, g: QGPIO23: input: 1 [ ]
/ ^$ c# \+ ?0 ZGPIO24: input: 1 [ ]
4 \3 t' S/ M2 a8 U6 NGPIO25: input: 1 [ ]1 L% c3 W5 O4 @; U# u! V
GPIO26: input: 0 [ ]
; o6 I! ?7 j1 yGPIO27: input: 1 [ ]
, A7 P, i. C4 W. x, y, K$ ]! a: JGPIO28: input: 1 [ ]0 _, y. a' R# @8 e* V7 u
GPIO29: input: 1 [ ]5 }1 X2 S6 C% b# V" R( o
GPIO210: input: 1 [ ]
! `+ v, ?- H% yGPIO211: input: 1 [ ]2 @  }4 y6 d- B. |% Z  l* f
GPIO212: input: 0 [ ]" B7 m- G* [; a9 r
GPIO213: input: 0 [ ]
: K  s" D; p' C; O$ vGPIO214: input: 1 [ ]
5 D! @. X9 ~$ J# n4 \  f3 [GPIO215: input: 1 [ ]
5 p1 u8 p. _$ [5 l! ?2 V1 o* C  b/ @" P& rGPIO216: input: 1 [ ]
! U+ q0 h; W" a$ y+ O% zGPIO217: input: 1 [ ]) `) t- g; z' W0 C* M% n
GPIO218: input: 1 [ ]; |5 c- c2 ?! b" M4 \
GPIO219: input: 1 [ ]! u0 n0 r" B- x6 w/ B2 Q% T
GPIO220: input: 0 [ ]6 M5 n# `$ p' [2 r* l( y# r5 }/ L
GPIO221: output: 1 [x] phy_reset
. R7 {: V6 T( y  ^4 ~& nGPIO222: input: 1 [ ]* L# ~7 P9 T3 B4 ?. |4 A1 E
GPIO223: input: 1 [ ]1 ^3 f; {/ X% F) J3 `0 d# Y3 b
GPIO224: input: 1 [ ]% @. w* @% U' Q( \1 a
GPIO225: input: 1 [ ]
. S) {  |* i0 P" EGPIO226: input: 1 [ ]. k' v* }9 E1 o" Y' ?
GPIO227: input: 0 [ ]6 S7 l+ z' x% x) k  G7 C1 t
GPIO228: input: 0 [ ]$ k% A- ?% H( ~6 i! @5 L  R! u
GPIO229: input: 0 [ ]7 ?& C' A# v  h' d: b$ |5 o

& y0 E' i) s, d, j别的看不懂,只看到一个是硬盘的供电,一个是phy_reset,不知道干什么的。
5 o: [; e! n$ b+ S, b: q
% C. ^6 ~, w' W# k0 z; m" m* tMarvell>> gpio
1 T% H0 }* i# @8 }3 z$ Q  Egpio - query and control gpio pins" ]6 u9 h7 r9 r" V$ {0 @+ i
! D) X6 ^- a# U

" B* o3 I4 h6 _6 r4 r/ |2 i0 r2 S/ M9 SUsage:
8 \7 ]: f: p8 W/ K; T1 j' _gpio <input|set|clear|toggle> <pin>
- A6 Q  K" y) |& K+ U1 i4 i    - input/set/clear/toggle the specified pin
. G7 a! I5 ]1 Qgpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs4 T, l' H3 ~/ i4 _  ~; A
1 l! R0 d6 C& w) @! Q. q
set是置1,clear是置0,toggle八成就是翻转(初中级英语,没办法,全靠猜)) U# F4 \7 w( t  u4 J
6 \4 D+ Y7 f- p" X4 E1 |
然后看到env有地方是参数设置,类似dos的环境变量吧* D  h( _2 A+ O  c' p! ~' i

' ~8 ~% I' A$ c: XMarvell>> env print
1 m6 K: D  b# |4 \9 Y- h5 `arch=arm- ~5 j, j+ W. u* b6 U( W* n
baudrate=115200
. b/ u% h8 B; {2 I, qboard=mvebu_armada-37xx; j" C6 V3 J/ J) S2 ]3 m0 d1 t
board_name=mvebu_armada-37xx* @% z) A# S. Q
boot_mmc0p1= setenv bootdev mmc 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
, |, L8 f+ X! g+ C8 {% P, gboot_mmc0p2= setenv bootdev mmc 0:2; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};8 l) J2 L% I' h+ ?6 H8 H
boot_sata=scsi scan; setenv bootdev scsi 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
- `$ C9 b; k* b- y- Z  d  R9 Eboot_targets=usb mmc0p1 mmc0p2 sata' B8 P" _9 ?  m2 a# d- D
boot_usb=usb start; setenv bootdev usb 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
' K! T2 M+ M6 I# W; V- bbootcmd=gpio input GPIO23; if test $? = 0 ;then echo "Enter button mode";run bootcmd_button;else echo "Enter nomal Mode";run bootcmd_normal;fi+ q; V5 W& R# C1 }  Y! Y
bootcmd_button=for target in ${boot_targets};do run boot_${target}; done;8 e; ~! A, R8 i6 J8 w+ |, o2 X
bootcmd_normal=run bootcmd_syno;
0 n$ s/ L1 N7 J; }* }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;/ U# E2 B+ o) U
bootdelay=1; t2 {  T3 L6 l" O0 y6 Z
bootdev=scsi 0:1
3 U) t+ q7 N4 |console=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
0 t7 |' d0 m) ]  D7 Tcpu=armv8
4 v8 ]& U5 r# g4 s5 E! D4 hethact=neta@30000- Y" o; ?7 o4 _* A1 r" o9 g
ethaddr=00:11:32:11:22:00# z0 U' }  A2 C
ethprime=eth0
2 R8 u4 i. `" ofdt_addr=0x6000000
, [4 X4 v  r  Ffdt_high=0xffffffffffffffff; r/ K* ^! a  b6 w2 v) p( }
fdtcontroladdr=1f6437d0
) B& a' @1 q. o% k6 Y" y" ~gatewayip=192.168.1.254& N7 j2 |% q- D* `7 l( J# V' e! S
hostname=catdrive
, i: h2 k3 H4 ~# z1 r( p, t$ A1 Qimage_name=/vmlinuz! l+ j$ z6 L+ ~3 N
initrd_addr=0x1100000
+ {" s9 e& H3 ~7 D) Oinitrd_size=0x20000000 l+ }6 q& l) h
ipaddr=192.168.1.119
, y: F$ Y, P, k  w, m" r6 B( ?9 jkernel_addr=0x7000000
! A* p4 `" q3 `0 _$ l: ]loadaddr=0x80000005 B' U* R1 y1 ?
netdev=eth0( N  ^+ H1 p7 f6 Y' u5 T
netmask=255.255.255.0
+ f$ u. W: |/ i& [rootpath=/srv/nfs/6 E, Z) |( ~8 ^0 t3 s% `
scriptaddr=0x6d00000
; O% p* w* n/ J7 e; B: Userverip=192.168.1.254
0 L2 s) B0 I/ `, fsoc=mvebu% c% l# @6 K1 c3 O* B. H3 I& P
stderr=serial@12000
- c* B. @; B1 t) Estdin=serial@12000
; I; x. D' P5 d& tstdout=serial@12000
* K$ }2 M0 o$ Z1 F, Nsyno_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: n9 B  c; ~# M, K1 G1 Q8 s
vendor=Marvell1 v" E+ Z1 W' Q

! y5 R! G! f. c& }9 ~: w 6 N6 D" W. F4 s- f7 H1 w9 W# H1 g
Environment size: 2001/8188 bytes6 P% u. E+ i0 ]4 P/ f
Marvell>>& }/ {: A& j  L

0 \$ s8 c; V& b. x看到有一个GPIO23,试了下,原来是reset按钮检测,没什么用。但它有两个启动项,主要是bootcmd_normal,而这又指向bootcmd_syno.
0 f3 s8 w0 D% B2 Rbootcmd_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;
. A! p8 n) K9 u) s; v1 w+ j # @  \; \0 s- B+ r
这里好像是群晖引导,一条一条的命令,我又不会改linux的启动呀内核呀,只能在这儿动手了
9 f9 d0 V6 y$ z0 _( P6 h5 S/ b+ kbootdelay=10 ,启动等待时间,1秒,太少,我都来不及按,改成10秒' U: f0 ~% r/ y: v% P

/ D8 x% O  p2 ?7 f! [& w& @bootcmd_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;
3 g& _* z" R0 N1 @, X, I# A  K. Y
2 x2 z+ C) q( M0 ]) S5 \; i注意我划掉的那部分,是先给硬盘断电,一会儿再通电,在固态硬盘可用,可能因为固态硬盘启动电流小,冲击小,当用普通盘时,有一定几率会死机,所以用普通盘时,我去掉了。
2 O. n+ I8 q$ p思路是:% g3 y& E2 E( h2 Y4 w0 V& C
启动前先把phy那个=0,等10秒,关硬盘,等10秒,phy那个置1,开硬盘。之后正常启动。
4 W6 |3 q% N  D7 X# K * Q7 k5 J8 I0 x+ J. Q0 K- m
这样有时能得到IP,但还是会有一定几率不行,所以又加上了网上流行的ping 60秒不通时重启
# [, Y3 N6 ~/ X" q& z+ ]1 |
' m. i/ e$ ^" E) }; U控制面板,任务计划-新增-触发的任务-用户定义脚本,开机启动,开机60秒得不到ip 重启
# `1 e7 g2 ]5 H2 I6 K" J+ V#!/bin/bash# y6 c8 V. T+ N, |. w  w
dt=`date '+%d/%m/%Y %H:%M:%S'`- ^8 `( q* u. t* c
echo "$dt"+ k; f2 E: L$ b4 r- e4 ]
sleep 60
6 H8 z# u; A; anum=`ping -c20 114.114.114.114 | tail -2 | head -1 | cut -f 3 -d"," | cut -f 1 -d"%" | cut -f 2 -d" "`
: [) F1 O' z' U# O" p& r4 W( v, uecho $num3 D; P# d  ^4 @5 A8 J6 S' u  Z/ D
echo $?$ C6 G5 S: N  r, U; t% T
if [ $? -eq 0 -a $num -eq 0 ]; then; ?9 b  b. M/ N2 |# G
    echo "$dt ok" >> /result.txt
7 s* H' X. z7 `! A$ P8 e. g, f- R( \else
3 T8 C: g1 m: u% ?    echo "$dt noip loss $num reboot" >> /result.txt' G* t# g( i  n9 {" w
    reboot& w4 ]- O: k/ n: O) ?" x- `/ u1 M* n
fi" _/ Z- _7 m+ Q" w' I5 Z9 u8 c6 x

) [6 h# [% R2 Z& {' u6 s, ^第五行,ping后边的IP自己改,我用了一个外网的IP。
* h" r, p, s, H# u
+ f9 y4 i8 g. O1 k3 x* f总是思路就是,第一次刷完群晖会有ip,挂着硬盘,装系统,设置60秒脚本,重启,如果找不到IP,改bootcmd_syno,再重启等着进系统。
' D- S! H% f, H8 F4 f2 \$ [" f! Z
* ?4 y0 `9 N2 C+ r我反正试了几天,刚上电,等一会儿根本没有IP,60秒后,会重启,这次绝对有IP。但总要用ttl+shell盯着测试太麻烦,所以又加了一个正常启动后闪led灯的脚本,从网上抄的,忘记上谁发的了,侵权见谅。) F0 z& {! h: M& m

2 T; X- A3 X$ Q' X' P! d/ z还是上边60秒的地方,再加一条
4 _' l8 a2 s- M& c . H; w! z% N* r( {  e. K. f

6 b: D% f8 ?( g( h2 x2cset -y -f 0 0x45 0x00 0x554 |& Z5 [8 o. J& k* ]
i2cset -y -f 0 0x45 0x01 0x01
! {  F! Y9 Z2 Y/ Ni2cset -y -f 0 0x45 0x30 0x07
' k( {# ^* z4 ]- ~$ \i2cset -y -f 0 0x45 0x31 0x72& r  X1 x& p7 i
i2cset -y -f 0 0x45 0x32 0x72
$ Y3 {; q! F- ?3 o: u! g6 ni2cset -y -f 0 0x45 0x33 0x720 W; {+ e- S4 n5 R: E
#调节三个灯灯每周期上升沿和最高亮度时间
! t0 a; w* e: Y& P" o$ B#想要白色的话,把三个灯时间改为一样的就可以了,比如全部设为0x44$ b0 [# u, {) W. O% A$ o# l
i2cset -y -f 0 0x45 0x37 0x44
5 Z0 W: s3 H6 e4 R0 i4 U4 ui2cset -y -f 0 0x45 0x3a 0x55
" g* ~9 ~. G' h! ~3 R8 H* z& Z! ~i2cset -y -f 0 0x45 0x3d 0x66
) C1 V0 y/ g6 x5 K4 x#调节三个灯每周期下降沿时间和关机时间
) G$ M0 j' w( u7 T1 R1 {i2cset -y -f 0 0x45 0x38 0x44
) k: ]: Q, s4 v& Ji2cset -y -f 0 0x45 0x3b 0x55
5 h+ ]( F& c: I. i; f1 {i2cset -y -f 0 0x45 0x3e 0x66
# r) v1 t$ E4 ~: @i2cset -y -f 0 0x45 0x39 0x40
: _$ Q" ^/ U, Ci2cset -y -f 0 0x45 0x3c 0x40
* b  e8 b; Z; f: y$ b2 a, |; ?i2cset -y -f 0 0x45 0x3f 0x40: g% j3 {/ L2 s2 c$ x* ]/ V
# 0-255,更亮
+ v) ~- b, W" [& o$ Di2cset -y -f 0 0x45 0x34 128
& ]/ f7 _/ k& n. o, U: ~5 R  A3 z" ]i2cset -y -f 0 0x45 0x35 128
; |) C! p4 t" E3 B: Zi2cset -y -f 0 0x45 0x36 128
* v5 E$ p. i9 G) c
3 q$ G% T9 N& Q! z) U然后在这条设置里有一个“先行任务”,设置成上边的60秒,也就是60秒那条执行完才执行这条。而60秒那条,没有ip就会重启,有ip就完成了,就会执行亮灯, u2 `0 Q, s" J. C$ S

2 ]) \( u4 U( |5 q) w. | & a0 [/ T; w( O$ g5 C* f1 j# T
我知道很多大神会做内核解决各种问题,我也知道看起来很小的问题,工作量是非常大的,可能要几个月才能解决,所以大神做的东西是不可能轻易免费发出来的,人家也要吃饭,不可能靠爱发电(我也在公司做简单的技术,知道技术无价的道理)。我从99年学电脑开始,绝大部分的东西都是从网上找来学的,所以非常感谢所有把知识发到网上共享的大神们。( ~2 ^# D- p7 E& w8 p- U

# ^! H, |( W" i9 ^希望大家有条件能测试一下这个方法,如果可行,请发出去让更多的人看到,如果有改进的方法,也请共享出来,因为这个方法换盘好像不方便。( z9 g% d- m( z5 T: Z

1

主题

4

回帖

256

积分

中级渣柚V1

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

5

主题

34

回帖

302

积分

中级渣柚V1

积分
302
发表于 2023-2-1 16:28:20 | 显示全部楼层
多谢分享!!
" W" x# [% a$ K! X# w& r

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-12-28 05:15 , Processed in 0.593057 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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