[Verizon Samsung Galaxy S III] TrevE:
Recently I made a longwinded rant over in dev only about the importance of rom props being set to carriers correctly. This thread is to split off the actual tool itself to check from the dev only questions.

Attached to this post is an Aroma Flashable to check basic network compatibility. It also will list out hardware information such as CPU Models and if NVBackups have been ran. Not everything for network compatibility can be checked such as framework, but if you follow these steps users should have a pretty good way to check network friendliness. Devs please make sure we start paying attention to this. I will explain the basics of each check here, but if you want more geeky information on why these are important read my rant in the devs only forum here - http://xdaforums.com/showthread.php?t=2231256 .Devs only - feel free to hit me up there with any porting questions, or expand on this script to make it more robust.

To test a ROM

Flash a rom you want to check

Before booting into rom, flash attached network check

Verify Settings, reboot when done

When first boot in rom, go to settings -> about phone and verify phone number, verify MMS works.

If you do all these steps, you have a fairly good way to see compatibility. Use common sense as well.

Currently Working Network Checks

ATT/SPR/VZW

*note* this is the first version with "intelligence", so some checks may not be as smart as I think they are. I believe we have coded it correctly for every scenario and have tested many stock roms, but this should just be used as a *basic* check. It is not all encompassing because we cannot check things like framework, and as such should be used as a general reference.

Explanation of Checks

**All of these screenshots are using a Verizon Device as a base. Obviously if you are using Sprint or ATT checks will look slightly different**

Page 1 - Hardware Versions

Hardware Versions-

androidboot.nvdata_backup - 1 if "reboot nvbackup" has been ran, 0 otherwise

androidboot.bootloader - Bootloader version flashed

samsung.hardware - Hardware version ID

CPU Revision - CPU model revision

Hardware - Vendor specific Hardware type of device

Unique CPU Serial - CPU serial #. Unique to device, would not be posting around

Recovery Info-

Checks what carrier recovery props have set

Page 2 - Software Prop Checks

CSC Version Info-

build.PDA - read from build.prop. PDA/CSCs/Baseband should all be matching

CSC Software Ver - read from /system/CSCVersion.txt

These are manual checks because querying baseband isnt possible in recovery

Sales Code Props-

Ril Sales Code - checks build.prop for ril.sales_code and matches to hardware

CSC Sales Prop - checks build.prop for ro.csc.sales_code and matches to hardware

This will display a --CHECK in bold if a value is incorrect. Blank values here are OK if below Sales Code CSCs are set correctly. If a value is set here it will overwrite Sales Code CSC.

Sales Code CSCs-

Device Sales Code - reads from /system/csc/sales_code.dat. Checks to hardware

Customer XML Sales Code - reads from /system/csc/customer.xml. Checks to hardware

This will display an error message in bold at the bottom of the check if one or more is off

Rom Prop Info-

product name - checks build.prop for ro.product.name and matches to hardware

product model - checks build.prop for ro.product.model

version - checks build.prop for ro.build.version.incremental. Usually matches build.PDA

characteristics - checks build.prop for ro.build.characteristics.

Google Keys-

build.description - checks build.prop for ro.build.description

build.fingerprint - checks build.prop for ro.build.fingerprint

clientid.yt - checks build.prop for ro.com.google.clientidbase.yt

clientid.ms - checks build.prop for ro.com.google.clientidbase.ms

clientid.am - checks build.prop for ro.com.google.clientidbase.am

Page 3 - Apps Check

This screen checks for the existence of ATT / Sprint / Verizon apps in a rom. A success should be only say Verizon apps on a Verizon device. Anything else is considered a failure.

Changelog

V1.4 -

Beefed up a few checks

Added help/about screen to beginning of aroma

Added dev only option - Lets devs fake a hardware ID to test how different ports will check out

Added more hardware type info. Totally useless to porting but cool stuff to know

Added logging option to end of aroma, ability to save all output to /sdcard/romcheck.txt. File has unix linebreaks so use notepad++ if on windows.

V1.3 -

Initial release in development section.

Remember this is the first version of this test script, so every case may not have been thought of. It is also only a basic scanner tool and should not be the only test you do, use common sense as well. Devs feel free to work off of this, give codechanges, report in on bugs, whatever.