|
|
本帖最后由 recfox 于 2019-11-27 22:42 编辑
8 V# J B! Y& l# m! w. t0 V [ Z9 H# B9 S
查了日志,是udhcpc执行的时候,网卡down掉了,导致获取不到ip,自动分了169.254.x.x的ip,甚至因为网卡整个down直接不分IP。udhcpc不会运行第二次,之后一直crc错误
0 f" K/ ^9 J9 K" j( x6 F( }* M1 A. Y1 c5 y' i% m3 d4 {& }9 \
目前测试,把emmc里面的内容抹掉,重新写入full.bin的数据,清空emmc并重写full.bin后必然可以获取到IP。
^# {; d6 F c6 h/ i3 _3 _然后写入完整的DSM系统即可1 F7 k: q' F- { w& M5 J/ P- Z
首先进shell:(坛子还不给上传代码,自己敲部分代码贴Google就能找到了)
0 \& V# \- o6 l- t* W, J: {
$ e9 x/ m3 u3 ]& W5 Z4 B5 I, X- g4 P/ @& `# W4 g
然后重写emmc,可以参考板块里猫盘一键刷群辉命令脚本重写full.bin,我是下载到U盘然后sh执行,修改成本地路径不走github,太慢。
8 C7 o, @- b1 B, ?这样重启以后,能获取到ip。
2 M4 u! y/ M `; O2 g1 R" {( s' o
; D z# M6 p' J5 P! J% Q! @ T; p( w2 A( h. @! t d& I+ }
根据这情况,我猜测,应该是网卡驱动或者系统问题,让emmc里面的某些文件,记录了某些不该有的东西,或者执行了某些操作,导致dhcp失败+crc error。
, M* m1 Y7 k8 h e接下来的思路我想这么搞) ~2 h X7 b+ ~3 y* p4 @5 d
* k/ ?7 T U# e% r; Z. N思路A:
: \6 c! X6 _1 t/ E- a# q# y导出重写emmc后第一次和第二次执行的日志,diff对比。/ F3 r' ]; \+ f+ d
精确到时间。
/ [8 P, N& |. @! {8 @4 G ?. c2 v8 z: e/ q0 I/ Q
思路B:
# ?6 g: }- e* A5 e1.按照上面的方法,分别dump写入镜像后和第一次开机后的emmc里的文件9 e* N1 m% m) L2 x8 A
2.提取出来后diff检查哪些文件被修改过(注意连带权限也一起检查,可能是某些文件权限问题导致的)2 ]+ T5 G2 t8 Z. W/ d% ?
3.筛选网络和dhcp相关的文件,进一步分析" P7 O- T* C/ l4 H: v1 M$ U
4.想办法整到udhcpc的日志,分析(测试与其无关)
- @' `6 h' I8 e" Z. y/ @: v5.分析不到或者拿不到的话,直接设置权限禁止那部分目录的写入试试,或者整个/目录禁止写入?2 F: `- o B2 p
( \1 ]2 H9 K1 X( s$ X/ p! k
思路C(我觉得可能跟udhcpc关系不大):+ h9 g( k$ ?& u( h- ^8 U
测试无效。dhclient返回找不到网卡。5 Z! y- [& g0 c) O+ b* C
- 1970-01-01T08:07:57+08:00 a dhclient: Failed to get interface index: No such device
* b7 p6 q! r4 _; c2 t5 m4 l" S3 N1 L - 1970-01-01T08:07:57+08:00 a dhclient: 3 w( R; n L4 _" B) f K+ N
- 1970-01-01T08:07:57+08:00 a dhclient: If you think you have received this message due to a bug rather
3 G- G. A. N5 g9 u6 J - 1970-01-01T08:07:57+08:00 a dhclient: than a configuration issue please read the section on submitting7 u2 U, p9 d; w3 i; B [5 B2 e3 W
- 1970-01-01T08:07:57+08:00 a dhclient: bugs on either our web page at www.isc.org or in the README file
# y, z% X. g+ s& j1 M1 a5 h: d - 1970-01-01T08:07:57+08:00 a dhclient: before submitting a bug. These pages explain the proper( l* f7 ]- W' \, W* q9 U. @9 c/ R3 ~
- 1970-01-01T08:07:57+08:00 a dhclient: process and the information we find helpful for debugging..
3 e+ D$ T% `+ z3 e0 p K- C - 1970-01-01T08:07:57+08:00 a dhclient:
6 W0 I$ ]3 W; g3 y P' g% W' v7 r2 W - 1970-01-01T08:07:57+08:00 a dhclient: exiting.5 v, S; C* `! F" k9 q5 D
复制代码 # D; @/ A5 W$ q$ [& q$ F# A. O+ m
1.升级udhcpc看看能否解决! b& C M6 m; \6 ^* I c
2.不能的话,想办法让udhcpc执行前用其他方法给dhcp到,比如kill掉然后重新执行
4 u- k) L4 B7 P+ `& z, p3.换其他dhcp client尝试2 x! C: U+ |9 y, y
' L! S# P) L- V) r
思路D:- v( w( B6 ?1 W7 F: D4 [4 O
按照前述方案dd emmc,然后第一次启动时按部就班写好DSM/Linux。此时因为需要出厂设置,在设置期间down掉的网卡会重新up回来。. C0 R/ z+ W" P: K W- ]2 L
然后设置static ip/升级udhcpc等方法尝试
1 ?5 ]( o; [0 |0 {6 M
! \" z+ S3 }7 C思路E(最简单,或许可行):. p! K ]+ Z, I
直接在udhcpc执行后sleep一分钟。
G" Z3 D' Y4 c# f9 \, d3 H6 o) u
8 F$ d( H `. f" z& n+ ]上述方法CDE无效,进入系统后强制重新up网卡,系统提示找不到eth0
1 \" T! g, ~$ Z0 w7 K0 g1 _应该是系统或者网卡驱动问题了,跟dhcp client关系应该不大0 `! D2 t _0 {- q# o
接下来测试udhcpc运行之前网卡是否正常,然后分析前后日志看看
0 y) t. |$ I6 V- ` {8 y+ G1 J/ R- `- k& y0 L- v! v
: h: F5 x/ S8 r8 n( [; D. [2 m( i思路F:
7 X4 K2 ?4 g- |5 F) q# @2 ^/ _4 f升级emmc里的网卡驱动/把x3p或者猫盘原系统的驱动移植过来看看$ f. {/ |0 _- a: g( F# O
- U: j! H p" \' y$ f/ S
明天出差,三周才能回来,希望有大佬尝试下。
7 s4 I0 g! Z, @6 z, q) X如果没有大佬帮忙整小的回来再整。
5 _/ f1 N. P4 X* y |
|