I’ve setup a couple of Vertex VXR-7000 radios for use on AllStar app_rpt.  What follows are my detailed notes of that configuration in the hope it will help anyone else.  These are excellent radios but the connection to them is not so well documented…until now.
For the record, I think these radios are fine for use by themselves.  Trying to interface with any external repeater controller or audio accessory isn’t so fun.  I keep finding that the receivers produce a lot of distortion in the output when used on wideband (5 KHz).  In either wide or narrowband you are fine if your audio is under 2.25 KHz deviation.  Anything more and…yuck.  For this reason I would encourage anyone to use a different receiver.  Even, and I know this will shock some, a Motorola receiver.  As horrible as Motorola’s audio is, it’s better than these VXR-7000 receivers.  But I will be thrilled if someone can point out that I am wrong about this and show me a path to clean, undistorted discriminator audio.
Bradley, KC9GQR, dropped me an email the other day explaining that he too was having some frustration with VXR-7000 connection.  He was finding insufficient receive audio for the DSP in app_rpt to work with.  After connecting to Pin 6 on the rear DB25 Accessory connector you get audio but running RADIO TUNE RXNOISE always results in complaint of insufficient audio for the DSP.  I also had this problem but was able to solve it after finding some information from a few different places online.
Here’s what I came up with. I’m sure that Bradley and I aren’t the only ones to have encountered this.  If you are one of us, please drop an email or comment here and let us know.  Please also advise me of any corrections needed.

 

Some information you’ll find very helpful for this project:
URI Schematic (if using the URI)
USB Fob Modification Instructions (if using a modified CM108 fob)

As it turns out, the audio that they say is discriminator audio on pin 6 of that 25 pin accessory connector is somehow filtered.  There is a modification to make that instead puts real, unmolested, raw discriminator audio on that pin. You need to start by making this modification.

  1. You need to disconnect the discriminator connection between the receiver and the control unit.  On the control unit remove Pin 12 from JP4007.  This is one of the green wires going to Pin 12 of JP3001 on the RX unit.  Pin 1 of either connector is a yellow wire, knowing this helps you to figure out how to count them.  Isolate the end with heat shrink and secure it neatly.  After doing this you will not have audio from the front speaker.
    1. I’m told that if you really need speaker audio you could leave Pin 12 in place and instead remove R4031 on the control unit.  I couldn’t locate that resistor and didn’t need speaker audio so I can’t testify to this.  YMMV.
  2. Completely unplug and remove the control unit.  Doing so will expose the compartments with the TX and RX boards.
  3. Cut a 6″ length of very small wire, strip and tin both ends.  This is being tagged to a solder mount component so the smaller wire the better.  I recommend the kind of wire used for wire wrap.
  4. Solder one end of the prepared wire to Pin 9 of Q3012.  That’s a 16 pin IC, so pin 9 is right on one corner, making this easy to accomplish.  Use minimal heat and time.
  5. Having verified that the wire is firmly attached, secure this wire to the others coming out of the compartment.  Secure in many places.  The goal here is to make sure that there will never be any movement or tension to the point you just soldered to that IC.
  6. Replace the control unit and connect all connectors except J4001.  That’s the connector going to the DB25 on the back of the radio.
  7. Remove Pin 11 from J4001.  Using an ohm meter, verify that you indeed have removed the wire that connects to Pin 6 of the DB26 connector on the back of the radio.  In my case this was a blue wire.  YMMV.
  8. Connect the wire you removed from J4001 Pin 11 to the new wire you brought out of the RX section.  Heat shrink and secure these wires in multiple places.
  9. You now have real, unmolested discriminator audio at Pin 6 of the DB25 accessory connector on the back of the radio.  You may connect this directly to your URI or CM108/109 sound fob.

Once I did this it was no problem getting the radio tune process to accept the audio.  It still shows a little low but within tolerance and it sounds good.  As I recall, the rxnoise process shoots for a target of 27000 +/- 2500 and both my VHF and UHF VXR-7000’s were just a shade under 26000.  If you can’t hit the mark you might need to build a small amplifier to insert here, but I didn’t have to with any of the radios I used.

Once you’ve got that, you need to make a couple of decisions regarding COR, CTCSS and which channel driver you’re going to use (usbradio or simpleusb).  The default for ACID is to use the usbradio channel driver which is very powerful and offers a lot of options.  Most people just go with that and it’s pretty awesome.  But some people will choose instead to use simpleusb to reduce the load on the CPU.  The use of simpleusb requires that the radio encode/decode CTCSS and provide a hardware COR.  So read through these steps with this in mind.

The easiest thing to do is to have the radio generate transmit CTCSS and have app_rpt take care of both COR and receive CTCSS.  This requires using the usbradio channel driver, the default for most installations.  In that case you only need steps 1 through 4 of the next bit and you can ignore the rest.  All connections to the radio will be on the DB25 on the back of the radio.  Most of you are going to go this route.

If you need to use the simpleusb channel driver then you need to make some additional connections.  You’ll need to be a bit more savvy with hardware and with how both the radio and app_rpt work, particularly for step 6.  In this case you need steps 1 through 6 of the next bit and can ignore only step 7.  You will also need to obtain a signal from the Line Jack on the VXR-7000 in addition to the connections on the DB25 connector.  Only a few of you are going to do this.

For those of you who want to get all sorts of trick and use multiple CTCSS that you can configure on the fly in usbradio.conf, you need to follow all of these steps, except you might choose to omit the COR connection in step 5.  You’ll be using the usbradio channel driver.  Very few of you are going to do this.

Here then are the connections to the radio:

  1. Ground:  Connect Pins 1&7 of the DB25 on the VXR-7000 to the ground on your USB fob or URI.
  2. Transmit Audio:  Transmit audio for the radio is on Pin 3 of the DB25.  If you’re using the URI then this connects to “Right Out” which is pin 23.  If you’re using a USB fob with the standard 3.5 mm TRS jacks this should be the ring connection of the headphone/output jack for the right channel.  Shield of the fob’s 3.5mm TRS jack is, of course, grounded.
  3. PTT:  Pin 12 of the DB25 on the VXR-7000 is external transmit.  If using the URI then this connects directly to Pin 1 on the URI.  If you’re using a USB fob then you are connecting this to the collector of the transistor switch you installed for PTT.  Remember that the modification for the fob calls for you to connect Pin 13 of the CM108 chip to the base of a 2N3904 transistor via a 10K resistor, the emitter of the 2N3904 goes directly to ground.  Do not attempt to connect CM108 Pin 13 directly to the VXR-7000 without this transistor switch.
  4. Receive Audio:  As mentioned in the modification above, Pin 6 of the DB25 is your receiver discriminator audio.  Connect this to the appropriate pin on your URI or, if using the USB fob, to the microphone input of the fob.  This should be the tip connection of the microphone 3.5mm TRS jack on the fob.
  5. COR:  If you’re using the usbradio channel driver this connection is optional an maybe even unnecessary.  If you’re using the simpleusb channel driver it is mandatory.  See the discussion of this below regarding this connection.  Pin 11 of the DB25 on the VXR-7000 is the Noise Squelch connection.  It is not an indication of received CTCSS, it will change state if the received signal breaks squelch.  The squelch level is determined by the knob on the front of the radio.  If you’re using the URI then you’ll connect this to Pin 5 of the URI.  For a modified USB fob you’ll connect this to Pin 48 of the CM108, typically with a diode.
  6. CTCSS Detect:  If you’re using the usbradio channel driver this connection is optional an maybe even unnecessary.  If you’re using the simpleusb channel driver it is mandatory unless you are running a CSQ (carrier squelch) system.  If you require a CTCSS Detect signal you can not get that from the DB25 on the VRX-7000.  Instead you’ll obtain it from the RJ-45 style connection marked “Line Jack” on the back of the radio.  On that connector the two pins on the right of the connector, Pin 1 and Pin 2, are an opto-isolator that changes state when the radio has received both the correct CTCSS for which the radio has been programmed and the signal is sufficient to break squelch as set by the front panel control.  Pin 1 is the collector of that opto-isolator and Pin 2 is the emitter.  I leave it up to you to determine how you’ll use that, I don’t have any notes on this.  If using the URI you’ll supply the resulting signal to the CTCSS DETECT line on Pin 7 of the URI.  If using the modified USB fob you’ll connect this to the circuit going to Pin 39 of the CM108.
  7. Transmit CTCSS Audio.  Most folks are going to let the radio transmit CTCSS.  In that case you will not need to make this connection and you only need to program the radio accordingly.  If you’re using the simpleusb channel driver then this means you and you can skip to the next step.  The only reason you need to make this connection is if you’re using the usbradio channel driver AND you want that driver to generate CTCSS.  You might make that choice if you desire the flexibility to remotely change CTCSS on demand or to use multiple CTCSS.  Again, most people aren’t going to bother so just skip this step.  However, if you really want to go there then here is what you do.  If you’re using the URI, connect URI Left Out Pin 22 Pin 4 of the DB25 on the VXR-7000.  If you’re using a USB fob with the standard 3.5 mm TRS jacks this should be the tip connection of the headphone/output jack for the right channel.  Shield of the fob’s 3.5mm TRS jack is, of course, grounded.  Again, most of you won’t need this and should skip this step to avoid introducing unnecessary noise on the transmit audio.

Again, the majority of readers are going to only need the first four steps.  You’ll be using the usbradio channel driver so you’ll need to edit /etc/asterisk/usbradio.conf to select the right channel for transmit audio, COR and CTCSS from DSP and you’ll boost the receive audio and set it for flat.  So those parameters will be like this:

carrierfrom=dsp
ctcssfrom=dsp
rxdemod=flat
rxboost=1
txmixa=voice

If you choose to have the radio provide COR and CTCSS then you need to change that accordingly.  But remember that you nave to complete steps 5 and 6 if you’re going this route, regardless of which channel driver you use.  Those settings then would be something like:

carrierfrom=usb
ctcssfrom=usb

If those don’t work the way you expect you might change it from usb to usbinvert. But again, most people aren’t going there.

Now, a moment to discuss COR.  Please don’t ever run a node that uses only COR.  Some networks actually prohibit this.  I believe that in the UK the regulations themselves prohibit this so connecting your COR only node would be an issue.  It’s just not best practice.  Requiring CTCSS helps keep down unintended noise and it’s so easy to do.

With this radio you end up with another problem.  If you wire that Noise Squelch then the knob on the front of the radio controls squelch and therefore the sensitivity of the COR threshold.  That’s totally not cool when the repeater is on some remote site and someone else tweaks your knob (so to speak).  Suddenly the squelch is too loose or too tight and you have to make a trip to the site to correct it.  This is why I prefer to use DSP for COR on remote sites.  On the VXR-7000 I wouldn’t do it any other way.