A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

nwztools: fix MW-WM1/A30 KAS, fix KAS length

Split WM1A/WM1Z because they don't have the same KAS. On newer devices, the KAS
is actually 64 bytes, not 60. The strange thing is that "get_dnk_nvp kas" returns
60 bytes whereas "get_dnk_prop kas" returns 64, not sure why.

Change-Id: I944d3d838209ba58388439af0cdf5d7c74f1f7fc

+104 -7
+5 -2
firmware/target/hosted/sonynwz/nwz-db.c
··· 1877 1877 static unsigned long models_nw_s780[] = { 0x19000001, 0x19000002, 0x19000004, 1878 1878 0x19000005 }; 1879 1879 1880 - static unsigned long models_nw_wm1[] = { 0x20000007, 0x21000008 }; 1880 + static unsigned long models_nw_wm1a[] = { 0x20000007 }; 1881 + 1882 + static unsigned long models_nw_wm1z[] = { 0x21000008 }; 1881 1883 1882 1884 static unsigned long models_nwz_x1000[] = { 0x5000002, 0x5000004, 0x5000005, 1883 1885 0x5020002, 0x5040002, 0x5020004, 0x5040004, 0x5020005, 0x5040005 }; ··· 1927 1929 { "nwz-s760", "NWZ-S760 Series", 10, models_nwz_s760, &nvp_index_f505c8 }, 1928 1930 { "nwz-s770", "NWZ-S770 Series", 8, models_nwz_s770, 0 }, 1929 1931 { "nw-s780", "NW-S780 Series", 4, models_nw_s780, &nvp_index_6485c8 }, 1930 - { "nw-wm1", "NW-WM1 Series", 2, models_nw_wm1, &nvp_index_398250 }, 1932 + { "nw-wm1a", "NW-WM1 Series", 1, models_nw_wm1a, &nvp_index_398250 }, 1933 + { "nw-wm1z", "NW-WM1 Series", 1, models_nw_wm1z, &nvp_index_398250 }, 1931 1934 { "nwz-x1000", "NWZ-X1000 Series", 9, models_nwz_x1000, &nvp_index_4edba7 }, 1932 1935 { "nw-zx100", "NW-ZX100 Series", 6, models_nw_zx100, &nvp_index_92faee }, 1933 1936 { "nw-zx300", "NW-ZX300 Series", 3, models_nw_zx300, &nvp_index_139d65 },
+1 -1
firmware/target/hosted/sonynwz/nwz-db.h
··· 159 159 /* Number of models */ 160 160 #define NWZ_MODEL_COUNT 197 161 161 /* Number of series */ 162 - #define NWZ_SERIES_COUNT 40 162 + #define NWZ_SERIES_COUNT 41 163 163 164 164 /* NVP node info */ 165 165 struct nwz_nvp_info_t
utils/nwztools/database/nvp/nw-wm1.txt utils/nwztools/database/nvp/nw-wm1a.txt
+92
utils/nwztools/database/nvp/nw-wm1z.txt
··· 1 + dbg,000 2 + syi,001 3 + ubp,002 4 + fup,003 5 + prk,004 6 + hld,005 7 + rtc,006 8 + mid,007 9 + pcd,008 10 + ser,009 11 + ufn,010 12 + kas,011 13 + shp,012 14 + tst,013 15 + gty,014 16 + fmp,015 17 + sdp,016 18 + ncp,017 19 + psk,018 20 + nvr,077 21 + she,084 22 + btc,085 23 + ins,089 24 + ctr,090 25 + sku,091 26 + bpr,019 27 + bfp,020 28 + bfd,021 29 + bml,022 30 + apd,078 31 + blf,079 32 + slp,080 33 + vrt,081 34 + fni,082 35 + sid,083 36 + mso,086 37 + cng,023 38 + lyr,024 39 + dbv,025 40 + fur,026 41 + ums,027 42 + skd,028 43 + ups,029 44 + mdk,030 45 + fvi,031 46 + mac,032 47 + fpi,033 48 + tr0,034 49 + tr1,035 50 + e00,036 51 + e01,037 52 + e02,038 53 + e03,039 54 + e04,040 55 + e05,041 56 + e06,042 57 + e07,043 58 + e08,044 59 + e09,045 60 + e10,046 61 + e11,047 62 + e12,048 63 + e13,049 64 + e14,050 65 + e15,051 66 + e16,052 67 + e17,053 68 + e18,054 69 + e19,055 70 + e20,056 71 + e21,057 72 + e22,058 73 + e23,059 74 + e24,060 75 + e25,061 76 + e26,062 77 + e27,063 78 + e28,064 79 + e29,065 80 + e30,066 81 + e31,067 82 + clv,068 83 + sps,069 84 + rbt,070 85 + edw,071 86 + bti,072 87 + hdi,073 88 + lbi,074 89 + fui,075 90 + eri,076 91 + pci,087 92 + dbi,088
+2 -1
utils/nwztools/database/series.txt
··· 32 32 nwz-s760,NWZ-S760 Series,0x12000001,0x12000002,0x12000004,0x12000005,0x12000006,0x12010001,0x12010002,0x12010004,0x12010005,0x12010006 33 33 nwz-s770,NWZ-S770 Series,0x16000001,0x16000002,0x16000004,0x16000005,0x16010001,0x16010002,0x16010004,0x16010005 34 34 nw-s780,NW-S780 Series,0x19000001,0x19000002,0x19000004,0x19000005 35 - nw-wm1,NW-WM1 Series,0x20000007,0x21000008 35 + nw-wm1a,NW-WM1 Series,0x20000007 36 + nw-wm1z,NW-WM1 Series,0x21000008 36 37 nwz-x1000,NWZ-X1000 Series,0x5000002,0x5000004,0x5000005,0x5020002,0x5040002,0x5020004,0x5040004,0x5020005,0x5040005 37 38 nw-zx100,NW-ZX100 Series,0x1c000007,0x1c000001,0x1c000002,0x1c000004,0x1c000005,0x1c000006 38 39 nw-zx300,NW-ZX300 Series,0x23000004,0x23000006,0x23000007
+1 -1
utils/nwztools/scsitools/scsitool.c
··· 167 167 { "destination", "Destination", 0x23, 8, 4, DNK_EXACT_LENGTH | DNK_UINT32}, 168 168 { "model_id", "Model ID", 0x23, 9, 4, DNK_EXACT_LENGTH | DNK_UINT32 | DNK_HEX}, 169 169 { "ufn", "Update filename", 0x23, 21, 8, DNK_STRING}, 170 - { "kas", "Key and Signature", 0x23, 22, 60, DNK_STRING}, 170 + { "kas", "Key and Signature", 0x23, 22, 64, DNK_STRING}, 171 171 { "devinfo", "Devide Info", 0x12, 0, 64, DNK_HEX}, 172 172 /* there are more obscure commands: 173 173 * - 0x11 returns a 10-byte packet containing a 8-byte "LeftIdl8", scrambled
+3 -2
utils/nwztools/upgtools/upg.c
··· 46 46 { "nwz-s610", false, "fe14a16d7c5c52cf56846d04305f994c"}, 47 47 /* The following models use a different encryption, but we put the KAS here 48 48 * to not forget them */ 49 - { "nw-a30", false, "c40d91e7efff3e3aa5c8831dd85526fe4972086283419c8cd8fa3b7dcd39" }, 50 - { "nw-wm1", false, "e8d171a5d92f35eed9658c03fb9f86a169591659851fd7c49525f587a70b" }, 49 + { "nw-a30", false, "c40d91e7efff3e3aa5c8831dd85526fe4972086283419c8cd8fa3b7dcd39dee4" }, 50 + { "nw-wm1a", false, "e8d171a5d92f35eed9658c03fb9f86a169591659851fd7c49525f587a70b526c" }, 51 + { "nw-wm1z", false, "2b07114f06d0f63b8ef8e31c8bc9332c7bd70281f7f8d2f80dab58cd36f82c82" }, 51 52 { "nw-zx300", false, "3ab5bbcb999463c50aaa957496b066c6b76a25f4505bf5b42c0bc4815cbe3db6" }, 52 53 { "nw-nwa40", false, "a0d2b1317794074aff77dd2afb9c7aa6b28d6cf24a5e5eb60df87a87eb562de5" }, 53 54 { 0 }