[.NET] Direktes debuggen von VS.NET auf WinCE PDA - IP Probleme

Kennung Eins

Cadet 2nd Year
Registriert
Dez. 2005
Beiträge
17
Hallo,

ich hab malwieder ein nettes Problemchen und in den verschiedenen Foren hab ich bisher keine Hilfe bekommen. Vielleicht hat ja hier jemand Ahnung?

Es geht um folgendes:
Von Visual Studio .NET 2003 aus kann man ja direkt seine Projekte auf einem an ActiveSync angeschlossenen PDA erstellen und debuggen. Das funktioniert soweit auch zufriedenstellend. Aber: ich arbeite an einem Client-Server Projekt, bei dem auf einem PC die ServerApp und auf dem PDA der client läuft. Beide connecten per TCP.

Der Server sitzt also auf einer IP, während der PDA an diese IP connected.

Jetzt besteht das Problem, daß ActiveSync dem PDA eine IP-Adresse zuweist. Und zwar die 192.168.55.101.
Diese IP ist auf dem PDA sichtbar, und vom PDA aus kann ich auch auf die 192.168.55.100 (den ActiveSync-PC, also den Rechner, auf dem meine Server-Applikation läuft) pingen.
Jedoch ist die 192.168.55.100 bzw .101 nicht vom PC aus sichtbar, da ActiveSync anscheinend nur virtuelle IPs vergibt, die dann nur vom PDA aus sichtbar sind.

Wenn ich also nun auf meinem PC mit der IP 172.17.xx.xx den Server starte, dann kann ich von vom PDA aus (192.168.xx.xx) durch unterschiedliche Netzbereiche nicht an den PC connecten.

Wie umgehe / löse ich dieses Problem?

__________PC________|______ PDA___________
____________________|_____________________
___ 172.17.xx.xx ______|____192.168.55.101____
___ (192.168.55.100)__ |_____________________

P.S.: Blockiert eigentlich die Windows-Firewall da irgendwas? (ich kann dank Domänenrichtlinie da nix ändern)
 
Hallo Kennung Eins,

ist denn für die IP Adresse 192.xx.xx.xx ein Netzwerkadapter in der Systemsteuerung?
Dann würde ich mal versuchen eine Route dafür einzutragen.

Poste doch mal was bei Dir netstat -r auf dem PC anzeigt.

MfG

Arnd
 
Hallo Arnd,

nein da ist leider kein weiterer Netzwerkadapter eingetragen. Nur der 172.xxxx steht drin - die 168.xxxx scheint eine virtuelle IP-Adresse zu sein, die wie gesagt nur vom PDA aus zu sehen ist.

Hmm hab mal beide Routingtables (PDA + PC) hier reingeschrieben, dei 141.1.xx.xx die beim PDA stehen, ist dessen WLAN-Adapter. Interessant ist die 192.168.21.11 auf dem PC. Keine Ahnung, was das soll.

Auf dem PDA:
Code:
=============================================================================

 Interface List 
 2 	  0 a0 f8 63 d2 ef	 
 3 	  0 0 0 0 0 0	 
=============================================================================

=============================================================================
 Active Routes 
  
 The no. of entries is ::: 13
      Destination       Netmask       GatewayAddress     Interface    Metric  
 ----------------------------------------------------------------------------
          0.0.0.0          0.0.0.0       141.1.1.11        141.1.1.2      30
          0.0.0.0          0.0.0.0   192.168.55.100   192.168.55.101      50
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1       1
        141.1.0.0      255.255.0.0        141.1.1.2        141.1.1.2      30
        141.1.1.2  255.255.255.255        127.0.0.1        127.0.0.1      30
    141.1.255.255  255.255.255.255        141.1.1.2        141.1.1.2      30
     192.168.55.0    255.255.255.0   192.168.55.101   192.168.55.101      50
   192.168.55.101  255.255.255.255        127.0.0.1        127.0.0.1      50
   192.168.55.255  255.255.255.255   192.168.55.101   192.168.55.101      50
        224.0.0.0        240.0.0.0        141.1.1.2        141.1.1.2      30
        224.0.0.0        240.0.0.0   192.168.55.101   192.168.55.101      50
  255.255.255.255  255.255.255.255        141.1.1.2        141.1.1.2       1
  255.255.255.255  255.255.255.255   192.168.55.101   192.168.55.101       1
=============================================================================

Auf dem PC:
Code:
Routingtabelle
===========================================================================
Schnittstellenliste
0x1 ........................... MS TCP Loopback interface
0x10003 ...                   ...... Intel(R) PRO/100 S-Desktopadapter
===========================================================================
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway   Schnittstelle  Anzahl
          0.0.0.0          0.0.0.0     172.17.xx.xx    172.17.xx.xx      20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
       172.17.0.0      255.255.0.0     172.17.xx.xx    172.17.xx.xx      20
     172.17.xx.xx  255.255.255.255        127.0.0.1       127.0.0.1      20
   172.17.255.255  255.255.255.255     172.17.xx.xx    172.17.xx.xx      20
    192.168.21.11  255.255.255.255     172.17.xx.xx    172.17.xx.xx       1
        224.0.0.0        240.0.0.0     172.17.xx.xx    172.17.xx.xx      20
  255.255.255.255  255.255.255.255     172.17.xx.xx    172.17.xx.xx       1
Standardgateway:      172.17.xx.xx
===========================================================================
Ständige Routen:
  Keine
Mußte ein bisschen "schwärzen" (xx), will mir nicht vom Sysadmin sagen lassen, ich verrate hier Geheimnisse ;)
 
Zuletzt bearbeitet:
Dann scheint das eine Spezialität von ActiveSync zu sein. Da ich keinen PDA habe kann ich Dir da leider auch nicht weiterhelfen.

Das es so nicht geht, ist jedenfalls kein Wunder da es keinen Routeneintrag zu dem PDA gibt. Ich nehme an der PDA ist über USB angeschlossen und das ActiveSync stellt darüber dann eine TCP/IP Verbindung zur Verfügung?

Ein einfacher Test wäre ja den PC in das selbe Netz wie den PDA zu bringen. Dann sollte ein Ping von PC zu PDA ja gehen. Vielleicht kannst Du ja einen PC auftreiben, den Du umkonfigurieren darfst.

MfG

Arnd
 
Hmm ja das dachte ich mir auch so .. danke zumindest für deine Bestätigung. Komisch ist, daß wenn ich einen Ping vom PDA aus mache auf den FQDN des PCs, dann löst er den Netzwerknamen erfolgreich in die korrekte IP-Adresse auf.

"Netzwerkname -> IP" ... funktioniert!

Allerdings nachdem er die IP zwar resolved hat, funktioniert das Pingen dann dennoch nicht, no packages returned.

Firewall-Problem? Das wäre doof, denn die Firewall-Regeln kommen von ner Gruppenrichtlinie, da darf/kann ich nix ändern :(
 
Das Problem kenne ich :-). Am einfachsten löst man das in dem sich man einen zweiten PC besorgt der nicht im Firmennetz ist. Da kann man dann machen was man will.

Wenn aber auch der PDA den PC beim Ping nicht findet ist das Probem aber schon grundlegender. Die Namensauflösung auf dem PDA kann ja auch lokal erfolgt sein. Gibt es nicht eventuell einen Netzwerkmonitor für den PDA?

Auf dem PC ist so was auch hilfreich, wenn aber kein Netzwerkadapter vorhanden ist, wird das schwierig.

Hat der PDA eventuell WLAN? Dann könntest Du über einen Accesspoint gehen und würdest die "normalen" Schnittstellen benutzen. Dann ist die Fehlersuche auch einfacher.

Bzgl. Firewall könntest Du ja mal von einem anderen PC aus ein Ping machen, ob das geht.

MfG

Arnd
 
Zuletzt bearbeitet:
Hallo nochmals,

ja das mit dem zweiten Rechner ist so ne Sache. Ich hab hier nen 2. Rechner, das ist mein Laptop und der hat WLAN, und da funktioniert das auch alles (allerdings direkt über WLAN und nicht über ActiveSync) - aber das ist ein Server-Laptop und kein Entwicklungsrechner. Darum ist da auch kein Visual Studio und kein ActiveSync drauf. D.h. die Voraussetzungen sind nicht die selben wie auf dem Entwicklungsrechner.

Ich hab eben mal dem zuständigen Netzwerkadmin bescheid gegeben und ihm mein Problem erklärt (Anrufbeantworter). Bin gespannt auf eine Antwort.

[edit]
Na toll, der Admin teilt mir grad mit, daß die sowieso ausgeschaltet ist (ausser man startet den Rechner, wenn er nicht am internen Netz hängt - dann ist sie an) .. was soll dann das Problem sein?
 
Zuletzt bearbeitet:
Dann ist das ganze wohl nur ActiveSync spezifisch. Bist Du Dir denn sicher das das ganze überhaupt gehen soll bzw. kann? Das ActiveSync scheint seinen IP Stack ja vor Windows komplett zu verstecken.

Das einfachste wäre dann ja wohl an Deinem Entwicklungsrechner einen USB WLAN Stick einzustecken. Damit müsste es dann ja gehen.

MfG

Arnd
 
Hallo,

Hmm naja, sagen wir mal so, ich gehe eigentlich davon aus. Wäre ziemlich blöd, wenn das nicht ginge, denn:
Mit dem Emulator funktioniert es. (Falls du das nicht kennst: Bei Visual Studio kannst du Anwendungen für mobile Geräte (WinCE) erstellen und dann entweder auf dem Emulator oder direkt auf dem PDA debuggen. Und mit dem Emulator funktioniert die Client-Server-Verbindung ja.)
Dort im Emulator gebe ich direkt die IP-Adresse des "Servers" an (also die 172.xxxxx) und der Client connected erfolgreich. Und wenn das im Emulator geht, sollte das doch auch beim deployen über ActiveSync gehen .. ?

Ich werd mal ne Supportanfrage an M$ stellen, die sollten das ja wissen :)
(Obwohl mir z.B. die MSDN-Community bisher nicht helfen konnte)
 
Ich bin in exakt derselben Lage.

Soll eine TCP/IP zwischen einem Elektronischen Gerät (kein PC) und PDA herstellen. Solange ich nicht den PDA in dem Cradle habe, finktioniert dieses auch. Jedoch, sobald ich ihn "cradlele" verliert er die TCP/IP Verbindung.

Hat jemand eine Idee, was man da machen könnte?
 
Oh, ich hab was gefunden.

http://blogs.msdn.com/vsdteam/archive/2005/04/28/413304.aspx



Inhalt:

Debugging on CE5.0 device without Activesync

This information ONLY applies to the Visual Studio 2005 Beta 2

Without the help of ActiveSync, VS 2005 does not automatically copy the connectivity binaries down to the device and hence debugging becomes problematic.

In order to use debugger on Windows CE 5.0 devices without active sync, you need to:

Step 1. Manually copy the following files down to the device

Clientshutdown.exe
ConmanClient2.exe
CMaccept.exe
eDbgTL.dll
TcpConnectionA.dll

From the desktop folder:
\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<CPU>, to \windows on device

Step 2. Manually launch the conmanclient2.exe

On the device side, open the command prompt and run "Conmanclient2.exe"

Step 3. Set the correct IP address

On the desktop side, open VS 2005
Tools à options à device tools à devices
Choose Windows CE 5.0 device, click on “properties”.
On the “Windows CE 5.0 device properties” dialog, click on “configure”.
On the “Configure TCP/IP” Transport dialog, choose “use specific IP address” and type in the IP address of your windows CE 5.0 device.
Click OK.

Step 4. Enable the connection (You can skip this step if the security is already disabled on the CE device by setting "HLKM\CoreConOverrideSecurity = 1". But disabling security may expose your device to malicious attack)

Run cMaccept.exe

Connect to the device within 3 minutes after you run cMaccept.exe. (The 3 minutes window is for the first connection. As long as you establish the first connection within 3 minutes, the following deployment/debugging sessions using the same VS instance is not limited by this 3 minutes window)

You need to perform Step 4 again when you try to connect from another instance of VS.

Now debugger is ready to go, and you should be able to deploy and debug program(s) running on Windows CE 5.0 device now.
 
Zurück
Oben