|
|
@@ -144,12 +144,23 @@ func help() {
|
|
|
}
|
|
|
|
|
|
func writeDeviceIMEI() {
|
|
|
+ const path = "/var/device_imei.txt"
|
|
|
+ tmp := path + ".tmp"
|
|
|
+
|
|
|
for {
|
|
|
- imei := netmgrd.GetIMEI()
|
|
|
- if imei == netmgrd.ErrUnknownModemTypeMsg || imei == "" {
|
|
|
+ imei := strings.TrimSpace(netmgrd.GetIMEI())
|
|
|
+ if imei == "" || imei == netmgrd.ErrUnknownModemTypeMsg {
|
|
|
+ time.Sleep(time.Second)
|
|
|
continue
|
|
|
}
|
|
|
- os.WriteFile("/var/device_imei.txt", []byte(strings.TrimSpace(imei)+"\n"), 0644)
|
|
|
- break
|
|
|
+
|
|
|
+ if old, err := os.ReadFile(path); err == nil && strings.TrimSpace(string(old)) == imei {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if os.WriteFile(tmp, []byte(imei+"\n"), 0644) == nil {
|
|
|
+ _ = os.Rename(tmp, path)
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|
|
|
}
|