Evan,
Great howto there. I've been going through similar steps myself with Microsoft
eMbedded Visual C++ 4.0+SP+SDK, but, like you, I'm waiting on a positive result
before I claim that the build process works. If and when we get this working,
I'll put your howto below into the placelab repo since it's a very good
summary.
The JNI headers I copied from j9. BTW, have you managed to get Visual C++ to
recognise an external directory as being an "include" directory, or did you
copy the headers into the source directory and change the #include lines to say
"[path-to]/jni.h" instead of <jni.h>, which was my dirty hack?
Unfortunately, the guy who originally built this stuff has left Intel, so while
some others might be in the know, it might also be up to us to figure things
out from scratch.
Ta
James
>-----Original Message-----
>From: placelab-users-admin@xxxxxxxxxxxxxxxxxxxxx
>[mailto:placelab-users-admin@xxxxxxxxxxxxxxxxxxxxx] On Behalf
>Of Evan Welbourne
>Sent: 25 November 2004 05:27
>To: placelab-users@xxxxxxxxxxxxxxxxxxxxx
>Subject: Re: [Placelab-users] Spotter problems with Windows CE 4.2.1?
>
>
> Thanks, hopefully a change in the name of the network device
>is all that's needed.
>
> I've been able to open the vcw file and build a native dll
>using Microsoft Embedded Visual C++ 4.0 (freely available from MS).
>I wrote out the software tools and process for doing this is below.
>I should note that though I'm pretty sure this is the correct tool
>chain, I have yet to see a dll that I compile work correctly
>(even if I don't make any changes to the native code).
>
>Software Tools:
>---------------
>
>* MS Embedded Visual C++ 4.0
>http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb
3d-50d1-41b2-a107-fa75ae960856&displaylang=en
>-- note that they give you the CD key at the bottom of this webpage
>
>
>You will also need to download:
>
>* eMbedded Visual C++ 3.0 and 4.0 SP
>http://www.microsoft.com/downloads/details.aspx?FamilyID=5bb36f
3e-5b3d-419a-9610-2fe53815ae3b&DisplayLang=en
>http://www.microsoft.com/downloads/details.aspx?familyid=4a4ed1
f4-91d3-4dbe-986e-a812984318e5&displaylang=en
>
>* SDK for Windows Mobile 2003-based Pocket PCs
>http://www.microsoft.com/downloads/details.aspx?familyid=9996b3
14-0364-4623-9ede-0b5fbb133652&displaylang=en
>
>I think this is also useful as well, though I haven't looked at it:
>
>* Developer Resources for Windows Mobile 2003 Second Edition
>(probably useful)
>http://www.microsoft.com/downloads/details.aspx?familyid=6a34dc
83-c3ce-4a4c-ab83-491fd5729551&displaylang=en
>
>ActiveSync is of course also needed:
>http://www.microsoft.com/downloads/details.aspx?FamilyID=2eb5bd
80-d52c-4560-ae11-da92f2b229fa&displaylang=en
>
>
>Build Process:
>--------------
>
> Using this setup, you can open the .vcw file in
>placelab\native\wince\ndis_spotter which should be configured to
>compile the dll. It might be that the <jni.h>, <jni_md.h>, and
><jri_md.h> header files are missing, these can be found using google.
>If you compile with ActiveSync running in the background, MSEVC++ will
>place the resulting dll ("Spotter.dll") in the \Windows directory on
>your device, it will also put Spotter.dll in
>placelab\native\wince\ndis_spotter\ARMV4Dbg.
>
> Then you can build placelab.jar (which includes the Spotter.dll,
>though it is renamed to "spotter_ce.dll" in the jar) using the
>buildjar.sh script in placelab\util - I'm doing this using cygwin
>(if you use cygwin you may have to add jar to your path, usually
>something like "/cygdrive/c/j2sdk1.4.2/bin/jar" assuming java 2
>SDK 1.4.2 is installed). You can then move placelab.jar to
>\placelab\lib on your device using ActiveSync and theoretically,
>I think, you should be able to run Place Lab using the dll you
>compiled.
>
>
>Note:
>-----
>
> This said, I've compiled the dll, created placelab.jar, and moved
>them both to my device as described above, but I still have
>trouble using the spotter_ce.dll. Whenever spotter_init (the
>first native call) gets called, it throws an UnsatisfiedLinkError
>(this is in WiFiSpotter.java) - this is despite the fact that it
>loads the dll without throwing an exception. I've tried renaming
>\Windows\Spotter.dll on the device to "\Windows\spotter_ce.dll",
>but this doesn't help. I think there is probably something wrong
>with the process I outlined above, maybe it's that I don't have
>eMbedded visual C++ 4.0 SP installed on the machine I was using(?),
>or maybe it's something else?
>
> If anyone who has actually built a native spotter for a PDA
>could comment on this setup and process I'd appreciate it.
>
>Thanks,
>Evan
>
>
>
>On Thu, 25 Nov 2004, Joost Veenstra wrote:
>
>> Hi,
>>
>> It seams that the name of the networkdevice may be different for
>> different models of the iPAQ.
>> See the mail we got from Malcolm Hall:
>>
>> -----Original Message-----
>> *From:* Malcolm Hall [mailto:mh@xxxxxxxxxxxxx]
>> *Sent:* Wednesday, 24 November 2004 11:09 PM
>> *To:* Peterl@xxxxxxxxxxxxx
>> *Subject:* RE: Java and Wififofum
>>
>> Placelab uses the NDISUIO driver to get wifi info, which is
>the same as
>> what I use for WiFiFiFoFum. It should work on all pocket pc
>2003. If you
>> look at the native code you?ll see they have hardcoded the
>device name
>> as VNETUSBA1 which is the driver name on the 5550 and 5450,
>for other
>> ipaqs the driver name is different. Is that maybe the
>problem you mean?
>>
>> I?ve not used a MIDP JVM but I have used the NSICOM Crème
>JVM which was
>> good because although it was only Java 1.1 it had swing and a serial
>> library I think.
>>
>> ---
>>
>> This can be found in spotter.c
>>
>> *int* *spotter_poll*(SawAPFunction ap_fn)
>> {
>> ...
>> /// We need to set the OID for scanning -- promiscuous mode
>> / pSetOid = (PNDISUIO_SET_OID) &SetBuffer[0];
>> -->!!!! pSetOid->ptcDeviceName =
>TEXT(*"VNETUSBA1"*);!!!!!<---------
>> pSetOid->Oid = OID_802_11_BSSID_LIST_SCAN;
>> ...
>>
>> Changing this to the appropriate name might solve the problem.
>> But how to build a new dll out of the souce code. They
>provide a vcp and
>> vcw projec file but it are not visual studio files. It seems
>there also
>> are some headerfiles missing. Does anybody know how to build
>the native dll?
>>
>> Thanks,
>> Joost.
>>
>> Evan Welbourne wrote:
>>
>> >Hi,
>> > I started working on the native spotter for the hx4700
>w/winCE 4.2.1,
>> >but had to return the borrowed device I was working with
>this morning. I
>> >ordered a new one today which should arrive early next week
>- until then I
>> >thought I'd forward along the original message Fred got
>from the author of
>> >WiFiGraph (yet another stumbler app; it works nicely on the
>hx4700). I
>> >didn't get far enough with the spotter last night to tell
>whether or not
>> >the information in the attached message is really useful,
>but here it is
>> >in case someone else can use it:
>> >----------------
>> >
>> >
>> >
>> >>From: "William Wong" <compulim@xxxxxxxxxx>
>> >>Date: October 28, 2004 1:48:10 AM PDT
>> >>To: "Fred Potter" <fpotter@xxxxxxxxxxxxxxxxx>
>> >>Subject: RE: WiFiGraph
>> >>
>
>> >>Hi Fred,
>> >>
>
>> >>It isn't special tricks but just pattern of data
>extraction. If you own
>> >>a h4150, you will definitely figured it out within days.
>> >>
>
>> >>Perhaps if you eyes are fast enough, you could trace what
>I did in the
>> >>"Advanced Panel" shown on bottom of the screen.
>> >>
>
>> >>So we use the logic this way:
>> >>- Wait 200 milliseconds
>> >>- Issue ScanBssidList command
>> >>- Wait 800 milliseconds
>> >>- Issue GetBssidList command
>> >>- Reset device
>> >>
>
>> >>The logic is definitely *NOT* working on chipset other
>than TI ACX-100
>> >>chipset. For optimality, you should dynamically choose
>different logic
>> >>for different device.
>> >>
>
>> >>Btw, did your applications works on Dell X30? It seems they always
>> >>returns wrong value.
>> >>
>
>> >>We are non-profit organization and survive by both users'
>support and
>> >>our Real World job. In return of the "secret", could you
>kindly credit
>> >>us in your application and source code?
>> >>
>
>> >>Please keep contact.
>> >>
>
>> >>Cheers,
>> >>
>
>> >>
>
>> >>Compulim
>> >>
>> >>
>> >
>> >
>> >-------------------------------------------------------
>> >SF email is sponsored by - The IT Product Guide
>> >Read honest & candid reviews on hundreds of IT Products
>from real users.
>> >Discover which products truly live up to the hype. Start
>reading now.
>> >http://productguide.itmanagersjournal.com/
>> >_______________________________________________
>> >Placelab-users mailing list
>> >Placelab-users@xxxxxxxxxxxxxxxxxxxxx
>> >https://lists.sourceforge.net/lists/listinfo/placelab-users
>> >
>> >
>>
>>
>> -------------------------------------------------------
>> SF email is sponsored by - The IT Product Guide
>> Read honest & candid reviews on hundreds of IT Products from
>real users.
>> Discover which products truly live up to the hype. Start
>reading now.
>> http://productguide.itmanagersjournal.com/
>> _______________________________________________
>> Placelab-users mailing list
>> Placelab-users@xxxxxxxxxxxxxxxxxxxxx
>> https://lists.sourceforge.net/lists/listinfo/placelab-users
>>
>>
>
>
>-------------------------------------------------------
>SF email is sponsored by - The IT Product Guide
>Read honest & candid reviews on hundreds of IT Products from
>real users.
>Discover which products truly live up to the hype. Start reading now.
>http://productguide.itmanagersjournal.com/
>_______________________________________________
>Placelab-users mailing list
>Placelab-users@xxxxxxxxxxxxxxxxxxxxx
>https://lists.sourceforge.net/lists/listinfo/placelab-users
>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
|