{"id":7,"date":"2025-12-03T23:18:51","date_gmt":"2025-12-04T05:18:51","guid":{"rendered":"http:\/\/aa6kj.hopto.org\/wp\/?p=7"},"modified":"2025-12-04T19:56:47","modified_gmt":"2025-12-05T01:56:47","slug":"improve-timing-of-cwdaemon-on-linux","status":"publish","type":"post","link":"http:\/\/aa6kj.hopto.org\/wp\/?p=7","title":{"rendered":"Improve timing of cwdaemon on Linux"},"content":{"rendered":"\n<p>If one starts cwdaemon directly on Linux, it produces rather choppy and poor CW. So, I experimented a bit and it seems that the following will produce nice and consistent CW:<\/p>\n\n\n\n<p><strong># echo 1 > \/sys\/bus\/usb-serial\/devices\/ttyUSB1\/latency_timer<br># chrt -f 99 \/usr\/bin\/cwdaemon -d \/dev\/ttyUSB1 -o key=DTR -o ptt=none -x n<\/strong><\/p>\n\n\n\n<p>This reduces the rs232 port latency (1st line; 1 ms latency), runs cwdaemon with real time priority (chrt command) and disables audio output on the computer (-x n). In my case above \/dev\/ttyUSB1 is the RS232 port for the radio, which uses DTR signal for keying.<\/p>\n\n\n\n<p>Once can put the above in a bash script so cwdaemon can be started easily.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If one starts cwdaemon directly on Linux, it produces rather choppy and poor CW. So, I experimented a bit and it seems that the following will produce nice and consistent CW: # echo 1 > \/sys\/bus\/usb-serial\/devices\/ttyUSB1\/latency_timer# chrt -f 99 \/usr\/bin\/cwdaemon -d \/dev\/ttyUSB1 -o key=DTR -o ptt=none -x n This reduces the rs232 port latency (1st [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-ham_radio"],"_links":{"self":[{"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":1,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":9,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/9"}],"wp:attachment":[{"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/aa6kj.hopto.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}