I think solve the puzzle one more step for 10/25G , in winfwnx2.exe there is a hidden command _cfg it can set some nvm cfg.
and
[Internet] Bypassing the HH3K up to 2.5Gbps using a BCM57810S NIC - Bell Canada | DSLReports Forums part 7 has some hint for set speed mask and port speed
Code:
device 1
nvm cfg
6
35=70
36=70
56=6
59=6
save
exit
For context, the mask value of 35/36=70 means 1G, 2.5G, and 10G or 0x10 | 0x20 | 0x40 = 0x70, while 56/59=6 defaults the link speed to 2.5G rather than 10G.
also ,in 620qsfp28 meta file ,
Code:
array set bfLink_Speed {1 {1G} 2 {10G} 4 {20G} 8 {25G} 16 {40G} 32 {50G} 64 {BB_100G} }
array set Link_Speed {0 {Autoneg} 1 {1G} 2 {10G} 3 {20G} 4 {25G} 5 {40G} 6 {50G} 7 {BB_100G} }
27,name "Drv Speed capability mask" 27,entity_name "port" 27,offset 160 27,size 16 27,elementSize 0 27,listType bitfield 27,allowedList bfLink_Speed 27,configType hw\
29,name "Drv Link speed" 29,entity_name "port" 29,offset 192 29,size 4 29,elementSize 0 29,listType enum 29,allowedList Link_Speed 29,configType user\
maybe we can enter _cfg mode ,and set bfLink_Speed and Drv Link speed use their method?
but now need know how to calculate mask value which still don't konw , I dump ncfg (three of them) ,use winhex in position 160 which value is
3C or 3D ,so can't understand why it is this value ?
View attachment 18147
could anyone give some advise for speed mask and port speed ?