mirror of
https://github.com/openwrt-xiaomi/xmir-patcher.git
synced 2026-09-22 22:57:55 +03:00
Add module xqmodel.py
This commit is contained in:
+1
-1
@@ -30,7 +30,7 @@ if gw.status < 1:
|
||||
die("Xiaomi Mi Wi-Fi device not found (IP: {})".format(gw.ip_addr))
|
||||
|
||||
dn = gw.device_name
|
||||
from xqimage import get_modelid_by_name
|
||||
from xqmodel import get_modelid_by_name
|
||||
model_id = get_modelid_by_name(dn)
|
||||
|
||||
#if dn in 'R2100 R2350 RM1800 RM2100 RA67':
|
||||
|
||||
+2
-92
@@ -29,98 +29,8 @@ class XQImgFile(ctypes.Structure):
|
||||
("dummy", ctypes.c_short),
|
||||
("name", ctypes.c_char * 32)] # Filename
|
||||
|
||||
xqModelList = [
|
||||
"<unk0>",
|
||||
"<unk1>",
|
||||
"<unk2>",
|
||||
"R1CM", # 3
|
||||
"R2D", # 4
|
||||
"R1CL",
|
||||
"R2CM",
|
||||
"R3",
|
||||
"R3D", # 8
|
||||
"R3L",
|
||||
"R3P", # 10
|
||||
"P01",
|
||||
"R3A",
|
||||
"R3G", # 13
|
||||
"R4",
|
||||
"R4C",
|
||||
"D01",
|
||||
"R4A",
|
||||
"R4CM",
|
||||
"R4AC",
|
||||
"R3GV2", # 20
|
||||
"R2600",
|
||||
"R2100", # 22
|
||||
"RM2100", # 23
|
||||
"R3600", # 24
|
||||
"R1350",
|
||||
"R2200",
|
||||
"R2350", # 27
|
||||
"IR1200G",
|
||||
"RM1800",
|
||||
"R2100D", # 30
|
||||
"RA67",
|
||||
"RA69",
|
||||
"RA71",
|
||||
"CR6006", # 34
|
||||
"CR6008",
|
||||
"CR6009",
|
||||
"RA70", # AX9000
|
||||
"RA75",
|
||||
"RA72",
|
||||
"<unk40>", # 40
|
||||
"<unk41>",
|
||||
"<unk42>",
|
||||
"RA80", # AX3000
|
||||
"RA81", # Redmi AX3000
|
||||
"RA82", # AX3000
|
||||
"RA83",
|
||||
"RA74", # AX5400
|
||||
"<unk48>",
|
||||
"YY01",
|
||||
"RB01", # 50 # AX3200 (INT)
|
||||
"RB03", # 51 # AX6S # CR8806 (ChinaMobile)
|
||||
"CR8808",
|
||||
"CR8809",
|
||||
"RB04", # 54 # Redmi AX5400
|
||||
"CR5508",
|
||||
"CR5506",
|
||||
"CR5509",
|
||||
"RB08", # 58 # HomeWiFi
|
||||
"<unk59>",
|
||||
"<unk60>",
|
||||
"RB06", # 61 # Redmi AX6000
|
||||
"<unk62>",
|
||||
"<unk63>",
|
||||
"CB04", # 64
|
||||
"CB0401", # 65 # Xiaomi 5G CPE Pro, Magenta Internet 5G Box AX5400
|
||||
"RC01", # AX10000
|
||||
"<unk67>"
|
||||
"CB0401V2", # Xiaomi 5G CPE Pro
|
||||
"<unk69>",
|
||||
"RC06", # Xiaomi Router 7000
|
||||
# routers with unknown device number
|
||||
"RA50", # Certification: 2022-13063
|
||||
"RB05", # Certification: 2022-3478
|
||||
"RB02", # Xiaomi AC1200 (INT)
|
||||
"R4AV2", # Xiaomi AC1200 (CN)
|
||||
"RC04", # RA75 analog
|
||||
"WR30U", # Xiaomi AX3000NE
|
||||
"WR30T", # Certification: 2022-3536
|
||||
"WR30M", # Certification: 2022-3202 6.0.49
|
||||
"RD01", # ???
|
||||
"RD02", # Certification: 2023-11107
|
||||
"RD03", # Xiaomi AX3000T (CN)
|
||||
"RD04", # Certification: 2023-12227
|
||||
]
|
||||
|
||||
def get_modelid_by_name(name):
|
||||
for i, m in enumerate(xqModelList):
|
||||
if m.lower() == name.lower():
|
||||
return i
|
||||
return -1
|
||||
from xqmodel import xqModelList
|
||||
from xqmodel import get_modelid_by_name
|
||||
|
||||
def DIE(msg):
|
||||
print('ERROR:', msg)
|
||||
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
mi = [ "" ] * 2000
|
||||
|
||||
mi[ 3] = "R1CM"
|
||||
mi[ 4] = "R2D"
|
||||
mi[ 5] = "R1CL"
|
||||
mi[ 6] = "R2CM"
|
||||
mi[ 7] = "R3"
|
||||
mi[ 8] = "R3D"
|
||||
mi[ 9] = "R3L"
|
||||
mi[10] = "R3P"
|
||||
mi[11] = "P01"
|
||||
mi[12] = "R3A"
|
||||
mi[13] = "R3G"
|
||||
mi[14] = "R4"
|
||||
mi[15] = "R4C"
|
||||
mi[16] = "D01"
|
||||
mi[17] = "R4A"
|
||||
mi[18] = "R4CM"
|
||||
mi[19] = "R4AC"
|
||||
mi[20] = "R3GV2"
|
||||
mi[21] = "R2600"
|
||||
mi[22] = "R2100"
|
||||
mi[23] = "RM2100"
|
||||
mi[24] = "R3600"
|
||||
mi[25] = "R1350"
|
||||
mi[26] = "R2200"
|
||||
mi[27] = "R2350"
|
||||
mi[28] = "IR1200G"
|
||||
mi[29] = "RM1800"
|
||||
mi[30] = "R2100D"
|
||||
mi[31] = "RA67"
|
||||
mi[32] = "RA69"
|
||||
mi[33] = "RA71"
|
||||
mi[34] = "CR6006"
|
||||
mi[35] = "CR6008"
|
||||
mi[36] = "CR6009"
|
||||
mi[37] = "RA70" # AX9000
|
||||
mi[38] = "RA75"
|
||||
mi[39] = "RA72" # Mi Router AX6000 Certification: 2021-05-20
|
||||
|
||||
mi[1005] = "RA50" # Certification: 2022-13063
|
||||
mi[1006] = "RB02" # Xiaomi AC1200 (INT)
|
||||
mi[1007] = "R4AV2" # Xiaomi AC1200 (CN)
|
||||
|
||||
mi[43] = "RA80" # AX3000 Certification: 2022-2908
|
||||
mi[44] = "RA81" # Redmi AX3000
|
||||
mi[45] = "RA82" # AX3000
|
||||
mi[46] = "RA83"
|
||||
mi[47] = "RA74" # AX5400
|
||||
|
||||
mi[49] = "YY01"
|
||||
mi[50] = "RB01" # AX3200 (INT)
|
||||
mi[51] = "RB03" # AX6S # CR8806 (ChinaMobile)
|
||||
mi[52] = "CR8808"
|
||||
mi[53] = "CR8809"
|
||||
mi[54] = "RB04" # Redmi AX5400
|
||||
mi[55] = "CR5508"
|
||||
mi[56] = "CR5506"
|
||||
mi[57] = "CR5509"
|
||||
mi[58] = "RB08" # HomeWiFi
|
||||
|
||||
mi[1060] = "RB05" # Certification: 2022-3478
|
||||
mi[61] = "RB06" # Redmi AX6000
|
||||
|
||||
|
||||
mi[64] = "CB04"
|
||||
mi[65] = "CB0401" # Xiaomi 5G CPE Pro, Magenta Internet 5G Box AX5400
|
||||
mi[66] = "RC01" # AX10000
|
||||
mi[1067] = "RC04" # RA75 analog
|
||||
mi[68] = "CB0401V2" # Xiaomi 5G CPE Pro
|
||||
|
||||
mi[70] = "RC06" # Xiaomi Router 7000
|
||||
|
||||
# routers with unknown device number
|
||||
mi[1901] = "WR30U" # Xiaomi AX3000NE
|
||||
mi[1902] = "WR30T" # Certification: 2022-3536
|
||||
mi[1903] = "WR30M" # Certification: 2022-3202 6.0.49
|
||||
mi[1801] = "RD01" # ???
|
||||
mi[1802] = "RD02" # Certification: 2023-11107
|
||||
mi[1803] = "RD03" # Xiaomi AX3000T (CN)
|
||||
mi[1804] = "RD04" # Certification: 2023-12227
|
||||
|
||||
|
||||
xqModelList = mi
|
||||
|
||||
def get_modelid_by_name(name, unk = False):
|
||||
for i, m in enumerate(xqModelList):
|
||||
if not unk and i >= 1000:
|
||||
break
|
||||
if m.lower() == name.lower():
|
||||
return i
|
||||
return -1
|
||||
|
||||
Reference in New Issue
Block a user