[ONE General] sylentprofet:
WIP - Band 4 (and maybe Band 17) on ChinaMobile OnePlus One - Closer but not yet

[MENTION=5061839]Albirew[/MENTION] [MENTION=4258980]devilsshadow[/MENTION] [MENTION=5733862]BlackSoulxxx[/MENTION] [MENTION=5353566]fffft[/MENTION]

--- copied with permission from nathanpfry.com ---

Thanks for all the hard work! I've been making some progress on the OnePlus One and want to report back.

I am lucky enough have access to both versions - ChinaMobile and International - in the USA on T-Mobile Prepaid LTE. Based on my research, the hardware of the OnePlus One appears to be identical between the variations, which would make the most sense from a manufacturing standpoint. However, the chip inside the OPO can have baseband filtering at a software level if I correctly interpret the available documentation. The differences between the two noted here (and many other places) - ChinaMobile lacks Band 4 and Band 17 for WCDMA and LTE.

T-Mobile uses Band 4 / AWS / 1700 in my area for LTE and WCDMA. The international version supports Band 4 out of the box, pop in a SIM card and it hops on LTE no problem.

An interesting bit of note - *#*#4636#*#* > Phone information > three-dot upper right menu > Select radio band on BOTH phones has no mention of 1700, despite working on the International. Untouched stock NV values, they both show:

EURO Band (GSM-900 DCS-1800 WCDMA-IMT-2000)

USA Band (GSM-850 PCS-1900 WCDMA-850 WCDMA-PCS-1900)

On the ChinaMobile version, I made the edits suggested by [MENTION=5061839]Albirew[/MENTION].. No luck getting anything beyond H/H+, so I started digging.

What I've learned so far:

DISCLAIMER: Anyone else attempting to try this, you should already be well versed in the guides written by these other fine people. There has been a lot of trial and error here. Read as much as you possibly can before posting. If you don't know what you are doing, DON'T TRY THIS. You can "brick" your phone, whatever that means these days. ALWAYS back up your EFS modemst1 and modemst2 BEFORE DOING ANYTHING.

ALSO BACKUP NV VALUES just for fun, at least to have the important lower range values like IMEI etc. This will SAVE YOU if anything goes wrong, which it probably will at some point. I'm not responsible for any of your actions.

There are a ton of NV values in the upper ranges (beyond FFFF, 65535) that ARE NOT readable by the older versions of QXDM or QPST or Qualcomm NV Tools, or CDMA Workshop for that matter. Because they used a 16 bit unsigned integer, they do not read high enough. The trick is to find a newer version of QXDM that can address these higher ranges.

Due to restrictions, I won't post the link here, but do some googling for QPST-QCAT-QXDM 3.14.414.514.594 - Specifically I used QXDM Pro 3.14.594

Get that up and running in place of the older version (along with the proper HTC USB Modem drivers and setprop sys.usb.config diag,adb etc as already mentioned in the guides) and you will see what I'm talking about.

I spent many hours doing a comparison by hand. Qualcomm NV Tools (part of EFS Professional 2.1.80B) can only pull off the lower range values - furthermore - it cannot successfully restore any values to the OnePlus One based on my tests (verified by another post I cannot find at the moment). The output will read "success", but the values don't stick. These two factors rule out doing a merge and restore.

If you look at this list of Qualcomm NV Values (thanks [MENTION=2684188]autoprime[/MENTION] ) there are some important bits to note. Concentrate on the NV categories RF LTE Parts 1-4 and RF WCDMA Parts 1-2 that are well above the 65535 range of earlier versions.

I had both phones (China and Intl) hooked up to 2 different QXDM sessions side-by-side last night and found some things of note. The ChinaMobile version had RF LTE and RF WCDMA values in place for some Band 4 options that matched the Intl version exactly, but it was conspicuously lacking in others. I suspect while Factory flashing they only leave out the ones important for Band 4/17 functionality, but this is pure speculation. Again, I was concentrating on Band 4 due to my particular market, but I suspect that Band 17 is in a similar state.

65731 RF LTE B4 Rx CAL CHAN - Missing

65897 - OK

65900 - Missing

65906 - OK

65911 - OK

65912 - OK

65913 - OK

65914 - OK

65915 - OK

65916 - OK

65917 - OK

65918 - OK

65919 - OK

65920 - OK

65922 - Missing

65923 - Missing

65926 - Missing

65927 - Missing

65931 - Missing

65932 - Missing

65939 - OK

65943 - Missing

65946 - Missing

69833 - OK

69870 - Missing

69874 - Missing

69401 - Missing

69402 - Missing

69403 - Missing

69406 - Missing

69417 thru 69426 - OK

70712 - OK

70978 - OK

71300 - OK

Occasionally I noticed a discrepancy between the two devices. For example, values 65944 and 65901... One phone will say "Parameter out of range" while the other reads "No such file or directory".

I performed the edits on ChinaMobile to match International (in addition to matching the originally mentioned 441, 946, 1877, 2954 and 6828) - rebooted... no luck. The values appear to stick, but it seems to be attempting to connect in a continuous cycle, beeping / vibrating. Goes from No SIM Card Inserted, to zero bars, Emergency Calls Only. Never hard reboots, and this behavior stops if I put on Airplane Mode..

All testing was done using Cyanogenmod 12.1 unofficial nightly compiled from source, no edits - with MTP enabled interestingly enough. To make this work, under Developer Options you need to enable Root access for Apps and ADB - or setprop sys.usb.config diag,adb doesn't seem to respond. Another reason why people may be experiencing difficulty is this "Root access" option is missing in the "official" (S) builds, and needs to be granted manually (via SuperSU or similar) - with varying degrees of success. I have flashed every version from CM11 22Q through the latest 12.1 S1N0 attempting to work this out.

It helps to enable the "Local terminal" option if you've got multiple phones trying to talk to QXDM and ADB doesn't want to work.

It should be noted that flashing a ROM should not touch any of these values. I'm interested in static_nvbk (aka oppostanvbk) as it only started appearing in builds after 44S (when many people started noticing modem issues) - but that's a whole other thread entirely.

Furthermore, this should rule out any special "modem" needing to be flashed (NON-HLOS.bin et al) because I used the same zip file on both phones. The International picks up LTE fine, the ChinaMobile does not.

Back to the drawing board. Any insight would be greatly appreciated, I'll post developments as they come. I feel like we're on to something here.

Good luck and keep up the hard work everyone!

I'm making progress, if you're referring to the ChinaMobile version. : )