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

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

 火... [复制链接]

0

主题

14

回帖

158

积分

初级渣柚V2

积分
158
mai852852 发表于 2023-1-14 21:57:46 | 显示全部楼层 IP:–河南–郑州 联通
学习一下

2

主题

5

回帖

51

积分

初级渣柚V2

积分
51
QQ
xietao2007a 发表于 2023-1-17 15:37:30 | 显示全部楼层 IP:–陕西–西安 电信
感谢分享。

0

主题

2

回帖

11

积分

初级渣柚V1

积分
11
QQ
chen95 发表于 2023-1-17 21:24:14 | 显示全部楼层 IP:–广东–深圳–盐田区 电信
看看怎么解决

1

主题

3

回帖

46

积分

初级渣柚V1

积分
46
gray19 发表于 2023-1-17 21:58:38 | 显示全部楼层 IP:–陕西 移动/全省通用
谢谢谢谢谢谢谢谢谢

0

主题

7

回帖

21

积分

初级渣柚V1

积分
21
QQ
nas66xcom 发表于 2023-1-18 09:18:32 | 显示全部楼层 IP:–河北–唐山 电信
转发:我好像解决部分猫盘刷群晖后掉IP的问题了
3 ]( Q' Y2 D, e# }2 @8 x" N0 j/ N8 }- r
aquila995
- a9 a+ r* P+ J0 [; `" A" R9 ]6 `' z; g' ?1 H/ Q6 ~: R
于 2020-06-24 16:37:11 发布
1 P6 d6 Q% l1 [* q+ M8 Q, _
6 y- D4 Q8 X/ Q, x" F) |4 n13215+ p8 H6 G! L# N& }% S; D% ^% D) t
收藏 132 Z2 `' |) s) J) K
分类专栏: 群晖/ B1 ?/ S6 o4 G% f) |) x2 p8 X3 `
版权% H9 W1 m9 j( t$ \/ _2 h) M
1 y) B, Q+ d0 ?- V0 Y: n- A. y* H6 G. z
群晖  X2 s: {, |9 u: O
专栏收录该内容
. }: T% ?7 J# X1 篇文章0 订阅$ ^' D1 M+ a* [0 D
订阅专栏
% q) |. A: {2 `0 q8 a. ~我好像解决部分猫盘刷群晖后掉IP的问题了
" U8 f; }& s* `" P8 N3 y) [% }$ q 8 Y% n6 R" x0 ^5 z6 I9 S9 ^- l. }
我好像解决部分猫盘刷群晖后掉IP的问题了
" y% v' R) }; f" D! e% X
- |! ]3 s+ I9 X9 p* ]& c  x# n& R" D3 c' [先说我的情况,xianyu上的,到手发现刷群晖后第一次没挂硬盘时可见ip,关机,上硬盘,再开机就一直见不到ip了,没敢一直重启,心疼硬盘。
0 ?1 M( E! L+ S. a然后刷个X3P用了一段时间,还是想用群晖。上了块固态,试了多次后,应该解决掉IP的问题了,现在挂的是500G普通盘,一直正常。" |* Q. [# [. o
8 V! g& f& I* u
跳过刷机说重点,每次重刷完群晖都是可以连上的,但重启后就不行了,所以应该不是所谓的虚焊问题,应该是某个设置没有达到,网卡没有工作。! z7 \" X0 E9 `- W

/ E7 b: Q% e1 U; f% t" L0 v# R然后发现的情况是,如果进到env环境(我也不知道叫什么,反正就是在xshell下一直按回车的环境),网卡是工作的,只是再进到群晖启动时没有工作。
4 g: w+ W+ m7 y& M" A! z8 ?: T
" |8 a: p) J, _4 h. b  T9 E. D. t) f先看了下有什么可用的命令:0 G: |! R, C' J- e  N
, d$ X# n# I6 E4 D) a7 N' {
Marvell>> help' t7 A6 |; i! P! v1 J: |& g
?       - alias for 'help'
3 U, a6 }$ J( p' l- Q8 _' G# Ibase    - print or set address offset
1 `+ ?# Q5 o5 p# w7 n6 ^bdinfo  - print Board Info structure: M' r/ i2 d6 S' k
blkcache- block cache diagnostics and control- a5 I( H. B. ~+ s1 X
boot    - boot default, i.e., run 'bootcmd'9 e. Q3 |7 {, U" y9 _
bootd   - boot default, i.e., run 'bootcmd'
" Z3 T" T! S) {bootefi - Boots an EFI payload from memory
+ v7 q. v  {- m, U3 q, @bootelf - Boot from an ELF image in memory9 @' s4 \, h5 @1 T
booti   - boot arm64 Linux Image image from memory3 y# o8 W, y% n0 j1 Q
bootm   - boot application image from memory& P# U& V% F2 |* H
============================================================
+ o1 ]: m+ f7 `! m8 `bootp   - boot image via network using BOOTP/TFTP protocol
1 ]" Y' t! s1 [- u% P============================================================! @' }7 ]1 f8 a! x1 [4 D
bootvx  - Boot vxWorks from an ELF image
: k* V8 }$ C8 s3 Ybubt    - Burn a u-boot image to flash0 }1 n& L) v  H, J
cmp     - memory compare( x2 D) C9 V; |( ^- J. T
coninfo - print console devices and information
8 V  C# ~4 R5 ^5 `5 _cp      - memory copy
  M" U/ A5 k( ~crc32   - checksum calculation
# `2 v( O1 S: mdcache  - enable or disable data cache9 t) b; ~; h3 f0 d% B# {
-------------------------------------------------------------
3 D/ R" S. Q6 J* ]$ pdhcp    - boot image via network using DHCP/TFTP protocol- z. K  ~6 T( v( {2 c# ^$ O
-------------------------------------------------------------0 m; i3 J* j1 v+ H
dm      - Driver model low level access. b8 _3 u9 W- I6 W
echo    - echo args to console# F" ]' \4 L# j1 \
editenv - edit environment variable/ A& n$ X  N2 Z; g- i
env     - environment handling commands: j, c# x9 k8 u  Q% T- ^! b8 I& A
exit    - exit script
7 s0 a$ `. _, o% i, G5 S2 qext2load- load binary file from a Ext2 filesystem  r3 ]" _% Z+ q& z
ext2ls  - list files in a directory (default /)( \0 _% Y9 d, v0 ^7 E0 L
ext4load- load binary file from a Ext4 filesystem" K) b+ [4 _& f3 T- i6 N
ext4ls  - list files in a directory (default /)
4 B* V! l4 n- @( rext4size- determine a file's size
6 t, s, j! `* }  n& o) b3 next4write- create a file in the root directory  S  d- \1 s' [, X* H, y% m+ j
false   - do nothing, unsuccessfully
% z- C+ Z3 W, |0 S9 P8 n, {, [0 Qfatinfo - print information about filesystem
+ y; x% [5 \/ V2 B1 f3 wfatload - load binary file from a dos filesystem
, @1 o4 G9 w, b( U+ u) ?$ |fatls   - list files in a directory (default /)
9 {$ X) Y, T0 ?( qfatsize - determine a file's size
$ @0 O2 W( a: ?% F5 y: Afdt     - flattened device tree utility commands3 {; F( Q4 `: m4 V( I
fstype  - Look up a filesystem type- \; Z- n9 M8 E- n
go      - start application at address 'addr'. ?- T" m# A7 p% A
gpio    - query and control gpio pins/ w$ q: b, h& Z$ I* a; l
help    - print command description/usage, a/ s$ @% k3 W0 t+ t
i2c     - I2C sub-system! R* R! m$ C. g
icache  - enable or disable instruction cache
. n' ~4 g- k$ |, m4 i; g7 Himinfo  - print header information for application image, {& D5 p0 _2 _6 W
ir      - ir    - Reading and changing internal register values.
* x6 q  s) w- v6 \
6 V# M6 K9 [) ]
+ C" I! Q2 t! q3 a/ b( D5 Mitest   - return true/false on integer compare7 y  E% f6 p( M$ D: L* u
load    - load binary file from a filesystem# [% t: O# J, {$ c; f( A
loadb   - load binary file over serial line (kermit mode)( _0 G# c9 z6 `% q5 X- w
loads   - load S-Record file over serial line
" ~9 y# s# N( y4 p' B, y* q( Aloadx   - load binary file over serial line (xmodem mode). F7 R8 _7 h5 x
loady   - load binary file over serial line (ymodem mode)
/ E* x3 r* Q, y1 v; lloop    - infinite loop on address range; {+ C9 }5 {' ]6 r" u, \
ls      - list files in a directory (default /)& z. K2 m* f. N; a6 H
lzmadec - lzma uncompress a memory region
" J8 o2 d6 B4 }6 D4 X+ O' _md      - memory display9 ]: w+ z; m- u" l  @" I) l
mdio    - MDIO utility commands
9 C+ A& R4 N3 ^' P" smii     - MII utility commands! T. L* R1 }' v' `
mm      - memory modify (auto-incrementing address)
* c! T/ d: ~5 ~; xmmc     - MMC sub system
) B. Q% r4 O* r7 P) q" j7 b9 Mmmcinfo - display MMC info* A* M6 A6 R$ V2 U2 W
mw      - memory write (fill)
1 u8 v6 {3 h$ Jnfs     - boot image via network using NFS protocol
' o$ N0 A5 o2 T$ r; L+ W( r, k' Bnm      - memory modify (constant address)
- t6 U: j( H* B& ?: B! {part    - disk partition related commands& L6 H+ H) J8 N" K1 \% W
ping    - send ICMP ECHO_REQUEST to network host
  a% _2 M. M7 j- Dprintenv- print environment variables" C2 q; Z, U& i- J5 ~! [
pxe     - commands to get and boot from pxe files# {* T# A1 F7 N0 s* ~
regulator- uclass operations3 f3 ~; B2 s- i: ~) p! H+ Y
reset   - Perform RESET of the CPU
  `, J5 k! ?' D) @+ @. Irun     - run commands in an environment variable
' ~$ I8 ^/ W/ T$ V) z: V! Bsave    - save file to a filesystem* h9 X* G  w' o
saveenv - save environment variables to persistent storage
: I8 y8 u' v7 f2 C! A* jscsi    - SCSI sub-system: ?8 ?. l" n1 d, Z
scsiboot- boot from SCSI device  n: {/ K2 a1 f
setenv  - set environment variables
. Q9 {# I9 f- q0 fsf      - SPI flash sub-system2 H3 E6 M8 g- I' L6 |: y4 t6 Z
showvar - print local hushshell variables
! [* ]0 L& w6 k0 {1 V: Ssize    - determine a file's size
: s4 B& |3 Z% V) S) e0 X( N- ssleep   - delay execution for some time
/ Z" i$ J* k% `$ o4 `5 _4 ^; Usource  - run script from memory
# Z: T! Y( H  W- o+ z% tsspi    - SPI utility command* r3 S( w+ b+ N! g, k8 h, r
sysboot - command to get and boot from syslinux files0 c  B) V8 G$ `8 H) {
test    - minimal test like /bin/sh1 j" I4 q/ P- _9 S# |2 ]
tftpboot- boot image via network using TFTP protocol) F) S% |2 A7 _6 }+ x. |  u
time    - run commands and summarize execution time& k0 c5 P4 u/ {
true    - do nothing, successfully
/ V! m/ i0 X$ Musb     - USB sub-system
7 j3 w1 j9 }% ~' ~usbboot - boot from USB device5 n" j) L9 f, x
version - print monitor, compiler and linker version, I3 A2 n+ r, }

$ G$ r$ R8 M9 N! ~发现了gpio9 [, C: g2 e/ E& O- {
3 a+ G; Q4 K( a; B1 U' ]( x
arvell>> gpio8 N6 Y$ E# W1 x$ V9 H8 ^
gpio - query and control gpio pins
7 w: c( Y% Q6 V4 G  [
* C! F# o" v% S  z! J
! B$ K- Y: k% ?: nUsage:8 k( w# i- ^7 u% `  B* X8 n" j3 A
gpio <input|set|clear|toggle> <pin>
" a" [. l7 |, n    - input/set/clear/toggle the specified pin& M) M7 J* b" u& x
gpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs( M# _2 k: J: y. u

, I, H- A# i* ^- h
# o; z- r' Q5 a+ xMarvell>> gpio status
* Z9 X  Z& l! e2 o9 q. k/ S( ~; l& rBank GPIO2:
8 z) V/ l) T7 l, C& f* e7 P& CGPIO20: output: 1 [x] sata_pwr
# j3 n" ?# f0 D: s; T. {0 x. BGPIO221: output: 1 [x] phy_reset* F$ f, M- J# R0 O$ X  g% @
4 S0 \5 a& U6 K9 T
可见的io脚
9 A. e4 n5 j% F : A7 C9 \* h% m" [8 I. @7 ]- H
Marvell>> gpio status -a! v/ z; `7 h! I+ A; I, ^
Bank GPIO1:
0 r9 c" x, v0 `! I. d3 o( ^, jGPIO10: input: 0 [ ]
: }" [# e( b- c! r3 X# E5 vGPIO11: input: 0 [ ]2 m9 ^1 Z+ _8 {6 t7 W" a! z
GPIO12: input: 1 [ ]
6 S/ F5 I  T. n, o, B6 y$ D2 PGPIO13: input: 1 [ ]
7 u/ T- Z: c" t* F/ dGPIO14: input: 1 [ ]
) `" \8 j, G- G+ nGPIO15: input: 1 [ ]" M, w& ?' l- Z; |% c, J
GPIO16: input: 0 [ ]$ O/ c3 \' x" y9 x4 G6 k
GPIO17: input: 0 [ ]
% V" {  {+ I. z$ UGPIO18: input: 0 [ ]; P5 B; [" g6 ]. r
GPIO19: input: 0 [ ]; B. z6 ]( I4 h0 W9 _2 F7 e
GPIO110: input: 1 [ ]) T' j1 g0 N( c/ Q" m% L) D
GPIO111: input: 0 [ ]: W% b  N- q5 Z' @
GPIO112: input: 0 [ ]( i. B* Z8 X# w( C; a. e5 s
GPIO113: input: 0 [ ]
0 u2 q# P4 M2 G9 ^" z# z5 TGPIO114: input: 0 [ ]
, P. Q3 C+ \- |) P# }" ~- _5 KGPIO115: input: 1 [ ]0 A& P5 c2 F) l0 I. F8 M# Y
GPIO116: input: 1 [ ]
, i5 s$ L) v! Y# l4 X; R! V+ l2 XGPIO117: input: 1 [ ]
/ b& v( R5 I; ~6 B) x# ?% `; vGPIO118: input: 1 [ ]
* P4 r; e0 V, l2 nGPIO119: input: 1 [ ]: L7 h  c% u% O
GPIO120: input: 0 [ ]1 N( W+ f8 W, c7 X/ J6 Z
GPIO121: input: 0 [ ]9 n& p) O( l9 E0 Z! l
GPIO122: input: 0 [ ]
* x9 H' ^. H, R: M6 P# N" eGPIO123: input: 0 [ ]
' ]1 N  S/ _) pGPIO124: input: 0 [ ]
' C8 o5 A2 ]: @$ l8 N& GGPIO125: input: 0 [ ]
( g3 X9 _' v/ O- ?7 |; v  bGPIO126: input: 0 [ ]
; m: \( }9 }1 iGPIO127: input: 0 [ ]0 Q% }1 R; _' q: Y
GPIO128: input: 0 [ ]4 V  M2 r, o0 v, n" ?
GPIO129: input: 0 [ ]
; z6 d, I# k8 ?* i5 EGPIO130: input: 0 [ ]8 t9 M, z% ?5 u: r6 N/ E
GPIO131: input: 0 [ ]
/ M& }* K9 g0 tGPIO132: input: 0 [ ]
# y3 ]' q' t1 a* Y7 ?0 G) ]! FGPIO133: input: 0 [ ]& `' V8 y( O, u: `( d
GPIO134: input: 0 [ ]8 `! X, _4 D7 f# k4 `# ~
GPIO135: input: 0 [ ]
$ q: h& g9 S. p6 ?6 F: O3 i 3 o8 L, O! M) }0 t: g5 R

7 f/ @4 c0 H3 ^/ F' pBank GPIO2:
, e) K- d* e; p$ H  C: xGPIO20: output: 1 [x] sata_pwr
, B+ R/ n, [' u3 d' s) J2 f- MGPIO21: input: 0 [ ]) |! a* S& b% Z3 F' F  J8 b
GPIO22: input: 1 [ ]
* |* n. g1 n/ x: [8 D, `* nGPIO23: input: 1 [ ]
( P* x0 X+ i( Q- }1 F  M+ ~GPIO24: input: 1 [ ]! c3 j: o5 s; S1 a' K2 ?
GPIO25: input: 1 [ ]
/ p& u" r- }/ [/ mGPIO26: input: 0 [ ]
5 N/ C! x- \: b+ ~2 D7 qGPIO27: input: 1 [ ]
, c' l/ X; c' Y- `5 kGPIO28: input: 1 [ ]7 G4 s, ~( @$ L* k3 N& b* r
GPIO29: input: 1 [ ]0 ?7 R$ s% W6 ]# a( @" K
GPIO210: input: 1 [ ]
7 ], i) }4 H( O; lGPIO211: input: 1 [ ]5 p( ?0 Z3 E0 _: k2 z* c
GPIO212: input: 0 [ ], ^- C6 N/ l- [6 g( ]
GPIO213: input: 0 [ ]
$ r- N6 j& c4 ]' O' F; y6 @GPIO214: input: 1 [ ]
) `) K, w. Q; D4 {  y; I" ?GPIO215: input: 1 [ ]
5 h9 w3 ~+ ^: f: t! ~) d# zGPIO216: input: 1 [ ]
$ j2 D  T! ~$ a& ^GPIO217: input: 1 [ ]
5 T8 h2 o$ F! n; {GPIO218: input: 1 [ ]
- f+ y) B, R' i" n0 a1 g6 kGPIO219: input: 1 [ ]" r1 V! l) g. ]. h. T: E
GPIO220: input: 0 [ ]  I( d4 J1 I! l
GPIO221: output: 1 [x] phy_reset
6 k7 U; t9 f( M0 E1 sGPIO222: input: 1 [ ]# X+ E8 Z4 Z, q/ Y
GPIO223: input: 1 [ ]  j5 q9 N: T) l( Z; |3 B
GPIO224: input: 1 [ ]% L* A0 L8 M0 X  v3 h
GPIO225: input: 1 [ ]
9 n  s# Z2 B# Q  {6 J3 L4 X4 cGPIO226: input: 1 [ ]
$ g$ G5 i! t: N: y  ^$ L+ r  G+ kGPIO227: input: 0 [ ]
' u' K% B, r2 G% w$ J+ SGPIO228: input: 0 [ ]
0 ~3 |( E5 `# C0 F/ X" _0 |; A6 vGPIO229: input: 0 [ ]
3 v" P0 D/ V4 x2 Y- T; X( T " C! W2 e; D- B$ m) U
别的看不懂,只看到一个是硬盘的供电,一个是phy_reset,不知道干什么的。, a- T9 ~1 v" G& W
! F9 K% \* u1 r8 P
Marvell>> gpio
# h2 c0 [7 ~. D: u9 Xgpio - query and control gpio pins9 D) l1 e6 R0 M+ c$ W
1 ]+ L4 x" l3 Y* B2 k! g" ?
# A; e& @# \* g
Usage:
( L% _( j( e6 y2 t+ igpio <input|set|clear|toggle> <pin>
5 w& N" n, U3 {6 G9 u0 ?    - input/set/clear/toggle the specified pin
' o0 i, U# m& L" G& ogpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs( m* I8 {% _5 i

6 F+ {* v$ o" Oset是置1,clear是置0,toggle八成就是翻转(初中级英语,没办法,全靠猜)" T1 P. b$ X$ _4 v4 h

6 g6 h+ J9 A. o# h然后看到env有地方是参数设置,类似dos的环境变量吧" Y2 W$ r6 r- N. x" |# V. N( z

! m. I6 V1 x2 J7 I4 y5 x4 j: K2 `6 K  tMarvell>> env print/ E: m% e1 c5 i
arch=arm5 z( E9 s7 d, @5 C5 c, _
baudrate=115200. X5 ^  x; r$ R3 g/ p2 `) S
board=mvebu_armada-37xx8 F" G1 M, @. w0 s( I( H1 a& b4 B
board_name=mvebu_armada-37xx6 O$ a- n( u0 w: ^3 a3 s4 c3 Y2 M
boot_mmc0p1= setenv bootdev mmc 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};, b% u' R2 ^( G; M# N6 r+ r' r
boot_mmc0p2= setenv bootdev mmc 0:2; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};# Z2 `: c5 h& ?$ J3 H( l) g  _
boot_sata=scsi scan; setenv bootdev scsi 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
% m; {) Z/ L7 rboot_targets=usb mmc0p1 mmc0p2 sata
* e% ?8 J7 @0 {0 N, [boot_usb=usb start; setenv bootdev usb 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};$ o8 f$ L# r. x( N1 l
bootcmd=gpio input GPIO23; if test $? = 0 ;then echo "Enter button mode";run bootcmd_button;else echo "Enter nomal Mode";run bootcmd_normal;fi
# R0 f% z) i$ U: qbootcmd_button=for target in ${boot_targets};do run boot_${target}; done;$ Q: f$ |6 p" o- c
bootcmd_normal=run bootcmd_syno;8 v& u+ _5 i& L: a: o) o$ B
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;
% q" p5 k1 E' J) xbootdelay=1
: J( J5 d5 J  ?% c9 Fbootdev=scsi 0:1
' d! p  r& }  ^console=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000/ R7 e* V8 u9 J
cpu=armv8
9 t5 I1 b5 _: t! V* |ethact=neta@30000( t8 f8 V; x( C0 `6 m
ethaddr=00:11:32:11:22:00' l9 J# V  L3 J& d1 D
ethprime=eth0$ G7 X6 m( V, k+ h( k% }3 i: Z- ^
fdt_addr=0x60000000 I$ e3 t2 I' h; O+ j
fdt_high=0xffffffffffffffff
6 ^3 v+ D' ~. @& j, ]$ t% Sfdtcontroladdr=1f6437d0' c- W& W$ C$ r6 f, ^9 c
gatewayip=192.168.1.2541 s% |8 V. ^  g! l$ K: C
hostname=catdrive
3 o6 I; o* ]8 j! ]0 n3 Qimage_name=/vmlinuz
! i9 L/ X6 u0 K1 L* ~3 Linitrd_addr=0x1100000
6 S- C; b' M$ B. g+ h. l- E3 w7 _initrd_size=0x2000000
! S0 S6 [  E  C# @/ p3 _4 X9 Lipaddr=192.168.1.119
! h" |# L2 E1 A. tkernel_addr=0x7000000: w( y; j% I4 ~. t
loadaddr=0x8000000
" R2 j& m* U+ {* ]netdev=eth0
* i6 Q, y9 ]% [9 ~netmask=255.255.255.0
" \! x2 u$ I% G/ ^rootpath=/srv/nfs/( P  Y: u" }. r3 {
scriptaddr=0x6d00000% ~, c% e3 h4 D. t* L2 p. }3 |5 Z
serverip=192.168.1.254  h( m1 M6 f5 ^. q8 b( G
soc=mvebu
4 u1 x/ ]( |7 }$ a" e: ^stderr=serial@12000
, d& s" q- Q2 ~! z! W, T$ r2 ?stdin=serial@12000
0 g# c; b6 @- @, gstdout=serial@120009 m# T& z* z4 [; J+ f
syno_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& |% t3 n. M- p/ N
vendor=Marvell0 [3 p. z. }9 d( j4 v" n+ V

9 |6 V: e8 I3 u 5 i; j8 d1 T. w; H' I
Environment size: 2001/8188 bytes) E" L9 z( o* L
Marvell>>
3 h! z; Z  p4 Y
( z% M) ^' r+ f% B7 ~4 u- M, l; k看到有一个GPIO23,试了下,原来是reset按钮检测,没什么用。但它有两个启动项,主要是bootcmd_normal,而这又指向bootcmd_syno.0 a  {5 P% ]) _: J- w
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;0 N) t. z" y& B. v. w! z

" f( Q9 L/ B: ^4 O这里好像是群晖引导,一条一条的命令,我又不会改linux的启动呀内核呀,只能在这儿动手了3 ^/ i7 T, q# L( e
bootdelay=10 ,启动等待时间,1秒,太少,我都来不及按,改成10秒
3 A+ J/ A2 m/ Y& _0 i) c5 Y 3 L+ ]! m( {5 I4 [$ M, u4 V6 |
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;
7 W% A" k) S7 j( d  |; K8 \- i
; w3 G3 W) C2 \, M/ K6 S' c注意我划掉的那部分,是先给硬盘断电,一会儿再通电,在固态硬盘可用,可能因为固态硬盘启动电流小,冲击小,当用普通盘时,有一定几率会死机,所以用普通盘时,我去掉了。0 A8 G, x9 w2 U* a% x) @2 A
思路是:' t4 c' t! _8 }& ^
启动前先把phy那个=0,等10秒,关硬盘,等10秒,phy那个置1,开硬盘。之后正常启动。  ]( ?2 A8 b) |* P
+ g! c0 r/ ^9 v$ v4 m: J/ ^
这样有时能得到IP,但还是会有一定几率不行,所以又加上了网上流行的ping 60秒不通时重启
- W* j' m4 D" ^! r2 T$ m0 k
* D* C. t. v2 @/ q控制面板,任务计划-新增-触发的任务-用户定义脚本,开机启动,开机60秒得不到ip 重启1 X2 y* J- i. |5 F1 i6 U
#!/bin/bash
5 Q8 g0 K3 s9 O9 l" ]. Ldt=`date '+%d/%m/%Y %H:%M:%S'`* n: z& a: s1 v/ z9 W" x" s. [" ~4 }- J
echo "$dt"& M/ L7 \0 W; p6 Z
sleep 60
& R: Z1 X" P4 Enum=`ping -c20 114.114.114.114 | tail -2 | head -1 | cut -f 3 -d"," | cut -f 1 -d"%" | cut -f 2 -d" "`
! }+ _# x  h" B! v+ G+ X8 N  y8 _echo $num
* f& H2 \! Y* U1 yecho $?, `; p8 k) m, p! m1 h4 n6 d
if [ $? -eq 0 -a $num -eq 0 ]; then1 A/ \: f6 G& _2 |0 O
    echo "$dt ok" >> /result.txt
( ^% B. n# ]3 A5 }, celse
& {) N: V; M  z    echo "$dt noip loss $num reboot" >> /result.txt1 v- |: S) h! i1 E+ O; N% D
    reboot' O4 X) {% X# C8 M9 L
fi2 D% n: C. E" W% k

, w2 u; x) m% h+ p第五行,ping后边的IP自己改,我用了一个外网的IP。; t) ?% T1 x) Y0 k2 g

# \; S6 S7 k& b! }' n* {总是思路就是,第一次刷完群晖会有ip,挂着硬盘,装系统,设置60秒脚本,重启,如果找不到IP,改bootcmd_syno,再重启等着进系统。
$ q2 ~! I3 R$ V8 m $ A- J; {# G. U7 [
我反正试了几天,刚上电,等一会儿根本没有IP,60秒后,会重启,这次绝对有IP。但总要用ttl+shell盯着测试太麻烦,所以又加了一个正常启动后闪led灯的脚本,从网上抄的,忘记上谁发的了,侵权见谅。) G! V% p+ g# k4 r1 o

2 c: {) z( S0 ^/ P$ {7 k/ }3 a还是上边60秒的地方,再加一条
/ B! |( c* T; C' I' h8 t$ D& ? 2 L8 E) I0 I# O% f2 ]9 Q

  V; K) }( q0 r0 Y2cset -y -f 0 0x45 0x00 0x55  p) u) p6 A5 j* y
i2cset -y -f 0 0x45 0x01 0x01
) P7 J; k9 R0 T% T" ^i2cset -y -f 0 0x45 0x30 0x07
" K% m# Q* J4 P# Li2cset -y -f 0 0x45 0x31 0x72
; X& Y( \8 T  Y4 ei2cset -y -f 0 0x45 0x32 0x72* g3 {  K+ Z! X- w* ~2 Z6 C- i
i2cset -y -f 0 0x45 0x33 0x72
6 F& V7 f! e% R5 V8 p#调节三个灯灯每周期上升沿和最高亮度时间& |- D9 H7 U- x3 F; \; S
#想要白色的话,把三个灯时间改为一样的就可以了,比如全部设为0x44
) K" }4 K% ]. o; Ni2cset -y -f 0 0x45 0x37 0x44# p! U7 L/ g5 G6 d% `/ ^! n
i2cset -y -f 0 0x45 0x3a 0x55
1 }: c6 g( n3 i$ S9 Ni2cset -y -f 0 0x45 0x3d 0x66
: \- R' ]2 {+ t, d; q#调节三个灯每周期下降沿时间和关机时间
. e; t+ c2 \0 S& G  `i2cset -y -f 0 0x45 0x38 0x44
) ~/ k6 |6 Z1 b8 n: @: a0 Li2cset -y -f 0 0x45 0x3b 0x554 U! W; L* M& X/ m& n6 g2 n
i2cset -y -f 0 0x45 0x3e 0x664 E1 R, p2 t: V$ j
i2cset -y -f 0 0x45 0x39 0x40! ]2 y3 M- ^6 ^. O. k* o
i2cset -y -f 0 0x45 0x3c 0x409 M0 f' B0 @2 W4 F  t! p! f5 f" C( c
i2cset -y -f 0 0x45 0x3f 0x405 @- F# m7 Z8 w+ B) m5 `* @
# 0-255,更亮
4 C$ q7 m$ H" X; C5 ti2cset -y -f 0 0x45 0x34 128
9 c% `  q3 B3 K5 ii2cset -y -f 0 0x45 0x35 128
/ _. S' ~; i2 H" _  d* Ci2cset -y -f 0 0x45 0x36 128" t: E* H. Z$ I- u

9 T7 ^3 `+ e' X9 a6 j/ J然后在这条设置里有一个“先行任务”,设置成上边的60秒,也就是60秒那条执行完才执行这条。而60秒那条,没有ip就会重启,有ip就完成了,就会执行亮灯
2 S( m' A: ~6 S7 z
$ |& k1 U& {' R3 `6 c, z8 N+ E $ H: U) B( z! [* ^9 l& `) V$ z, w1 f5 ?
我知道很多大神会做内核解决各种问题,我也知道看起来很小的问题,工作量是非常大的,可能要几个月才能解决,所以大神做的东西是不可能轻易免费发出来的,人家也要吃饭,不可能靠爱发电(我也在公司做简单的技术,知道技术无价的道理)。我从99年学电脑开始,绝大部分的东西都是从网上找来学的,所以非常感谢所有把知识发到网上共享的大神们。; C0 N0 n; [3 P8 g2 X$ F# R' Q
  y. s/ u. X- `8 g) l% q. d& j
希望大家有条件能测试一下这个方法,如果可行,请发出去让更多的人看到,如果有改进的方法,也请共享出来,因为这个方法换盘好像不方便。1 f7 u0 c7 @+ E$ t$ j3 z) @  B1 U1 k" w

1

主题

4

回帖

261

积分

中级渣柚V1

积分
261
ggjy6689 发表于 2023-1-18 14:08:36 | 显示全部楼层 IP:–江苏–泰州 电信
时间问题?

5

主题

34

回帖

302

积分

中级渣柚V1

积分
302
binglongl 发表于 2023-2-1 16:28:20 | 显示全部楼层 IP:–辽宁 联通
多谢分享!!0 F4 k) J0 L. e: Z5 W, b6 h5 T

2

主题

15

回帖

282

积分

中级渣柚V1

积分
282
安然若夏 发表于 2023-2-1 18:25:22 来自手机 | 显示全部楼层 IP:–江苏–苏州 电信
看一看学习

3

主题

32

回帖

330

积分

中级渣柚V1

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

本版积分规则

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

GMT+8, 2026-8-9 21:05 , Processed in 0.069429 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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