fwcutter: Add firmware 9.10.178.27
authorSam Edwards <CFSworks@gmail.com>
Mon, 11 Sep 2017 23:46:39 +0000 (17:46 -0600)
committerSam Edwards <CFSworks@gmail.com>
Mon, 11 Sep 2017 23:46:39 +0000 (17:46 -0600)
This firmware version was found in ASUS's GPL-released sources for the
Asus RT-AC1200G+ Wireless AC1200 Dual-Band Router.

fwcutter/fwcutter_list.h

index 6d87601576062778e51bfbcc5b6c0d7d6f3f7e47..1f467a8163502c072e802596645534b414dca294 100644 (file)
@@ -944,6 +944,246 @@ static struct extract _29c8a47094fbae342902d84881a465ff[] =
        EXTRACT_LIST_END
 };
 
+static struct extract _97c20a19cc67f72db1904ec81c0722cc[] =
+{
+       { .name = "lcn1bsinitvals26", .offset = 0x2EBA24, .type = EXT_IV, .length = 0x118 },
+       { .name = "n0bsinitvals22", .offset = 0x3950F0, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac6bsinitvals46", .offset = 0x3344BC, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn0bsinitvals26", .offset = 0x2EA9B4, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode54", .offset = 0x3788A0, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ac1bsinitvals42", .offset = 0x334254, .type = EXT_IV, .length = 0x248 },
+       { .name = "ucode24_lcn", .offset = 0x2F9B00, .type = EXT_UCODE_3, .length = 0x88CD },
+       /* ucode minor version at offset 0x38ff6c */
+       { .name = "ht0bsinitvals26", .offset = 0x2EDB04, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode24_mimo", .offset = 0x2EFDEC, .type = EXT_UCODE_3, .length = 0x9D10 },
+       { .name = "ac33initvals65", .offset = 0x33B9AC, .type = EXT_IV, .length = 0x0 },
+       { .name = "n20initvals36", .offset = 0x2EFD7C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac8initvals48", .offset = 0x3344D4, .type = EXT_IV, .length = 0x1450 },
+       { .name = "ucode50", .offset = 0x36B26C, .type = EXT_UCODE_3, .length = 0xD630 },
+       { .name = "ucode15", .offset = 0x3F0318, .type = EXT_UCODE_3, .length = 0x71A0 },
+       { .name = "ac27initvals58", .offset = 0x33B94C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac32initvals64", .offset = 0x33B98C, .type = EXT_IV, .length = 0x0 },
+       { .name = "b0g0bsinitvals9", .offset = 0x3D0788, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn405initvals35", .offset = 0x2EFD6C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac1initvals42", .offset = 0x332F4C, .type = EXT_IV, .length = 0x1300 },
+       { .name = "ac7initvals47", .offset = 0x3344C4, .type = EXT_IV, .length = 0x0 },
+       { .name = "lp0bsinitvals13", .offset = 0x3D42F8, .type = EXT_IV, .length = 0x118 },
+       { .name = "b0g0bsinitvals5", .offset = 0x3CE528, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode43", .offset = 0x352884, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "lp0initvals16", .offset = 0x392100, .type = EXT_IV, .length = 0xFA0 },
+       { .name = "lp1bsinitvals20", .offset = 0x394120, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn1initvals25", .offset = 0x2E6464, .type = EXT_IV, .length = 0x10D8 },
+       { .name = "ucode49", .offset = 0x35FA50, .type = EXT_UCODE_3, .length = 0xB818 },
+       { .name = "lcn407bsinitvals39", .offset = 0x2EFDC4, .type = EXT_IV, .length = 0x0 },
+       { .name = "b0g0initvals13", .offset = 0x3D4418, .type = EXT_IV, .length = 0xBF0 },
+       { .name = "lcn407initvals39", .offset = 0x2EFDBC, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac24initvals55", .offset = 0x33896C, .type = EXT_IV, .length = 0x1430 },
+       { .name = "lcn402initvals33", .offset = 0x2EFD1C, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn3bsinitvals21", .offset = 0x394FC8, .type = EXT_IV, .length = 0x118 },
+       { .name = "ac24bsinitvals55core1", .offset = 0x33A1AC, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac12bsinitvals50core1", .offset = 0x338954, .type = EXT_IV, .length = 0x0 },
+       { .name = "ht0initvals29", .offset = 0x2EDC34, .type = EXT_IV, .length = 0xF98 },
+       /* ERROR: Could not guess data type for: ucodex64 */
+       { .name = "ac24initvals59", .offset = 0x33B96C, .type = EXT_IV, .length = 0x0 },
+       { .name = "n2bsinitvals19", .offset = 0x3940D0, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac32bsinitvalsx64", .offset = 0x33B9A4, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn1bsinitvals20", .offset = 0x394110, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode25_lcn", .offset = 0x30A730, .type = EXT_UCODE_3, .length = 0x8983 },
+       { .name = "lcn0initvals24", .offset = 0x2E0A04, .type = EXT_IV, .length = 0x10F0 },
+       { .name = "ac33initvalsx65", .offset = 0x33B9BC, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac36bsinitvals60", .offset = 0x33B984, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn404initvals33", .offset = 0x2EFD3C, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn1bsinitvals27", .offset = 0x2EDC2C, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g0bsinitvals4", .offset = 0x3CDB10, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn404bsinitvals33", .offset = 0x2EFD44, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode22_sslpn", .offset = 0x3CDAE0, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "lcn1bsinitvals25", .offset = 0x2E7544, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn406initvals37", .offset = 0x2EFD9C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac3initvals43", .offset = 0x3344A4, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn2initvals26", .offset = 0x2EBB44, .type = EXT_IV, .length = 0xF48 },
+       { .name = "b0g0initvals4", .offset = 0x3CDAF8, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode20_sslpn", .offset = 0x3BF0F0, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "lcn403bsinitvals33", .offset = 0x2EFD34, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g0bsinitvals9", .offset = 0x3D1E68, .type = EXT_IV, .length = 0x118 },
+       { .name = "n0initvals17", .offset = 0x3931C8, .type = EXT_IV, .length = 0xDD8 },
+       { .name = "ht0bsinitvals29", .offset = 0x2EEBD4, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode21_sslpn", .offset = 0x3BF100, .type = EXT_UCODE_3, .length = 0x74EC },
+       { .name = "ac6initvals46", .offset = 0x3344B4, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode55", .offset = 0x3788A8, .type = EXT_UCODE_3, .length = 0xDEF0 },
+       { .name = "sslpn1initvals20", .offset = 0x394108, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn0initvals16", .offset = 0x391038, .type = EXT_IV, .length = 0xFA0 },
+       { .name = "lcn0initvals26", .offset = 0x2E9A64, .type = EXT_IV, .length = 0xF48 },
+       { .name = "ucode27_sslpn", .offset = 0x31CF8C, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "ucode29_mimo", .offset = 0x31CF94, .type = EXT_UCODE_3, .length = 0xAAF8 },
+       { .name = "ucode21_sslpn_nobt", .offset = 0x3C65F0, .type = EXT_UCODE_3, .length = 0x74EC },
+       { .name = "lp0initvals15", .offset = 0x3D5E58, .type = EXT_IV, .length = 0xE68 },
+       { .name = "ucode19_sslpn", .offset = 0x3BF0E0, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "lcn1bsinitvals24", .offset = 0x2E2D14, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn401bsinitvals33", .offset = 0x2EFD14, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode39_lcn40", .offset = 0x331A0C, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "lp0bsinitvals14", .offset = 0x3D5E50, .type = EXT_IV, .length = 0x0 },
+       { .name = "b0g0bsinitvals4", .offset = 0x3CDB00, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode16_sslpn_nobt", .offset = 0x3A5A40, .type = EXT_UCODE_3, .length = 0x6F4A },
+       { .name = "n16bsinitvals30", .offset = 0x2EFBBC, .type = EXT_IV, .length = 0x118 },
+       { .name = "a0g1bsinitvals13", .offset = 0x3D5D28, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn402bsinitvals33", .offset = 0x2EFD24, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac20initvals54", .offset = 0x33895C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode19_sslpn_nobt", .offset = 0x3BF0E8, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "ucode40", .offset = 0x33B9CC, .type = EXT_UCODE_3, .length = 0xB660 },
+       { .name = "lcn1initvals24", .offset = 0x2E1C1C, .type = EXT_IV, .length = 0x10F0 },
+       { .name = "sslpn2initvals19", .offset = 0x3940D8, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac26initvals58", .offset = 0x33B95C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac2initvals41", .offset = 0x332F3C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac7bsinitvals47", .offset = 0x3344CC, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac33bsinitvals65", .offset = 0x33B9B4, .type = EXT_IV, .length = 0x0 },
+       { .name = "n16initvals30", .offset = 0x2EECF4, .type = EXT_IV, .length = 0xEC0 },
+       { .name = "ucode16_lp", .offset = 0x395118, .type = EXT_UCODE_3, .length = 0x8300 },
+       { .name = "ac32bsinitvals64", .offset = 0x33B994, .type = EXT_IV, .length = 0x0 },
+       { .name = "n0initvals22", .offset = 0x3950E8, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode58_D11a", .offset = 0x38FF38, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "lcn201bsinitvals39", .offset = 0x2EFDE4, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn3initvals21", .offset = 0x394128, .type = EXT_IV, .length = 0xE98 },
+       { .name = "lp1initvals22", .offset = 0x395108, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac2bsinitvals41", .offset = 0x332F44, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode39_lcn20", .offset = 0x331A14, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "a0g1bsinitvals9", .offset = 0x3D1F88, .type = EXT_IV, .length = 0x118 },
+       { .name = "n0bsinitvals11", .offset = 0x3D2CC0, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode58_D11b", .offset = 0x38FF30, .type = EXT_UCODE_3, .length = 0x4 },
+       /* ERROR: Could not guess data type for: ucodex65 */
+       { .name = "lcn200initvals39", .offset = 0x2EFDCC, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g1bsinitvals5", .offset = 0x3CFB88, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn2bsinitvals26", .offset = 0x2ECA94, .type = EXT_IV, .length = 0x118 },
+       { .name = "ac20bsinitvals54", .offset = 0x338964, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode34_mimo", .offset = 0x3319E4, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ucode65", .offset = 0x38FF58, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "n1initvals20", .offset = 0x3940F8, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn2initvals25", .offset = 0x2E7664, .type = EXT_IV, .length = 0x10D8 },
+       { .name = "ucode37_lcn40", .offset = 0x3319FC, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "n0initvals16", .offset = 0x38FF70, .type = EXT_IV, .length = 0xFA0 },
+       { .name = "ac32initvalsx64", .offset = 0x33B99C, .type = EXT_IV, .length = 0x0 },
+       { .name = "n0bsinitvals24", .offset = 0x2E5144, .type = EXT_IV, .length = 0x118 },
+       { .name = "n1bsinitvals20", .offset = 0x394100, .type = EXT_IV, .length = 0x0 },
+       { .name = "b0g0initvals5", .offset = 0x3CDB18, .type = EXT_IV, .length = 0xA08 },
+       { .name = "ac9initvals49", .offset = 0x335B7C, .type = EXT_IV, .length = 0x13B8 },
+       { .name = "b0g0initvals9", .offset = 0x3CFCA8, .type = EXT_IV, .length = 0xAD8 },
+       { .name = "lcn0bsinitvals24", .offset = 0x2E1AFC, .type = EXT_IV, .length = 0x118 },
+       { .name = "ac12initvals50core1", .offset = 0x33854C, .type = EXT_IV, .length = 0x1B0 },
+       { .name = "lcn2bsinitvals25", .offset = 0x2E8744, .type = EXT_IV, .length = 0x118 },
+       { .name = "ac9bsinitvals49", .offset = 0x336F3C, .type = EXT_IV, .length = 0x248 },
+       { .name = "sslpn4bsinitvals22", .offset = 0x395100, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac27bsinitvals58", .offset = 0x33B954, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode11", .offset = 0x3E1DD0, .type = EXT_UCODE_2, .length = 0x7868 },
+       { .name = "ucode56", .offset = 0x38679C, .type = EXT_UCODE_3, .length = 0x9788 },
+       { .name = "n2initvals19", .offset = 0x3940C8, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g0initvals4", .offset = 0x3CDB08, .type = EXT_IV, .length = 0x0 },
+       { .name = "pcm4", .offset = 0x3F74BC, .type = EXT_PCM, .length = 0x4 },
+       { .name = "ucode13", .offset = 0x3E963C, .type = EXT_UCODE_2, .length = 0x6CD0 },
+       { .name = "lcn0initvals25", .offset = 0x2E5264, .type = EXT_IV, .length = 0x10D8 },
+       { .name = "ac33bsinitvalsx65", .offset = 0x33B9C4, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn1initvals27", .offset = 0x2EDC24, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac8bsinitvals48", .offset = 0x33592C, .type = EXT_IV, .length = 0x248 },
+       { .name = "lp0bsinitvals15", .offset = 0x3D6CC8, .type = EXT_IV, .length = 0x118 },
+       { .name = "lp0initvals14", .offset = 0x3D5E48, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac12bsinitvals50", .offset = 0x338704, .type = EXT_IV, .length = 0x248 },
+       { .name = "lp1bsinitvals22", .offset = 0x395110, .type = EXT_IV, .length = 0x0 },
+       { .name = "n18initvals32", .offset = 0x2EFCEC, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn405bsinitvals35", .offset = 0x2EFD74, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode41", .offset = 0x347030, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "lcn400initvals33", .offset = 0x2EFCFC, .type = EXT_IV, .length = 0x0 },
+       { .name = "sslpn0bsinitvals16", .offset = 0x391FE0, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode47", .offset = 0x352894, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "lcn201initvals39", .offset = 0x2EFDDC, .type = EXT_IV, .length = 0x0 },
+       /* ucode minor version at offset 0x3cdaf4 */
+       { .name = "lcn401initvals33", .offset = 0x2EFD0C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode33_lcn40", .offset = 0x3319DC, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "a0g1initvals9", .offset = 0x3D1388, .type = EXT_IV, .length = 0xAD8 },
+       { .name = "ucode32_mimo", .offset = 0x3319D4, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "lcn400bsinitvals33", .offset = 0x2EFD04, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn404bsinitvals35", .offset = 0x2EFD64, .type = EXT_IV, .length = 0x0 },
+       /* ucode major version at offset 0x2e09fc */
+       { .name = "n19initvals34", .offset = 0x2EFD4C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac3bsinitvals43", .offset = 0x3344AC, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode31_mimo", .offset = 0x3319CC, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "n0initvals25", .offset = 0x2E8864, .type = EXT_IV, .length = 0x10D8 },
+       { .name = "ac12initvals50", .offset = 0x33718C, .type = EXT_IV, .length = 0x13B8 },
+       { .name = "ucode26_mimo", .offset = 0x3130B8, .type = EXT_UCODE_3, .length = 0x9ED0 },
+       { .name = "n0bsinitvals16", .offset = 0x390F18, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn404initvals35", .offset = 0x2EFD5C, .type = EXT_IV, .length = 0x0 },
+       { .name = "lp2bsinitvals19", .offset = 0x3940F0, .type = EXT_IV, .length = 0x0 },
+       { .name = "n22bsinitvals36", .offset = 0x2EFD94, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode60", .offset = 0x38FF40, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ac24initvals55core1", .offset = 0x339DA4, .type = EXT_IV, .length = 0x1B0 },
+       { .name = "n19bsinitvals34", .offset = 0x2EFD54, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode4", .offset = 0x3D6DE8, .type = EXT_UCODE_1, .length = 0x4 },
+       { .name = "ucode64", .offset = 0x38FF48, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ucode20_sslpn_nobt", .offset = 0x3BF0F8, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "ac0bsinitvals40", .offset = 0x332CEC, .type = EXT_IV, .length = 0x248 },
+       { .name = "lcn2initvals24", .offset = 0x2E2E34, .type = EXT_IV, .length = 0x10F0 },
+       { .name = "sslpn4initvals22", .offset = 0x3950F8, .type = EXT_IV, .length = 0x0 },
+       /* ucode major version at offset 0x38ff68 */
+       { .name = "sslpn2bsinitvals19", .offset = 0x3940E0, .type = EXT_IV, .length = 0x0 },
+       { .name = "n0bsinitvals25", .offset = 0x2E9944, .type = EXT_IV, .length = 0x118 },
+       { .name = "lp2initvals19", .offset = 0x3940E8, .type = EXT_IV, .length = 0x0 },
+       { .name = "n18bsinitvals32", .offset = 0x2EFCF4, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn0bsinitvals25", .offset = 0x2E6344, .type = EXT_IV, .length = 0x118 },
+       { .name = "n0initvals11", .offset = 0x3D20A8, .type = EXT_IV, .length = 0xC10 },
+       { .name = "lcn2bsinitvals24", .offset = 0x2E3F2C, .type = EXT_IV, .length = 0x118 },
+       /* ucode major version at offset 0x3cdaf0 */
+       { .name = "n0absinitvals11", .offset = 0x3D2DE0, .type = EXT_IV, .length = 0x118 },
+       { .name = "a0g0initvals5", .offset = 0x3CE648, .type = EXT_IV, .length = 0xA08 },
+       { .name = "a0g1initvals13", .offset = 0x3D5130, .type = EXT_IV, .length = 0xBF0 },
+       { .name = "pcm5", .offset = 0x3F74C4, .type = EXT_PCM, .length = 0x520 },
+       { .name = "ucode35_lcn40", .offset = 0x3319EC, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "ucode14", .offset = 0x3F0310, .type = EXT_UCODE_2, .length = 0x4 },
+       { .name = "ucode36_mimo", .offset = 0x3319F4, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "a0g0initvals9", .offset = 0x3D08A8, .type = EXT_IV, .length = 0xAD8 },
+       { .name = "ucode59", .offset = 0x38FF28, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ucode17_mimo", .offset = 0x3B62DC, .type = EXT_UCODE_3, .length = 0x8E00 },
+       { .name = "lp0initvals13", .offset = 0x3D2F00, .type = EXT_IV, .length = 0x13F0 },
+       { .name = "ucode25_mimo", .offset = 0x3023D4, .type = EXT_UCODE_3, .length = 0x8358 },
+       { .name = "lp0bsinitvals16", .offset = 0x3930A8, .type = EXT_IV, .length = 0x118 },
+       { .name = "lcn406bsinitvals37", .offset = 0x2EFDA4, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac0initvals40", .offset = 0x331A24, .type = EXT_IV, .length = 0x12C0 },
+       { .name = "ucode30_mimo", .offset = 0x327A90, .type = EXT_UCODE_3, .length = 0x9F38 },
+       { .name = "b0g0bsinitvals13", .offset = 0x3D5010, .type = EXT_IV, .length = 0x118 },
+       { .name = "n20bsinitvals36", .offset = 0x2EFD84, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode42", .offset = 0x347038, .type = EXT_UCODE_3, .length = 0xB848 },
+       /* ucode minor version at offset 0x331a20 */
+       { .name = "ucode46", .offset = 0x35288C, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "ac24bsinitvals56core1", .offset = 0x33B944, .type = EXT_IV, .length = 0x0 },
+       /* ucode major version at offset 0x331a1c */
+       { .name = "ucode48", .offset = 0x35289C, .type = EXT_UCODE_3, .length = 0xD1B0 },
+       { .name = "lcn407initvals38", .offset = 0x2EFDAC, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn1initvals26", .offset = 0x2EAAD4, .type = EXT_IV, .length = 0xF48 },
+       { .name = "ht0initvals26", .offset = 0x2ECBB4, .type = EXT_IV, .length = 0xF48 },
+       { .name = "ac26bsinitvals58", .offset = 0x33B964, .type = EXT_IV, .length = 0x0 },
+       { .name = "ucode38_lcn40", .offset = 0x331A04, .type = EXT_UCODE_3, .length = 0x1 },
+       { .name = "ac24bsinitvals55", .offset = 0x339F5C, .type = EXT_IV, .length = 0x248 },
+       { .name = "lcn407bsinitvals38", .offset = 0x2EFDB4, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac24initvals56core1", .offset = 0x33B53C, .type = EXT_IV, .length = 0x1B0 },
+       { .name = "lcn403initvals33", .offset = 0x2EFD2C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac24bsinitvals59", .offset = 0x33B974, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac24bsinitvals56", .offset = 0x33B6F4, .type = EXT_IV, .length = 0x248 },
+       { .name = "ucode16_sslpn", .offset = 0x39D41C, .type = EXT_UCODE_3, .length = 0x861F },
+       { .name = "ucode16_mimo", .offset = 0x3AC990, .type = EXT_UCODE_3, .length = 0x9948 },
+       /* ucode minor version at offset 0x2e0a00 */
+       { .name = "ac36initvals60", .offset = 0x33B97C, .type = EXT_IV, .length = 0x0 },
+       { .name = "ac24initvals56", .offset = 0x33A1B4, .type = EXT_IV, .length = 0x1380 },
+       { .name = "n0bsinitvals17", .offset = 0x393FA8, .type = EXT_IV, .length = 0x118 },
+       { .name = "n22initvals36", .offset = 0x2EFD8C, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g1initvals5", .offset = 0x3CF058, .type = EXT_IV, .length = 0xA08 },
+       { .name = "n0initvals24", .offset = 0x2E404C, .type = EXT_IV, .length = 0x10F0 },
+       { .name = "lp1initvals20", .offset = 0x394118, .type = EXT_IV, .length = 0x0 },
+       { .name = "lcn200bsinitvals39", .offset = 0x2EFDD4, .type = EXT_IV, .length = 0x0 },
+       { .name = "a0g0bsinitvals5", .offset = 0x3CFA68, .type = EXT_IV, .length = 0x118 },
+       { .name = "ucode9", .offset = 0x3DBFD4, .type = EXT_UCODE_2, .length = 0x5DF8 },
+       { .name = "ucode5", .offset = 0x3D6DF0, .type = EXT_UCODE_2, .length = 0x51E0 },
+       { .name = "ucode22_mimo", .offset = 0x3CDAE8, .type = EXT_UCODE_3, .length = 0x4 },
+       { .name = "n22bsinitvals31", .offset = 0x2EFCE4, .type = EXT_IV, .length = 0x0 },
+       { .name = "n22initvals31", .offset = 0x2EFCDC, .type = EXT_IV, .length = 0x0 },
+       EXTRACT_LIST_END
+};
+
 /*
  * Links change, so let's not put them into the README.
  * I still put them here so we know where the file was obtained.
@@ -1056,4 +1296,13 @@ static const struct file files[] =
                .flags          = FW_FLAG_LE | FW_FLAG_V4,
                .extract        = _29c8a47094fbae342902d84881a465ff,
        },
+       {
+               /* http://dlcdnet.asus.com/pub/ASUS/wireless/RT-AC1200G+/GPL_RT_AC1200G_Plus_30043807743.zip */
+               /* contains firmware 9.10.178.27 */
+               .name           = "wl_apsta.o",
+               .ucode_version  = "1058.102",
+               .md5            = "97c20a19cc67f72db1904ec81c0722cc",
+               .flags          = FW_FLAG_LE | FW_FLAG_V4,
+               .extract        = _97c20a19cc67f72db1904ec81c0722cc,
+       },
 };