FT70D High Power Problems

The other day I was working my Fusion repeater with my FT70D. Since I was “DX” I had the HT on high power. Although it looked like I was getting into the repeater just fine, I couldn’t enter the WiRES-X control mode. However when I switched to low power I WAS able to control the repeater.

What gives? Why could I control the repeater (node) on high power, but not on low power?

Back at the house where my repeater is located, the problem still existed. I could use the WiRES-X control mode on low power but not on high power. Since I’m within 10 meters of the repeater, signal strength couldn’t be an issue.

Looking at the output spectrum of the FT70 revealed the problem. On high power there were some spurs that shouldn’t have been there. The spurs were much weaker on low power. Other radios didn’t exhibit the spurs. Click on the images to compare and see the details.

FT70D spectrum on low power
FT70D on High Power
FT70D on High Power

C4FM Audio Quality

Photos show the waveform capture from an FT5 during a MNWis net. Note that they are not symmetrical around zero. The 2nd image has more detail and you can see that the waveforms are not symmetrical. The clipping sound is heard when the audio level hits the limits even though it is still not at 100%. Odd.

IMRS LAN Firmware Update

I don’t know why Yaesu doesn’t make this public, but they don’t. You can download version 1.44 of the IMRS LAN firmware. This solves some problems with LAN connections constantly dropping.

Listen to 10 C4FM with an HT

During the Monday Night Fusion Technical Net, a comment was made that it was possible to use an FT5D to receive C4FM on 29.250. This started a conversation about other HT’s as well. Thanks to W4IOD, AD0MI, N0PXT, and N0OQL, we now have the definitive answer for most of the Yaesu Fusion radios.


Using 29.250 for C4FM has become popular as 10 meter conditions have improved significantly. The Yaesu FT-991(A) is the only radio that is capable of Tx and Rx on 10 meters as well as operating in Group Mode (GM). When the band is open, you may see or hear C4FM traffic on this frequency.

One way to check 10 meter band conditions is to tune AM down to the CB frequencies near 27.195 MHz. If you hear a lot of racket, then 10 is probably open.

The ‘A’ band must be used since the ‘B’ band on all radios cannot tune 10 meters.


Note that none of these radios can transmit on 29.250. In addition if 29.250 works, then six meters will work as well.

The following radios cannot receive 29.250 MHz since they don’t tune down that low, bummer:

Mobile Radios: FTM-100, FTM-200, FTM-300, FTM-400, FTM-3200, FTM-3207, FTM-7250

HT’s: FT-70D

The following HT’s tune 29.250 and DECODE C4FM (show callsign and switch between DN/VW)* but do not provide audio:

FT-1D (US version), FT-2D, and maybe FT-3D

*Must be set to Rx DN or VW.

The following HT’s will receive C4FM on 29.250 but cannot engage GM. GM is handy for seeing the callsigns of stations that are beaconing.

FT-1D (Japan version) Interesting! Maybe the JP versions of other HT’s will do this as well.

The FT1D and FT2D can enter GM using the following process:

  1. Enter 29.250 on the A side.
  2. Enable both A and B if both sides are not enabled.
  3. Switch to the B side.
  4. Press the GM key.

The following HT’s can receive 29.250 and can enter GM. Note that they display the GM information but do not beacon:


Bottom line

The FT-5D has more C4FM capability since it allows reception wherever it tunes while other radios do not.

Node Cycling In and Out

This post addresses a WiRES-X node that constantly leaves and rejoins a room.
This type of problem is almost always the result of a networking issue. When certain networking problem occur the HRI-200 software will wack out (a technical term). Once the software has been wacked out, it will continue to cycle in and out of whatever room it is connected to. Restarting the WiRES-X software usually solves the problem.
Router problems:
1. Turn off UPnP. It should never be used!!!!!!
2. Turn off all quality of service features like those to improve Xbox gaming or VoIP functions. (Yes I know we’re using VoIP so you’d think it would help.)
3. In fact turn off everything you don’t have to have.
4. Some routers are total crap and need to be rebooted every few weeks.
5. You’re not using Wi-Fi are you? Wired is always better than wireless – we should know! Drop-outs in Wi-Fi can cause this issue.
6. Did I mention, turn off everything on the router you don’t need?
ISP problems:
1. Something as simple as the ISP dropping your connection for a few minutes in the middle of the night when they’re doing maintenance.
2. The ISP just doing a bad job of getting packets to you during prime evening Netflix viewing.
3. The ISP switching your IP address. (I think CenturyLink just does this for the fun of it.)
1. Make sure Win10 doesn’t put the USB interface to the HRI-200 to sleep. It really, really likes to do this. Just going to the obvious place in the control panel to turn this feature off doesn’t really turn it off. See the documents on running Win 7/10 24x7x365 remotely in the Fusion Help section at HamOperator.com.
2. Make sure the computer isn’t crap. Cheap computers may not have quite the reliable communication interfaces that we need.
3. Banish all RFI and ground loops. Make sure RF is not getting into the USB interface to the HRI-200. This can cause message errors and really screw things up.
4. Make sure you computer actually has enough power to run the HRI-200 reliably. Get one of those USB power thingies and make sure you have a solid 5VDC under load.
Over the air:
1. Bad data on the WiRES-X network can mess things up. This happens mostly with hotspots that are bridged into the WiRES-X room. On MNWis and a few other networks we’ve banished this problem by banishing FCS and running YSF server software that banishes bad data from hotspots. So if you have this problem in one room, say AmericaLink and not others, there may be nothing you can do.
2. Yaesu radios that are running really old firmware or have not had the firmware updated correctly (I.e., “I did the main CPU but I’ll get around to the DSP later.”)
Side note:
The port check should not be relied upon to definitely prove it’s working or not working. The test is not exactly the same as actually communicating with the Yaesu list servers and the room server. So it can lie to you with false positives and false negatives. This is because the port check uses the Yaesu servers in Japan to perform the test, not the room server you’re trying to connect to. Routing issues can cause one to work whilst the other doesn’t.
You may also experience a similar problem if the Yaesu list servers are not able to keep up with the demand or if maintenance is being done. (When they do maintenance in the wee hours of the morning, that’s right in the middle of the day for us.)

Regarding Fusion

Some thoughts about Fusion, digital modes, and the future.

Fusion uses the lower layers of the P-25 architecture. Modulation, transport, framing, etc. The primary differences revolve around what’s in the packet. For example: The use of call signs instead of unit IDs. So Fusion shares most of P-25. FWIW, Fusion is also very similar to DMR. The primary difference is that it doesn’t use TDMA – jamming two separate channels into the space of one.

P-25, DMR, NXDN(Kenwood), IDAS (Icom), and Fusion use the same vocoder. D* uses a much older and obsolete vocoder.

Fusion and D* have been optimized, although differently, for Amateur Radio. DMR, NXDN, and IDAS have been optimized for commercial services, like taxi cabs. P-25 has been optimized for government services, like police departments.

Fusion was actually designed by Motorola in that period of time that Motorola owned Yaesu. This benefits Fusion since the vocoder and the signal processing firmware are pretty much the same as what Motorola uses in their radios. (Believe me, not all signal processing firmware is designed the same!) Thus, the performance of Fusion is pretty darn good. Add to that an additional layer for FEC provided by Yaesu’s modification to P-25, and the performance of Fusion is better than all the others. (D* is substantially worse than the other protocols.)

What we see from this is that most of the communication industry has evolved around the same technologies even though the systems are not directly compatible with one another. This is why it is so easy for a hotspot to translate between DMR, P-25, NXDN, IDAS, and Fusion. But is this the best we can do?

No. Digital performance could be much better. C4FM already blows away FM with superior range and capability, but it was intentionally limited – to work with FM/PSK transmitters and receivers like those used with FM.

FM is a non-linear system thus it does not transmit all the information it could in the available bandwidth. Linear systems, such as OFDM, can provide higher bit rates lower error rates, better resistance to fading and multipath, amongst other things. The problem is OFDM requires linear amplifiers and thus is not compatible with all the FM/PSK transmitter and receiver designs.

Personally, I’d like to see OFDM as an option for digital’s future.

But all digital systems could be made better by some enhancements at the repeater site. The use of multiple, diversity receivers incorporating very low-level discrimination could improve receiver sensitivity by as much as 10 dB. That means HT would perform almost as well as a mobile rig with no changes required of the user. Having multiple diversity receivers at various locations around a city could mean that a low power HT would work virtually anywhere in that city. Sadly, there doesn’t seem to be a market for doing such things. (This technology is well understood and used by your cell phone.)

One last note. Several attempts have been made to build multi-protocol radios incorporating DMR, Fusion, D*, FM, and others into a single unit. Should be simple, right? But we have yet to see such radios on the market. If we did, they wouldn’t do Fusion as well as Yaesu, or D* as well as Icom, or DMR as well as Motorola. Why? Protocols are damn hard to get right. They are even harder to get working really, really well where they take into account all the things that can go wrong with data transmission. (Hotspots try to do the conversion, but never work as well as going “native”.)

I would argue that the amateur community should focus on those systems designed for Amateur Radio. Ultimately those will be easier to use and better suited for the job. (Police departments and taxi cabs should not use Fusion!) A good user experience is critical if digital, any digital, is to become generally accepted.

One last note: Nothing prevents Icom from building a Fusion radio. Every last little detail about Fusion is public information, particularly since most of it comes from P-25 – for which Icom builds radios. The only proprietary aspects of Yaesu’s system are WiRES-X and IMRS.

Purchasing amateur radios that do digital help support the future of digital by encouraging companies to develop more and better digital features. Buying commercial Chinese radios just helps the Chinese economy.

Understanding DGID and IMRS

DG-ID is like a CTCSS tone, but for digital. It filters out signals with different DGID’s as well as having the ability to do split DG-ID’s (like split CTCSS). DG-ID can be in a state of Rx & TX (DG-ID), Rx Only, Tx Only, and Split Rx & Tx (different DG-ID).

DG-ID servers as a means of selective signaling for access to a repeater or for a WiRES-X node. For the repeater it has a couple of different applications (IMRS and access purposes) while with WiRES-X it offers control of voice and control access.

DG-ID’s cannot be reused within the same configuration or network. For a repeater that means the DG-ID can only be in the LOCAL, RPT GROUP, or GROUP. There will be issues if in an IMRS network has anything with the same DG-ID.

DG-ID Repeater usage

LOCAL DG-ID: There are two factors:
1) The DG-ID it will not be sent down IMRS links and only allow access to the local repeater.
2) In an IMRS set-up, you will always hear the status beeps: One for end conversation; Two for link drop/end; and three for a repeater is not connecting with the DG-ID/IMRS group.

RPT GROUP DG-ID: This offers the ability for an IMRS link to be established in a one-way direction. The DG-ID used is the LOCAL DG-ID of the other repeater that you are calling. If users are using DG-ID Tx AND RX they will not hear beeps the confirmation beeps (see above).

Example of RPT GROUP usage:

San Diego Repeater – Local 1         Los Angeles Repeater – Local 2, RPT GROUP 1

San Diego users using DG-ID 1 stay on San Diego for usage; Los Angeles users use DG-ID 2 stay on Los Angeles for usage. Los Angeles users who use DG-ID 1 will establish a one-way link to San Diego and will communicate with one another until the IMRS TOT is reached. Once the link drops it is reestablished by someone using DG-ID 1 on the Los Angeles repeater group as San Diego cannot establish the link as it is not a RPT GROUP.

GROUP DG-ID: offers the ability for an IMRS link to be established in either direction by any of the repeaters that have it programmed into IMRS. If users are using DG-ID Tx AND Rx they will NOT hear the confirmation beeps.

Example of GROUP usage:

San Diego – Local 1, GROUP 10                 Los Angeles Repeater – Local 2, GROUP 10

San Diego users use DG-ID 1 only stay on San Diego for usage. Los Angeles users use DG-ID 2 only stay on Los Angeles for usage. San Diego or Los Angeles users that use DG-ID 10 will connect to one another via IMRS and stay connected till the IMRS TOT times out.

Overall example with LOCAL, RPT GROUP, and GROUP:

San Diego – LOCAL 1 – RPT GROUP (blank), GROUP 10

Los Angeles – LOCAL 2 – RPT GROUP 1 – GROUP 10

San Diego: DG-ID 1 talks locally, using DG-ID 10 talks between San Diego and Los Angeles

Los Angeles: DG-ID 2 talks locally, using DG-ID 10 talks between San Diego and Los Angeles. DG-ID 1 establishes a link between San Diego and Los Angeles.

WiRES-X & DG-ID Local

Using WiRES-X with a DG-ID, it is not recommended to use the LOCAL DG-ID if you have an IMRS setup with a DG-ID. Here’s why: WiRES-X will hear all the confirmation beeps from IMRS (argh!). Also WiRES-X will hear everyone but only talk locally since a LOCAL DG-ID is being used.

Example of WiRES-X and IMRS (with three repeaters in an IMRS Network)

  • San Diego – LOCAL 1 – RPT GROUP (blank) – GROUP 10, 20, 99
  • Los Angeles – LOCAL 2 – RPT GROUP 1, 3 – GROUP 10, 30, 99
  • Chicago – LOCAL 3 – RPT GROUP (blank) – GROUP 20, 30, 99
  • WiRES-X – DG-ID 99
  • DG-ID 10 connects San Diego to Los Angeles
  • DG-ID 20 connects San Diego to Chicago
  • DG-ID 30 connects Los Angeles to Chicago
  • DG-ID 99 connects all together along with WiRES-X

In this setting the users can do the following, per repeater, with the DG-ID’s.

San Diego:

  • DG-ID 1 is local.
  • DG-ID 10 establishes a link between San Diego and Los Angeles.
  • DG-ID 20 establishes a link between Los Angeles and Chicago.
  • DG-ID 99 establishes a link between San Diego, Los Angeles, Chicago and WiRES-X.

Los Angeles:

  • DG-ID 2 is local.
  • DG-ID 1 establishes a one-way link between Los Angeles and San Diego.
  • DG-ID 3 establishes a one-way link between Los Angeles and Chicago.
  • DG-ID 10 establishes a link between San Diego and Los Angeles.
  • DG-ID 30 establishes a link between Los Angeles and Chicago.
  • DG-ID 99 establishes a link between San Diego, Los Angeles, Chicago and WiRES-X.


  • DG-ID 3 is local.
  • DG-ID 20 establishes a link between San Diego and Chicago.
  • DG-ID 30 establishes a link between Los Angeles and Chicago.
  • DG-ID 99 establishes a link between San Diego, Los Angeles, Chicago, and WiRES-X

Once an IMRS link is established ALL the DG-ID’s in the repeater can be used to keep the link active. If in the San Diego example a link is established, then DG-ID’s 1, 10, 20, and 99 can all be used to keep the link alive. DG-ID that established the link is the only one that will be transmitted by San Diego.

If a link established by DG-ID 10 on the San Diego repeater, the repeater will Rx DG-ID’s 1, 10, 20, and 99 but will only transmit back DG-ID 10. Therefore, if you have DG-ID 99 set-up in your radio for Tx & Rx you will be able to talk down the link but you will not hear anything because the repeater is Tx DG-ID 10.

Information from N9UPC.

Repeater Lock-Ups

Many people have reported Fusion repeater lock-ups that required the repeater to be shut down (power removed) and rebooted. I’ve had repeater lock happen as well with an HRI-200 directly connected to the DR2X. In this particular case I believe the event was triggered by sending a number of commands from the radio (such as the GM mode) which resulted in a race condition within the firmware.

I have previously observed that invalid data (I.e., with a lot of bit errors or badly formed packets from a hotspot) can also cause the lock-up. My assumption is that this is a problem of not validating inputs to a function prior to executing the function. The invalid data is not handled correctly and causes one of the lock-up faults I mention below to occur.

I have observed that data is more likely to be invalid if there is a lot of noise on the signal. Also a major source of problems are badly behaving hot spots that inject all sorts of crap into the data stream. There’s no control over these devices and it just gets worse as there is more work being done converting from one thing to another thing, etc.

Communications software is EXTREMELY HARD to write and much of what I see out there is poorly documented (which leads to bad code) and poorly tested.

Reflectors such as YSF or FCS are pretty dumb when they relay signals. They look for an incoming packet from one of the connected hotspots and just send that same packet out to all the other hotspots (including bridges to WiRES-X). Garbage in, garbage out. To address this I have modified the YSF reflector software to be very aggressive at dropping packets with CRC errors, invalid data in fields, and most importantly invalid FICH headers. The FICH header is extremely important for everything to work right. (You can look up FICH headers in the System Fusion documentation published by Yaesu.) This modified software is running on MNWis, Princeton Kentucky, MVARC (Idaho) and America Link. It has dramatically reduced the number of problems with WiRES-X problems.

So what is a “lock-up”. A lock-up occurs when the processor looses track of what it was doing and either halts or ends up executing invalid code. In either case it is no longer processing the code it was intended to run. Events that cause the processor to, using a technical term, go out to out to lunch can result of errors in the software that cause it to happen, corrupted memory, invalid states in a state machine, incorrectly handled race conditions, or a really nasty thing called priority inversion (where a high priority task which is pre-empting use of the CPU is waiting for a low priority task to complete, which can’t complete because, well, it’s not high priority.)

How to solve the problem?
First of all, the repeater firmware should never crash. Since it is very hard (but not impossible) to write code with no bugs, most continuously operating real-time systems will incorporate a “watch dog timer”. It is the purpose of this timer to detect when the “wheels have fallen off the processor” and perform a reset.

Since we can’t modify the repeater’s software, there are some actions we can take.

First would be to prevent bad data from getting into the system. A careful examination of the logs possibly combined with audio recordings could be helpful.

A quick fix might be to install a timer on the power supply such that the repeater’s power is removed for a short time once or several times a day.

I have a technical concept for a generic lock-up detector that would reboot the repeater in the event of a lock-up without the need to make any modifications. Not sure if I’ll work on this because I don’t know how much interest there would be. This solution would also work with non-Yaesu repeaters.

One further note. I made an observation that this problem was more likely to occur on 2 meters than on 440. Why? My theory is that there is a lot more interaction with the environment on 2 meters. Computer networks, small power supplies, computers, almost everything digital generally creates a lot more noise on 2 meters than it does on 440 MHz. I observed a situation where mixing products were occurring on a 2 meter repeater in a noisy environment. This repeater would lock up regularly. My theory was that the mixing products contained a lot of noise along with the C4FM signal causing a high number of bit errors and thus crashing the repeater. This was observed on a DR1X.

If you are struggling with this problem, I suggest you contact Juan at Yaesu Customer Service with your details. Provide Juan with as much information as you can.

Running two HRI-200’s on one IP Address

I use VyprVPN from GoldenFrog. It is necessary to turn of NAT for your account. That means that each VPN connection is a raw connection straight to the Internet. YOU HAVE NO PROTECTION OTHER THAN WHAT YOU PROVIDE!!! (The same company will rent you a VPN that you can host on your own cloud provider where you can control port forwarding – but I suspect this is well beyond most folks.)

I’ve been using this solution for over a year. If you’ve ever seen me demonstrate WiRES-X, I’m either using AT&T/cell or the local Wifi along with the VPN to get access to the incoming ports.
Good news! My fully patched and maintained Win7 boxes have not yet been hacked. One of which has been online via VPN for over a year.
Most VPNs won’t work because they don’t give users their own IP. The VPN host shares IPs between multiple users which means they can support more users with fewer IPs (and better obscures your traffic). I’m only aware of two VPN providers that allow you to specify incoming ports.
The previous post of using the Ham’s IP space is a good one. I plan on giving that a try when I have time. But VyprVPN is very much plug-and-play.
Note: You will need to PAY for VyprVPN (~$70/yr). The free service does not allow you to disable NAT.

What Does the HRI-200 Actually Do?

What’s the difference between using an HRI-200 and directly connecting to the radio?

1. It is the only option for connecting a repeater to WiRES-X.
2. It uses UDP communications sent directly to the Room. So network communications are very efficient.
PDN uses TCP instead of UDP. (Why use UDP? UDP is simple. If anything gets lost, it is dropped. Good for real-time communications. If a packet is missed with TCP, it will keep retrying up to a limit which is not good for real-time. VoIP, VPN’s, Netflix, etc. all use UDP.)

The PDN TCP packets (non-HRI-200) are sent to a server in Japan. This server converts the packets to UDP and then sends them to the selected room in the same way the HRI-200 does. So by using the HRI-200 you bypass a drip to Japan and a potentially problematic conversion from TCP to UDP and back to TCP for the return trip to your station.

Yaesu uses the TCP approach to get around forwarding of ports. The WiRES-X PDN software establishes a TCP connection with the Yaesu server. It’s through that connection stations can contact you even though you don’t have an open port. With the HRI-200, stations just get your IP address and send you packets directly. This is why PDN cannot efficiently host a room – all room traffic would have to go to Japan for the conversion process.

In a previous post (2016) I described what the HRI-200 does. Why it is the way it is is somewhat historical from the history of WiRES, WiRES-II, and now WiRES-X. Obviously an Ethernet port on the back with an embedded processor to run things would be a better way to go. I can only guess that the ROI is simply not there for Yaesu. They do, after all, have to make a profit.

One further note. It’s probably a good thing non-Yaesu equipment doesn’t connect to WiRES-X. The biggest problem in bridging hotspots (YSF, FCS, etc.) to WiRES-X is that the hotspots are bad neighbors. They generate bad packets, do crazy things, and can really trash a network. As a room operator we have no control over who tries to connect, so at least the Yaesu equipment has gone through compatibility testing. Believe me, very little testing is done on hotspot software.

MNWis (21493) bridges to YSF (21493) via a YSF Reflector where I have extensively modified the code to drop bad packets, control information, and all manner of things that shouldn’t see there way into the WiRES-X node. I had to do this because we were constantly having hotspots connect and mess everything up. It got very, very tiring working with the (mostly new) hotspot owners to fix their problems. I mean the conversations were endless and constant! So I just dropped anything that looked bad in the YSF Reflector software and the problems went away as well as a few hotspots who could no longer connect or talk to people.

System engineering is critical. We need Yaesu to play the roll of system engineering to keep all the Fusion products working with each other. It’s so nice that all the Fusion equipment basically works the same way and does the same thing all of the time! 

BTW, you can bring your questions/comments to the MNWis Fusion Technical Net held Monday’s at 7:30 PM Central in the above mentioned locations.