More interesting stuff from that binary.  The resource section contains
3 zip-files among other stuff.  Two of these contain DPR_Table.txt files
per device-id(?) and some binary blobs I don't recognise.  Names might
indicate NV entries?


bjorn@miraculix:/tmp$ unzip -l resources/101.bin 
Archive:  resources/101.bin
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2020-05-04 16:27   TuneCode/
        0  2020-05-04 16:27   TuneCode/tunecode_876D/
     3752  2019-12-24 15:18   TuneCode/tunecode_876D/DPR_Table.txt
---------                     -------
     3752                     3 files
bjorn@miraculix:/tmp$ unzip -l resources/102.bin 
Archive:  resources/102.bin
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2021-03-08 17:14   TuneCode/
        0  2021-03-08 17:15   TuneCode/tunecode_093D/
     7462  2021-03-15 13:40   TuneCode/tunecode_093D/DPR_Table.txt
        0  2021-03-08 17:16   TuneCode/tunecode_098C/
     7462  2021-03-15 13:40   TuneCode/tunecode_098C/DPR_Table.txt
        0  2020-05-29 19:02   TuneCode/tunecode_09C6/
    36067  2020-04-22 16:11   TuneCode/tunecode_09C6/00029653
      510  2020-04-30 10:40   TuneCode/tunecode_09C6/00029654
     7403  2020-05-29 18:57   TuneCode/tunecode_09C6/DPR_Table.txt
        0  2020-10-07 14:00   TuneCode/tunecode_0A3F/
    40314  2020-10-12 18:38   TuneCode/tunecode_0A3F/00029653
      510  2020-10-12 18:40   TuneCode/tunecode_0A3F/00029654
     7443  2020-10-07 13:35   TuneCode/tunecode_0A3F/DPR_Table.txt
        0  2021-02-04 10:22   TuneCode/tunecode_0A5B/
    48254  2021-01-25 12:41   TuneCode/tunecode_0A5B/00029653
      510  2021-01-25 12:36   TuneCode/tunecode_0A5B/00029654
     7208  2021-02-26 15:46   TuneCode/tunecode_0A5B/DPR_Table.txt
        0  2021-03-08 14:41   TuneCode/tunecode_0A69/
    39619  2021-03-08 14:37   TuneCode/tunecode_0A69/00029653
      510  2021-03-08 14:37   TuneCode/tunecode_0A69/00029654
        0  2021-03-08 14:42   TuneCode/tunecode_0A6A/
    39619  2021-03-08 14:37   TuneCode/tunecode_0A6A/00029653
      510  2021-03-08 14:37   TuneCode/tunecode_0A6A/00029654
---------                     -------
   243401                     23 files


The DPR_table files contains lines with different system+band
conbinations followed by 8 numbers which looks like they could be dB or
dBm values.  Sample data:

LTE B39 24 24 24 24 24 24 24 24
LTE B40 24 24 24 24 24 24 23 23
LTE B41 27 27 27 24 27 27 22.5 22.5
LTE B42 24 24 24 24 24 22.5 24 22.5
LTE B48 22 22 22 22 21 20.5 22 20.5
LTE B66 24 24 24 24 24 24 18 18
SA N1 24 24 24 24 24 24 24 24
SA N2 24 24 24 24 24 18 24 18
SA N3 24 24 24 24 24 24 24 24
SA N5 24 24 24 24 24 24 19.5 19.5
SA N7 24 24 24 24 21.5 15 24 15
SA N8 24 24 24 24 24 24 24 24
SA N12 24 24 24 24 24 24 19 19
SA N20 24 24 24 24 24 24 24 24
SA N28 24 24 24 24 24 24 24 24
SA N38 24 24 24 24 24 14 24 14
SA N41 27 27 27 27 21.5 15 27 15
SA N66 24 24 24 24 24 18 24 18
SA N77 27 27 27 27 27 18.5 27 18.5
SA N78 27 27 27 27 27 20.5 27 20.5
SA N79 27 27 27 27 27 16 27 16
ENDC B5 N2 24.5 24.5 24.5 24.5 24.5 24.5 18.5 18.5 
NSA N2 B5 24 24 24 24 24 18 24 18
ENDC B12 N2 24.5 24.5 24.5 24.5 24.5 24.5 19.5 19.5
NSA N2 B12 24 24 24 24 24 18 24 18
ENDC B13 N2 24.5 24.5 24.5 24.5 24.5 24.5 21.5 21.5
NSA N2 B13 24 24 24 24 24 18 24 18 
ENDC B7 N5 24 24 24 24 21.5 14 24 14
NSA N5 B7 24 24 24 24 24 24 18.5 18.5
ENDC B48 N5 22 22 22 22 21 19.5 22 19.5 
NSA N5 B48 24 24 24 24 24 24 18.5 18.5 


The last zip contains rtsar_config_fcc and rtsar_config_row data for a
number of other(?) devices. Some of them in 2dB and 0dB variants.
Interestingly enough, this seems to be made for another Foxconn customer
and not intended for Lenovo devices at all. Doesn't look like there are
similar resources for any Lenovo modem/PC.  Talk about mess.


bjorn@miraculix:/tmp$ unzip -l resources/106.bin 
Archive:  resources/106.bin
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2020-12-30 10:51   MipiTable_HP_TALISKER/
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/86F9/
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/86F9/2dB/
     1612  2020-10-07 09:07   MipiTable_HP_TALISKER/86F9/2dB/rtsar_config_fcc
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/86F9/2dB/rtsar_config_fcc_md5.txt
     1584  2020-10-07 09:07   MipiTable_HP_TALISKER/86F9/2dB/rtsar_config_row
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/86F9/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/86FA/
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/86FA/2dB/
     1612  2020-10-07 09:07   MipiTable_HP_TALISKER/86FA/2dB/rtsar_config_fcc
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/86FA/2dB/rtsar_config_fcc_md5.txt
     1584  2020-10-07 09:07   MipiTable_HP_TALISKER/86FA/2dB/rtsar_config_row
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/86FA/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/8709/
        0  2020-12-30 10:55   MipiTable_HP_TALISKER/8709/2dB/
     1612  2020-10-07 09:07   MipiTable_HP_TALISKER/8709/2dB/rtsar_config_fcc
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/8709/2dB/rtsar_config_fcc_md5.txt
     1584  2020-10-07 09:07   MipiTable_HP_TALISKER/8709/2dB/rtsar_config_row
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/8709/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:56   MipiTable_HP_TALISKER/870A/
        0  2020-12-30 10:56   MipiTable_HP_TALISKER/870A/2dB/
     1612  2020-10-07 09:07   MipiTable_HP_TALISKER/870A/2dB/rtsar_config_fcc
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/870A/2dB/rtsar_config_fcc_md5.txt
     1584  2020-10-07 09:07   MipiTable_HP_TALISKER/870A/2dB/rtsar_config_row
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/870A/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:57   MipiTable_HP_TALISKER/8716/
        0  2020-12-30 10:57   MipiTable_HP_TALISKER/8716/0db/
     1708  2020-10-09 12:14   MipiTable_HP_TALISKER/8716/0db/rtsar_config_fcc
       32  2020-10-09 12:14   
MipiTable_HP_TALISKER/8716/0db/rtsar_config_fcc_md5.txt
     1680  2020-10-09 12:14   MipiTable_HP_TALISKER/8716/0db/rtsar_config_row
       32  2020-10-09 12:14   
MipiTable_HP_TALISKER/8716/0db/rtsar_config_row_md5.txt
        0  2020-12-30 10:57   MipiTable_HP_TALISKER/8716/2db/
     1708  2020-10-09 12:15   MipiTable_HP_TALISKER/8716/2db/rtsar_config_fcc
       32  2020-10-09 12:15   
MipiTable_HP_TALISKER/8716/2db/rtsar_config_fcc_md5.txt
     1680  2020-10-09 12:15   MipiTable_HP_TALISKER/8716/2db/rtsar_config_row
       32  2020-10-09 12:15   
MipiTable_HP_TALISKER/8716/2db/rtsar_config_row_md5.txt
      125  2020-12-10 13:34   MipiTable_HP_TALISKER/8716/MIPI_Table.txt
        0  2020-12-30 13:51   MipiTable_HP_TALISKER/8720/
        0  2020-12-31 15:23   MipiTable_HP_TALISKER/8720/2db/
     1660  2020-06-11 09:51   MipiTable_HP_TALISKER/8720/2db/rtsar_config_fcc
       32  2020-06-11 09:51   
MipiTable_HP_TALISKER/8720/2db/rtsar_config_fcc_md5.txt
     1632  2020-06-11 09:51   MipiTable_HP_TALISKER/8720/2db/rtsar_config_row
       32  2020-06-11 09:51   
MipiTable_HP_TALISKER/8720/2db/rtsar_config_row_md5.txt
        0  2020-12-30 10:56   MipiTable_HP_TALISKER/87BA/
        0  2020-12-30 10:56   MipiTable_HP_TALISKER/87BA/2dB/
     1612  2020-10-07 09:07   MipiTable_HP_TALISKER/87BA/2dB/rtsar_config_fcc
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/87BA/2dB/rtsar_config_fcc_md5.txt
     1584  2020-10-07 09:07   MipiTable_HP_TALISKER/87BA/2dB/rtsar_config_row
       32  2020-10-07 09:08   
MipiTable_HP_TALISKER/87BA/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 13:52   MipiTable_HP_TALISKER/87CD/
        0  2020-12-30 13:53   MipiTable_HP_TALISKER/87CD/0db/
     1636  2020-10-21 09:19   MipiTable_HP_TALISKER/87CD/0db/rtsar_config_fcc
       32  2020-10-21 09:20   
MipiTable_HP_TALISKER/87CD/0db/rtsar_config_fcc_md5.txt
     1608  2020-10-21 09:19   MipiTable_HP_TALISKER/87CD/0db/rtsar_config_row
       32  2020-10-21 09:20   
MipiTable_HP_TALISKER/87CD/0db/rtsar_config_row_md5.txt
        0  2020-12-30 13:53   MipiTable_HP_TALISKER/87CD/2db/
     1636  2020-10-21 09:20   MipiTable_HP_TALISKER/87CD/2db/rtsar_config_fcc
       32  2020-10-21 09:20   
MipiTable_HP_TALISKER/87CD/2db/rtsar_config_fcc_md5.txt
     1608  2020-10-21 09:20   MipiTable_HP_TALISKER/87CD/2db/rtsar_config_row
       32  2020-10-21 09:20   
MipiTable_HP_TALISKER/87CD/2db/rtsar_config_row_md5.txt
        0  2020-12-30 13:54   MipiTable_HP_TALISKER/880D/
        0  2020-12-31 15:25   MipiTable_HP_TALISKER/880D/2dB/
     2024  2020-09-18 17:03   MipiTable_HP_TALISKER/880D/2dB/rtsar_config_fcc
       32  2020-09-18 17:03   
MipiTable_HP_TALISKER/880D/2dB/rtsar_config_fcc_md5.txt
     1992  2020-09-18 17:03   MipiTable_HP_TALISKER/880D/2dB/rtsar_config_row
       32  2020-09-18 17:03   
MipiTable_HP_TALISKER/880D/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:54   MipiTable_HP_TALISKER/8846/
        0  2020-12-30 10:54   MipiTable_HP_TALISKER/8846/0dB/
    15282  2020-09-29 17:51   MipiTable_HP_TALISKER/8846/0dB/Cadillac 15 
inch_Talisker_rtsar_0dB_20200917-LTE_WCDMA_0929.xlsx
     2024  2020-09-29 13:48   MipiTable_HP_TALISKER/8846/0dB/rtsar_config_fcc
       32  2020-09-29 13:49   
MipiTable_HP_TALISKER/8846/0dB/rtsar_config_fcc_md5.txt
     1992  2020-09-29 13:48   MipiTable_HP_TALISKER/8846/0dB/rtsar_config_row
       32  2020-09-29 13:49   
MipiTable_HP_TALISKER/8846/0dB/rtsar_config_row_md5.txt
        0  2020-12-31 15:26   MipiTable_HP_TALISKER/8846/2dB/
     2024  2020-09-29 17:39   MipiTable_HP_TALISKER/8846/2dB/rtsar_config_fcc
       32  2020-09-29 17:39   
MipiTable_HP_TALISKER/8846/2dB/rtsar_config_fcc_md5.txt
     1992  2020-09-29 17:39   MipiTable_HP_TALISKER/8846/2dB/rtsar_config_row
       32  2020-09-29 17:40   
MipiTable_HP_TALISKER/8846/2dB/rtsar_config_row_md5.txt
        0  2020-12-30 10:58   MipiTable_HP_TALISKER/8847/
        0  2020-12-30 10:58   MipiTable_HP_TALISKER/8847/0db/
     1660  2020-10-16 14:43   MipiTable_HP_TALISKER/8847/0db/rtsar_config_fcc
       32  2020-10-16 14:43   
MipiTable_HP_TALISKER/8847/0db/rtsar_config_fcc_md5.txt
     1632  2020-10-16 14:43   MipiTable_HP_TALISKER/8847/0db/rtsar_config_row
       32  2020-10-16 14:43   
MipiTable_HP_TALISKER/8847/0db/rtsar_config_row_md5.txt
        0  2020-12-30 10:58   MipiTable_HP_TALISKER/8847/2db/
     1660  2020-10-16 14:44   MipiTable_HP_TALISKER/8847/2db/rtsar_config_fcc
       32  2020-10-16 14:44   
MipiTable_HP_TALISKER/8847/2db/rtsar_config_fcc_md5.txt
     1632  2020-10-16 14:44   MipiTable_HP_TALISKER/8847/2db/rtsar_config_row
       32  2020-10-16 14:44   
MipiTable_HP_TALISKER/8847/2db/rtsar_config_row_md5.txt
        0  2020-12-30 10:57   MipiTable_HP_TALISKER/8890/
        0  2020-12-30 10:58   MipiTable_HP_TALISKER/8890/0db/
     1708  2020-10-09 12:14   MipiTable_HP_TALISKER/8890/0db/rtsar_config_fcc
       32  2020-10-09 12:14   
MipiTable_HP_TALISKER/8890/0db/rtsar_config_fcc_md5.txt
     1680  2020-10-09 12:14   MipiTable_HP_TALISKER/8890/0db/rtsar_config_row
       32  2020-10-09 12:14   
MipiTable_HP_TALISKER/8890/0db/rtsar_config_row_md5.txt
        0  2020-12-30 10:57   MipiTable_HP_TALISKER/8890/2db/
     1708  2020-10-09 12:15   MipiTable_HP_TALISKER/8890/2db/rtsar_config_fcc
       32  2020-10-09 12:15   
MipiTable_HP_TALISKER/8890/2db/rtsar_config_fcc_md5.txt
     1680  2020-10-09 12:15   MipiTable_HP_TALISKER/8890/2db/rtsar_config_row
       32  2020-10-09 12:15   
MipiTable_HP_TALISKER/8890/2db/rtsar_config_row_md5.txt
      125  2020-12-10 13:34   MipiTable_HP_TALISKER/8890/MIPI_Table.txt
---------                     -------
    74564                     101 files



I don't think that the Excel file necessarily was meant to be included
regardless of HP or Lenovo.  Very eductional.  It contains these 3
sheets:



1. Header:

"By default this workbook contains an MCC list worksheet. Any FCC supported 
MCC's should be added in that sheet.
Note that, only one of the workbooks (rtsar_fcc/ rtsar_row) should contain the 
mcc_list."       



version 12
reserve_power_margin_db_10      0
primary_max_power_dbm10 265
num_dsi 2


2. tech_records:

                DSI     1       2               
Tech    Antenna Band    Tx power at SAR design target (dBm10)   Tx power at SAR 
design target (dBm10)           
LTE     0       120     230     230     LTE B1 @ ANT#5  
LTE     2       120     271     271     LTE B1 @ ANT#8  
LTE     0       121     284     284     LTE B2 @ ANT#5  
LTE     2       121     218     218     LTE B2 @ ANT#8  
LTE     0       122     230     230     LTE B3 @ ANT#5  
LTE     2       122     288     288     LTE B3 @ ANT#8  
LTE     0       123     281     281     LTE B4 @ ANT#5  
LTE     2       123     280     280     LTE B4 @ ANT#8  sportan w/o data
LTE     0       124     275     275     LTE B5 @ ANT#5  
LTE     0       126     296     296     LTE B7 @ ANT#5  
LTE     2       126     193     193     LTE B7 @ ANT#8  
LTE     0       127     235     235     LTE B8 @ ANT#5  
LTE     0       131     290     290     LTE B12 @ ANT#5 
LTE     0       132     295     295     LTE B13 @ ANT#5 
LTE     0       133     296     296     LTE B14 @ ANT#5 
LTE     0       136     290     290     LTE B17 @ ANT#5 
LTE     0       137     280     280     LTE B18 @ ANT#5 
LTE     0       138     280     280     LTE B19 @ ANT#5 
LTE     0       139     235     235     LTE B20 @ ANT#5 
LTE     0       144     284     284     LTE B25 @ ANT#5 
LTE     2       144     280     280     LTE B25 @ ANT#8 add new
LTE     0       145     275     275     LTE B26 @ ANT#5 
LTE     0       147     235     235     LTE B28 @ ANT#5 
LTE     0       149     299     299     LTE B30 @ ANT#5 
LTE     2       149     280     280     LTE B30 @ ANT#8 add new
LTE     0       153     230     230     LTE B34 @ ANT#5 
LTE     2       153     280     280     LTE B34 @ ANT#8 add new
LTE     0       157     296     296     LTE B38 @ ANT#5 
LTE     2       157     280     280     LTE B38 @ ANT#8 add new
LTE     0       158     280     280     LTE B39 @ ANT#5 
LTE     2       158     280     280     LTE B39 @ ANT#8 add new
LTE     0       159     230     230     LTE B40 @ ANT#5 
LTE     2       159     280     280     LTE B40 @ ANT#8 add new
LTE     0       160     296     296     LTE B41 @ ANT#5 
LTE     2       160     280     280     LTE B41 @ ANT#8 add new
LTE     2       161     233     233     LTE B42 @ ANT#8 
LTE     0       168     281     281     LTE B66 @ ANT#5 
LTE     2       168     203     203     LTE B66 @ ANT#8 
LTE     2       178     216     216     LTE B48 @ ANT#8 
LTE     0       179     280     280     LTE B71 @ ANT#5 not support
NR5G    0       182     280     280     NR B1 @ ANT#5   sportan w/o data
NR5G    2       182     274     274     NR B1 @ ANT#8   
NR5G    0       183     276     276     NR B2 @ ANT#5   
NR5G    2       183     207     207     NR B2 @ ANT#8   
NR5G    0       184     280     280     NR B3 @ ANT#5   sportan w/o data
NR5G    2       184     322     322     NR B3 @ ANT#8   
NR5G    0       185     276     276     NR B5 @ ANT#5   
NR5G    0       186     280     280     NR B7 @ ANT#5   sportan w/o data
NR5G    2       186     187     187     NR B7 @ ANT#8   
NR5G    0       187     230     230     NR B8 @ ANT#5   
NR5G    0       188     230     230     NR B20 @ ANT#5  
NR5G    0       189     230     230     NR B28 @ ANT#5  
NR5G    0       190     280     280     NR B38 @ ANT#5  
NR5G    2       190     208     208     NR B38 @ ANT#8  
NR5G    0       191     280     280     NR B41 @ ANT#5  add new
NR5G    1       191     280     280             add new
NR5G    2       191     208     208     NR B41 @ ANT#8  
NR5G    3       191     280     280             add new
NR5G    0       194     281     281     NR B66 @ ANT#5  
NR5G    2       194     225     225     NR B66 @ ANT#8  
NR5G    0       196     280     280     NR B71 @ ANT#5  not support
NR5G    2       200     230     230     NR B77 @ ANT#8  
NR5G    2       201     230     230     NR B78 @ ANT#8  
NR5G    2       202     280     280     NR B79 @ ANT#8  
NR5G    0       212     280     280     mmW n260        not support
NR5G    0       213     280     280     mmW n260        not support
NR5G    0       215     290     290     NR N12 @ ANT#5  
NR5G    0       216     280     280     NR N25 @ ANT#5  add new
NR5G    2       216     280     280     NR N25 @ ANT#8  add new
NR5G    0       219     280     280     NR N40 @ ANT#5  add new
NR5G    2       219     280     280     NR N40 @ ANT#8  add new
NR5G    2       222     280     280     NR N48 @ ANT#8  add new
WCDMA   0       80      235     235     WCDMA B1 @ ANT#5        
WCDMA   0       81      284     284     WCDMA B2 @ ANT#5        
WCDMA   0       82      280     280     WCDMA B3 @ ANT#5        
WCDMA   0       83      281     281     WCDMA B4 @ ANT#5        
WCDMA   0       84      276     276     WCDMA B5 @ ANT#5        
WCDMA   0       85      280     280     WCDMA B6 @ ANT#5        
WCDMA   0       87      235     235     WCDMA B8 @ ANT#5        
WCDMA   0       88      280     280     WCDMA B9 @ ANT#5        
WCDMA   0       91      280     280     WCDMA B19 @ ANT#5       


3. mcc_list:

FCC supported MCC
310
311
312
313
314
316
1
466



Well, not that useful info I guess.  But this is part of the explanation
why the Windows binaries are so bloated.  Because they are.  The above
is only looking at resources.  But there is no reason to believe the
code is any different. You could probably strip away 99% of it, and
still keep all the *intended* functionality.

I don't think it's intentional, but all the mess helps obfuscating the
real code in there.  So the first step when trying to analyze this is to
identify which parts are actually executed.  No need to wade through the
rest.



Bjørn

Reply via email to