2013-06-02

It Only Happens to Me: Computer Communication Problems

Every electronic nowadays seem to come with USB connectivity. So the DJI Phantom quadcopter doesn't want to be the only exception. Using a USB cable you can update the quadcopter's firmware and tune several parameters of it's flight control unit. Easy, just install the driver software as well as the Naza-M assistent software (grrrr, Windows only). According to the manual, I powered up the Phantom, then connected the USB cable that came with the Phantom to my computer. Beep, beep, Windows recognizes the new USB device ... so I'm starting the assistent software ... and then nothing happens...

My coworkers surely will now laugh all their way home: again, me of all people end up with a computer communication problem. Slowly working my way to several forums I learned that I'm not the only one with the USB connection to the Phantom staying silent. Unfortunately, my seller, Globe Flight, wasn't helpful but instead quickly resorted to «your system isn't supported». Well, it's a boring Win7 Home Premium 64bit installation, there are millions out there that look the same.

To cut a long story short: I first checked that I didn't fell victim to the most common problem, where usbser.sys wasn't on a system and thus could not be loaded when a Phantom get attached. This driver was on my system and was properly loaded as the Phantom was correctly identified.

Several reinstallations later I still hadn't found a working solution or the root cause.

Another search through the forums then turned up the missing link: USB cables of inferior quality! I couldn't believe it when I tried another USB cable that I luckily had left over. Et voilà! Communication with the Phantom came up as if there had never any problem.

Updating the firmware wasn't a problem anymore.

Thanks to my daytime work I had gained some insight into the USB. So I already knew that detection of newly connected USB devices (slaves) is done with the lowest possible speed. Only after reading some self-description from a device speed may shift up by several notches if the device requests so. From now on, if you happen to get a low-grade USB cable, communication starts to fail. So this is, why Windows could detect the device but the assistant could never communicate with the Phantom.

Dear DJI, please don't get cheap on your shitty USB cables but instead put good cables into the box next time!