One geek's ruminations
[ start | index | login ]
start > Ham Radio > Rig Control > microHAM USB Y6

MicroHAM USB Y6

Created by pascal. Last edited by pascal, 4 years and 285 days ago. Viewed 1,390 times. #19
[diff] [history] [edit] [rdf]
labels
attachments
ftdio_sio.c.patch (812)
ftdio_sio.h.patch (557)

microHAM USB Y6 CAT Interface


The folks at microHAM (>>http://www.microham.com) have introduced a new product that allows replacing the old RS232 based CAT interfaces for amateure radios with a USB interface. This allows freeing up a serial interface in many shacks or for newer legacy free PCs or laptops/tables to interface with rigs. The microHAM product supports a wide range of radios. I use mine with an older Pentium2/400 PC and a Yaesu FT-840. At $50 for the unit and $10 shipping (cheap for being shipped from the other side of the planet) it's a great deal.

In the couple of days I have had the unit I have been very pleased with the construction and use of the interface. Although, since I use Linux as my primary OS, I did run into a small challenge.

Linux

Although the folks at microHAM state that their USB rig controller runs under stock Linux I found that the interface was not recognized by Fedora Core 1 (running 2.4.22 kernel) or by the 2.4.25 kernel from >>www.kernel.org.

With a bit of googling and digging into the FTDI driver code I was able to get the unit working under Linux. I currently have the unit working under the 2.4.25 kernel with Fedora Core 1. The interface is bound to the next free USB tty (typically /dev/ttyUSB[0-15]). I have successfully used the interface with TRX-Manager running under Windows2000 Professional under VMWare.

The trick was to teach the driver code how to recognize the microHAM interface. This requires modifying the driver to recognize the vendor and product ids seen when the interface is plugged or initialized.

Changes to ftdi_sio.h and ftdi_sio.c

The changes to the driver are very minor. A couple of defines to specify the vendor and product ids for the interface and a couple of insertions of those values into the lookup tables in the driver.

/usr/src/linux-2.4.25/drivers/usb/serial/ftdi_sio.h patch

*** orig/ftdi_sio.h 2004-03-05 22:36:09.000000000 -0700 --- patched/ftdi_sio.h 2004-03-05 22:38:01.000000000 -0700 *************** *** 46,51 **** --- 46,55 ---- /* (the VID is the standard ftdi vid (FTDI_VID) */ #define FTDI_VNHCPCUSB_D_PID 0xfe38 /* Product Id */

+ /* microHAM USB radio controller */ + #define FTDI_MHAM_VID 0x0403 /* microHAM Vendor Id */ + #define FTDI_MHAM_Y6_PID 0xEEEA /* USB <-> Y6 PID */ + /* * The following are the values for the Matrix Orbital LCD displays, * which are the FT232BM ( similar to the 8U232AM )

>>download ftdi_sio.h patch

/usr/src/linux-2.4.25/drivers/usb/serial/ftdi_sio.c patch

*** orig/ftdi_sio.c 2004-03-05 22:36:09.000000000 -0700 --- patched/ftdi_sio.c 2004-03-05 22:37:56.000000000 -0700 *************** *** 342,347 **** --- 342,348 ----

static struct usb_device_id id_table_FT232BM [] = { + { USB_DEVICE_VER(FTDI_MHAM_VID, FTDI_MHAM_Y6_PID, 0x400, 0xffff) }, { USB_DEVICE_VER(FTDI_VID, FTDI_8U232AM_PID, 0x400, 0xffff) }, { USB_DEVICE_VER(FTDI_VID, FTDI_RELAIS_PID, 0x400, 0xffff) }, { USB_DEVICE_VER(FTDI_NF_RIC_VID, FTDI_NF_RIC_PID, 0x400, 0xffff) }, *************** *** 432,437 **** --- 433,439 ----

static __devinitdata struct usb_device_id id_table_combined [] = { + { USB_DEVICE(FTDI_MHAM_VID, FTDI_MHAM_Y6_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SIO_PID) }, { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_RELAIS_PID) },

>>download ftdi_sio.c patch

Rebuild and install your kernel. You may have to reconfigure your kernel to include USB, USB serial, and FTDI driver support if your distribution or current kernel config does not have it enabled by default.

Confirming it works

You can confirm that the driver is installed and functional by watching your system log messages (/var/log/messages) when you plug the interface into your system.

Mar  5 22:53:04 station kernel: hub.c: new USB device 00:07.2-1, assigned address 3
Mar  5 22:53:04 station kernel: usb.c: USB device 3 (vend/prod 0x403/0xeeea) is not claimed by any active driver.
Mar  5 22:53:08 station kernel: usb.c: registered new driver serial
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for Generic
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial Driver core v1.4
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for FTDI SIO
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for FTDI 8U232AM Compatible
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for FTDI FT232BM Compatible
Mar  5 22:53:08 station kernel: usbserial.c: FTDI FT232BM Compatible converter detected
Mar  5 22:53:08 station kernel: usbserial.c: FTDI FT232BM Compatible converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for USB-UIRT Infrared Receiver/Transmitter
Mar  5 22:53:08 station kernel: usbserial.c: USB Serial support registered for Home-Electronics TIRA-1 IR Transceiver
Mar  5 22:53:08 station kernel: ftdi_sio.c: v1.3.5:USB FTDI Serial Converters Driver
Mar  5 22:53:10 station devlabel: devlabel service started/restarted

As we can see, the microHAM interface was detected and ftdi_sio.o was loaded. Along for the ride came usbserial.o, which is a dependency for the ftdi_sio.o driver. The prize is the fifth line from the bottom, where we see that our interface has been bound to ttyUSB0.

Results

I use VMWare running Win2KPro for most of my ham radio needs. I use windows because there is more useful, polished amateur radio software out there than for Linux. That is changing though.

The two programs I use the most are TRX-Manager and MixW. Both are excellent packages and I have grown to depend on them heavily. TRX-Manager has worked beutifully with the microHAM interface. Every feature I have tried and just worked. It's a thrill when you see a new station pop-up on the DX cluster and then simply by clicking have the radio completely reconfigure itself for the band, frequency, and mode of the DX.

MixW on the other hand has been a problem. I am running v2.10. I don't know if it's because I'm using the trial version (i.e. unregistered) or if it's something more, but the MixW does not access the unit even when configured.

The only real problem I have run across is a tendency for the interface to cause my Yaesu FT-840 to transmit when ever VMWare is booting up Win2K, or when loading programs under Win2K that use the interface. I don't know if it's the PTT or the CW key that is active. I don't know if the same behavior is present when using the interface natively in Win2K. Since transmitting indescrimently is illegal I will need to find a solution - for now I just leave the radio turned off until I have everything up and running and then turn it on.

Configuration

To use the interface under Win2K/VMware I configured my virtual machine instance to map /dev/ttyUSB0 as com1 under windows. This can be done by editing the virtual machine settings, selecting Advance, and pressing Add Device.

Supposedly there is a trick to getting VMWare to recognize and use USB devices under Windows but I haven't figured it out yet. This may solve the transmitter keying problem I am having (see above) since it would use the microHAM supplied drivers.


Resources

no comments | post comment

Help
For hints about formatting text see snipsnap-help. To experiment with formatting try editing the sandbox.


Total 2 Users and 295 Snips.

Logged in Users: (0)
… and 2 Guests.


snipsnap-changed for older changes.


XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

Powered by SnipSnap 0.5.2a


snipsnap-portlet-2

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt