X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=fwcutter%2Ffwcutter_list.h;h=4408225ac36a8e11b93552cb9128a5988f387574;hb=d64eede155f2e3cc64e04b4c79b9778544e49186;hp=bed370ad89141457ee32e2ffc5a0bbffc74630b4;hpb=712f2d241d3447ebc7b97abd591afe9737ac7fa8;p=b43-tools.git diff --git a/fwcutter/fwcutter_list.h b/fwcutter/fwcutter_list.h index bed370a..4408225 100644 --- a/fwcutter/fwcutter_list.h +++ b/fwcutter/fwcutter_list.h @@ -1,6 +1,6 @@ /* file member lists */ -struct extract _e08665c5c5b66beb9c3b2dd54aa80cb3[] = +static struct extract _e08665c5c5b66beb9c3b2dd54aa80cb3[] = { { .name = "ucode2", .offset = 0x59ca0, .length = 0x3fe0, .type = EXT_UCODE_1, }, { .name = "ucode4", .offset = 0x5dc84, .length = 0x4e78, .type = EXT_UCODE_1, }, @@ -21,7 +21,7 @@ struct extract _e08665c5c5b66beb9c3b2dd54aa80cb3[] = EXTRACT_LIST_END }; -struct extract _9207bc565c2fc9fa1591f6c7911d3fc0[] = +static struct extract _9207bc565c2fc9fa1591f6c7911d3fc0[] = { { .name = "ucode4", .offset = 0x66220 + 0x7ad8, .length = 0x4e68, .type = EXT_UCODE_1, }, { .name = "ucode5", .offset = 0x66220 + 0xc944, .length = 0x5640, .type = EXT_UCODE_2, }, @@ -48,7 +48,7 @@ struct extract _9207bc565c2fc9fa1591f6c7911d3fc0[] = EXTRACT_LIST_END }; -struct extract _722e2e0d8cc04b8f118bb5afe6829ff9[] = +static struct extract _722e2e0d8cc04b8f118bb5afe6829ff9[] = { { .name = "ucode4", .offset = 0x76a10 + 0x8960, .length = 0x4e68, .type = EXT_UCODE_1, }, { .name = "ucode5", .offset = 0x76a10 + 0xd7cc, .length = 0x5640, .type = EXT_UCODE_2, }, @@ -75,7 +75,7 @@ struct extract _722e2e0d8cc04b8f118bb5afe6829ff9[] = EXTRACT_LIST_END }; -struct extract _1e4763b4cb8cfbaae43e5c6d3d6b2ae7[] = +static struct extract _1e4763b4cb8cfbaae43e5c6d3d6b2ae7[] = { { .name = "ucode5", .offset = 0x71c80 + 0xacd0, .length = 0x5768, .type = EXT_UCODE_2, }, { .name = "ucode9", .offset = 0x71c80 + 0x1043c, .length = 0x6240, .type = EXT_UCODE_2, }, @@ -113,6 +113,106 @@ struct extract _1e4763b4cb8cfbaae43e5c6d3d6b2ae7[] = }; +static struct extract _cb8d70972b885b1f8883b943c0261a3c[] = +{ + { .name = "pcm5", .offset = 0x8e554, .type = EXT_PCM, .length = 0x520 }, + { .name = "pcm4", .offset = 0x8ea78, .type = EXT_PCM, .length = 0x520 }, + { .name = "ucode15", .offset = 0x8ef9c, .type = EXT_UCODE_3, .length = 0x7710 }, + { .name = "ucode14", .offset = 0x966b0, .type = EXT_UCODE_2, .length = 0x7a90 }, + { .name = "ucode13", .offset = 0x9e144, .type = EXT_UCODE_2, .length = 0x7de0 }, + { .name = "ucode11", .offset = 0xa5f28, .type = EXT_UCODE_2, .length = 0x74a0 }, + { .name = "ucode9", .offset = 0xad3cc, .type = EXT_UCODE_2, .length = 0x6240 }, + { .name = "ucode5", .offset = 0xb3610, .type = EXT_UCODE_2, .length = 0x5768 }, + { .name = "ucode4", .offset = 0xb8d7c, .type = EXT_UCODE_1, .length = 0x4ec8 }, + { .name = "lp0bsinitvals15", .offset = 0xbdc44, .type = EXT_IV, .length = 0xf8 }, + { .name = "lp0initvals15", .offset = 0xbdd44, .type = EXT_IV, .length = 0xb30 }, + { .name = "lp0bsinitvals14", .offset = 0xbe87c, .type = EXT_IV, .length = 0xf8 }, + { .name = "lp0initvals14", .offset = 0xbe97c, .type = EXT_IV, .length = 0xb40 }, + { .name = "a0g1bsinitvals13", .offset = 0xbf4c4, .type = EXT_IV, .length = 0xf8 }, + { .name = "a0g1initvals13", .offset = 0xbf5c4, .type = EXT_IV, .length = 0xb58 }, + { .name = "b0g0bsinitvals13", .offset = 0xc0124, .type = EXT_IV, .length = 0xf8 }, + { .name = "b0g0initvals13", .offset = 0xc0224, .type = EXT_IV, .length = 0xb58 }, + { .name = "lp0bsinitvals13", .offset = 0xc0d84, .type = EXT_IV, .length = 0xf8 }, + { .name = "lp0initvals13", .offset = 0xc0e84, .type = EXT_IV, .length = 0x1358 }, + { .name = "n0absinitvals11", .offset = 0xc21e4, .type = EXT_IV, .length = 0xf8 }, + { .name = "n0bsinitvals11", .offset = 0xc22e4, .type = EXT_IV, .length = 0xf8 }, + { .name = "n0initvals11", .offset = 0xc23e4, .type = EXT_IV, .length = 0xb70 }, + { .name = "a0g1bsinitvals9", .offset = 0xc2f5c, .type = EXT_IV, .length = 0xf8 }, + { .name = "a0g0bsinitvals9", .offset = 0xc305c, .type = EXT_IV, .length = 0xf8 }, + { .name = "a0g1initvals9", .offset = 0xc315c, .type = EXT_IV, .length = 0xae0 }, + { .name = "a0g0initvals9", .offset = 0xc3c44, .type = EXT_IV, .length = 0xae0 }, + { .name = "b0g0bsinitvals9", .offset = 0xc472c, .type = EXT_IV, .length = 0xf8 }, + { .name = "b0g0initvals9", .offset = 0xc482c, .type = EXT_IV, .length = 0xae0 }, + { .name = "a0g1bsinitvals5", .offset = 0xc5314, .type = EXT_IV, .length = 0xf8 }, + { .name = "a0g0bsinitvals5", .offset = 0xc5414, .type = EXT_IV, .length = 0xf8 }, + { .name = "a0g1initvals5", .offset = 0xc5514, .type = EXT_IV, .length = 0xa08 }, + { .name = "a0g0initvals5", .offset = 0xc5f24, .type = EXT_IV, .length = 0xa08 }, + { .name = "b0g0bsinitvals5", .offset = 0xc6934, .type = EXT_IV, .length = 0xf8 }, + { .name = "b0g0initvals5", .offset = 0xc6a34, .type = EXT_IV, .length = 0xa08 }, + { .name = "a0g0bsinitvals4", .offset = 0xc7444, .type = EXT_IV, .length = 0x10 }, + { .name = "a0g0initvals4", .offset = 0xc745c, .type = EXT_IV, .length = 0xe88 }, + { .name = "b0g0bsinitvals4", .offset = 0xc82ec, .type = EXT_IV, .length = 0x10 }, + { .name = "b0g0initvals4", .offset = 0xc8304, .type = EXT_IV, .length = 0xe8c }, + EXTRACT_LIST_END +}; + +static struct extract _10f8cfb2893a11fe5b1cf003ee8d061f[] = +{ + { .name = "lp0initvals14", .offset = 0x982B0, .type = EXT_IV, .length = 0xB80 }, + { .name = "lp0bsinitvals14", .offset = 0x98E38, .type = EXT_IV, .length = 0x118 }, + { .name = "b0g0initvals9", .offset = 0x92218, .type = EXT_IV, .length = 0xAF0 }, + { .name = "a0g1bsinitvals9", .offset = 0x94540, .type = EXT_IV, .length = 0x118 }, + { .name = "b0g0bsinitvals13", .offset = 0x974D0, .type = EXT_IV, .length = 0x118 }, + { .name = "b0g0bsinitvals5", .offset = 0x90A78, .type = EXT_IV, .length = 0x118 }, + { .name = "ucode4", .offset = 0x9B868, .type = EXT_UCODE_1, .length = 0x4EA0 }, + { .name = "b0g0initvals4", .offset = 0x8E2D8, .type = EXT_IV, .length = 0xE80 }, + { .name = "b0g0initvals13", .offset = 0x96930, .type = EXT_IV, .length = 0xB98 }, + { .name = "ucode14", .offset = 0xBBB1C, .type = EXT_UCODE_2, .length = 0x7910 }, + { .name = "a0g0initvals5", .offset = 0x90B98, .type = EXT_IV, .length = 0xA18 }, + { .name = "lp0bsinitvals16", .offset = 0x9B748, .type = EXT_IV, .length = 0x118 }, + { .name = "pcm4", .offset = 0xD4A40, .type = EXT_PCM, .length = 0x520 }, + { .name = "a0g1bsinitvals5", .offset = 0x920F8, .type = EXT_IV, .length = 0x118 }, + { .name = "n0bsinitvals11", .offset = 0x95230, .type = EXT_IV, .length = 0x118 }, + { .name = "n0absinitvals11", .offset = 0x95350, .type = EXT_IV, .length = 0x118 }, + /* ERROR: Could not guess data type for: ucode_bomminor */ + { .name = "a0g1bsinitvals13", .offset = 0x98190, .type = EXT_IV, .length = 0x118 }, + { .name = "pcm5", .offset = 0xD4F64, .type = EXT_PCM, .length = 0x520 }, + /* ERROR: Could not guess data type for: ucode_2w_bomminor */ + { .name = "ucode9", .offset = 0xA5E00, .type = EXT_UCODE_2, .length = 0x6248 }, + { .name = "a0g0bsinitvals9", .offset = 0x94420, .type = EXT_IV, .length = 0x118 }, + { .name = "a0g0bsinitvals4", .offset = 0x90020, .type = EXT_IV, .length = 0x30 }, + { .name = "a0g1initvals5", .offset = 0x915B8, .type = EXT_IV, .length = 0xA18 }, + { .name = "n0bsinitvals16", .offset = 0x9A980, .type = EXT_IV, .length = 0x118 }, + { .name = "ucode16", .offset = 0xCBB9C, .type = EXT_UCODE_3, .length = 0x8EA0 }, + { .name = "b0g0bsinitvals4", .offset = 0x8F160, .type = EXT_IV, .length = 0x30 }, + { .name = "lp0initvals15", .offset = 0x98F58, .type = EXT_IV, .length = 0xC68 }, + { .name = "b0g0initvals5", .offset = 0x90058, .type = EXT_IV, .length = 0xA18 }, + { .name = "a0g0initvals4", .offset = 0x8F198, .type = EXT_IV, .length = 0xE80 }, + { .name = "sslpn0initvals16", .offset = 0x9AAA0, .type = EXT_IV, .length = 0x0 }, + { .name = "a0g1initvals13", .offset = 0x975F0, .type = EXT_IV, .length = 0xB98 }, + /* ERROR: Could not guess data type for: ucode_2w11 */ + /* ERROR: Could not guess data type for: ucode_bommajor */ + { .name = "a0g1initvals9", .offset = 0x93928, .type = EXT_IV, .length = 0xAF0 }, + { .name = "ucode5", .offset = 0xA070C, .type = EXT_UCODE_2, .length = 0x56F0 }, + { .name = "lp0bsinitvals13", .offset = 0x96810, .type = EXT_IV, .length = 0x118 }, + { .name = "n0initvals16", .offset = 0x99CE8, .type = EXT_IV, .length = 0xC90 }, + /* ERROR: Could not guess data type for: ucode_2w_bommajor */ + { .name = "b0g0bsinitvals9", .offset = 0x92D10, .type = EXT_IV, .length = 0x118 }, + { .name = "ucode11", .offset = 0xAC04C, .type = EXT_UCODE_2, .length = 0x8000 }, + { .name = "lp0initvals16", .offset = 0x9AAB0, .type = EXT_IV, .length = 0xC90 }, + /* ERROR: Could not guess data type for: ucode_2w15 */ + { .name = "a0g0initvals9", .offset = 0x92E30, .type = EXT_IV, .length = 0xAF0 }, + { .name = "lp0initvals13", .offset = 0x95470, .type = EXT_IV, .length = 0x1398 }, + { .name = "a0g0bsinitvals5", .offset = 0x91FD8, .type = EXT_IV, .length = 0x118 }, + { .name = "ucode13", .offset = 0xB4050, .type = EXT_UCODE_2, .length = 0x7AC8 }, + /* ERROR: Could not guess data type for: ucode_2w13 */ + { .name = "ucode15", .offset = 0xC3430, .type = EXT_UCODE_3, .length = 0x8768 }, + { .name = "lp0bsinitvals15", .offset = 0x99BC8, .type = EXT_IV, .length = 0x118 }, + { .name = "n0initvals11", .offset = 0x94660, .type = EXT_IV, .length = 0xBC8 }, + { .name = "sslpn0bsinitvals16", .offset = 0x9AAA8, .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. @@ -121,6 +221,7 @@ static const struct file files[] = { { .name = "wl_apsta.o", + .id = "FW10", .ucode_version = "295.14", .md5 = "e08665c5c5b66beb9c3b2dd54aa80cb3", .flags = FW_FLAG_LE, @@ -128,7 +229,9 @@ static const struct file files[] = }, { /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */ + /* This firmware has the old TX header. */ .name = "wl_apsta.o", + .id = "FW11", .ucode_version = "351.126", .md5 = "9207bc565c2fc9fa1591f6c7911d3fc0", .flags = FW_FLAG_LE | FW_FLAG_V4, @@ -136,7 +239,9 @@ static const struct file files[] = }, { /* http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2 */ + /* This firmware has the old TX header. */ .name = "wl_apsta_mimo.o", + .id = "FW11", .ucode_version = "351.126", .md5 = "722e2e0d8cc04b8f118bb5afe6829ff9", .flags = FW_FLAG_LE | FW_FLAG_V4, @@ -145,11 +250,30 @@ static const struct file files[] = { /* ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/ */ .name = "wl_ap.o", + .id = "FW12", .ucode_version = "410.2160", .md5 = "1e4763b4cb8cfbaae43e5c6d3d6b2ae7", .flags = FW_FLAG_LE | FW_FLAG_V4 | FW_FLAG_UNSUPPORTED, .extract = _1e4763b4cb8cfbaae43e5c6d3d6b2ae7, }, + { + /* http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 */ + .name = "wl_apsta_mimo.o", + .id = "FW13", + .ucode_version = "410.2160", + .md5 = "cb8d70972b885b1f8883b943c0261a3c", + .flags = FW_FLAG_LE | FW_FLAG_V4, + .extract = _cb8d70972b885b1f8883b943c0261a3c, + }, + { + /* ftp://ftp.linksys.com/downloads/NA/firmware/ */ + .name = "wl.o", + .id = "FW14", + .ucode_version = "478.104", + .md5 = "10f8cfb2893a11fe5b1cf003ee8d061f", + .flags = FW_FLAG_LE | FW_FLAG_V4 | FW_FLAG_UNSUPPORTED, + .extract = _10f8cfb2893a11fe5b1cf003ee8d061f, + }, }; #define FILES (sizeof(files) / sizeof(files[0]))