Help setting up radio interface for 706 MkIIG

I need help setting up CQRLOG to connect to my Icom 706 MKIIG. I am very new to Linux so be patient with me. It took me about a month and a half just to get the program installed and working. I installed it through Package Manager initially, but I had broken packages that defied being fixed because it was an older version, and the missing files seem to not be available anywhere. Any help I found on line to attempt to rectify that was either incomplete or wrong. No amount of updating helped. Eventually I deleted the old version and figured out how to install the latest stable version. I no longer have broken packages and the program seems to be working. So far so good.
However, I am having a terrible time attempting to get the software to communicate with my radio. I am running Linux Mint 17.3; CQRLOG ver. 2.0.4 (001).
In ‘Preferences’ setup on the TRX control tab I set up the following:
Path to rigctld binary: /usr/bin/rigctld (I think this was a default. I don’t recall setting it)
Host: localhost (also default)
RIG model: 311 Icom IC-706MkIIG
Device: (this is probably part of my problem. Have tried numerous things, but right now it is set to /dev/tty/USB2)
-When I run lsusb in terminal I get this response for this device:
Bus 006 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Poll rate: 500
Port number: 4532
Extra command line arguments: --civaddr=$58 (right or wrong I chose this based on some online help)
-the radio’s CI-V address is set to 58H
Run rigctld when program starts: box checked
Radio serial parameters:
(the following are set identical to my setup in Windows in N1MM logger, which took about 5 minutes to download, install and set up for radio interface! And it works! These settings also are the same as for Ham Radio Deluxe, which is what I have been using all along.)
Serial speed: 19200 (this is the setting in the radio)
Data bits: 8
Stop bits: 1
Parity: None
Handshake: None
DTR: OFF
RTS: OFF

I also tried setting all those parameters to ‘default’ based on online suggestion, but that didn’t work either.

I also have installed libhamlibs-utils, ver 1.2.15.3-1ubuntu4; Fldigi, ver 3.21.80-1 which I also cannot get to communicate with the radio.

I have also made sure I am a member of the appropriate dialout group, though I don’t remember how I did that now.

I have watched the videos and read the forums for this radio, all to no avail.

Any help with all of this would be greatly appreciated. The program looks good and I would love to get it working. But I am very frustrated with Linux right now and if I can’t get this program working with my radio I will have to revert to my Windows machine for logging, which I really don’t want to do!

I actually had it entered the way you have it. I miss-typed the entry in my post by adding an extra /. Please review everything I have described to see if there is anything else incorrect. And any other questions you can think of to ask me. It does not work.

<p>Hi, I use linux mint 17.3 &amp;18.1, the Extra Command line argument should be blank.Also speed 19200 correct,but data bits,stop bits,parity,handshake,DTR,and RTS all set to default.</p>
<p>When you download a file in mint,say cqrlog,go to your downloads folder and find cqrlog and right click.This brings up the debi installer and this will over-ride synaptic and instal the later version automatically.The repository is not as up to date as this web page.</p>
<p>73 john zl3aau</p>
<p>&nbsp;</p>

HI Peter, Check your file /etc/group find dialout:x:20 and tty:x:5: and see if your user name has been added after these lines. If not you will need to add your user name. You will probably need to use root privileges to edit so be CAREFUL, the gksudo method does not seem to work with these later versions of mint. After editing shut down cqrlog and restart to apply the changes.
73 John

Hopefully making progress, but it still doesn't work.
From 'Menu' button went to 'Administration', 'Users and Groups', which brings up 'Users Settings' window. Clicked on 'Manage Groups' tab which brings up 'Groups settings' window. Scrolled down to 'dialout' properties, showed my user name as member and Group ID:20. Scrolled down to 'tty' properties, had to 'check' my user name as member, 'Group ID' was 5, and clicked 'OK'.
Rebooted computer and tried CQRLOG with no luck. Checked group properties again through same process and they showed new setting.
So, I was not a member of 'tty' but now am.
Are there any other groups I should be a member of? Checked properties for 'operator' and 'user' and I am not a member of those, should I be?
Any more ideas?

Hi Peter, All should be working so maybe a hardware check is in order. In the 706 menu CI-V Baud should be set to 19200 not auto (You can reduce this if you wish). When using my 706 MKii on my laptop I have the following connections :- USB port to a USB/serial dongle.The Serial side of the dongle is plugged into a CI-V interface which has a 3.5 mm phone plug which is connected to the CI-V port on the rear of the 706. The port on the 706 is adjacent to a similar size port so check your user manual for the correct position. I am using a CI-V interface published in the ARRL Handbook many years ago.
73

It's definitely not the interface. I have a usb CI-V interface I recently bought off ebay. I have been using an old, slow Windows XP laptop with HRD for years, that I used with a serial port interface. I built this Linux machine mainly to transition to a better computer and away from Windows, so I basically built it to run CQRLOG. In the mean time I bought a refurbished Windows 7 laptop also. I have installed N1MM in it and also the last free version of HRD. The USB / CI-V interface works perfectly on that. Also installed DXKeeper on it, and although it works too, it is staggeringly complex and I don't have the tiniest interest in taking the time to attempt to use it. What a bloated program that tries to do way too much!!!
I indeed have the baud set to 19200. Not quite sure what to do now. My Linux machine is quickly looking like a big paper weight. I do appreciate your help. Let me know if you can think of anything else to look at.

In response see owner (root) and group (dialout) and before that is crw-rw----
First "rw-" means that owner can read and write to port.
Second means that group members can read and write.
Third "---" means that no one else can not do anything.

Okay. If your username is not at owner's place (should not be normally)
Then your username should belong the group named.

Type:
cat /etc/group (this may vary, in Fedora23 it is like this. Works without sudo, but if does not, put "sudo" as first word)
There are many lines and you should find the same group name from one line:

dialout:x:18:saku

Like this you should find your username from line that begins with same name as "ls -l /dev/ttyUSB1"
showed before.

If so, OK.
If not you should add your username to that group.
I assume that "sudo" works for you.
Type:
sudo usermod -a -G the_groupname your_username

Your password will be asked first, then command is done.
If that does not work you may have some graphical tool to modify users. Use that then.

When you find your username from "dialout"-line (may also be called "modem" group)
by typing again:

Notes:
I have changed device name from udev so that what ever socket /dev/ttyUSBx rig's RS-232 dongle will become
it will always be linked also to /dev/rig (linking is done by the information of serial adapter).

---------------------------
Fedora23 it goes to file:
/etc/udev/rules.d/92-persistent-usb.rules
adding line: (you must use sudo, or be root to edit this file)
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ATTRS{product}=="USB 2.0 To COM Device", SYMLINK+="rig"
Where IdVendor, idProduct and product can be taken from /var/log/messages
Type :
sudo tail -f /var/log/messages
and then plug your RS232 dongle. Press ctrl-C and the dig out ids from text.
Google how it goes with your distro if ithis does not fit to you.
--------------------------

I use CI-V and PTT with same RS-232/USB dongle. It works perfect, but needs "Extra command line arguments".

Do not use Host: localhost. Use 127.0.0.1 instead. Sometimes, if you have IP6 enabled using "localhost"
may cause problems. IP-Number is better.

+++++++++++++++++++++++++++++++

At IC706 side (I suppose it is the same with MKIIG) you should have:
CI-V TRN OFF
CI-V BAUD 19200
CI-V ADDRESS 48H
You get those by pressing "Lock" while powering on rig.
Change parameter with UP/DN buttons, parameter value with VFO knob
Power off rig after setting and power on without pressing "lock", as usual.

With different process number (at beginning) and different parameters.
You should find only ONE of those lines. If there are several you have to kill them all and restart cqrlog
With command:
killall rigctld
So many times that it says "no precesses" (Cqrlog must be shut off before)

If that ONE line only is found try to type:
"telnet 127.0.0.1 4532"(enter, and without quotes)

if your distro has telnet installed you should get something like:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

type:
"f" (enter, and without quotes)

You should get something like:
f
10138000

inidicating rigs current frequency in Hz

type "q" (enter, and without quotes)

q
Connection closed by foreign host.

That should prove that rigctl daemon is runing ok.

At that point it should work! If it all ready works with Windoze.

Most often reasons for defunct are:
- you do no know right /dev/ttyXXXyy port name
- you do not have read/write access to /dev/ttyUSBx port (you do not belong the group)
- you have wrong setting in cqrlog's preferences

Hi Peter, Check 1)the file system to see if rigctld is installed ie usr/bin/rigctld
2) Synaptic Amateur Radio (universe) to see if libhamlib-utils and libhamlib2 are installed. (I am using Cinnamon mint)

I might as well post one more time on this subject. I have no other choice than to give up on CQRLog and Linux. I really, really wanted to get this logging program working, as I wanted to get away from Windows and use Linux in my ham shack. This program looks really good, and I am sure that someone who knows Linux can get it working and find it useful. However, I am finding that Linux is ridiculously difficult to use, and setting up this software is almost impossible if you are not a Linux expert. I am grateful for the individuals who attempted to help me, however, for a beginner in Linux I could only get so far. Incomplete information is no help at all.

I need to be able to use a logging program on my computer and this still doesn't work. My old Windows XP laptop was just too slow and had a small hard drive and needed to be replaced. In 5 minutes I had the last free version of HRD downloaded, installed, and interfacing with my radio on a newer Windows 7 laptop. Three months of working on CQRLog didn't get it working!

I am not a Windows fan. My main computer is actually a Mac. But I have found that many in the Linux community must think that if someone owns a Linux computer, they must speak the language. This is not always the case.

I hope this can serve as a warning to someone contemplating this software. I am sure it is good, but save yourself some grief and frustration if you are not already a Linux expert.

In Preferences -> TRX control in serial port params set only serial speed, other settings leave as default. Close the program.

Now open a console and enter:

cqrlog --debug=1

Open CQRLOG and you sould see a lot of strange messages. Somewhere will be part related to rigctld. Could you copy it and paste here, please? I suppose there will be the reason why cqrlog doesn't work with your radio. Thank you!

rigctld could not open the port. Are you sure it's on /dev/ttyUSB2? According to your previous posts in the forum, it seems you are already member of dialout group. To be sure, please run from a console:

groups

You should get list of groups. Is there 'dialout'?

Please try to change /dev/ttyUSB2 to /dev/ttyUSB1 and run cqrlog with --debug=1 parameter again. As far as I know, the civaddr is not needed, hamlib uses good default values.

I'm sorry it's so complicated. These USB to Serial adapters may change the location after every computer reboot. It's not hard to set it to something like /dev/icomradio but it needs to do some "magic" in terminal. I'm going to describe it here on the website, soon.

I ran the "groups" command and dialout is one of the groups. I ended up going back through previous posts and one of the suggestions in post #10 from oh1kh was to run command line "ls /dev/tty*" alternately unplugging and plugging in the USB adapter. Every time I plugged it back in and ran the command again, one of the devices that returned was /dev/ttyUSB0. No matter how many times I did it, the address didn't change. So I changed the USB address to 0 and clicked on Refresh TRX/ROT control, and now it works.

I know I had previously tried 0 as an address, but maybe there was something else wrong at the time. Seems a little slower than I expected to update the display changing frequencies and bands. Poll rate was 1000. I changed it to 500 then to 250, then to 100. That speeds it up. I noticed that the Frequency field in the logging window lags considerably behind the frequency display in the TRX control window.

I did also eliminate the 'extra command line arguments' --civaddr=058.

Ok, now I'm much happier, and now I can play with using it. How do I import my log book from HRD? What format should I use to export? ADIF, Cabrillo or Exel XML?

I'm pretty shure that I'v got every step done right but the trx an the computer (Kubuntu 16.04) don't talk together. I'm added to the group "dialout", too. But nothing don't want work. I'v got set the initial settings of my Icom like in your description. Nope.

Hi!
If you have done all tricks this message chain says and still no connect next question is:
Is your CI-V cable in shape? Do you know it for sure?

If you have, or can install, program minicom you could test a bit more.
Set minicom serial settings same as rig CI-V baud and 8bit, none, 1 stopbit.
Set rig's CI-V TRN temporary to ON.

Now, when rig is restarted and minicom is running you should see some garbage charcters
coming to screen every time you turn VFO knob.

If nothing happens check once more that rig's CI-V TRN os ON and CI-V baud is same that you put
to minicom's serial speed settings.

If they SURE are ok and nothing comes to screen when turining VFO knob you should check the CI-V cable
and that it SURE is the ttyUSBx device you think it is.
See this message chain how to check that ttyUSBx is the right one. If it is, measure your cable and if possible chec it with another program or visit another ham who has working icom CAT and test your cable there.

Go serial settings (3rd from top)
set (A) serial device to /dev/ttyUSB0
set (E) baud to same as rig's CI-V baud is (A and B) and bits-party-stop to 8n1 (Q)
Exit serial settings (esc) and go "exit settings" (2nd from bottom)

Turn VFO and you should get garbage to window.
If not your CI-V cable is not ttyUSB0 as you think, or cable (or rig) is not working ok.

If garbage charcters came to window cable works at least from rig to pc. This just does not prove it works from PC to rig as you can not enter CI-V commands from keyboard.
Close terminal, set rig's CI-V TRN OFF and doublecheck cqrlog preferences/TRXcontrol.
See that "start rigctld at program start " is cheked and "Show TRx communication on terminal" is cheked. This one you can take of when all works.

open command window and start cqrlog by typing
cqrlog
at command prompt.

You should see TRX conversation after program start phase. What do you see?

I've done all as you've written. After leaving minicom, not closing, I get these garbage character as descripted. Is it important to save the new configuration? Every time when I wanna doing it do I get a error message (it's not possible).

So there is timeout problem (-5) and I assume that function that is not available (-11) is "Get vfo" as also my IC706 makes the same but that does not make harm. As long as frequency and mode comes ok.

So the timeout is the problem. First try to set preferences/TRXcontrol/poll 2000 (2sek, or even more).
This might be that it does not help as there is timeout in traffic between rigctld and rig serial line.
And that is causing the reason for -5.

And it is working fine. If you have same, but not working you could change 19200 to 9600.
But remember to change CI-V BAUD at rig same as cqrlog has.
At same go check that CI-V ADDR is 48H and CI-V 731 is OFF

If that does not help what version of rigctld you are using? Is it very old?
open terminal and check:

Copyright (C) 2000-2012 Stephane Fillod
Copyright (C) 2000-2003 Frank Singleton
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

That is what it should be. If older than 3.1 try to find update.

If it is 3.1 and does not work try to use some other 706 model. 309 or 310 if you now have 311 at preferences/TRXcontrol/RIG model. I assume that does not help as all 706 models use same source code, but it is not very hard to try anyway.

If you have installed WSJT-X digital mode program you should have 2 rigctld programs.
Then "normal" /usr/bin/rigctld and other one that comes with WSJT-X with latest bugfixes called /usr/bin/rigctld-wsjtx
If you have it try to put it to preferences/TRXcontrol/path to rigctld binary and then start all again and test if that works.

IF none of these do not help and you still get RPRT -5 you are in trouble as I can't give any more easy-to-try ideas.

If you can compile hamlib by your self you can download hamlib source and dig out src/icom/ic706.c file.

Hi Wil,
Ensure also that you are member of the dialout group (I suppose you are).
To check, open a terminal (CTRL+ALT+t) and type 'groups' (without the quotes)
if dialout doesn't show up, type 'sudo useradd -G dialout yourname'

I solved the timeout problem by adding the following parameter to the call of rigctld:
--set-conf=timeout=10000.0
This sets the timeout to 10 seconds (10000.0 miliSeconds)
You can add it to your shell or in CQRLog under Preferences > TRX control > extra command line arguments.
In fact, my rig (TenTec Omni VII) seems not to be responding to rigctld while I'm operating the rig manually (pushing/turning knobs and also tuning) what leads to a timeout; my Elecraft K3 doen't produce this problem.
Also, passing the parameters of the connection to rigctld (even if they are the defaults) seems to be helpfull in some cases.
Example: rigctld -m 1611 -r /dev/ttyS0 -t 4532 --set-conf=timeout=10000.0 -s 57600 --set-conf=data_bits=8,stop_bits=1,serial_handshake=None
data_bits and stop_bits are defaults ...
Maybe playing around with handshake, DTR and RTS lead also to more stability. My Elecraft K3 needs DTR and RTS set to OFF.

I'm already in the group dialout but will check it in the next days again. I've got downloaded your compiled package. Maybe I make a upgrade to 17.04. In this version the actual version of hamlib present.

Now it works. It' unbelievable for to see my little 706mk2 on my PC on Linux. I don't even need the time out option as extra argument, top. It is necessary to choose the simple 706 but when it works. Maybe there are little thinks to solve but I thing it will work out all right.

Unless group uucp does have group dialout as member (that can't be)
Check what users uucp have. I made this check with my fedora and lubuntu. Fedora does not have uucp at all.
Fedora:
[saku@hamtpad ~]$ cat /etc/group | grep uucp
[saku@hamtpad ~]$ cat /etc/group | grep dialout
dialout:x:18:saku,test,test2,svxlink

Starting one of those using serial port where your icom is connected should give some charcters to display when turning vfo knob.
This test requires that ic706 has parameter 23 CI-V TRN on. You can access this parameter by keeping "disp" button pressed while pressing PWR on. Move to 23 with memory "up" "dn" buttons. Set between on and off by turning vfo knob.

Once it is on and you see some char coming to screen when turning vfo go back to icom setting and put CI-V TRN off. It should be off in normal use.

Start your rig by keeping LOCK button pressed while pressing power. You get into settings mode.
use buttons UP and DN to get item "21 CI-V ADDRESS" it should display 48H.
press UP to get "22 CI-V BAUD" should display 19200
press UP to get "CI-V TRN" should display off
press UP to get "CI-V 731" should display off

if any of those displays show other values you can change them with VFO knob rotate.

Press power to shut down rig and start it again normally. Now it is ready.

Start your rig by keeping LOCK button pressed while pressing power. You get into settings mode.
use buttons UP and DN to get item "21 CI-V ADDRESS" it should display 48H.
press UP to get "22 CI-V BAUD" should display 19200
press UP to get "CI-V TRN" should display off
press UP to get "CI-V 731" should display off

if any of those displays show other values you can change them with VFO knob rotate.

Press power to shut down rig and start it again normally. Now it is ready.

Start your rig by keeping LOCK button pressed while pressing power. You get into settings mode.
use buttons UP and DN to get item "21 CI-V ADDRESS" it should display 48H.
press UP to get "22 CI-V BAUD" should display 19200
press UP to get "CI-V TRN" should display off
press UP to get "CI-V 731" should display off

if any of those displays show other values you can change them with VFO knob rotate.

Press power to shut down rig and start it again normally. Now it is ready.

Hi!
Do not worry about "the grabage". It is not needed for cqrlog. It just visualizes that your serial port receives data from your rig.

Actually "TRN" means functon where one Icom rig can drive other icom rig(s) connected to same CI-V wire. It is not needed here and rigctld does not like it at all.
So keep it "ON" only in test to see that rig connection works.

"731" will emulate old IC731 rig in CI-V commands. As rigctld knows ic706, MKII and MKIIG these should be used and 731 emulation switched of at rig side to get all CI-V properties in use.

"DTR: unset" and "RTS: unset" are unset if you need them for driving PTT relay. If your interface does not have that, but requires "real" handshake then you must set them on (by the interface manual instructions).
If your PTT relay uses those lines, from serial port in use, you have to set "extra command line arguments" to tell rigctld what is the serial device and the handshake line name where you have your PTT relay.
For example if you have PTT relay at same serial port as rig, using RTS line you need to have "DTR: unset" and "RTS: unset" and "extra command line arguments" will have line:
-p /dev/ttyUSB0 -P RTS

If the PTT is on different port than rig, lets say /dev/ttyUSB1, then you do not need to set "DTR: unset" and "RTS: unset". They can be "default".

But PTT is not first problem. Cqrlog works fine without it getting just frequency and used mode from your rig.

In earlier message --set-conf=timeout=10000.0 is recommended. How ever if your rig is IC706/MKII/MKIIG, as the subject of this message says, I think you do not need it.

If you want to try with it the right place for it is "extra command line arguments". Put just the text:
--set-conf=timeout=10000
to that place.

Settings in picture should work for you if your rig side settings are as I wrote on last message.

"21 CI-V ADDRESS" 58H. Sorry, I checked this now from Icom and 48 is plain IC706. IC708MKIIG must have 58 here !!
MKII without G must have 4C here. So I was wrong with these numbers.
When you have preferences rig "311 Icom IC706MK2G" you must have 58H at rig's setup.

"22 CI-V BAUD" 19200
"CI-V TRN" off
"CI-V 731" off

If that fix did not help, then questions:
Are you sure that your rig CI-V interface is at /dev/ttyUSB0 ?
What kind of interface you have? Home made or some industrial brand?

After setting 58H to rig Try:
Set in preferences/TRXControl check "Show communication with TRX in console" then open command console and type there:
cqrlog
Copy messages you see to your text editor save and add that txt file to your next message. (or take a screen shot picture)

When you open minicom and get garbage (when ci-v trn on at rig) what are minicom serial settings?
Does it have hardware handshake on then?
If so, put same values to cqrlog settings.

And what brand and model your interface is? I can google information for it.

If you change CI-V address to something else than default (see your manual) you must also change rigctld CI-V address with parameter -c
-c, --civaddr=ID set CI-V address, decimal (for Icom rigs only) NOTE!! it must be decimal! At rig side it is Hex.
Rigctld expects default address of ci-v by rig model given as parameter.

I have feeling this is just a small problem, but hard to find out via messages. I just need to be there...

Then give :
minicom -s
Check that serial settings are as they should be (8N1 /dev/ttyUSB0). Then exit from settings and set rig side TRN ON. Turn vfo.
Check that you get garbage to minicom screen.
Then turn rig TRN OFF
Stop minicom.