The CE Telnet Server


A lot of folks (even in the CE team) don't realize that Windows CE has a telnet server as an optional component.  This is not something that we see you putting in shipping devices.  It is a very cool tool during your initial development of your platform, however.


If your device is hooked up to platform builder (PB) via a debug connection, you can use the target shell of course.  But I prefer telnet server.  Telnet is just a wrapper around CE's cmd.exe.  CE's cmd has builtin file manipulation commands like WinXP cmd, including the capability to do file redirection and run .bat files.  You can also write your own apps that call wprintf() or scanf() and have them interact across a telnet session.  IPConfig, ping, etc... are tools that are command line based.  Yes, you can run them with a '-d' to have the output redirected to the debug console.  But I find it easier using the standard telnet than having to look at all the windows in PB.  Further, if your device isn't hooked up to PB then you're out of luck on that front.


OK I'm biased here since I wrote the telnet server :).  But most people that start using it don't go back..


To get telnet server, add it to your development only platform.  It's SYSGEN_TELNETD.  There are security concerns with any telnet server, so REMOVE IT BEFORE RTM'ng your platform unless you have a very very good reason not to.  If you want to be lazy (development only!) and remove the password check then add these registry entries.


[HKEY_LOCAL_MACHINE\COMM\TELNETD]
    "UseAuthentication"=dword:0
    "IsEnabled"=dword:1


Happy telneting.  Oh, and if it isn't clear already, this isn't something you probably want to ship.


[Author: John Spaith]

Comments (13)

  1. Pardon me for sounding stupid, but what can you DO by telnetting to a CE device?

    I’m just an end-user, but I’m still curious…

    vern

  2. John Spaith says:

    2 big things:

    * Cmd.exe commands. Like moving files around on your device, ‘type windowsmylogfile.txt’, etc… When hooked up to a debug session and you can get at your WinXP host machine files, makes transfering files back and forth easier.

    * Apps that redirect to the console. It’s a lot easier to write command line based apps than ones with pretty window UI. If app is only for development purposes and end users never see it, command line apps are OK. Also some CE devices don’t have displays, so telnet is only way to run apps like this.

  3. Helge Kruse says:

    I always see telnetd with disabled authentication. What is necessary to use authentication? I have a persistent registry (not hive based) and verified that it’s working. But I see authentication failed after reboot.

    /Helge

  4. Richard Lee says:

    I’ve been a big fan of telnet on CE, as the bestest way to do stdio on a headless box.  I sen tthe following tip into HQ way back when, and found your blog entry while trying to find my old note!

    http://msdn.microsoft.com/embedded/community/community/tips/ce/stdio/default.aspx

    Thanks again for writing this server. And here’s encouragement for anyone interested in an SSH vesion!

    /Richard Lee

  5. Echo Wang says:

    Is there any telnet client for WinCE 5.0?

    I could only find telnet server component in WinCE Platform Builder. but I’m not sure whether it supports telnet client or not.

    Please tell me about it if anyone knows.

    Thanks!

  6. cenet says:

    No, I’m afraid there is no telnet client for WinCE – at least that MS provides.  There may (?) be 3rd party options out there.

    [John Spaith]

  7. jiaopeng says:

    im a newcomer for wince, i add telnet service in my device which run wince4.2, but when i telnet the device the system prompt me login, but i don’t know the user name and password. acording the paper above i add the

    [HKEY_LOCAL_MACHINECOMMTELNETD]

       "UseAuthentication"=dword:0

       "IsEnabled"=dword:1

    in platform.reg file, but it isn’t work. anyelse i should do ? thanks for your reply.

  8. jiaopeng says:

    the problem above mention has  i search find that CE help tell people how to set usrlist but how can i make the usrlist associate with tht password ,can you give some example,thanks.

  9. jiaopeng says:

     i search find that CE help tell people how to set usrlist but how can i make the usrlist associate with tht password ,can you give some example,thanks.

  10. cenet says:

    Check out NTLMSetUserInfo (http://msdn2.microsoft.com/en-us/library/aa923576.aspx).  It associates a single user with a password.

  11. cenet says:

    RE your initial question:

    [HKEY_LOCAL_MACHINECOMMTELNETD]

      "UseAuthentication"=dword:0

      "IsEnabled"=dword:1

    Do you have telnet server included in your image?  Check for telnetd.dll.  

    If that doesn’t help I’d recommend using one of the newsgroups at http://blogs.msdn.com/cenet/archive/2005/12/05/500181.aspx, since they’re monitored by a larger group of people.

    John

  12. Anant says:

    Hi,

    whats is the default login and password for telnet ? how to change username and passowrd in wince device.

    Thanks with Regards,

    Anant

  13. Yathi says:

    1.Can you tell me how to start the telnet session ?

    1. Since I dont have the target device is it possible to use emulator and make virtual connection of emulator and my PC?
Skip to main content