Skip to content

Commit

Permalink
ID the Sage 8GB PW4 WiFi
Browse files Browse the repository at this point in the history
  • Loading branch information
NiLuJe committed Jul 17, 2020
1 parent 148ba2b commit 54736a4
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 23 deletions.
33 changes: 18 additions & 15 deletions KindleTool/create.c
Expand Up @@ -1559,7 +1559,7 @@ int
}
} else if (strcasecmp(optarg, "paperwhite4") == 0) {
memcpy(info.magic_number, "FD04", MAGIC_NUMBER_LENGTH);
const unsigned int num_aliased_devices = 9 + (kt_with_unknown_devcodes * 12);
const unsigned int num_aliased_devices = 10 + (kt_with_unknown_devcodes * 11);
info.devices = realloc(info.devices,
(info.num_devices + num_aliased_devices) * sizeof(Device));
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GB;
Expand All @@ -1571,6 +1571,7 @@ int
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBBlue;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi32GBBlue;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBPlum;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBSage;
if (kt_with_unknown_devcodes) {
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_0T4;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_0T5;
Expand All @@ -1583,7 +1584,6 @@ int
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_103;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16R;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16S;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16V;
}
} else if (strcasecmp(optarg, "basic3") == 0) {
memcpy(info.magic_number, "FD04", MAGIC_NUMBER_LENGTH);
Expand Down Expand Up @@ -1614,18 +1614,18 @@ int
} else if (strcasecmp(optarg, "kindle5") == 0) {
memcpy(info.magic_number, "FD04", MAGIC_NUMBER_LENGTH);
const unsigned int num_aliased_devices =
3 + kt_with_unknown_devcodes + // K5
6 + // PW1
12 + (kt_with_unknown_devcodes * 2) + // PW2
2 + // KT2
5 + (kt_with_unknown_devcodes * 1) + // KV
12 + (kt_with_unknown_devcodes * 2) + // PW3
5 + (kt_with_unknown_devcodes * 1) + // Oasis
2 + (kt_with_unknown_devcodes * 1) + // KT3
5 + (kt_with_unknown_devcodes * 10) + // Oasis 2
9 + (kt_with_unknown_devcodes * 12) + // PW4
3 + (kt_with_unknown_devcodes * 3) + // KT4
5 + (kt_with_unknown_devcodes * 1); // KOA3
3 + kt_with_unknown_devcodes + // K5
6 + // PW1
12 + (kt_with_unknown_devcodes * 2) + // PW2
2 + // KT2
5 + (kt_with_unknown_devcodes * 1) + // KV
12 + (kt_with_unknown_devcodes * 2) + // PW3
5 + (kt_with_unknown_devcodes * 1) + // Oasis
2 + (kt_with_unknown_devcodes * 1) + // KT3
5 + (kt_with_unknown_devcodes * 10) + // Oasis 2
10 + (kt_with_unknown_devcodes * 11) + // PW4
3 + (kt_with_unknown_devcodes * 3) + // KT4
5 + (kt_with_unknown_devcodes * 1); // KOA3
info.devices = realloc(info.devices,
(info.num_devices + num_aliased_devices) * sizeof(Device));
// K5
Expand Down Expand Up @@ -1732,6 +1732,7 @@ int
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBBlue;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi32GBBlue;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBPlum;
info.devices[info.num_devices++] = KindlePaperWhite4WiFi8GBSage;
if (kt_with_unknown_devcodes) {
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_0T4;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_0T5;
Expand All @@ -1744,7 +1745,6 @@ int
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_103;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16R;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16S;
info.devices[info.num_devices++] = KindlePaperWhite4Unknown_16V;
}
// KT4
info.devices[info.num_devices++] = KindleBasic3;
Expand Down Expand Up @@ -2085,6 +2085,9 @@ int
} else if (strcasecmp(optarg, "pw4p") == 0 || strcasecmp(optarg, "kpw4p") == 0) {
info.devices[info.num_devices - 1] = KindlePaperWhite4WiFi8GBPlum;
memcpy(info.magic_number, "FD04", MAGIC_NUMBER_LENGTH);
} else if (strcasecmp(optarg, "pw4s") == 0 || strcasecmp(optarg, "kpw4s") == 0) {
info.devices[info.num_devices - 1] = KindlePaperWhite4WiFi8GBSage;
memcpy(info.magic_number, "FD04", MAGIC_NUMBER_LENGTH);
}
// KT4
else if (strcasecmp(optarg, "kt4") == 0) {
Expand Down
9 changes: 5 additions & 4 deletions KindleTool/kindle_tool.c
Expand Up @@ -403,9 +403,9 @@ const char*
case KindlePaperWhite4WiFi8GBBlue:
return "Twilight Blue Kindle PaperWhite 4 (2018) WiFi (8GB)";
case KindlePaperWhite4WiFi8GBPlum:
return "Plum Twilight Blue Kindle PaperWhite 4 (2018) WiFi (8GB)";
case KindlePaperWhite4Unknown_16V:
return "Kindle PaperWhite 4 (2018) (Unknown Variant 16V)";
return "Plum Kindle PaperWhite 4 (2018) WiFi (8GB)";
case KindlePaperWhite4WiFi8GBSage:
return "Sage Kindle PaperWhite 4 (2018) WiFi (8GB)";
case KindleBasic3:
return "Kindle Basic 3 (2019)";
case KindleBasic3Unknown_0WF:
Expand Down Expand Up @@ -655,6 +655,7 @@ static int
" -d, --device pw4tb Twilight Blue Kindle PaperWhite 4 (2018) WiFi (8GB)\n"
" -d, --device pw4ltb Twilight Blue Kindle PaperWhite 4 (2018) WiFi (32GB)\n"
" -d, --device pw4p Plum Kindle PaperWhite 4 (2018) WiFi (8GB)\n"
" -d, --device pw4s Sage Kindle PaperWhite 4 (2018) WiFi (8GB)\n"
" -d, --device kt4 Kindle Basic 3 (2019)\n"
" -d, --device kt4w White Kindle Basic 3 (2019)\n"
" -d, --device kt4ke Kindle Basic 3 (2019) Kids Edition\n"
Expand All @@ -677,7 +678,7 @@ static int
" -d, --device oasis Alias for koa, koag, koagb, koagbi & koagcn\n"
" -d, --device basic2 Alias for kt3 & kt3w\n"
" -d, --device oasis2 Alias for koa2w8, koa2g32, koa2w32, koa2g32b & koa2w32c\n"
" -d, --device paperwhite4 Alias for pw4, pw4l, pw4lg, pw4lgb, pw4in, pw4lgjp, pw4tb, pw4ltb & pw4p\n"
" -d, --device paperwhite4 Alias for pw4, pw4l, pw4lg, pw4lgb, pw4in, pw4lgjp, pw4tb, pw4ltb, pw4p & pw4s\n"
" -d, --device basic3 Alias for kt4, kt4w & kt4ke\n"
" -d, --device oasis3 Alias for koa3w32c, koa3g32jp, koa3g32, koa3w32 & koa3w8\n"
" -d, --device kindle5 Alias for touch, paperwhite, paperwhite2, basic, voyage, paperwhite3, oasis, basic2, oasis2, paperwhite4, basic3 & oasis3\n"
Expand Down
2 changes: 1 addition & 1 deletion KindleTool/kindle_tool.h
Expand Up @@ -298,7 +298,7 @@ typedef enum
KindlePaperWhite4Unknown_16S = 0x4DA, // 16S?
KindlePaperWhite4WiFi8GBBlue = 0x4DB, // 16T (Twilight Blue, DE)
KindlePaperWhite4WiFi8GBPlum = 0x4DC, // 16U (Plum. New batch of colors released summer 2020, on 5.12.3)
KindlePaperWhite4Unknown_16V = 0x4DD, // 16V?
KindlePaperWhite4WiFi8GBSage = 0x4DD, // 16V (Sage. Ditto)
// Kindle Basic 3, released April 10 2019 on FW 5.1x.y
KindleBasic3 = 0x414, // 10L
KindleBasic3Unknown_0WF = 0x3CF, // 0WF?
Expand Down
2 changes: 1 addition & 1 deletion KindleTool/kindletool.1
Expand Up @@ -60,7 +60,7 @@ packages can support multiple devices, this parameter can then be specified mult
.br
.I device
is one of
.BR k1 ", " k2 ", " k2i ", " dx ", " dxi ", " dxg ", " k3w ", " k3g ", " k3gb ", " k4 ", " k4b ", " k5w ", " k5g ", " k5gb ", " k5u ", " pw ", " pwg ", " pwgc ", " pwgb ", " pwgj ", " pwgbr ", " pw2 ", " pw2j ", " pw2g ", " pw2gc ", " pw2gb ", " pw2gr ", " pw2gj ", " pw2il ", " pw2gbl ", " pw2gl ", " pw2gcl ", " pw2gbrl ", " kt2 ", " kt2a ", " kv ", " kvg ", " kvgb ", " kvgj ", " kvgm ", " pw3 ", " pw3g ", " pw3gj ", " pw3gc ", " pw3gb ", " pw3gm ", " pw3jl ", " pw3w ", " pw3wgj ", " pw3wjl ", " pw3wgi ", " pw3wgib ", " koa ", " koag ", " koagb ", " koagbi ", " koagcn ", " kt3 ", " kt3w ", " koa2w8 ", " koa2g32 ", " koa2w32 ", " koa2g32b ", " koa2w32c ", " pw4 ", " pw4l ", " pw4lg ", " pw4lgb ", " pw4in ", " pw4lgjp ", " pw4tb ", " pw4ltb ", " pw4p ", " kt4 ", " kt4w ", " kt4ke ", " koa3w32c ", " koa3g32jp ", " koa3g32 ", " koa3w32 ", " koa3w8 ", " kindle2 ", " kindledx ", " kindle3 ", " legacy ", " kindle4 ", " touch ", " paperwhite ", " paperwhite2 ", " basic ", " voyage ", " paperwhite3 ", " oasis ", " basic2 ", " oasis2 ", " paperwhite4 ", " basic3 ", " oasis3 ", " kindle5 ", " none " or " auto .
.BR k1 ", " k2 ", " k2i ", " dx ", " dxi ", " dxg ", " k3w ", " k3g ", " k3gb ", " k4 ", " k4b ", " k5w ", " k5g ", " k5gb ", " k5u ", " pw ", " pwg ", " pwgc ", " pwgb ", " pwgj ", " pwgbr ", " pw2 ", " pw2j ", " pw2g ", " pw2gc ", " pw2gb ", " pw2gr ", " pw2gj ", " pw2il ", " pw2gbl ", " pw2gl ", " pw2gcl ", " pw2gbrl ", " kt2 ", " kt2a ", " kv ", " kvg ", " kvgb ", " kvgj ", " kvgm ", " pw3 ", " pw3g ", " pw3gj ", " pw3gc ", " pw3gb ", " pw3gm ", " pw3jl ", " pw3w ", " pw3wgj ", " pw3wjl ", " pw3wgi ", " pw3wgib ", " koa ", " koag ", " koagb ", " koagbi ", " koagcn ", " kt3 ", " kt3w ", " koa2w8 ", " koa2g32 ", " koa2w32 ", " koa2g32b ", " koa2w32c ", " pw4 ", " pw4l ", " pw4lg ", " pw4lgb ", " pw4in ", " pw4lgjp ", " pw4tb ", " pw4ltb ", " pw4p ", " pw4s ", " kt4 ", " kt4w ", " kt4ke ", " koa3w32c ", " koa3g32jp ", " koa3g32 ", " koa3w32 ", " koa3w8 ", " kindle2 ", " kindledx ", " kindle3 ", " legacy ", " kindle4 ", " touch ", " paperwhite ", " paperwhite2 ", " basic ", " voyage ", " paperwhite3 ", " oasis ", " basic2 ", " oasis2 ", " paperwhite4 ", " basic3 ", " oasis3 ", " kindle5 ", " none " or " auto .
.TP
.BI \-p ", " \-\-platform " platform"
Set the target platform.
Expand Down
3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -125,6 +125,7 @@
-d, --device pw4tb Twilight Blue Kindle PaperWhite 4 (2018) WiFi (8GB)
-d, --device pw4ltb Twilight Blue Kindle PaperWhite 4 (2018) WiFi (32GB)
-d, --device pw4p Plum Kindle PaperWhite 4 (2018) WiFi (8GB)
-d, --device pw4s Sage Kindle PaperWhite 4 (2018) WiFi (8GB)
-d, --device kt4 Kindle Basic 3 (2019)
-d, --device kt4w White Kindle Basic 3 (2019)
-d, --device kt4ke Kindle Basic 3 (2019) Kids Edition
Expand All @@ -147,7 +148,7 @@
-d, --device oasis Alias for koa, koag, koagb, koagbi & koagcn
-d, --device basic2 Alias for kt3 & kt3w
-d, --device oasis2 Alias for koa2w8, koa2g32, koa2w32, koa2g32b & koa2w32c
-d, --device paperwhite4 Alias for pw4, pw4l, pw4lg, pw4lgb, pw4in, pw4lgjp, pw4tb, pw4ltb & pw4p
-d, --device paperwhite4 Alias for pw4, pw4l, pw4lg, pw4lgb, pw4in, pw4lgjp, pw4tb, pw4ltb, pw4p & pw4s
-d, --device basic3 Alias for kt4, kt4w & kt4ke
-d, --device oasis3 Alias for koa3w32c, koa3g32jp, koa3g32, koa3w32 & koa3w8
-d, --device kindle5 Alias for touch, paperwhite, paperwhite2, basic, voyage, paperwhite3, oasis, basic2, oasis2, paperwhite4, basic3 & oasis3
Expand Down
2 changes: 1 addition & 1 deletion tools/kindle_model_sort.py
Expand Up @@ -143,7 +143,7 @@ def devCode(string):
('KindlePaperWhite4Unknown_16S', 0x4DA), # 16S?
('KindlePaperWhite4WiFi8GBBlue', 0x4DB), # 16T
('KindlePaperWhite4WiFi8GBPlum', 0x4DC), # 16U
('KindlePaperWhite4Unknown_16V', 0x4DD), # 16V?
('KindlePaperWhite4WiFi8GBSage', 0x4DD), # 16V
('KindleBasic3', 0x414), # 10L
('KindleBasic3Unknown_0WF', 0x3CF), # 0WF?
('KindleBasic3Unknown_0WG', 0x3D0), # 0WG?
Expand Down

0 comments on commit 54736a4

Please sign in to comment.