Selecting mobile frequency band with an Android device - IDEs, Libraries, & Programming Tools

I am developing a very specialized piece of software for Android and I need the capability to select and lock on to a specific frequency band within the cell network. Does anyone know a way of doing this. I realize there is no API, but maybe by issuing AT commands directly to the modem chip or something?
I'm not sure if this is the right place within this forum to post this. If not, let me know where it belongs.

Related

direct GSM access?

I am particularly interested in the wizard, however on a fundamental level WM will most likely operate the same across most models in respect to this issue (or at least that is the theory).
I realize that most GSM boards have processors on them which do things like channel syncing (which is fairly time sensitive since its tdma&fdma), a5, gsm framing, and all that. You more or less connect a sim, speaker and mic, and treat the gsm rf board as a black box.
I am hoping that somewhere someone has unearthed something that allows more direct control over the gsm board on these phones. I am aware of engineering mode, however that is not quite what I wanted.
I would like to be able to at the very least set the call parameters before a call goes out. For example, lets say that I want to disable A5, sinec there are 3 standard levels one being no encryption, and the tower and the phone negotiate and agree upon the highest common, something in the phone somewhere has to say that it supports encryption.
I am just uncertain if all that is burried away in a 'black box' somewhere and its not a software problem from within WM.
If anyone has any ideas I would greatly appreciate it, even if they are pointers to research material that may help me out a bit.
On WinMobile GSM part is isolated from the windows part, like in normal PCs modem hardware is isolated from mainboard. GSM part has its own CPU, RAM, ROM, operating system, and communicates with Windows via COM-port (or USB port in Universal). For example Universal has Qualcomm MSM6250 chip with some proprietary OS. HTC Himalaya had a different chip (I don't remember it now), and OS was based on nucleus RTOS. Anextek SP200 communicator had Siemens MC45 modem inside.
GSM hardware is a black box for WinMobile OS. MS specifies only some recomendations for OEMs, and controlling encryption is not among them. You can control it if GSM vendor supports some AT command, or some other proprietary method (maybe via dev_specific RIL command).
In the case of Universal, its GSM can be controlled from a PC with the usual Qualcomm diagnostic software (QXDM, QPST, etc), when you setup the device as a pass-through bridge between PC and GSM module. But I don't know any methods of doing the same from inside WinMobile.
mamaich said:
GSM hardware is a black box for WinMobile OS.
...
You can control it if GSM vendor supports some AT command, or some other proprietary method (maybe via dev_specific RIL command).
In the case of Universal, its GSM can be controlled from a PC with the usual Qualcomm diagnostic software (QXDM, QPST, etc), when you setup the device as a pass-through bridge between PC and GSM module. But I don't know any methods of doing the same from inside WinMobile.
Click to expand...
Click to collapse
That is what I was afraid of. Most of the GSM radio boards (or individual chips) are set up to act that way, and since its faster and cheaper I really dont know of anyone that hasnt done that in any phone that was made in the last few years.
At any rate, is there any documentation that discusses how to locate which com port or other method is used to access the GSM device within a wizard (or any other htc model, odds are many of them are similar, if not identical with this subcomponent).
Are there any known AT commands? my first project is to write something similar to the gsm engineer mode program, obtaining BTS information. I am unsure if this is obtained only via AT commands or if its something more involved, but welcome any information on this.
Found what appears the be half the answer at http://wiki.xda-developers.com/index.php?pagename=RIL While that gives me access to the radio for some stuff (location data app that can work with gsmloc.org for example) it does not appear to enable me to set any parameters for a new call.
So if anyone knows of any tricks that would help say for example disable a5 crypto (on a per call basis idealy) or something similar to the setup of a call I would still appreciate hearing about that.
I know that Typhoon ( spv c500 / i-mate sp3 /Dopod 565) memory block with gsm info data. I am trying to find it in Magican - but no results. I dont know how Typhoon place this info in mem.

What is the "radio"?

I keep reading about problems with the radio not being compatible because the rogers radio is somehow different. What exactly is the radio? I'm betting it doesn't mean my phone will tune in to AM/FM stations....unless it does and makes me love my phone even more...lol
basically the phone radio controls your reception, with a newer radio you will usually get a better reception quality as well as GPS fix is faster.
the radio also controls how fast the camera is and a little bit of the quality(i don't know why i just know it's true
XwXDv8XwX said:
I keep reading about problems with the radio not being compatible because the rogers radio is somehow different. What exactly is the radio? I'm betting it doesn't mean my phone will tune in to AM/FM stations....unless it does and makes me love my phone even more...lol
Click to expand...
Click to collapse
In the context of phone hacking/hardware, the "radio" refers to the part of the phone which communicates with cellular towers. It is so named because the communication is done via radio waves. Specifically when people talk of flashing the radio, they are referring to the baseband processor. In most modern (2G and up) mobile phones, there are actually two processors. One is the application processor, which does all the work involving the operating system and apps. The other is the baseband processor, which actually deals with the GSM or WCDMA air interface (its a lot more complex than just broadcasting ones and zeros into the air).
Why would they use two processors instead of one? There are two main reasons. The first is that in order for cell networks to function properly, timing is key. For example, in the GSM system, each frequency is divided up into several time slots (TDMA means Time Division Multiple Access). The length of these slots are counted in the milliseconds. If a phone starts transmitting just a couple of milliseconds too late, it will overlap into the adjacent time slot and corrupt both its own and the neighboring transmission. Now, have you ever had your phone lag up because it was doing something complex? If the GSM stack ran on the same processor as the application stack, any system lagging introduced by the os/apps could cause the GSM connection to be unstable. The other reason is security. Especially in the age of smartphones, users are able to run code that may not be verified as secure. Separating the two functions prevents malicious code from tampering with the radio operations.
Note however that there are some flavors of Symbian which CAN run both the applications and baseband on the same processor. These are called real-time flavors of Symbian, so noted because the processor will always execute the baseband in real-time, regardless of how high apps are prioritized. This solves the timing problem, but other techniques have to be employed to add additional security.

Note5 radio frequency HW hack

Hello,
I'm new to the forum, and having a real hard time identifying what is, and isn't possible regarding hardware manipulation. I have a Samsung Galaxy Note5 SM-N9208, which originated in Taiwan. I am on T-Mobile in the U.S., and I would like to make this device fully compatible with T-MOBILE's network. I am new to rooting, and flashing, so I don't have a strong enough understanding of the capabilities of such things. I was led to believe that it was possible to root, unlock the bootloader, change the CID, and flash the radio to the correct baseband/firmware (sorry if this sounds ridiculous). I have heard, however, that the different models will not accept firmware from different models. I don't understand what prohibits this activity, because the internals seem to all be the same. If anyone can explain this to me, or provide me with a way to accomplish this, if possible, I would be incredibly grateful.
Bootloader signing... do not crossflash. I did and now I'm buying a new logic board.
The latest DFS lets you change the frequency/band a la atheros wifi card + athtool... menu will let you pick bands and write to the phone. That is the only thing I saw besides changing bands from the programming menu.
Well hardware is not limiting you. Its the software. Some of the things just cant be done ex you can run .exe on windows directly but not .apk bcoz apk for android and .exe for winndows. Similarly some of flashing and apps and mod wont work unless they are compatible. Sometimes a mobile has different models which has a little difference but it makes things large. Ex. My mom's grand 2 is SM-G7102 but there is another version SM-G7108 both have identical physique , same circuit but software has +/- additional features. I guess u got it. This is marketing technique. Dont lose hope. You can succeed just gain a little more knowledge. Im 17 nd ive gained knowledge by self exploration. Keep it up. If there is any problem ask other XDA membera

[Request] WiFi region fix

Hi guys,
I'm sure some of you are aware of the "feature", but for the ones that aren't, I'll briefly explain.
Basically whenever your phone establishes a connection with a cell tower it sets a value defined by your country code that enables and disables certain frequencies (channels) to be used (mostly WiFi related).
I understand where the idea comes from, aka if you'll use an illegal frequency, you'll be interfering with other radios.
Sure, but the range of the transmission isn't as strong to actually interfere with anything unless you're using wide range extenders in a public place, but I'm going off topic here.
I've read about attempts to create a workaround on different phones, and different Android versions, and sadly none worked for me on the Mata PH-1.
I was wondering if anyone that understands how this works would kindly post a solution to this for Android P / Q.
Some links of other people that tested various solutions:
Link 1
Link 2
- Both links are from xda forums.
Thank you

Manually Select/Disable/Enable Bands

Hello everyone! I am trying to find out how to enable/disable certain bands. My company installs cell phone boosters for people that have poor signal, and i need to be able to select a single band at a time to do speed tests.
I know this is possible with Samsung devices, but was wondering if anyone found a way to lock to a single frequency.
This is possible with Samsung devices but unaware of any way to do this with a Oneplus 8. I think its even possible to do it on the tmobile version?
Any help would be greatly appreciated. (I am also rooted if that helps.)
Wow. I may be onto something. Anyone want to test this out?
**Disclaimer** Do it at your own risk.
I found this. Seems to let me change to whatever band I choose. But the only way I can seem to get back to "all bands" or "automatic" is by selecting all of the ones I use.
Or by typing *#*#4636#*#* and selecting the second from bottom
Download quickshortcutmaker from play store.
Look for: com.oneplus.engmode.bandmode
It was almost all the way down at the bottom for me. (My search doesn't seem to work)
I don't think this requires root or how I found it but it's working! (But, I am rooted, Android 11, stock room)
not sure who else could use this but I hope it helps someone!
Should all be unlocked from begin with, we should have access to all the bands as we're paying to access our networks not Oneplus
You must not have read the op.... He wanted to lock onto a single band to do a speed test for signal booster purposes. Your respknce was a waste of time.
Op, nice job on the work around for yourself
Good information and screen shots! cheers

Categories

Resources