FAQ: XM Cable/XMD1000 Debugging FAQ (test program included)
I've had nothing but headaches trying to get my XM to work (finally working). I've done countless hours of googling and searching on here, so I thought I would compile a list of steps for debugging your custom XM cable/setup.
If you have created your cable following the instructions here and cannot get your xm to work, here are some solutions to debug it.
Make sure windows did not detect your xm unit as a 'serial mouse'
Go into your device manager and ensure windows did not create a serial mouse device for your xm unit. If it did, simply DISABLE it and restart your computer.
Verify that you have POWER!
Plug in the power source to your xm cable and leave the mini-din end unplugged. Use a multimeter to test to see if the power is making it to the unit. Use the negative terminal on the multimeter and touch pin 8 (top right looking at the cable). Keeping the negative in place, use the positive terminal on the multimeter to touch pin 7 (top middle pin). Again keeping the negative in place, use the positive terminal to touch pin 6 (top left pin). If you get a voltage reading for each positive pin (6 and 7), the unit is getting power. Verify that the voltage is the same that your power source is putting out.
If you are using an external power adaptor (ie: not the molex on the computer), make sure it is rated at 12v output at (in my opinion) 500ma or more. From my research, the unit will draw a minimum of 200ma. The power adaptor I used to test was rated at 800ma and worked fine.
If you are using the molex connector, make sure you wired the connector on your cable correctly and that you are not getting 5v instead of 12v!
Another user on here (sorry, don't remember who) suggested using hyperterminal to view the xm unit powering up. Plug in your xm unit but do not plug in the power connector/adaptor. Open hyperterminal and open a connection to the com port that you have plugged your cable in to. Once you have the connection open, plug in the power. You should see data being written (starting with M's I believe). A good idea would be to use this in conjunction with the serial port monitor software (please see below) to verify that you are getting Received Data (in green). If you do, then your unit is powering up and (more then likely) receiving some type of signal/reception!
Make sure you have RECEPTION!
Just because you had reception at the same spot before, doesn't mean you will now. This was the major source of my problem because the exact spot I was testing at before had perfect reception, and now it has ZERO! If you do not have reception, the XM unit will NOT send ANY kind of response! The best place to test would be in your car, with the antenna having a clear view of the sky with no obstructions. jcdillin suggested to verify that there are NO KINKS in the antenna wire as this could be a problem also.
Make sure your cable is properly wired up!
As wonderful as the instructions in the other thread are, some may mis-interpret them! The view of the images are FACING the serial adaptor and FACING the mini din adaptor (ie: pretend you are done and looking at your fine work ;)). Ensure you did not get the wiring backwards.
Make sure there are no shorts in your cable
Ensure that no two wires are touching eachother. Verify the continuity of each wire one by one, then two by two's. The best way I found was to test in pairs, all combinations, to verify there are no shorts. Get a power source and connect the positive to one pin and the negative to another. On the other end of the cable, test the voltage (positive to positive, negative to negative). If you get the expected reading, the wires in question are fine. If you do not get any reading on your multimeter, chances are you have a short and the circuit is not being completed. Isolate which wire it is by testing each wire in combination with another (different) wire. You can then focus on where the short is.
Verify again there are no shorts in your cable
Download a serial port monitoring program. The one I used is called Serial Port Monitor 3.0 by Eltima Software. You can download a 14 day trial version which should be sufficient to debug. To use it:
-Install it then start it up.
-Select the com port you want to monitor then select the "DUMP VIEW". This will load a new window within the program.
-Click the green start button, this will start the monitoring.
-----NOTE: YOU MUST DO THIS BEFORE LOADING UP AN XM APP!
-Install, configure, then load up an XM app, my preference is FrodoSatelliteRadioXAlpha3 beacuse it opens the com port once and begins to send commands and is easier to use for debugging.
-Once you start frodo's xm app, you should see "Open Com X" in the serial port monitor.
-You will then see a timestamp with the title "Written Data". Underneath it will be a bunch of HEX values.
-If you see only "Written Data" (purple) and no response data (green), your XM UNIT is NOT responding.
-To test the cable to ensure it works, unplug your xm cable FROM THE XM UNIT. Take a small screwdriver and short pins 1 and 2 (two pins side by side at the bottom of the mini din connector). Shorting the pins means you touch both of them at the same time with the screwdriver, thus feeding the outgoing data back into the serial cable.
-IF YOUR XM CABLE IS FINE, you will see Response Data (in green) in your serial port monitor! This data will be IDENTICAL to the data in the "Written Data".
-If you DO NOT see any Response Data (in green), there is a problem with your cable! Verify there are no shorts, verify that it is properly wired up!
-If you DO NOT see any Written Data (in purple), chances are you wired up your cable wrong! If you did not even see the "Open Com X" message, you are probably monitoring the wrong com port. If you DO see this message and do not see written data, check the wiring of your cable! You might have created it in a mirror image to what it was intended.
If you can see Written Data and Response Data, try this program
After hours of searching, I found this program posted at xmfan.com. It is a small program written in qbasic that you can use to see the sent data, response data and the decoded response for various xm commands. Unzip the attached zip file (xmtest-pyros.zip) into your directory of choice (c:\xmtest for me). Edit XMTest.qb line 57 to set your com port. Run XMTest.bat and it will start the program. All numbered options map to your function keys (ie: 5 is F5). You can change the channel, view the channel info, etc.
Try another program!
If that program does not work, try another! Try the XM functionality in RoadRunner, FrodoSatelliteRadioXAlpha3, default XM program in FrodoPlayer 1.09, etc....
If you still have not found the problem
Go through this list again:
1) Verify that it is not being detected as a serial mouse
2) Verify that you have power!
3) Verify that you have reception. Move locations, get out in the open.
4) Make sure you have the cable properly wired up
5) Make sure there are no shorts in your cable
6) Verify that your cable works by using the serial port monitor
7) Try different programs!
If it still doesn't work...
There is a remote possibility the unit is dead. I'm not sure how to test this other then purchasing a new unit (keep your receipt! ;)) and attempting to see at least the preview channels. If your unit is fine, just package up the new unit and return it :).
I hope this helps those who are trying to get theirs working. Hopefully my incessant cursing and research saves you time and headaches!
GOOD LUCK! :)
New addition: If your XM was previously working and now isn't...
My carputer was out of the car for almost 3 months. I put it back in and my XM wasn't working. When I loaded up hyperterminal I'd see tons of binary data streaming, so the unit itself was working. However, FrodoXM, RR, etc.. didn't work. It was one of two problems:
1) Driver problem: Reinstall the serial2usb drivers if you are using a serial2usb cable
2) XM unit needs a reset: Hook the XM unit up directly via serial cable to the computer. Use the test program attached and use the reset option. Then attempt to view the channel info and see if you get a reply. If you do, all is good. Configure the port in your preferred XM program and test it out. After this, if you're using a serial2usb cable, hook it back up and you should be fine.
XM Cable/XMD1000 Debugging FAQ (test program included)