Friday, December 10, 2010

More on the TH-D72 USB Port

The TH-D72 USB port is configured as a CDC device, using the CP2102 USB UART bridge. On Windows, presumably you should use the drivers provided by Kenwood. I accessed the port on my Ubunutu 10.04 desktop just by using /dev/tty.USB0, which popped open when I connected the device. CP2102 support evidently is built into recent kernels. Looking around, it seems that MacOS support is more dicey, so I'll probably experiment with it using a linux box or a virtual linux machine on my MacBook.

For the person like me, who is hoping to connect this to an embedded device, there's some particularly bad news: this chip doesn't communicate using the plain CDC-ACM; I'm told it has a proprietary communication system to the host. The best bet is to port the software from the linux kernel, alas. 

3 comments:

  1. Ouch :( That is pretty disappointing.

    ReplyDelete
  2. It may not be CDC-ACM, but it does work fine in Linux. I am running Ubuntu 10.10. It is using the cp210x driver which yields a ttyUSB0 device. I fire up minicom, set the baud rate to 9600 and I have communications. The big question is WHAT to communicate.

    I installed the MCP-4A program via wine and was able to start to see some of the commands sent there (via wireshark sniffing the USB port).

    I am currently able to get what looks like a 65kB dump from the device, but I have yet been able to fully decipher the contents.

    http://vernon.mauery.com/content/projects/linux/kenwood_th-d72_and_linux

    ReplyDelete
  3. Cool stuff, Vernon. I'm having no trouble with it in Linux, either. In fact, it works wonderfully on my MacBook Pro and a Ubuntu image over Virtualbox. (Whereas I think the MBP needs a driver to talk to this device itself!)

    My disappointment was regarding how hard it will be to get a PIC to communicate with the cp2102, since one of my projects has been using a PIC or Atmel chip to control a TH-D7a through a simple TTL->RS232 interface. Although Microchip provides libraries for CDC-ACM, communicating with this device in such a context will entail porting the Linux code to the PIC32.

    To be clear, I don't think Kenwood did the wrong thing. USB is obviously the way to go, and the cp2102 is a reliable device. It just makes my little world of fun a bit more challenging :-)

    ReplyDelete