L298 Stops Working When FEZ Spider is Powered By Wall plug

I am making a robot with one FEZ Spider and one L289 motor controller. Everything works fine when the Spider is connected to the PC with the USB, but when I put it on remote power via USB wall charger and a 9V battery on the L298 for motor power. The motor doesn’t move. What am I missing?

The 9v battery, if its a standard type used in alarm clocks or transistor radios (yes, old school stuff like this), are not ever going to power a motor. They are a very poor source of power as they have very little capacity and the voltage will drop rapidly when you start trying to use it

The 9V works ok when the USB is connected to the FEZ Spider. The assembly only stops working when I disconnect the FEZ Spider from the PC and connect it to a USB wall charger (to remote the unit.

Why would the motor drive stop working when I switch the FEZ power source?

How are people powering a remote FEZ Spider?

What kind of 9v battery are you using?

Another common issue you may be faced with here is you need to have a common GND reference. You may find that the USB power is sufficiently isolated from earth, but the power adapter is earthed, and that causes a difference between the supplies that affect the behavior.

But can you show us clearly how all this is connected? A picture might help too. And if you have a multimeter, can you check whether the GND or -ve pole of the power connected on the motors is connected to the GND on the shield and the GND on Fez?
So lets troubleshoot this properly.

Deploy an app that simply flashes the onboard LED in a timer. Make sure that works reliably when you change power source - it should. You can (and probably should) leave all your other junk connected, including the battery, but it certainly can work this way and if it doesn’t then you have a point to troubleshoot.

Deploy an app that simply flashes the LED in a timer, and at a different interval turns the motor on for a second then off for 5 (or something). Make sure that works reliably when you run from USB, and then make sure it runs when not on USB. If it doesn’t work, what actually happens? Does the LED still flash? You have to use this as a visual diagnostic tool because you don’t have debugging messages, and if the LED continues to flash then we know the processor is still running the app but the motor control isn’t working and we can settle in on the power as the problem