[install_fw] Fix install stock firmware on RA80/RA82

pull/24/head
remittor 1 year ago
parent 9a5d090e66
commit e8b0a9fefe

@ -231,7 +231,7 @@ class Gateway():
stok = re.findall(r'"token":"(.*?)"', res.text)[0]
except Exception:
self.webpassword = ""
die("WEB password is not correct! (encryptmode = {})".foarmat(self.encryptmode))
die("WEB password is not correct! (encryptmode = {})".format(self.encryptmode))
self.webpassword = web_pass
self.stok = stok
return stok

@ -453,7 +453,16 @@ class XqFlash():
if image is None:
data = self.kernel.data
offset = 0
if data[offset:offset+4] != FDT_MAGIC:
dtb_offset = 0
magic = data[offset:offset+4]
if magic == b'\x17\x00\x00\x00':
dtb_offset, fir_size = find_dtb(data, offset, maxsize = 90*1024*1024)
if not dtb_offset:
die('FIT: Incorrect image header (0)')
data = data[dtb_offset:]
offset = 0
magic = data[offset:offset+4]
if magic != FDT_MAGIC:
die('FIT: Incorrect image (0)')
fit_size = get_dtb_totalsize(data, offset)
if fit_size <= 0:
@ -497,7 +506,11 @@ class XqFlash():
krn_size = len(krn1.get_property("data"))
print(f'KRN: data = {krn_size} bytes')
krn_dt_data = fdt1.get_property('data').data
krn_dt_data = fdt1.get_property('data')
if hasattr(krn_dt_data, 'raw_value'):
krn_dt_data = krn_dt_data.raw_value
else:
krn_dt_data = krn_dt_data.data
dt = fdt.parse_dtb(krn_dt_data)
self.krn_dt = dt
dt_tree = dt.info(props = True)

@ -43,6 +43,7 @@ def new_property(name: str, raw_value: bytes) -> object:
obj = PropWords(name)
# Extract words from raw value
obj.data = [BIGENDIAN_WORD.unpack(raw_value[i:i + 4])[0] for i in range(0, len(raw_value), 4)]
obj.raw_value = raw_value
return obj
elif len(raw_value):

@ -36,7 +36,7 @@ mi(28, "IR1200G")
mi(29, "RM1800")
mi(30, "R2100D")
mi(31, "RA67")
mi(32, "RA69")
mi(32, "RA69", "", "ax6")
mi(33, "RA71")
mi(34, "CR6006", "", "mi-router-cr6606")
mi(35, "CR6008", "", "mi-router-cr6608")

Loading…
Cancel
Save