Is the MSL # specific to device or similar to the SPC and the same for everyone?
Sprint:
SPC = Service Programming Code, MSL = Master Subsidy Lock. The SPC/MSL are 6 digit numbers used to unlock the hidden programming menus on a handset. The SPC is used to unlock and program a handset
the first time it is removed from the box. It used to be that either yourself, or a Sprint employee, depending on who was activating the phone, would enter this # via the dial pad, in order to program the phone the first time. The SPC is still used, but programming is done OTA, so you would never see it. The SPC is only good one time. After that, you use the MSL code to access the programming menus. That's where Sprint and Verizon differ. On Sprint, both the SPC and MSL are generated using an algorithm that considers the ESN as part of the calculation. Since some of the menus we are discussing here, require the MSL, you will have to obtain that information from Sprint. I haven't been following Epic developments as much, but sometimes savvy developers release programs you can that will extract and display your handsets MSL code, in order to avoid having to ask Sprint, who is understandably resistant to give out this information. One method I've used in the past to get Sprint to cough this up, is to call technical support and tell them my phone isn't working with the OTA activation and that I need to program it manually. They will then give you instructions on manually programming it, and in the process they end up giving you your MSL.
Verizon:
They too use SPC and MSL codes. The difference is that they are the same for every handset. The value is always 000000.
For the purpose of this discussion, the MSL and SPC codes are being used for the same reason, and that's to access the handsets programming menus.