|
|
发表于 2019-11-26 01:13:39
|
显示全部楼层
本帖最后由 recfox 于 2019-11-27 22:42 编辑
8 {' D- M8 X: ?2 ?0 C" \1 x* _6 y6 Z$ z5 [
查了日志,是udhcpc执行的时候,网卡down掉了,导致获取不到ip,自动分了169.254.x.x的ip,甚至因为网卡整个down直接不分IP。udhcpc不会运行第二次,之后一直crc错误
% S& `7 x1 t( C1 j
( F4 X5 r- w8 }' N目前测试,把emmc里面的内容抹掉,重新写入full.bin的数据,清空emmc并重写full.bin后必然可以获取到IP。; R1 M1 p n+ m- P) l% o- Y
然后写入完整的DSM系统即可9 }+ a8 A k8 [, Y; j
首先进shell:(坛子还不给上传代码,自己敲部分代码贴Google就能找到了)7 D" u1 A# p) ?9 m8 a' ?* Y+ @, {
' b: k/ a( [$ v5 ]+ K
4 L; s; [5 m; G4 C# v然后重写emmc,可以参考板块里猫盘一键刷群辉命令脚本重写full.bin,我是下载到U盘然后sh执行,修改成本地路径不走github,太慢。
( {( W$ `; F' o" l这样重启以后,能获取到ip。
4 Q1 Y3 e* H# G8 |2 n+ u+ @
; c; R/ }; k6 S* E9 P. [8 ?5 Y: A" y6 G4 W
根据这情况,我猜测,应该是网卡驱动或者系统问题,让emmc里面的某些文件,记录了某些不该有的东西,或者执行了某些操作,导致dhcp失败+crc error。
8 ?. F, p- q' W$ I5 l6 t# X接下来的思路我想这么搞* n5 b/ {, |) W* B3 \) b. z( Y- ?
0 C( C" L) d0 H) W思路A:
5 c/ t/ w: v, y7 d导出重写emmc后第一次和第二次执行的日志,diff对比。4 M S% c0 p0 p8 |. o
精确到时间。
; j, y0 G6 w/ I* ]2 C2 P. {
* g" K5 {" Y3 ^( ?& ^) M. N思路B:# }4 _" `' h: s% K
1.按照上面的方法,分别dump写入镜像后和第一次开机后的emmc里的文件
& y) e1 B* N; T9 \1 n n2.提取出来后diff检查哪些文件被修改过(注意连带权限也一起检查,可能是某些文件权限问题导致的)3 w1 r8 b, ~$ t8 L" t1 j) C+ e
3.筛选网络和dhcp相关的文件,进一步分析
2 a+ g0 O E, \; I2 b4.想办法整到udhcpc的日志,分析(测试与其无关) f. F# s2 b% M i. C; `
5.分析不到或者拿不到的话,直接设置权限禁止那部分目录的写入试试,或者整个/目录禁止写入?! I1 o& }6 L- X) e& q7 E' J
% }' h8 v7 B7 b5 u9 i
思路C(我觉得可能跟udhcpc关系不大):
! C+ K4 }3 @1 _4 s" S( A0 B7 y5 e测试无效。dhclient返回找不到网卡。
3 | _1 ^& E. Z& W2 s- s& n/ z: R/ M1 q- 1970-01-01T08:07:57+08:00 a dhclient: Failed to get interface index: No such device& J0 G& h5 m. j j8 i; z7 Z
- 1970-01-01T08:07:57+08:00 a dhclient:
- r% m" w( p9 p3 B9 \+ _ - 1970-01-01T08:07:57+08:00 a dhclient: If you think you have received this message due to a bug rather+ K9 f3 B, U$ l" v/ Y
- 1970-01-01T08:07:57+08:00 a dhclient: than a configuration issue please read the section on submitting3 k5 r5 W# D: T" Z" e
- 1970-01-01T08:07:57+08:00 a dhclient: bugs on either our web page at www.isc.org or in the README file; n1 X N, N6 m" X6 t( _
- 1970-01-01T08:07:57+08:00 a dhclient: before submitting a bug. These pages explain the proper
' Y( \- _8 t' {3 }) ~1 ]* q - 1970-01-01T08:07:57+08:00 a dhclient: process and the information we find helpful for debugging..
; J! M3 L' n( [6 f0 _6 F - 1970-01-01T08:07:57+08:00 a dhclient: 4 p2 P" P% r l% d: d
- 1970-01-01T08:07:57+08:00 a dhclient: exiting.! o% X$ P5 m0 H# c
复制代码 8 ]8 [/ a! ~$ r3 Q' ^8 J
1.升级udhcpc看看能否解决
4 A5 p' d. U( @6 M' R' V4 a2.不能的话,想办法让udhcpc执行前用其他方法给dhcp到,比如kill掉然后重新执行2 f# _, ^3 a1 p1 p T) b- ^* v- j
3.换其他dhcp client尝试
4 x; R6 c2 `$ c* f7 F
( v" h, V0 l% `: O3 J. g" F$ H* p思路D:
2 ]; v7 v$ g4 f" q5 g& Y7 ]6 G. ~9 Q按照前述方案dd emmc,然后第一次启动时按部就班写好DSM/Linux。此时因为需要出厂设置,在设置期间down掉的网卡会重新up回来。
* {! p% E! L8 K: B+ N然后设置static ip/升级udhcpc等方法尝试2 I' S9 \# U6 v; a- S
) D$ f- p8 {, o. l: ]0 K
思路E(最简单,或许可行):6 ~; K* [% W |" t" z
直接在udhcpc执行后sleep一分钟。+ Q# Z5 p) I& p/ z; s% X
# b! U' G J9 Y7 r上述方法CDE无效,进入系统后强制重新up网卡,系统提示找不到eth0
, N: z# H% k" w: [; [6 a# _- i应该是系统或者网卡驱动问题了,跟dhcp client关系应该不大
, {3 \( G5 a7 w8 n$ L接下来测试udhcpc运行之前网卡是否正常,然后分析前后日志看看+ o4 Y# \/ d: L, `
1 e* L$ j' f$ W% H
1 e9 ^2 j7 l+ M思路F:
2 r* o9 J0 `4 \9 J0 t升级emmc里的网卡驱动/把x3p或者猫盘原系统的驱动移植过来看看% y0 K3 i! G7 Y' `+ n. |. @8 y3 F
. W5 R9 L- r$ D4 i; d
明天出差,三周才能回来,希望有大佬尝试下。$ ]7 Q& R% h; {8 F
如果没有大佬帮忙整小的回来再整。
9 N# ~4 G; a; X. w0 z* G) N |
|