Forum: General Topics

Forums / General Topics / Windows Mobile 6.1

 

Subject:Windows Mobile 6.1 

jyates

21:27
Thursday
26-Mar-2009

After finally getting my Nokia 6275i up and running and working 'Just Right'(tm)... my boss made me an offer I couldn't refuse and I have 'upgraded' to an Okta Touch (aka HTC Touch)... after a firmware upgrade, the inbuilt GPS has been enabled and I am once again keen to get TMJ running (mainly because of the time invested in getting my aviation maps converted!! :)

I have managed to get GoogleMaps... a couple of GPS utilities and Garmin Mobile XT running... so the GPS functionality is definitely working... however when i tried TMJ, and selected "Connect Int-GPS", nothing happens :(

Has anyone had any luck with Windows Mobile devices??

For what it is worth, I have noticed that all the apps that do work seem to be using something called 'GID' (GPS Intermediate Driver) to connect to the GPS hardware (QualComm GpsOne Card)... If I try using COM or GPD ports, I just get 'GPS Device not found' type errors...


regards,
Jared

 

Stephen

14:38
Saturday
28-Mar-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Jared,

I must admit I'm actually surprised that TMJ has even installed on the Touch - I've not had many good reports of it running on Windows Mobile phones at all recently, and their support for J2ME seems to vary.

I'm not sure how the GID thing works, but on Windows Mobile devices that have worked in the past the only way to connect to the GPS has been via a COM port, ie Menu/GPS/Enter Manual Connection URL/comm:COM5, etc. Do any of the GPS utilities mention the COM ports at all (are these J2ME programs, by the way?), or are there any options in the phones settings that allow a com port to be set?

I'd also suggest trying the Generic 'Without Bluetooth' version from the download page, as the Internal GPS and Bluetooth API versions can sometimes prevent it working properly on phones that don't support these APIs.

Sorry to not offer much assistance - I don't have access to any recent Windows Mobile phones so troubleshooting is an almost impossible job :-(

Cheers,
Stephen
 

jyates

0:35
Monday
30-Mar-2009

Hi Stephen,

Following your suggestion to try manual settings, I havent had any luck get TMJ to work... However, I went for a nosey into the OS settings... and found a page in the GPS settings (which I swear wasnt there before) that allows you to set a port number for programs to connect to. So I set this to COM4.

Now, the GPS Utilities find the GPS device on COM4 and I have been able to get Garmin Mobile XT working on COM4... so I think I am making some progress.

Unfortunately, when I go into TMJ and look under Main Menu/About... all I see is "Com Ports: null" :(

I'll try the other versions and see what happens...
 

jyates

2:36
Monday
30-Mar-2009

UPDATE:

Ok... have been experimenting and have discovered the following:

Using JBlend JVM - Was preinstalled on device

Standard: Installs OK. However cannot access submenu's properly... can bring up main menu, but when selecting 'Enter Manual Connection URL', no input box is displayed.

With JSR-179 Internal GPS: Installs OK, but cannot connect to GPS device.

Without JSR-82 Bluetooth API: Installs OK, can enter connection URL, but program still fails to find GPS device (Main Menu/About lists Com Ports as 'null')


Using IBM J9 JVM

Same results as above but application hangs on Exit (Exiting TMJ-Mobile, Saving Position, Please wait...) and looking at Main Menu/About there is no 'Com Port' section.


 

Stephen

18:04
Wednesday
1-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Jared,

The IBM J9 JVM might be the best bet (with the 'Without JSR-82' version)- have you tried entering comm:COM4 into the Manual Connection URL box? This runs fine on my Dell Axim (its COM7 on that, which then triggers the PDA to connect to a separate bluetooth GPS device - it doesn't have an internal one). The Dell is only Win Mobile 2003 SE though, so maybe the Win Mob 6 version doesn't support this so well, or works differently. Incidentally, just noticed that mine doesn't list any ports in the About box either, so its not necessarily a sign of a problem.

I may be wrong but I suspect that JBlend might not support COM ports, so perhaps the Internal GPS version is the best bet after all - do you get any errors listed in the Event Log when trying to connect to the GPS with this?

Cheers,
Stephen
 

jyates

20:08
Wednesday
1-Apr-2009

I have configured the system to use COM1, so I tried entering comm:COM1... the JVM then popped up saying "Do you want TMJ-Mobile to have access to communication port yadda yadda"... so I select yes. Unfortunately, still no luck :(

The event log has a whole lot of:

Starting BT;
Stopping BT;
Starting BT;
Stopping BT;
Starting BT;
Stopping BT;
Starting BT;
Stopping BT;
....

and at the very bottom:

Starting BT;
Stopping BT;
195026.399Err: java.io.IOException: Parity error @ HGE-100:2;
Starting SE HGE-100;
Starting BT;
CP1252;
Wpts:0;

 

Stephen

21:32
Wednesday
1-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Jared,

The IOException line might indicate a bug so I've made a couple of changes and e-mailed you a test version off-list (the 'Without Bluetooth' version - I assume you're using the J9 JVM for this...)

Any luck?

Cheers,
Stephen
 

jyates

22:14
Wednesday
1-Apr-2009

Hi Stephen,

Thanks for your effort but, unfortunately, still no luck... Although the IO exception is no longer evident in the log:

CP1252;
Wpts:0;
Waypoints Descriptions: true;
UTF-8 encoding on;

But then I just get the BT Stopping/BT Starting stuff again. The application still hangs on exit when 'Saving Position' too.

If only I was UK based... I'd be happy to give you my phone to play with for a week or 2! :) Might have to bust out my java skills and get all developer-like on my phone :P

cheers,
Jared
 

Stephen

11:46
Thursday
2-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Mmmm, its certainly not too easy debugging a phone that is 20000km away!!

I've sent you another version - it won't fix anything but there may be more/different errors in the log that might shed some light... must admit I'm pretty much out of ideas :-(

Cheers,
Stephen
 

jyates

22:34
Thursday
2-Apr-2009

Ok... a new error:

Stopping BT;
223001.451Err: java.io.IOException: Error reading data; error code=1359, (1359) The security account database contains an internal inconsistency. @ BT Error 6;
Starting BT;
Stopping BT;
222949.961Err: java.io.IOException: Error reading data; error code=1359, (1359) The security account database contains an internal inconsistency. @ BT Error 6;
Starting BT;
CP1252;
Wpts:0;
Waypoints Descriptions: true;
UTF-8 encoding on;
 

jyates

22:38
Thursday
2-Apr-2009

And now getting lots of:

Stopping BT;
223646.219Err: java.io.IOException: Parity error @ BT Error 6;
Starting BT;
 

Stephen

21:02
Sunday
5-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Jared,

Oh dear, I'm now not too sure what to suggest! :-(

I don't know what the 'security account database' error means, but its probably the key to the problem. It sounds like the phone is preventing the JVM from accessing the COM port. (Do any other J2ME apps work properly in the same JVM? I know you mentioned that Google Maps and other utilities worked, but are these J2ME based or native-code/Window .NET applications?)

Its very annoying - I've had a number of others trying to use HTC or Windows Mobile phones, seemingly all without success. I can't find any developer resources from HTC either, which makes developing so difficult. As a comparison, Sony Ericsson, Nokia and BlackBerry (I guess my main target devices), all offer masses of development resources on their websites, which makes all the difference...

Maybe one day I'll invest in a new Windows Mobile phone, certainly be good to get TMJ working on more platforms...

Best regards,
Stephen
 

jyates

3:36
Monday
6-Apr-2009

Hi Stephen,

I was afraid you were going to say that!

I have tried downloading a little java app from here: http://qcontinuum.org/gpstrack/

And it seems to be able to connect to the GPS OK... It prompts for Bluetooth or Serial Port. I select Serial Port and it prompts for COM1 or COM7. I selected COM1 and it asked for baudrate, so I just selected 4800 (have tested with other speeds and they all seem to work as well).

Then the JVM pops up (as it did in TMJ) a prompt asking if "the application can activate a local port for connectivity to another computer until it finishes." I selected Yes...

It comes up 'Connecting to GPS...' and then after a short wait, the application screens (Track Status, GPS Status, come up and the obligatory compass rose showing the relative satellite locations). Then a short while later the satellites were detected and then locked in and away it went...

Handily, it would appear that the source code is there as well :) Perhaps that may be of use? As far as I can see, it just creates a string like 'comm:COM1;baudrate=4800' and uses that...

But i've only browsed the code for about 30 secs... looking in gps.java


String url = "comm:" + preferences.getPort() + ";baudrate=" + preferences.getBaud();
streamConnection = (CommConnection)Connector.open(url);



regards,
Jared
 

Stephen

8:14
Monday
6-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Aha, thats interesting! Looking at the GPSTrack code it appears to work exactly the same way as TMJ - I wonder, have you tried adding the baudrate parameter into the TMJ connection URL? TMJ uses the exact same connector code, ie:
conn = (CommConnection)Connector.open(url);

where url is the entire value entered into the Connection URL box, so just enter it as comm:COM1;baudrate=4800 etc.

Incidentally, there is further information on the url parameter format here.

Fingers crossed!!
 

jyates

9:37
Wednesday
8-Apr-2009

Hi Stephen,

The news is not exactly good... I've been experimenting with other JVMs and now I am starting to see errors like:

092007.723Err: javax.microedition.io.ConnectionNotFoundException: Cannot create comm,COM4;baudrate=4800 @ BT Error 0;

Note that I have not mis-typed that... it says comm,COM4... not comm:COM4... (ie. the ':' has become a ',')

not sure if this is perhaps a key to my problem?

I tested it by purposely putting a misspelling, just to make sure that the 'comm,' part was not a hardcoded part of the Exception, IE. I put in the following:

cmm:COM4;baudrate=4800

and I get an error that says:

092739.654Err: javax.microedition.io.ConnectionNotFoundException: Cannot create cmm,COM4;baudrate=4800 @BT Error 0;

so it definitely seems to be converting the ':' to a ','... is it perhaps something to do with ISO8859-1?? or is there a stray piece of code doing something weird to the url parameter?


cheers,
Jared
 

jyates

23:55
Wednesday
8-Apr-2009

A minor victory!

I downloaded and installed 'phoneME Feature - MIDP rev17059' from here:

http://www.cs.kuleuven.be/~davy/phoneme/?q=node/10

And it has successfully connected to the GPS! I can see some NMEA sentences on the GPS/WEB screen...


$GPRMC,,V,,,,,,,,,,N
$GPGGA,,,,,,0,,,,,,,,


Now for the bad news... it is a little slow... and I have discovered that with a touchscreen device like mine, it is somewhat difficult to press '*' when the 'keypad' gets locked!! Which, unfortunately, is very easy to do when the menu->display->lock keypad sequence is 3 taps on the screen :P
 

Stephen

9:08
Thursday
9-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Jared,

Sounds promising! Those NMEA sentences are not generated by TMJ so it must be successfully connecting to the GPS, though I'm not sure why they're blank. Is the GPS enabled? (Or can you start it manually by switching to another program - the phones built-in GPS utility perhaps). It might be that TMJ needs to send a command to the GPS to start it running.

The slowness is a bit annoying, but I would think its down to the JVM. (With the J9 JVM my 5 year old Dell Axim seems to run TMJ faster than my much newer mobiles!). Incidentally did you not have any luck with adding the baudrate command in the J9 version?

With the screen locking, the [*] key is mapped to the top-left area of the screen, and [select1/menu] to the bottom right - are you able to just press these areas of the screen to unlock it? The rest of the screen mapping (its split into 9 segments) is:
STAR  UP  HASH
LEFT FIRE RIGHT
SEL1 DOWN SEL2


In your other post about the cmm,COM4 problem, this seems very odd. Maybe its just a bug in the JVMs error reporting function. After entering the string in the 'Enter Manual Connection URL' box, what happens when you go back to this function - is the URL still written correctly? If so then this suggests that TMJ is still storing it correctly internally...

Cheers,
Stephen
 

jyates

23:48
Thursday
9-Apr-2009

I think the NMEA sentences were blank because the GPS had not locked onto anything... once it found a satellite or three it started spitting out sentences filled with all sorts of interesting looking numbers and characters :)

And yes, the slowness is annoying... it really is quite bad... and unfortunately it would appear that, as you say, it is a product of the JVM as the program is actually quite crisp under other JVM's like J9, JBlend etc...

Thanks for the tips on the screen mapping, that works perfectly... the reason I hadn't noticed it before, was that it was just taking so long to respond to the inputs (like 4 or 5 seconds!)... so I just was not being patient enough for it to come up with the 2nd 'Press [menu] to unlock' prompt and was busy pushing other parts of the screen and/or buttons etc... whoops!

And no, no luck with the baudrate parameter in J9... just 2 of those weird "java.io.IOException: Error reading data; error code=1359, (1359) The security account database contains an internal inconsistency" errors, followed by all the "java.io.IOException: Parity Error" ones (one for each time it tries to connect to the GPS).


So basically I am left with the following results from the various JVMs:

JBlend (Default JVM on device) - Application runs fast but does not seem to be able to use COM ports, so cannot connect to GPS
IBM J9 - Application runs fast but seems to have issues when trying to read from COM ports and/or local file system (it hangs on exit when trying to write out settings etc.)
Esmertec Jbed - Nice and fast, but cannot access COM Ports (javax.microedition.io.ConnectionNotFoundException), reads and writes from/to file system OK tho.
Esmertec 'normal' - Says "a MIDlet thread threw an uncaught exception. Kill the MIDlet?" on startup when trying to read preferences. Suspect it is having issues reading from the filesystem
Intent Midlet Manager - Speed seems OK, but again cannot access COM Ports (javax.microedition.io.ConnectionNotFoundException), File system access seems fine as it can read/write preferences OK.
Mysaifu JVM - throws a java.lang.Exception "No Main-Class attribute in tmj-mobilenobt.jar". I suspect this JVM is not MIDP capable.
phoneME 'Feature' - Connects to GPS, File System access is OK... but the application runs diabolically slow and does not seem to display my raster maps :(


So I either have a nice snappy application that does nothing but looks nice... or I have an application that will actually connect to the GPS but is basically unusable :(

My next step is to see if I can source a different version of the J9 JVM and see if that works any better.

I must say, it is quite weird how it 'just ran' on the crappy little Nokia 6275i... and is causing me so much grief on the 'more capable' Okta (HTC) Touch...

I'll blame microsoft for not putting a decent JVM in Windows Mobile 6.1 :P


 

Stephen

17:27
Monday
13-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Thanks for the report on the various JVMs - nice to have the detailed breakdown, just a shame that none of them work! :-(

I suspect that its not in Microsofts interests to promote Java as it competes with their own .NET platform, leaving the manufacturers to cobble together their own Java implementations, which vary greatly. Odd though, since this just ends up making Microsoft's (otherwise powerful) platform seem a bit rubbish!

Can't remember if you said whether you'd tried it, but did the built-in JBlend JVM work with any other Java apps, maybe using the Java Location API instead of the COM ports? Does the 'Generic with JSR-179' version give any errors in the log when attempting to connect to the internal gps?

Bring back the Nokia!!

Cheers,
Stephen
 

jyates

1:18
Friday
17-Apr-2009

Ok... well I discovered that IBM J9 apparently does not have JSR179 support! Or Local File support either... which kind of explains some of my issues :)

Anyway, I found this implementation of JSR179 for WEME (aka IBM J9) at GoogleCode: http://code.google.com/p/location-source/

I installed it, but not sure if it is working OK... as the TMJ-mobile with JSR179 support has some issues.

Firstly, it seems to load correctly (at least the first time), but when I select 'Connect to Int-GPS' it crashes... If I load TMJ and then quit (and it writes out preferences etc.), the next time I try to load TMJ it just hangs at 'Loading preferences'...

I tried MGMaps... and it says that there is no internal GPS available... so I am thinking that the JSR179 addon is not working as it should. It does however seem to find the GPS OK on COM4... arrrggghhhh

Also, TMJ JSR179 does not seem to want to display some of the menu's... when I select: Settings -> Other Settings, I dont get the settings dialog... the menus close and I just end up back at whatever screen was displayed prior to bringing up the main menu???

The event log is empty except for:


ISO-8859-1;
Wpts:0;
Waypoints Descriptions: true;

UTF-8 encoding on;



Getting close to abandoning all hope :(
 

Stephen

8:38
Friday
17-Apr-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

" Getting close to abandoning all hope :( "
I totally understand - it must be very frustrating. (It is for me too, since I'm all out of ideas!)

Sounds like the JSR179 is a total non-starter, but its even more annoying that the COM connection doesn't work, especially if other J2ME apps like MGMaps work okay.

I'll let you know if I have any more ideas...

Regards,
Stephen
 

meinalf

18:48
Tuesday
18-Aug-2009

Phone Model:
SE W810i, Nokia 5800, MDA IV

Hello,
do I conclude right in stating that TMJ does not run correctly on Windows Mobile 6.1 up to now, even with several Java programs?

It would be a pitty, but just say YES, when its a fact.

Meinalf
(having to look for an alternative for my wifes handy MDA IV / HTC touch diamond, desperately)
 

jyates

19:13
Tuesday
18-Aug-2009

All I can say is that it does not run properly on my Okta Touch (CDMA). This is a rebranded HTC Vogue.

I tried pretty much everything I could to get this working, but the java support in WinMo is pretty poor to be honest.

Although, I just had an idea... I recently tried the Google Android "Cupcake" port. I tried the GPS functionality with this OS, and it was working... so I'll have to give TMJ a go when running Android and see if that works!

I'll let you all know how I get on...
 

jyates

20:28
Tuesday
18-Aug-2009

Unfortunately, the news is not good :(

It would appear that Android, while based on various Java techs, does not actually run Java apps.

It comes up with a "Content is not compatible with this phone" error if you try to download the JAD or JAR files :(

Oh well, back to the drawing board...


 

jyates

21:08
Tuesday
18-Aug-2009

Ok... so I found that there is a JavaME application in the Android Market.

I installed it and tried to open the "JSR-179" JAD file to install. It came up saying that it was "converting J2ME to APK"... after a couple of minutes (you have to be pretty patient!) it said it was going to install the MIDlet (you need to have configured your phone to allow 3rd party apps) and it seemed to install OK.

Unfortunately, when I try to run it, it just closes.

So I tried the "Standard" JAD File, it converts and installs OK as well.

Better news is that TMJ starts up, but the JVM lacks an onscreen keyboard so I cannot enter the manual connection URL....

Same with the "without JSR-82" JAD file...


So close and yet... so far :(
 
 

Stephen

9:03
Wednesday
19-Aug-2009

Location:
Surrey, UK

Phone Model:
BB 9800 Torch
BlackBerry 8900
SE W910i
Nokia 5800

Hi Meinalf,

Yes, I think its safe to assume that TMJ is currently incompatible with the latest Windows Mobile phones. I don't have access to any of these so its almost impossible to troubleshoot, especially since they all use different JVMs. If you have a choice then TMJ is best with Nokia, Sony Ericsson and BlackBerrys (ideally 8900 and above).

Jared,
Ok, here we go again! ;-)

Yes, its annoying, and completely weird that Google have developed Android for use with Java, yet haven't included support for the existing J2ME mobile APIs. If its not Microsoft making things difficult it now seems to be Google!

Interesting to hear that you've tried it under the Android J2ME emulator/converter. Sounds unfortunately like the same story as before, with the emulator supporting the basic J2ME stuff but not the connection/gps bits. Do you get any COM ports listed in the About screen. If not then I wouldn't think the Manual Connection URL would work even if you could enter the text.

I'm slightly confused how you're running Android - it is an Android port running on Windows Mobile hardware?

Cheers,
Stephen
 

(You must be logged in to post a reply to this thread)