找回密码
 立即注册
楼主: 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的问题了
# V. e. W5 Y  X1 k5 F
8 I0 M) d0 Z5 o0 b0 Oaquila995% T4 c2 v! @/ K: r7 g4 f7 ?
$ K6 g2 D5 c1 f3 D) _  w
于 2020-06-24 16:37:11 发布) ~# ], H9 q( a! m  H

+ ~& c  `, D! l4 J& b13215
6 T9 B3 Z, [2 [/ w: M/ B 收藏 13# r& h' s! e8 T& I" L/ Q$ o
分类专栏: 群晖: F' t8 ~5 Y8 J) r
版权
7 {, Z% g: b2 Z% l
7 B5 j) Y! P- R2 J& N; Y0 O群晖/ K; T7 [3 x3 r+ P7 z, e) F/ |
专栏收录该内容
0 [  u* n  w  J# S1 x) \1 篇文章0 订阅
; @* b! J$ D9 L1 J/ o订阅专栏) e4 l# E7 Q9 d; _
我好像解决部分猫盘刷群晖后掉IP的问题了
8 U; K+ n1 @, @1 W2 G/ H1 ~3 ^
8 Y  C/ U# R; \$ a+ D' a" r+ h( s( `我好像解决部分猫盘刷群晖后掉IP的问题了
) [* {" e% ^$ C# D. h8 u " V7 u& Y! o. }* D) o
先说我的情况,xianyu上的,到手发现刷群晖后第一次没挂硬盘时可见ip,关机,上硬盘,再开机就一直见不到ip了,没敢一直重启,心疼硬盘。
; w9 t6 q# s0 u  J/ O然后刷个X3P用了一段时间,还是想用群晖。上了块固态,试了多次后,应该解决掉IP的问题了,现在挂的是500G普通盘,一直正常。9 F/ H; k* h5 ?* \0 ~9 a7 d* n$ G

! Y% y0 v' P, U4 I& i跳过刷机说重点,每次重刷完群晖都是可以连上的,但重启后就不行了,所以应该不是所谓的虚焊问题,应该是某个设置没有达到,网卡没有工作。
4 ?' N" h) _) Z. N& `
: q$ M9 m6 G  T& N, b然后发现的情况是,如果进到env环境(我也不知道叫什么,反正就是在xshell下一直按回车的环境),网卡是工作的,只是再进到群晖启动时没有工作。
2 w# U5 R# o3 U/ v
4 ]! ?/ |  p( B先看了下有什么可用的命令:8 D9 F. ?2 y9 L& P* a5 @/ \; |' g
2 N- }) x/ f) U$ ~, f
Marvell>> help5 [  B6 E- Q" D1 {7 T, o
?       - alias for 'help'
9 W! }* w! d" cbase    - print or set address offset
( _6 m0 K$ n1 A0 k( u. M2 U$ Obdinfo  - print Board Info structure
% ?/ M% v4 L5 x( |blkcache- block cache diagnostics and control5 R% i8 L1 W- ]
boot    - boot default, i.e., run 'bootcmd'# c* K  o3 z. ^, @9 D# q1 _% d
bootd   - boot default, i.e., run 'bootcmd'/ u# K9 g0 P0 e5 |
bootefi - Boots an EFI payload from memory
! x" B7 {' A6 [0 Rbootelf - Boot from an ELF image in memory; t, n) ~3 Q7 U! R4 I- R2 ^
booti   - boot arm64 Linux Image image from memory6 L; [" B& j* X* }$ {8 Y
bootm   - boot application image from memory
9 N" g4 f. s7 H% a" Q  r" I6 D============================================================
5 J; R7 l5 G1 z$ w/ D6 S7 Qbootp   - boot image via network using BOOTP/TFTP protocol
% j9 Q2 w% h" F1 v============================================================
3 x# F( q$ F1 a. k% s) fbootvx  - Boot vxWorks from an ELF image0 I" x; D- Y) e0 E
bubt    - Burn a u-boot image to flash
) J, G* t9 _( O1 b/ `) Ocmp     - memory compare3 Z+ F) W# c2 j. [! i
coninfo - print console devices and information
: Q! o+ R1 v& _# Ocp      - memory copy
! j/ E. ?8 J' f! O# f/ ?crc32   - checksum calculation
5 H5 T& A) s2 K7 F1 \+ }# a  z5 tdcache  - enable or disable data cache
6 k& W& ^3 `8 d-------------------------------------------------------------
, {7 W# O/ p# c0 w8 S- N) mdhcp    - boot image via network using DHCP/TFTP protocol4 X- Z' s0 E/ l/ E. s/ b
-------------------------------------------------------------: ^) ^$ E" k# _
dm      - Driver model low level access: P2 W# B! m  d4 Z+ h
echo    - echo args to console% o9 l5 E) }: ~5 T2 A" j7 N
editenv - edit environment variable
( j4 }: _. n0 a( d( v5 Aenv     - environment handling commands! d( E( ], E/ _8 p5 z- L; E0 A# g
exit    - exit script. |5 d+ O: ]+ j0 c/ P2 U7 N8 [' O
ext2load- load binary file from a Ext2 filesystem
- N5 _7 r5 a5 ?9 uext2ls  - list files in a directory (default /)
( e) Y& F8 I  j+ z3 R- [+ wext4load- load binary file from a Ext4 filesystem
5 V  y. F8 p* V' dext4ls  - list files in a directory (default /)
+ Q5 ]" y- Z6 V) @ext4size- determine a file's size. G: V; j  T8 |( }& X5 Y; p+ |
ext4write- create a file in the root directory7 t! E! k! X5 f% l# h1 b# `
false   - do nothing, unsuccessfully( c# }3 q% [3 m  D; P" x+ Z5 P
fatinfo - print information about filesystem! i3 b9 e% J' z9 V* T! C$ ?7 W
fatload - load binary file from a dos filesystem
, X$ c8 K0 Q: bfatls   - list files in a directory (default /)
. s6 Y/ b, c( X5 _fatsize - determine a file's size
) ^- s# a8 m0 Y' j& {fdt     - flattened device tree utility commands) I3 D$ _1 g! B! S" @# r! W
fstype  - Look up a filesystem type
, S, n. ]' U/ y$ B9 D( e. jgo      - start application at address 'addr'
0 _( g' L' M$ D" W: lgpio    - query and control gpio pins
& a6 ], |% H5 x1 h1 k; |1 qhelp    - print command description/usage
3 d: m1 w1 Z- o5 H; x# [3 }i2c     - I2C sub-system
$ @. R% E/ w# Jicache  - enable or disable instruction cache
2 q7 C$ B" H; h" p" viminfo  - print header information for application image: q+ ?' Q, Z7 |# i% B. u
ir      - ir    - Reading and changing internal register values.# ?, D- v6 j3 j5 ^, p. ^, C, e: v  K

( r2 [, Y" ^: M$ \2 A; I + {8 K7 Q5 \6 z( c0 i! W
itest   - return true/false on integer compare2 P! M, A# {3 E7 s
load    - load binary file from a filesystem- J  f) R4 S% W0 R
loadb   - load binary file over serial line (kermit mode)
$ c+ Q: ?# [! @loads   - load S-Record file over serial line
! W& \. X9 T0 ~loadx   - load binary file over serial line (xmodem mode)
& I. ^4 A* q. B: T# @1 k( [loady   - load binary file over serial line (ymodem mode)
% t5 M+ G* Z1 z* t$ Jloop    - infinite loop on address range# p$ d# e/ S4 \7 v6 u; w' ^0 S
ls      - list files in a directory (default /)( [. I. U  n- i% g% o0 w0 z: o; i
lzmadec - lzma uncompress a memory region
& E' D2 D" l: m- P6 H3 Omd      - memory display7 d8 ~3 }3 g9 t4 x* R+ B& @. l
mdio    - MDIO utility commands+ Z6 x! h( a( {$ g$ V5 B
mii     - MII utility commands
- H2 x. x7 U' w' g, @) j" bmm      - memory modify (auto-incrementing address)
* w4 L3 ?" R6 y, xmmc     - MMC sub system
! a3 d0 l1 S, Fmmcinfo - display MMC info
, C) @4 b. d' a# V0 ]mw      - memory write (fill)! J( x; D- e4 k6 S% |5 }" s
nfs     - boot image via network using NFS protocol, z7 p( R$ {" r6 o0 [
nm      - memory modify (constant address)
2 f8 J& k8 `9 i( l0 ]1 hpart    - disk partition related commands; C1 Q# e0 H5 ^( h) R/ _' v
ping    - send ICMP ECHO_REQUEST to network host6 j8 f# m6 K+ L* A0 _% h# p( J/ w
printenv- print environment variables5 n( m" _$ _6 F& N
pxe     - commands to get and boot from pxe files
7 e2 d  C2 m; O9 M1 }$ aregulator- uclass operations) K3 u" N$ U# e  n+ f) T
reset   - Perform RESET of the CPU8 R1 Q( Y* O) _* p$ S
run     - run commands in an environment variable# z8 _; H' [+ U9 R" {4 I  d
save    - save file to a filesystem
8 A4 |- r  `3 m8 g  nsaveenv - save environment variables to persistent storage
  J1 U6 r+ E, a4 ^( n8 E- Vscsi    - SCSI sub-system; A/ q* f3 {) e7 t8 g9 W: R' a
scsiboot- boot from SCSI device4 D4 q4 j, M3 i* n
setenv  - set environment variables
1 _. `! b0 [3 {/ M9 N. @# j3 g8 X! usf      - SPI flash sub-system
% h& `; C2 ^  `: ?showvar - print local hushshell variables3 l5 f- g$ c" ?
size    - determine a file's size: }3 a. Z% C4 I; o5 O" ?+ s
sleep   - delay execution for some time
$ U. X7 P* d5 d! ]) f) q" }; Hsource  - run script from memory9 c- h+ X* p8 k& n
sspi    - SPI utility command
6 e% {+ j. ]7 ksysboot - command to get and boot from syslinux files
' J5 v# _" J" G6 Xtest    - minimal test like /bin/sh2 Y1 a7 f% T, ?; l  \2 {
tftpboot- boot image via network using TFTP protocol
6 q% V. |# U# a1 _time    - run commands and summarize execution time  _) P  E" d) M- J( u  J+ r
true    - do nothing, successfully
+ Y  H& I- C( k" tusb     - USB sub-system
% ~3 |- w! w; i; ~% X2 Ousbboot - boot from USB device
" M  x6 R/ i! oversion - print monitor, compiler and linker version  v. t6 q8 e, W: L- c# \2 V) S

! ^2 e- s  R# ]0 B- f( y2 n" |发现了gpio) K1 k& b6 S* t1 o
* P8 p- S% ~0 N. k% f6 g9 s3 A
arvell>> gpio
5 q$ R+ }+ i5 f, }, a& T$ ogpio - query and control gpio pins; z+ [& M2 J1 b" @' q

& w9 F! s1 S1 p, a+ X/ v; g
8 B! J5 O$ O+ x; d' n9 t  }Usage:" E7 q. Y' B$ `" A* @2 E" |
gpio <input|set|clear|toggle> <pin>
) ?2 U7 z9 ~( I    - input/set/clear/toggle the specified pin
- g& c6 s) ]% |+ @gpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs
5 B8 n+ E, P6 J
9 A7 O. Y" O# ^5 i  s   J: O2 Z9 T/ K4 P& P1 r
Marvell>> gpio status6 b8 |7 h9 Y$ K. M: q' U
Bank GPIO2:
8 ]1 y2 r+ i) `. A/ lGPIO20: output: 1 [x] sata_pwr) h8 d# O- K( k5 Y
GPIO221: output: 1 [x] phy_reset+ v' l6 I, }4 v: r
& m& j- ]5 G  x& ^& A
可见的io脚
3 }! d, E" `) s. a1 m' K$ m& ]2 C - A- {) P( ]- g9 |# W
Marvell>> gpio status -a4 s7 r& G+ X7 |) c
Bank GPIO1:8 C4 n5 ]: e" J4 S3 B
GPIO10: input: 0 [ ]
1 [% k+ i* ~- ]4 z" lGPIO11: input: 0 [ ]2 o0 L4 N) }- e9 }3 G+ ^
GPIO12: input: 1 [ ]
- b' f4 M- o' N2 Q* gGPIO13: input: 1 [ ]
, s# M1 U2 A" SGPIO14: input: 1 [ ]
+ O) F9 |5 a: G! aGPIO15: input: 1 [ ]+ d) V6 t4 q5 Q+ x! a: c* ]4 Z) R
GPIO16: input: 0 [ ]+ X# u/ c7 W5 t, J( o8 n
GPIO17: input: 0 [ ]- C; P1 I- Q" a4 s" q
GPIO18: input: 0 [ ]
$ }2 [! s% \' j( v- o0 L6 a6 v* l- zGPIO19: input: 0 [ ]
& |; L8 k! |* f4 VGPIO110: input: 1 [ ]
; J- N2 F- }# Z# S- UGPIO111: input: 0 [ ]+ B+ \8 X1 Q. A. f* @) l& M: C
GPIO112: input: 0 [ ]# Q8 r5 i! o  ^; e- g7 O
GPIO113: input: 0 [ ]7 R3 o  K# m* D3 G/ }1 Z0 u
GPIO114: input: 0 [ ]
! f0 f6 `! d% v1 m8 B3 c9 b) mGPIO115: input: 1 [ ]  R. P7 |, G7 U: J6 o# H
GPIO116: input: 1 [ ]7 s; w% ~7 Z/ g; d: r8 n% M
GPIO117: input: 1 [ ]  L+ o- c2 q6 Q# C
GPIO118: input: 1 [ ]$ U( m) o0 R/ o
GPIO119: input: 1 [ ]
  Q/ _8 w( H7 [) f, K. N* KGPIO120: input: 0 [ ]% {% @) |3 z. y
GPIO121: input: 0 [ ]
; a; |6 s( @' O5 X; G/ q; o# W& V& gGPIO122: input: 0 [ ]
3 f$ g  n% ~+ l3 ^: eGPIO123: input: 0 [ ]
; m, Z7 j" b' V( c! M3 qGPIO124: input: 0 [ ]  u2 m& ]- J1 [5 l0 @
GPIO125: input: 0 [ ]
0 c& z' O7 F  A4 U2 m6 N9 @GPIO126: input: 0 [ ]
7 K% k/ ^" \) x) J9 H  Z- ]GPIO127: input: 0 [ ]' s- h9 i5 G/ a5 ^; q* g; `2 A! [
GPIO128: input: 0 [ ]0 I, c- x+ }% J3 e. i7 ?6 a; R
GPIO129: input: 0 [ ]
2 E1 ^9 s& O5 N. J; H' G! N) oGPIO130: input: 0 [ ]
9 G5 ^7 I7 m2 \8 n+ d0 g5 ^3 OGPIO131: input: 0 [ ]
) s# _6 t6 y3 ^7 x% X3 x* xGPIO132: input: 0 [ ]/ b' f0 Z$ W7 |: ?- d, X8 p3 f
GPIO133: input: 0 [ ]8 g, A' w$ }! T/ P! F4 y
GPIO134: input: 0 [ ]
# E8 ]- v0 ]0 p6 V' T1 R  aGPIO135: input: 0 [ ]7 A7 A3 x2 R5 a: S+ N7 q2 A
" t* n; S0 X1 ^. {8 q2 J( I8 N
  k' v# [2 \# ~8 K
Bank GPIO2:( h# y, E5 N$ H# m
GPIO20: output: 1 [x] sata_pwr
( j1 N1 G) v& v# T; a$ Q2 bGPIO21: input: 0 [ ]* u! K8 O0 X& ?) l0 V4 e# L
GPIO22: input: 1 [ ]
- i' l) {: |. e  i! eGPIO23: input: 1 [ ]. w: O- z7 j, J. t' c4 k" _
GPIO24: input: 1 [ ]3 N" P8 t; N& S' l- ?
GPIO25: input: 1 [ ]
. m1 E  q' l4 Y0 z3 d* dGPIO26: input: 0 [ ]
/ k5 h# V* n/ C$ ]& T' PGPIO27: input: 1 [ ]/ A+ e& @+ |3 h. O$ G, o* Z
GPIO28: input: 1 [ ]! V) Z" A8 \* a$ L. o" k
GPIO29: input: 1 [ ]
- `1 U+ B1 K9 V6 a: A  t6 |  x# aGPIO210: input: 1 [ ]& f# S' p' b' F" I
GPIO211: input: 1 [ ]5 F. }0 J, ?0 `7 J" U* Z- O8 d
GPIO212: input: 0 [ ]
8 i" E9 P: R6 JGPIO213: input: 0 [ ]
# y: a' F; S& F1 J2 |1 bGPIO214: input: 1 [ ]
/ o2 F7 `( h" E, k* C' u2 vGPIO215: input: 1 [ ]
2 N- {0 Y- X' M6 r. H" f3 b- \GPIO216: input: 1 [ ]
/ G9 U5 I. I% ?GPIO217: input: 1 [ ]7 l/ X, {; t  y
GPIO218: input: 1 [ ]
; w# b3 Q8 K: ^9 x; b8 N, x* gGPIO219: input: 1 [ ]
& [& A+ d# ]6 a1 F; [+ k- h  u5 nGPIO220: input: 0 [ ]
0 U& P( X- N. x/ q) ?& CGPIO221: output: 1 [x] phy_reset
6 O& H  S5 @& J, {. q3 Q4 D" |6 H: uGPIO222: input: 1 [ ]+ \8 A. H+ \% i& m# p8 v+ e9 Z4 A
GPIO223: input: 1 [ ]# j# Y, K" j- X/ y, Z  R
GPIO224: input: 1 [ ]$ a" p" z- w2 z
GPIO225: input: 1 [ ]- P4 b4 m0 N) G2 s5 q9 L
GPIO226: input: 1 [ ]( g- r+ z, ~$ k9 n1 r1 z0 o
GPIO227: input: 0 [ ]
7 U1 G! `$ Y% l" j- P8 NGPIO228: input: 0 [ ]0 I6 y, P* ^9 p$ K; |" G- \9 V
GPIO229: input: 0 [ ]
% g  r8 l- @' Y5 s, w4 [* w
; x9 p0 z5 q+ s( b. d1 f别的看不懂,只看到一个是硬盘的供电,一个是phy_reset,不知道干什么的。
' V3 P+ q0 \( E5 m4 J) q
4 d" j$ }& T! ?& i. j6 ^Marvell>> gpio
9 l# ~9 _' I1 P8 A+ M8 {gpio - query and control gpio pins
, \  _- |7 X5 v% T7 R
& x: ?* g2 `5 j0 h) V! [
8 M& x+ p8 D; a" ?& x& x5 hUsage:5 x( U/ f( _7 {+ ~) d" Z
gpio <input|set|clear|toggle> <pin>
9 X: G. _  K; L+ X0 D    - input/set/clear/toggle the specified pin
& D5 `5 q2 c' R0 o$ T% Lgpio status [-a] [<bank> | <pin>]  - show [all/claimed] GPIOs
5 j7 H% n" V. m& z: u
% X% O+ H5 `& j# x+ \1 c9 l! aset是置1,clear是置0,toggle八成就是翻转(初中级英语,没办法,全靠猜)
2 ?+ [, E' }; q " e: w2 o7 ]3 g- S# B: Y
然后看到env有地方是参数设置,类似dos的环境变量吧- V! P# T' H) ], Y% f" ?3 }- F
$ o" e' C$ d! N+ K
Marvell>> env print
5 N( d8 s/ a, [% a) Y& s9 H9 |arch=arm
& u: B' F4 M& @# G! d7 M! P# Ubaudrate=1152008 ^3 ?  A# F$ L. S  a$ V6 d' S
board=mvebu_armada-37xx
7 A: N6 b. J/ @6 O. F9 z9 j$ Aboard_name=mvebu_armada-37xx
2 H2 Z' {+ z4 r$ Zboot_mmc0p1= setenv bootdev mmc 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
+ I( c+ Q' L: U6 U1 e0 @boot_mmc0p2= setenv bootdev mmc 0:2; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
+ \8 H1 P$ I8 M4 ?4 t; m, h  dboot_sata=scsi scan; setenv bootdev scsi 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};! B% A* }+ Y: O
boot_targets=usb mmc0p1 mmc0p2 sata! s7 z/ Y. ^8 }) @; i2 J
boot_usb=usb start; setenv bootdev usb 0:1; ext4load ${bootdev} ${scriptaddr} /boot/boot.scr && source ${scriptaddr};
% k" X" @  \: H  w2 |8 ?bootcmd=gpio input GPIO23; if test $? = 0 ;then echo "Enter button mode";run bootcmd_button;else echo "Enter nomal Mode";run bootcmd_normal;fi& s$ O' {9 o/ n2 z% k
bootcmd_button=for target in ${boot_targets};do run boot_${target}; done;, Y% D9 v/ p8 _6 C6 `
bootcmd_normal=run bootcmd_syno;6 m! m! ?5 n5 V# p* Y
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;% Y0 x- ^& c' E2 x, V& R: H7 D
bootdelay=1- i- @3 Q; ~3 s2 q: P# @. E8 G3 u5 g
bootdev=scsi 0:1
! ~( t0 [% P- w( aconsole=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000" X5 q" U1 P" u0 Y# z
cpu=armv8- S& |$ d& ]+ m+ e8 Z7 z/ U8 s
ethact=neta@30000
; K7 l/ q: }) ~# Yethaddr=00:11:32:11:22:00- q* ~9 \- U  Q2 H$ G* H* s
ethprime=eth0$ R. Y( W$ H2 n) o
fdt_addr=0x6000000& i# h( J& d$ J, I# Y* f
fdt_high=0xffffffffffffffff
9 u( R% g% i+ }; \% H. Ufdtcontroladdr=1f6437d0
4 D# S) E( c  W' M: Lgatewayip=192.168.1.254
) }+ v, R9 x+ r; Shostname=catdrive# E& L& q9 @8 Z/ s& `& O# A
image_name=/vmlinuz
5 L4 r. d1 a0 k6 |$ ainitrd_addr=0x11000004 [* r) Z7 V0 d- j2 u0 a# f
initrd_size=0x2000000
% x4 R  W3 U3 j! jipaddr=192.168.1.119" z7 }: z2 b9 A0 ^3 B
kernel_addr=0x7000000
8 q3 \- t2 F1 t  xloadaddr=0x8000000
+ N7 k6 A1 j3 d6 ~# Anetdev=eth03 C( @. f) c( D9 D
netmask=255.255.255.0
4 ~4 K! u0 c# x6 `# B6 ?  B  crootpath=/srv/nfs/
. _- P3 S( l' }7 rscriptaddr=0x6d00000
. i4 Y/ w( e2 W" F) s! `serverip=192.168.1.254
* Z. {' T! i  K; V. a$ q6 asoc=mvebu
& W+ `# u2 d  e% {$ a6 ]stderr=serial@12000" p8 b9 e2 \/ N) S+ E: X- q4 [
stdin=serial@12000
9 F- L5 q8 h, Y! K/ U' H' [stdout=serial@12000
: F1 b2 z/ Z7 D, X+ r  Hsyno_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
# Z4 o. o( h; s$ h* wvendor=Marvell
5 e' ]: u- ~+ F2 X# R$ [! R
; b7 V% N2 W. P$ Z
" e6 `- `2 W. E' z1 |) r0 rEnvironment size: 2001/8188 bytes
$ V9 [! M* ?3 f7 I( DMarvell>>% S6 V1 m- Y, e2 z

$ a! b8 e$ e3 v6 x6 [# `看到有一个GPIO23,试了下,原来是reset按钮检测,没什么用。但它有两个启动项,主要是bootcmd_normal,而这又指向bootcmd_syno.
8 t, }+ z( v; |5 c: Jbootcmd_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;
7 q6 s$ Z0 P5 G5 h# T4 H" R5 B; R! E; R
% ]1 [5 g) u/ k" F这里好像是群晖引导,一条一条的命令,我又不会改linux的启动呀内核呀,只能在这儿动手了# b1 M+ h/ Q) s' a4 a
bootdelay=10 ,启动等待时间,1秒,太少,我都来不及按,改成10秒& [! H/ [! I  S; n6 u

: i3 N0 I/ B" _7 ~7 D4 f2 t/ Bbootcmd_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;
- P8 {- z, @7 T- [& ^# k2 W! | & [# R5 f- F% N% h( X+ d/ P5 b& [
注意我划掉的那部分,是先给硬盘断电,一会儿再通电,在固态硬盘可用,可能因为固态硬盘启动电流小,冲击小,当用普通盘时,有一定几率会死机,所以用普通盘时,我去掉了。$ F0 U& n: T: u) `
思路是:
. E6 Z- e. B& }3 N1 ?启动前先把phy那个=0,等10秒,关硬盘,等10秒,phy那个置1,开硬盘。之后正常启动。
; [2 d. `9 ]& O# w& f3 T% ~ 3 r+ x$ O+ E6 x: w6 I
这样有时能得到IP,但还是会有一定几率不行,所以又加上了网上流行的ping 60秒不通时重启8 }! `8 Y/ k3 `7 ?9 Z' H7 w

- `0 I& `5 k9 K  b控制面板,任务计划-新增-触发的任务-用户定义脚本,开机启动,开机60秒得不到ip 重启
8 P6 U% s0 `- ?4 m#!/bin/bash" N# ?8 u8 i" p( r; M
dt=`date '+%d/%m/%Y %H:%M:%S'`
) z! k+ c( e8 Y' s* Recho "$dt"* c& i" i7 C; f6 z; }; J- v" V
sleep 60. {& a+ y: R: v1 U# k: g+ B
num=`ping -c20 114.114.114.114 | tail -2 | head -1 | cut -f 3 -d"," | cut -f 1 -d"%" | cut -f 2 -d" "`5 m9 F; j5 z4 U# W& y4 r
echo $num& Q" Y! Z6 E! h% Z- M+ o- }' S
echo $?
( j5 S  G  J$ y7 b* t; M# Zif [ $? -eq 0 -a $num -eq 0 ]; then
, W3 r( S7 r+ U+ F% h3 s  Z    echo "$dt ok" >> /result.txt2 g8 j  F: y0 |1 x6 A2 e3 D" b
else+ U5 G2 g& W) K# t0 U2 a
    echo "$dt noip loss $num reboot" >> /result.txt
  t4 h$ \0 k* x  l  ^    reboot
4 K7 @8 h& p2 I1 g# lfi; e/ F  ~5 n* [0 Z
8 _) _8 p$ N7 @/ b) [' T% c* e. Q
第五行,ping后边的IP自己改,我用了一个外网的IP。% K( _$ G9 }: a8 V4 `! s) Z8 E

5 X3 J; h. I, i3 d+ b/ C# O总是思路就是,第一次刷完群晖会有ip,挂着硬盘,装系统,设置60秒脚本,重启,如果找不到IP,改bootcmd_syno,再重启等着进系统。
8 q5 N% g" S4 W% x7 N
1 `# k6 m) c1 r; o我反正试了几天,刚上电,等一会儿根本没有IP,60秒后,会重启,这次绝对有IP。但总要用ttl+shell盯着测试太麻烦,所以又加了一个正常启动后闪led灯的脚本,从网上抄的,忘记上谁发的了,侵权见谅。
; V$ B' v8 r% U' c# m, [
; p8 _, R- b7 f- \( l, Q还是上边60秒的地方,再加一条- A+ M* ^: B9 W* G, n

2 @' ]6 D& S# J/ c $ k$ t! p# S& e+ O: z' a1 }4 a
2cset -y -f 0 0x45 0x00 0x55% u' n5 V. b0 ?/ W! J' W8 h9 R$ W% Z
i2cset -y -f 0 0x45 0x01 0x01! o0 N4 k0 T4 {
i2cset -y -f 0 0x45 0x30 0x07
  L1 S3 {" a: A( a& X  j5 qi2cset -y -f 0 0x45 0x31 0x720 m# B5 d( d; C* C' O
i2cset -y -f 0 0x45 0x32 0x724 o- O/ z8 j0 e' K9 x7 T9 f5 z
i2cset -y -f 0 0x45 0x33 0x722 B6 Y" V3 \- m# M( b( I' u+ v
#调节三个灯灯每周期上升沿和最高亮度时间) P! X* m6 s) B8 d
#想要白色的话,把三个灯时间改为一样的就可以了,比如全部设为0x44
* w" w2 H* M, c$ ji2cset -y -f 0 0x45 0x37 0x44
% A8 s* x! e# L# hi2cset -y -f 0 0x45 0x3a 0x55* ]. z+ z" N8 E& R; ]/ A: O: M
i2cset -y -f 0 0x45 0x3d 0x66
2 a& E/ J# @6 n# f3 g7 i: j#调节三个灯每周期下降沿时间和关机时间  |4 a- P# i; t5 R5 c. x
i2cset -y -f 0 0x45 0x38 0x44; R  a1 S; s: s* i: F
i2cset -y -f 0 0x45 0x3b 0x55
7 A. D" d, _( w4 `' P! Q$ H, ui2cset -y -f 0 0x45 0x3e 0x66
& z9 D$ O1 E- g' Mi2cset -y -f 0 0x45 0x39 0x40
' Q; m, z4 o8 s! F' a/ Ii2cset -y -f 0 0x45 0x3c 0x40: G) w4 q: w$ X$ }9 H
i2cset -y -f 0 0x45 0x3f 0x40/ ~8 {7 o9 |1 I  E; J7 }5 B6 @
# 0-255,更亮
2 e- g6 p/ p8 i5 L* ?i2cset -y -f 0 0x45 0x34 128
" K, D9 }# s4 I: ?7 Y* }( W& {i2cset -y -f 0 0x45 0x35 128
! E/ T( ?4 z! ~, {2 x3 Y9 Ai2cset -y -f 0 0x45 0x36 128
- ?) l8 l( a7 T, f( q! @  _
  g+ C* }$ t% L$ B然后在这条设置里有一个“先行任务”,设置成上边的60秒,也就是60秒那条执行完才执行这条。而60秒那条,没有ip就会重启,有ip就完成了,就会执行亮灯
/ C: z; [% y1 N) p
; G0 e" _* x- L. }$ c9 D
! g6 O0 Z$ U1 U% U3 M: L我知道很多大神会做内核解决各种问题,我也知道看起来很小的问题,工作量是非常大的,可能要几个月才能解决,所以大神做的东西是不可能轻易免费发出来的,人家也要吃饭,不可能靠爱发电(我也在公司做简单的技术,知道技术无价的道理)。我从99年学电脑开始,绝大部分的东西都是从网上找来学的,所以非常感谢所有把知识发到网上共享的大神们。
6 r& U) ]1 W  h& }! k# T ! _$ A+ b9 ~+ Q; [
希望大家有条件能测试一下这个方法,如果可行,请发出去让更多的人看到,如果有改进的方法,也请共享出来,因为这个方法换盘好像不方便。: e. ~5 [# b3 Q* i9 H8 o. q+ }

1

主题

4

回帖

260

积分

中级渣柚V1

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

5

主题

34

回帖

302

积分

中级渣柚V1

积分
302
binglongl 发表于 2023-2-1 16:28:20 | 显示全部楼层 IP:–辽宁 联通
多谢分享!!
& q& f; Z. P1 R+ F3 z$ _/ [1 B/ X3 \4 f

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-6-13 08:46 , Processed in 0.078321 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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