yashsingh1/xdaforums huggingface dataset:
[Droid X General] MagnetMan:
If anyone out there still uses a Droid X...

This problem has been driving me crazy for a long time. My DX would only have wifi reception with a case on or by pressing on the case in certain areas. I've looked all over the web trying to find an explanation or fix, but no one seemed to know for sure what the problem was. I disassembled and reassembled the DX a few times, each time taping over a contact pin until pressing on the case no longer fixed wifi reception, thus narrowing down where exactly the problem was.

It turns out at the top right of phone (when looking at the screen) there is a small pressure pin on the motherboard and a copper pad with a small flex on the back case (the part you remove to access the board). This flex disappears into the side of the case, which I assumed to be the antenna. If you're looking at the inside of the back case, you'll see three contact pads for the camera flash and just outside of that is another copper pad. This is the wifi antenna. On the motherboard you'll see three spring pins for contacting the camera flash pads, and a small spring pin outside of that. This is the wifi contact pin.

The problem is that as the case wears out and spreads, the spring pin on the motherboard no longer makes contact with the copper wifi pad. Only by squeezing the case will they make contact.

THE SOLUTION: I added a small solder dot to the copper wifi pad to add a little height, being VERY CAREFUL not to overheat the board or flex! It is very easy to cook a small PCB and flex like this and burn through the board. If you're not comfortable with soldering (I solder flexes at work all the time), you can try to add a copper shim on top of the pad on the case to increase the thickness. You can also try to pop the PCB off the case and add a shim underneath it, but that little PCB seemed to be on there pretty tight. I wouldn't mess with the spring pin, if you break it off the motherboard you're pretty much screwed.

And now for the pics:
[Droid X General] Dubbsy:
Nice job. :good:

Luckily I haven't had to tear mine apart yet. Small solder jobs can be tricky. I've had to solder and or reflow a bunch of first gen xbox 360s and everyone was a pita.
[Droid X General] freakboy13:
Nice ... I love hard ware hacks.
[Droid X General] Phrancheska:
This totally worked! I just soldered my Droid X per instructions and now my Wi-fi connection is surging like I've never seen it do (got the phone not to long ago as a hand-me-down). Before if not in the same room as the wireless router I barely even get a signal, now I'm able to detect signals from all around the neighborhood. Great advice! Thank you!
[Droid X General] spaldingsmails:
Cool fix
[Windows Mobile Development and Hacking General] ocena:
Hi,

I need to read CellID and RxLev by my program. I have no idea how to do this. Could anyone to help me? Thanks
[Windows Mobile Development and Hacking General] andyclap:
Unfortunately it's not been implemented by HTC, so the simple answer is no. You could try and use the SMS system directly through RIL, although because Cell based positioning is quite a hot topic and nobody has yet done it, I'd guess it't not possible.

Anybody know if XDAII has a working API for this?
[Windows Mobile Development and Hacking General] Hady:
Just use tracelogger, pwd is htc, choose MMI + Event then run the tracelogviewer provided by the XDA developers site you'll get your CID and rx Level
[Windows Mobile Development and Hacking General] benclewett:
This is I would guess why RIL_GetCellTowerInfo always returns 0x80004001, which I belive means not implemented. (XDA I) But I might be using the wrong call... ??

If this information is available on the XDA II, then there must be programmatically a way through RIL, so either I am using the wrong call, or RIL has been fixed, or something else I haven't thought of... Any ideas?

Ben.
[Windows Mobile Development and Hacking General] andyclap:
Yeah, it would be great if the XDAII supported this (Cell based min-GPS!), so does anybody know for definite the scope of the new RIL on the XDAII?
[Windows Mobile Development and Hacking General] benclewett:
You read my mind!

I think this might be why this information is so hard to find. This data, once calibrated (which using, say, TomTom, would not be hard) is a considerable asset, to which the various phone companies are trying to protect. Which sounds like a challange to me...

Ben
[Windows Mobile Development and Hacking General] andyclap:
Yeah - O2 at least are marketing this info as a developer program, with a lookup charge "from 5p per lookup". What a bargain, considering the device already has the information (though it really applies to mobile phones that don't have SDK access).

Don't they realise that if they helped us create an app for them to do this and, say, link to multimap.com, it'd be a killer app and they'd sell hundreds more XDAs.
[Windows Mobile Development and Hacking General] benclewett:
Good idea. They would get the GPRS service charge for the multimap lookup as well. Although I think the cell id is too course. But some part of the phone knows far more accuratelly where it is, so that it knows when to change cell. Although this is not yet an area I know much about.

I belive, if you jump through enough hoops, O2 gives grants for programms which enhance the XDA, there's a project for somebody.... If anybody can work out how to get the s***ding cell id out of the XDA :)

ben
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
The idea of the Location APi is not as good as what we want. The idea is that an office queries O2 servers for the cell location of the target unit, for which they charge the office (end-user). O2 are looking for software solutions that draw on this to provide added content so that some poor sap carries on paying 5p a hit to get back the rough cell based location of a unit. Bloody expensive as a tracker or SatNav. Might as well just stick a GPS unit on the back & send that data back via GPRS - cheaper!

O2 actually have a website with the info on their cell sites on it BUT they have 8500 of them at least, so getting all that info out is a hard task.

Site is Here

We need to crack getting Cell ID, Signal Strength, Nearest Other Towers, Nearest OT Signal Strength + I daresay a few more before applying that to a database, after which we could probably have a device that told us our position to within 100m, which we could then send back via GPRS, thus not allowing the network to charge 5p a hit.

That's why the Cell Location database is not available - they stand to make/lose too much revenue.

Wonder how much the database is worth?
[Windows Mobile Development and Hacking General] andyclap:
It wouldn't be too difficult to scrape the site - while it gives no true positional information, it can return a list of cell towers within a radius (upto 5km ish) of a known tower, with their distance: we could triangulate three sets of this information to get the real locations of towers. Once these locations are known, we can recursively triangulate from them to eventually get all the data for the UK at least.

But, the main thing to do, as you say, is to find a programmatic way of getting the current cellId, signal strength, and preferably as much information about other local towers too to further refine the result.
[Windows Mobile Development and Hacking General] andyclap:
Hmmm, just thought - as the XDA developers here are "jolly nice and clever people", they have supplied the source to tracelogview. It wouldn't be too difficult to modify this to scan for tower information messages and do the appropriate things. It just means that the users have to enable tracelog manually, though perhaps we could send some keyboard messages to start it up and enter the password. It's hacky, but it just might work!

Might have a go at this tomorrow!
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
Overview of Location APi as offered by O2 - taken from Source02 website
[Windows Mobile Development and Hacking General] benclewett:
I may be wrong, but...

I belive the telco and the phone have a different idea of where the device is, as they plot the position of the device using different mechanisms and for different uses. They use this when they have to contact a phone to send an incomming call. This application is making use of the telco's permanent database of the location of all their devices. This is easy money for the telco.

We do not have access to this data, and the positional information we can get will be in a different format, accept for the Cell ID. We will have to infer the position of the XDA from RIL, TAPI, AT, using the data listed in previous postings. As was suggested, getting an idea of the strength of local transmitters, and calculating a position. Which in it's self may be a real challange, as there is not likelly to be a linear relationship between the strength of the transmitter and the distance to it.

It may be likelly that the cell size (~200m, -> ~15km) is the nearest we'll ever get. I note that people in Dover very often get routed through transmitters in France due to the cliffs on the coast of England. In this case, any meaningful positional data is getting more unlikelly.

PS, can any kind person with an XDAII tell me whether the RILL call:

HRESULT RIL_GetCellTowerInfo(HRIL hRil);

Returns something other than 80004001?

Ben
[Windows Mobile Development and Hacking General] benclewett:
Unfortunatelly this still returns '80004001 Unsupported' on XDA II.

But the RIL_GetSignalQuality does return valid data when connected to GPRS, unlike XDA I, so some things are getting better...

Ben
[Windows Mobile Development and Hacking General] Hiwi:
Hi all,

i just saw a programm that uses the cell ID and convert this one °, but it just works with received data from any handy via Irda or cable.

So if u want to take a look visit (german site):

http://www.wolfgang-back.com/navigauss.php

That works but it would be the first way, to use the XDA cellID instead of external data...perhaps any idea on this?

With greetings from germany

Harry
[Windows Mobile Development and Hacking General] Hady:
Cell ID

Guys u can get the cell id using java.

The cell ID is memorized in the sim card and the mobile phone compares always whether the CID he is receiving from the signal, is the same one memorized in the sim card.

If yes the mobile does nothing. If not the mobile phone updates the CID in the sim card. this is done almost every 5 seconds.

Now we need the API !!! and maybe the AID of the sim applet. :roll:
[Windows Mobile Development and Hacking General] Hiwi:
Once more,

could the following be a walkable way?:

1. cell-Id could be shown (tracelog and traceview says how)

2. If that is fact, then it is with calculating gauss-to- longitude/latidude (visit www.nobbi.com) makable to view the actually position.

3. The last step it would be, to bring Information like longitude/latidude in ° to the standard gps-format (it is known or free i think) and send it via comm1 to all navigation-software.

4. So if this all is nonsens tell me because i am not really a programmer ( my code would be as fine as my english is :-((

bye Harry
[Windows Mobile Development and Hacking General] JohnSmith:
That's right, but cell id says nothing about position.

see comment 1. Only O2 Germany transmits GK/coordinates over Cell Broadcast....

If 1. and 2. would be possible this is still a problem since most (all) GPS-Software only accept input from COM-Port (you have to emulate a COM-Port ... not trivial)

:wink:

John
[Windows Mobile Development and Hacking General] mjgermain:
Having written a DLL to get the CellID from the XDA, and then comparing the result with the O2 cell tower map info as described by 'Puff the Magic Wagon' on Nov 4, I find there is a discrepancy of 10000

e.g. in a clients office in Blackburn

Cell ID returned = 3AAF( Hex) = 15023 (Dec)

From www.webmap.o2.co.uk Higher Audley Cell = 5023

This seems to be the case for all cells I have tried.

There also seems to be some Cell ID's which I cannot reconcile with the o2 map results.
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
mjgermain

The problem you've encountered arrises from the fact that there are more than 9999 CSR (Cell Site References) that are registered with the RA.

O2 identify cells in the following way.

AXXXX

Where A = the direction the transmitter is facing (directional transmitters)

(roughly)

1=North

2=South East

3=West

then 4, 5, 6 & sometimes 7, 8, 9 depending on how many transmitters on the aerial - always in 3s

So in your example 1XXXX, the transmitter is facing north (so should be to the south of you) but depending on that aerial (yours only has 3)

We then get to the XXXX

I believe that CSRs are allocated by the government and are a 5 figure number. Therefore CSRs upto 9999 are able to be placed quite simply.

15023 is correct.

However, what happens when transmitter number 10001 comes along? According to O2 numbering system, that 0001 number is already allocated. So they have to use another method of identifying cells.

Somewhere else in the country there might be transmitter that IDs as 15023 :shock: :?

So having a database of CellIDs and transmitter numbers is not all that is needed, the additional "identifier" is required and together that gives the CSR which has a lat/long applied to it.

The identifier is the LAC or Local Area Code

So AXXXX + LAC = CSR

There are still a few anomolies in this as well it would seem. Fill-in transmitters and "private" or "mini" transmitters the likely cause.

I had access to the O2 CellID db when I was last working & we were able to create a basic Cell tracking system, but the company went titsup.com before we were able to factor in LAC and signal strength etc.

Does your program work on XDA2?
[Windows Mobile Development and Hacking General] mjgermain:
Thanks for the info.

I do not know if it works on XDAII, as I am waiting for the prices to fall before I get one.

The DLL just opens COM2 as described by many in this topic and calls devicecontrol to enable the sending of AT commands.

It then sends AT+CREG=2, followed by AT+CREG?

parses the reply and then closes the COM port.

My prototype is not perfect as it seems to upset voice call setup and cleardown if called during these phases, although it does not seem to affect in-progress calls. It seems OK with established GPRS connections also.

Many thanks and acknowlegements to those in this forum (particularly ITSME) for pointers.

OK now the $64000 question:

Given the cellid returned, how can I find out where I am?

Also is there any similar site for other networks?
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
$64k answer

Once you have the CORRECT CSR, you need to be able to feed that to a piece of software that has a list of CSRs and Lat/longs for each. This will then allow you to interface with a map and produce a display of location or send that CSR back via GPRS so that a remote user can track you.

You will also want to use other information such as signal strength, nearest other towers/nearest other towers signal strength in order to make your position more accurate.

The $64m problem is that it is virtually impossible to get hold of O2's CellID database...
[Windows Mobile Development and Hacking General] michar:
Hi,

Looks like a start of a good proccess.

Is there any chance you can publish that dll of yours, so we could all learn and wisen up?
[Windows Mobile Development and Hacking General] michar:
Tnx

I'll look closly into it when I have the time, right now I'm working hard to complete the new PhonePlus! version.

But really, thanks for sharing, it looks very interesting to try it out in my country, cheers :lol:
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
Any updates on this or further contributions? Be good to keep it going.
[Windows Mobile Development and Hacking General] mjgermain:
My DLL seems to work (with minor changes) on MDAIII and also on a Yakumo PDA/Phone although for the latter, COM2 does not work and you have to open the com port using a RIL function. I never got round to getting an XDAII.

I have established, by trial-and-error, the CellID's near the sites where I need to use the device, but would kill for the cell database on all networks.
[Windows Mobile Development and Hacking General] Puff The Magic Wagon!:
I bet you would ;)
[Windows Mobile Development and Hacking General] Zone-MR:
Heya, any chance you could post your latest code? Do you now always use a RIL function to open the com port (even on XDAI/II devices), or just on Yakumo devices?

Have you managed to solve the problem with it messing up call init/hangup?
[Windows Mobile Development and Hacking General] Zone-MR:
Thanks for the reply. I'm about to test if the same technique will work on the c500 smartphone.
[Windows Mobile Development and Hacking General] Namal:
Hi,

please let us know if you get somewhere on the c500 ...

I tried it and got -2 as an error for fnGetCell and "unknow error" for fnGetCell2 ....

thx,

Phil, still looking for the cell ....
[Windows Mobile Development and Hacking General] Pyrofer:
Just a thought....

I found an app on the web that links a symbian phone with a gps receiver to make its own map of location/cellid/signal

using that map and some clever maths, it can then triangulate your position from only the cellid/signal level data.

So, once you have walked around lots with the GPS enabled and built up a map you can disconnect the gps and upload that map to other users...

If a similar app were to be developed for XDAII then everyone with a GPS unit could download it, run it for a bit as they walk around where they live and travel etc allowing a very large and complete map to be slowly built up including signal strength at each location, giving a much more accurate location than just cellid.

Ill see if i can dig up links to the original software etc.
[Windows Mobile Development and Hacking General] sharpstuff:
My first post! Wahay!

Code works on my T-Mobile MDA compact... Thanks Mjgermain, been trying to crack this one for ages! :-)
[Windows Mobile Development and Hacking General] suecom:
You might be interested in this (location utility using GSM signal) for WinCE smartpahones: http://celltrack.spv-developers.com/

I think it's where this thread started?
[Windows Mobile Development and Hacking General] sharpstuff:
That's where my search started, and eventually lead me here.

I'm no expert in these matters, but it looks like it copies a cell id structure directly from memory, rather than using RIL or AT Commands.

Incidentally, the code snippet earlier in this thread works on my MDA Compact, but seems to the throw the phone into confusion, being unable to send/receive text messages and other oddities.

:-)
[Windows Mobile Development and Hacking General] mjgermain:
As stated earlier, I did have some issues with phone disruption if the dll was called during voice call setup. I haven't seemed to have this problem on the MDA III which I am now using, but that may be firmware related. One of my applications regularly uses sms to send the cell ID retrieved with no problems, but of course in this case I never try to call the cell id dll whilst actually sending the sms message.
[Windows Mobile Development and Hacking General] vijay555:
Anyone got any more complete code on this issue for Compact?

Thanks!

BTW - celltrack is opensource and all code is available for perusal!

Vijay
[Windows Mobile Development and Hacking General] pai:
I am trying to use AT command to get CellID on MDA Compact, too.

But after sending "AT+CREG=2", I get Error "+CME ERROR: 3" (Operation not allowed).

Does anyone else have the same problem? or how have you done it?

Thanks
[Windows Mobile Development and Hacking General] Climber104:
Example code output

Anyone have any example outputs from the above code? I was wondering how often it is changing for you. It seems to me, that every time i query i get one of about 5 values (6 -digits). Please let me know what kind of behavior you are seeing.

Chris
[Windows Mobile Development and Hacking General] sharpstuff:
The format of the command is: -

+CREG: <n>,<stat>[,<lac>,<ci>]

<lac> is the area code, and <ci> is the cell id

Hope this helps
[Windows Mobile Development and Hacking General] penguin:
Re: Example code output

Hi,

At most locations (in a city at least) 3 to 5 Towers are within range of your device and the CellID received will jump about between them every few minutes.
[Windows Mobile Development and Hacking General] Climber104:
cell tower database

i wanna use this information to compile a DB of cell towers, and make it free and open source. Anybody else share the same ambition (in the USA).
[Windows Mobile Development and Hacking General] JoelParker:
Read from AT command always returns 0

I have an iPAQ hw6500 running Windows Mobile 2003 Pocket Pc Phone Edition. I use RIL to send AT commands, to get the cell ID. I used the exact code that mjgermain posted fnGetCell2, I have also tried the CreateFile way, with the same result. For some reason, the read always returns NULL ? Anyone know why this never returns a result. Has anyone been able to get the cell id from a device like mine ?

:roll:
[Windows Mobile Development and Hacking General] pai:
Is there anyone has the same problem?
[Windows Mobile Development and Hacking General] 4n15:
fnGetCell2 weird output

hi all

i used the code posted here and created the dll.

i called the fnGetCell2 function.i got -130 as output .

the phone i'm using is imate jam.

i tried the ril.h before and got weird outputs too.

do any one post a sourcecode or a walkthrought....

thanks in advance
[Windows Mobile Development and Hacking General] 4n15:
AT commands not working

hi pai.

I have the same problem.

I even tried the "Port Commander" form vidyasmart.com, I can open the COM2 port...but when sending a AT command -it will reply a NULL value...(same results from using the code posted in this forum).

I droped an email to Viday Smart asking about why I'm getting a NULL reply.There reply was:"Please contact the customer support of your pockect pc device manufacturer, querying whether your internal modem is compliant to AT commands."

:cry:

(I tried the program I did based on the posted code and the "port commander" on magician and blue angel).

do u have any solution?

thanks

--4n15
[Windows Mobile Development and Hacking General] sharpstuff:
I have developed an application that works nicely on my t-mobile mda compact.. you are all welcome to try it out, if you want the source then let me know.

http://www.nicecuppa.com/nicetrack.asp
[Windows Mobile Development and Hacking General] 4n15:
hey sharpstuff,

I tried NiceTrack on i-mate pda2k (blue angel),and it worked fine :lol: :lol:

--4n15
[Windows Mobile Development and Hacking General] sharpstuff:
I just posted the source on the above URL if anyone's interested
[Windows Mobile Development and Hacking General] macrinus:
Hello,

This app is looking great. What an useful little tool to have :-)

So far it's working great, no problems found.

I only have one request though, could you please show the signal strength in dBm's in addiction to the signal percentage already implemented. The graphic however is excellent since it might give an idea of when an handover might occur :-D

Thanks for the excellent work.
[Windows Mobile Development and Hacking General] sharpstuff:
Thanks for your comments... The signal strength is returned from RIL as an integer 0 - 32, once I figure out how to convert the value I'll put it in.
[Windows Mobile Development and Hacking General] 4n15:
Other AT commands

thanks sharpstuff.

keep up the good work :D .

Did anyone tried other AT commands like ( +CCED , +WOPN , etc....).

thanks in advance

--4n15
[Windows Mobile Development and Hacking General] 4n15:
CCED command

hi all,

I tried the command at+cced =0,8 , and got the same reply of +csq (ie: the same response of at+csq ) :D

but when I try to get all the data from +cced = 0,15 . the reply will be an empty string.

Should I sent another AT command to get +cced fully working?

thanks in advance

--4n15
[Windows Mobile Development and Hacking General] sharpstuff:
I get null strings too :-(