K2Anywhere

 

 

This is the network version of K2S software. I really did not want to release it because it is rather difficult to set up a network application but I got so many requests to try out this software since I mentioned about it on the K2S web page so here it is...

I will try to post as much info on setting up K2Anywhere up here so that you can try it out but be forewarned that K2Anywhere is definitely not a "plug and play" software. There are still a lot of questions about the installation procedure that I still could not answer off my head so please bear with me.

Below is the setup/installation procedure:

1. Installation

Download the K2Anywhere Zip packages (K2SoftwareNet, MFCLIB, TAOACE) at the bottom of this page.
Unzip everything into a local directory such as C:\K2Software.
 Once the files are copied successfully, create a short cut on the Server computer desktop. This short cut points to the file "Naming_Service.exe" in the directory "c:\K2Software" created earlier.
Now move the mouse pointer to the short cut for Name_Service.exe that you just created, right click on the mouse button. That brings up a popup menu for that short cut. The is a menu option call "Properties". Click on the left mouse button to select this option. That will bring up a tab dialog box for that shortcut. Select the short cut that says shortcut. Under the "Target Location", verify that the shortcut says something like this "c:\K2Software\Naming_Service.exe".
Now move the mouse pointer to the end of this line. Single click on that line to edit it. Append "-m 1" to this line. Your target location should now look like c:\K2Software\Naming_Service.exe -m 1
Click on apply (you can also double click the file RunNameService.bat that I distribute if you don't want to go through the trouble of creating the short cut. But if you do this, you need to go to this directory and double click on RunNameService.bat every time you run K2Server.exe)
Double click on the NameService shortcut to run it first
Double click on the K2Server Icon to run the server. K2Server will minimize its window as soon as it run.
Bring K2Server to the foreground, select config and edit the system configuration parameters
Select the correct COM port the K2 is attached to the server computer. Indicate whether KPA100 is in use or not.
Click on apply and then Exit K2Server (The new parameters will be used the next time K2Server is activated)
Exit K2Server
Rerun K2Server
Run K2Anywhere (assuming that the COM Port is configured correctly, K2Anywhere will start updating its panel with Radio data in 5-20 secs)
Go to Config menu in K2Anywhere and configure the parameters as you wish
Explore and enjoy

2. Initial testing

Double click on the RunNameService.bat (or the Name_Service short cut that you create earlier). A DOS window will be opened up. This window should freeze up since naming service is designed to run that way. If Name_Service.exe displays "Subscribe: no such device" error, your TCP/IP network is not setup correctly (Most likely you IP address is disabled because your PC is not hooked up to a network). Please go to the troubleshooting section to configure your network setup.
If Name_Service.exe runs ok, go ahead and run K2Server. It should run and minimize itself as soon as it runs.
Go to the taskbar and bring up K2Server window. Under Config/Logging menu configure the logger to log both info and error and display them on the screen.
Turn logging to ON
Open up a DOS window (CMD.exe) then type 
cd \K2Sofware
Run the TestClient.exe program by typing TestClient. If everything is ok, you should see a line "Hello K2Server" displayed on the K2Server window. If you see any complaint from TestClient program, your network setting is not setup correctly, please see troubleshooting section.
If TestClient runs ok. Close this DOS window by typing exit
If TestClient runs ok, go ahead and run K2Anywhere. After 10-15 seconds, K2Anywhere should update its screen with the K2 setting.
If TestClient display error or you encounter any kind of CORBA exceptions in running K2Server/K2Anywhere, please refer to the troubleshooting section for more detail.

3. Moving K2Anywhere to a different computer on your network:

Once you are satisfied that your Name_Server/K2Server/K2Anywhere are running properly on one computer (Server computer), you may want to move K2Anywhere to a different computer on your network (Truly distributed application). Below is the procedure for running K2Anywhere on a different computer on the network:
Copy the K2Anywhere files (all the files that you unzipped into K2Software earlier) to the K2Software directory on the client computer.
Make sure that your client computer can see the server computer by typing on the DOS command window:

ping xx.xx.xx.xx (or whatever the name or IP of the server computer)

If you see a good reply (instead of timeout message) from the ping command, the server computer can see the client computer over the network.

 

On the server computer, run the batch file RunNameService.bat first. A DOS window should open up displaying the Name_Service program and its parameters (-m 1) This windows should hang up if Name_Service runs successfully. You can minimize this DOS window if you want to but don't close it. K2Server and K2Anywhere need this name service to talk to each other.
Double click on K2Server. K2Server will run. If there is no error, K2Server will minimize itself.
On the client computer, double click on K2Anywhere. K2Anywhere will run. After a few seconds, K2Anywhere connection status will change to "LAN" and the Front Panel dialog box should update with the current K2 radio data.
If the COM port is setup correctly on K2Server application, you should be able to control the K2 as if the K2 is attached to the K2Anywhere computer.

 

4. Troubleshooting (Hopefully you don't need to read this section for hints!)

Make sure that your computer(s) have TCP/IP protocol installed: K2Anywhere is designed based on a TCP/IP protocol. Make sure that you have you network card configured correctly. A quick check from the DOS command line can tell if your TCP/IP protocol is installed correctly. Open up a DOS window. Type the command Ipconfig then press enter. If the system display a valid IP. Your TCP/IP setting is probably ok. If your IP is 0.0.0.0, you probably have your system set to DHCP and a DHCP server can not be reached. What you can do is to reconfigure your PC to see if this is the case. Go to Control Panel/Network/TCP/IP network adapter then click on the properties button.
If using DHCP, make sure that your DHCP server, i.e., your DSL/Cable modem router is working properly.
If using static IP, make sure that the check box Detect connection to the network media is unchecked. Otherwise, Windows will disable the network interface if your network can not be reached
For testing, I would use a private IP such as 192.168.1.xxx to check out the software configuration first. Note: if Name_Service.exe complains "Subscribe: No such device", there is a good chance that your network IP is not configured properly.  
Make sure that the K2Server COM port is properly configured: K2Server COM port is configured to COM1 by default. If your K2 is hooked up a different COM port, you will need to change it for K2Server to talk the the K2. The easiest method is bring up the K2Server menu, under Radio, select Check COM Port. A dialog that has a K2 LCD display will be shown. Select the COM port that the K2 is connected to the server computer. Click on "Try Port" to see if K2Server can communicate with the K2. If the KIO2 is working properly and the COM port is connected correctly, the LCD display should reflect what on the K2 display. If not, you may have connected the K2 to a different COM port, you may want to select different COM port setting and "Try Port" to find the right one. Once you satisfy that the communication is okay, click "Select Port" to save the current COM port to K2Server Registry. Note: Check COM Port only functions if K2Anywhere is not connected to K2Server. An error will be reported if K2Anywhere is connected to K2Server. 

5. What about audio? How do I stream audio to K2Anywhere computer?

There are quite a few ways to get the K2 audio transmit to a location near the client computer where K2Anywhere is running. If you are just operating K2Anywhere from your back yard, front yard or living room like me, a 900Mhz wireless headset is sufficient. This is also the fastest and best method since the audio is realtime; and most of us prefer to operate CW with a headphone anyway.

If you sometimes take your laptop with K2Anywhere to your neighbor backyard showing him off with this neat set up (several hundred feet away) you may want to consider one of the options below:

FMRS radio setup: FMRS radios are getting pretty cheap nowadays. For about $40.00, you can get a set of VOX ready FMRS radios. Put one close to your and take the other one with the computer that runs K2Anywhere. Pretty easy heh...
Stream audio through the network: There is a very good program named SpeakFreely. This program is a very nice freeware. Currently, you need to run it on the server and client computers. From the K2Anywhere computer, run SpeakFreely, then connect to a copy of SpeakFreely on the server computer. Once connection is established, press the "spacebar" from the copy of SpeakFreely on the server computer to initiate audio transmit. You should hear audio on the K2Anywhere computer if everything is configured and connected properly. Please refer to the SpeakFreely webpage for more information with regarding to this fine program usage. I am planning to integrate this program with K2Anywhere to automate the audio streaming process. I will make an announcement on the Elecraft reflector whenever this set up is ready.

K2Anywhere/K2Server have been tested on Windows 98 SE, NT4.0, Win2000 and ME platforms. It may not work on other Windows platforms because I have no way of testing it. But do try it anyway, you can always delete K2Anywhere package if it doesn't work. if it works for you, please send me an email to let me know so that I can add the Windows platform on K2Anywhere web page.

Note: I bought a laptop computer as a gift for myself this Christmas. The laptop computer comes with Windows XP / Home Edition preinstalled. I decided to check out to see if the CORBA package I am using is running on Windows XP. Much to my dismay, it does not... So if you are running Windows XP, don't try K2Anywhere/K2Server yet because it will not work right now... I will try to find out why TAO does not work on Windows XP whenever I have time...

73 es Enjoy,

Dan, KE6D

Please email suggestions and bug report to me so that I can improve K2Anywhere/K2Server.

Tnx es 73 de Dan, KE6D

 

KAnywhere Software Package - Windows Program to Control the Elecraft K2 via TCP/IP network (version 1.1 Updated on 02/20/2003)

MFC Library Package

TAO/ACE CORBA Package

K2Anywhere Update (Binary Only) (version 1.2 Updated on 02/25/2003)

 

This page was updated on 02/25/2003 at 1330 PST