<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1111281273810492213</id><updated>2011-11-03T18:20:42.762-07:00</updated><title type='text'>Linux DStar Development</title><subtitle type='html'>The life and times of development of a Linux D-Star repeater and dplus node.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7545637530106581683</id><published>2010-10-13T06:39:00.000-07:00</published><updated>2010-10-13T06:44:22.978-07:00</updated><title type='text'>New Project Name</title><content type='html'>Please note that due to existing trademarks and the potential for infringement, the project name has been changed to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: georgia;"&gt;StarGate&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7545637530106581683?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7545637530106581683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/10/new-project-name.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7545637530106581683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7545637530106581683'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/10/new-project-name.html' title='New Project Name'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2968927139017346421</id><published>2010-09-17T09:17:00.001-07:00</published><updated>2010-09-23T02:06:40.267-07:00</updated><title type='text'>NI-Star v2 has arrived</title><content type='html'>NI-Star v2 is released, supporting multiple (up to 3) Node Adapters.&lt;br /&gt;&lt;br /&gt;Support has been tested with:&lt;br /&gt;&lt;br /&gt;- Satoshi v6.20&lt;br /&gt;- Satoshi v7.08&lt;br /&gt;- Dutch*Star v0.1.28-2&lt;br /&gt;&lt;br /&gt;A full installation package for the v1 code will be available via the UKIT support team.&lt;br /&gt;&lt;br /&gt;Modifications to run v2 are available on request.&lt;br /&gt;&lt;br /&gt;73  David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2968927139017346421?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2968927139017346421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/09/ni-star-v2-has-arrived.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2968927139017346421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2968927139017346421'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/09/ni-star-v2-has-arrived.html' title='NI-Star v2 has arrived'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6166107477310871151</id><published>2010-06-29T14:13:00.000-07:00</published><updated>2010-06-29T14:16:35.333-07:00</updated><title type='text'>Announcing the Imminent Arrival of NI-Star</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Non-Icom Smart Technologies for Amateur Radio&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The release of NI-Star is getting closer.  The system now functions with Satoshi v6.17/6.20, v7.x and Fred's latest code.&lt;br /&gt;&lt;br /&gt;Significant changes have been made to the code to make it easier to package and release, and this process has taken much longer than anticipated.&lt;br /&gt;&lt;br /&gt;Please bear with me....&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6166107477310871151?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6166107477310871151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/06/announcing-imminent-arrival-of-ni-star.html#comment-form' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6166107477310871151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6166107477310871151'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/06/announcing-imminent-arrival-of-ni-star.html' title='Announcing the Imminent Arrival of NI-Star'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7112770383674998330</id><published>2010-04-27T09:03:00.000-07:00</published><updated>2010-04-27T09:10:34.034-07:00</updated><title type='text'>Why so quiet ?</title><content type='html'>Simple.   &lt;span class="blogText bigText"&gt;Eyjafjallajokull.&lt;br /&gt;&lt;br /&gt;I was supposed to be in Bahrain for one week, then Florida for two....  It ended up as Florida for three weeks, 3 days.&lt;br /&gt;&lt;br /&gt;In the meantime, I've been working on the user-facing web-pages with considerable help from others.  They are now complete and running on GB7MH.&lt;br /&gt;&lt;br /&gt;Mostly because I can't think of anywhere else to say this, I am going to say it here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Thank You !  &lt;span style="font-size:100%;"&gt;to the citizens of Florida for turning what could have been a week of expense and boredom into an enjoyable experience.  You were simply GREAT.&lt;br /&gt;&lt;br /&gt;Busch came up with FREE tickets for SeaWorld and Aquatica&lt;br /&gt;Disney came up with FREE Rover tickets for the parks&lt;br /&gt;The Zoo gave us 50% off&lt;br /&gt;Even the Miniature Golf courses reduced rates !&lt;br /&gt;Hotel dropped prices, restaurants too.&lt;br /&gt;&lt;br /&gt;Everyone kept saying how sorry they were for us.&lt;br /&gt;&lt;br /&gt;In short, we were treated in our adversity in the manner which I would hope I treat people in theirs.  It counts for a lot, and we are VERY GRATEFUL.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7112770383674998330?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7112770383674998330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/04/why-so-quiet.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7112770383674998330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7112770383674998330'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/04/why-so-quiet.html' title='Why so quiet ?'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7981862864109228891</id><published>2010-02-26T15:43:00.000-08:00</published><updated>2010-02-26T15:44:37.178-08:00</updated><title type='text'>Dayton 2010</title><content type='html'>For those interested, I will be at Dayton 2010, and will have my repeater live on-air in the show.&lt;br /&gt;&lt;br /&gt;Hopefully, I'll be able to get a G2 and D-Plus link out of the hall as well.&lt;br /&gt;&lt;br /&gt;I'm presenting on the software (time to be advised), and will be at a booth for some of the time - alternatively, you'll be able to call me on the repeater !&lt;br /&gt;&lt;br /&gt;73 David - G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7981862864109228891?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7981862864109228891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/02/dayton-2010.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7981862864109228891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7981862864109228891'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/02/dayton-2010.html' title='Dayton 2010'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5355926627656926796</id><published>2010-02-26T15:39:00.000-08:00</published><updated>2010-02-26T15:43:15.447-08:00</updated><title type='text'>Release Plans</title><content type='html'>Hi All&lt;br /&gt;&lt;br /&gt;I've had many, many requests for code, and here are my plans.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;At the moment, the installation is manual and time consuming.  My plan is to take a break from development as the code seems substantially complete and concentrate on automating the installation via scripts.&lt;/li&gt;&lt;li&gt;As part of this, I want to add a user addition/deletion web page - the current system of flat text files is not working.   I have an offer of help from Colin at GB7NE for this (thank you).&lt;/li&gt;&lt;li&gt;The code will then be made available via the UKIT.&lt;/li&gt;&lt;li&gt;I can then concentrate on new developments/bug fixes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Please bear with me whilst I package it all up....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5355926627656926796?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5355926627656926796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/02/release-plans.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5355926627656926796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5355926627656926796'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/02/release-plans.html' title='Release Plans'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-9163964938798725947</id><published>2010-02-07T12:48:00.000-08:00</published><updated>2010-02-07T12:52:26.171-08:00</updated><title type='text'>v6 Test System on-line</title><content type='html'>At last, I have a stable v6 system up on G2 and D-Plus.&lt;br /&gt;&lt;br /&gt;I've got two v6 boards build - one using v6.12 which works fine, and one using v6.16 which is not so stable.  Now, I tried to flash the v6.16 unit with the v6.12 code, and immediately hit the code protection, so I need to ask Satoshi very nicely to provide me with the correct load.&lt;br /&gt;&lt;br /&gt;I've also built a new system on CentOS 5 on a Mini ITX with 512MB RAM which  using an EPIA-M 10000 and an 8GB SSD.  This is MUCH faster and better than the unit installed at GB7MH, so at some point, I will be swapping this out for a v6 unit.&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-9163964938798725947?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/9163964938798725947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/02/v6-test-system-on-line.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/9163964938798725947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/9163964938798725947'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/02/v6-test-system-on-line.html' title='v6 Test System on-line'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5267616256353400839</id><published>2010-02-02T03:22:00.000-08:00</published><updated>2010-02-02T03:25:24.237-08:00</updated><title type='text'>Logging changes - future support</title><content type='html'>I've added a tag to /var/log/dsipsvd.log that indicates the version of software to D-Star Monitor.  This in turn is picked-up by the dstarusers.org page so that machines running my software can be identified.&lt;br /&gt;&lt;br /&gt;Now, future support.  As I move into new "challenges" at work and the number of installed machines increases, I need to work out how I'm going to allow any group that wants to to build/install a system without compromising the software and without my having to run remote installation.    Not quite sure how to work this one out yet, so stay tuned....&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5267616256353400839?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5267616256353400839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/02/logging-changes-future-support.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5267616256353400839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5267616256353400839'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/02/logging-changes-future-support.html' title='Logging changes - future support'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5289324779907681240</id><published>2010-01-21T01:08:00.000-08:00</published><updated>2010-01-21T01:13:25.322-08:00</updated><title type='text'>G2_poll bug</title><content type='html'>I've found a bug in the g2_poll process that maintains contact with the Trust Server.&lt;br /&gt;&lt;br /&gt;The issue is with new station registration and the interaction with D-Plus.&lt;br /&gt;&lt;br /&gt;Presently, when a station is added to the G2 database, I insert into the sync_rip table.  D-Plus checks the sync_mng table.  This is not an issue for RF stations - the first time they transmit, the mng entry is added.  However, for DV-Dongle users that will never update over the air, this means that the MNG entry is never created, so the callsign is not added to the users.txt file used by D-Plus.&lt;br /&gt;&lt;br /&gt;g2_poll changed to send initial sync_mng entry after new user insertion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5289324779907681240?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5289324779907681240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/01/g2poll-bug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5289324779907681240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5289324779907681240'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/01/g2poll-bug.html' title='G2_poll bug'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4527744896862036433</id><published>2010-01-10T19:50:00.000-08:00</published><updated>2010-01-10T19:54:00.302-08:00</updated><title type='text'>RadCom Article on GB7MH</title><content type='html'>Look out for the Feburary edition.&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4527744896862036433?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4527744896862036433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/01/radcom-article-on-gb7mh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4527744896862036433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4527744896862036433'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/01/radcom-article-on-gb7mh.html' title='RadCom Article on GB7MH'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7617907252266514935</id><published>2010-01-10T18:57:00.000-08:00</published><updated>2010-01-10T19:01:21.678-08:00</updated><title type='text'>Latest Changes</title><content type='html'>I've been trying to track down the source of occasional node adapter crashes for sometime, so I've added some new routines to ensure that only one thing is going on at a time.   Version 0.988a adds some new routines:&lt;br /&gt;&lt;br /&gt;1) At the end of each local transmission, it checks that the buffer is empty and that the PTT has been dropped.  This is a good indication that the cycle is over.&lt;br /&gt;&lt;br /&gt;2) I've added some 10ms "usleeps" between the calls that set-up the outgoing header.&lt;br /&gt;&lt;br /&gt;So far, so good....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7617907252266514935?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7617907252266514935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/01/latest-changes.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7617907252266514935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7617907252266514935'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/01/latest-changes.html' title='Latest Changes'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6733381577976079547</id><published>2010-01-04T02:42:00.000-08:00</published><updated>2010-01-04T02:47:10.201-08:00</updated><title type='text'>2010 - Happy New Year</title><content type='html'>Happy New Year to all Blog followers !&lt;br /&gt;&lt;br /&gt;And now an update.&lt;br /&gt;&lt;br /&gt;I have a rare TX bug which appears after a local repeat - I think it is a timing issue between ending the transmission and sending the G2 status information.  At the moment, I wait for the TX buffer to show that it's empty (0xFF) before I send any more commands to the Node Adapter.  I then wait 500ms before setting the D-Star headers and PTT on to send the "RPT ?" or similar out.&lt;br /&gt;&lt;br /&gt;But, sometime, the Node Adapter crashes after the TX buffer - my suspicion is that in those instances, 500ms isn't enough delay, because there are still packets in the send buffer of the Node Adapter.  So rather than look for an empty buffer, I've modified the code to look for PTT OFF - i.e. all frames and the tail have been sent.&lt;br /&gt;&lt;br /&gt;Let's see where this goes....&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6733381577976079547?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6733381577976079547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2010/01/2010-happy-new-year.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6733381577976079547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6733381577976079547'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2010/01/2010-happy-new-year.html' title='2010 - Happy New Year'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5663368756530052814</id><published>2009-12-09T02:34:00.001-08:00</published><updated>2009-12-09T02:41:07.707-08:00</updated><title type='text'>Bug/Feature and v6 update</title><content type='html'>As you all know, when you add a user to the G2 database, the local gateway selects an IP address that is unique for that base callsign and sends that to the Trust Server. &lt;br /&gt;&lt;br /&gt;So, I have had some issues with adding users due to duplicate IP addresses, but this has been really exercising me as in my database the IP address was clear.  What I've found is that deleting users from G2 is a two-step process - the user is flagged for deletion and then at some point in the future when all gateways are synced, the user is purged.&lt;br /&gt;&lt;br /&gt;Big problem - in the current trust network, the gateways are never really in-sync.  So where I'd been pulling callsigns out and re-using IP addresses immediately, I now flag them with a deleted flag instead. &lt;br /&gt;&lt;br /&gt;v6 tests progress very well.  The code looks very stable - running on Ubuntu 9.10 on an EEE 901 PC and a pair of Tait radio modemes quite happily.&lt;br /&gt;&lt;br /&gt;I've been able to change the USB routines to deal in 12-bytes as high-speed USB supports longer data frames, and this means that I can now link the outgoing buffer to the incoming buffer much more accurately.  The net effect is that I have been able to reduce the time-lag through the repeater and nearly eliminate the transmit overhang on local repeat. &lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5663368756530052814?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5663368756530052814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/12/bugfeature-and-v6-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5663368756530052814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5663368756530052814'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/12/bugfeature-and-v6-update.html' title='Bug/Feature and v6 update'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2934337447270049775</id><published>2009-12-02T15:01:00.000-08:00</published><updated>2009-12-02T15:04:26.845-08:00</updated><title type='text'>v6 Beta</title><content type='html'>So I received my v6 Beta PIC from Satoshi (thank you !) two days ago,  plugged it in and it worked as expected from day one.&lt;br /&gt;&lt;br /&gt;I've now modified my code (releater 0.985) so that it recognises whether it is attached to a v4 or a v5/6 board - the main reason for this is that on v5 and v6 I use S/N rather than COS.  I've also included a new value in the .cfg file that allows you to set the S/N trigger level.&lt;br /&gt;&lt;br /&gt;The next stage will be to investigate having two v6 boards connected to the same gateway.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2934337447270049775?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2934337447270049775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/12/v6-beta.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2934337447270049775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2934337447270049775'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/12/v6-beta.html' title='v6 Beta'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8019715794873865384</id><published>2009-11-30T10:47:00.001-08:00</published><updated>2009-11-30T10:47:58.975-08:00</updated><title type='text'>Bugs....</title><content type='html'>I've found a CPU Hog in g2_poll.  Resolved.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8019715794873865384?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8019715794873865384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/11/bugs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8019715794873865384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8019715794873865384'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/11/bugs.html' title='Bugs....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7994315082301376348</id><published>2009-11-27T10:35:00.000-08:00</published><updated>2009-11-27T10:39:23.960-08:00</updated><title type='text'>Progress with the v2.06 board !</title><content type='html'>Well, at last I've had some time to look at my v2.06 board issues and I've resolved them.&lt;br /&gt;&lt;br /&gt;There are some really nice features on the v5 code, but mostly the inbuilt S/N replacing the COS.  Setting the S/N at "100" in software and replacing the COS mechanism is great.&lt;br /&gt;&lt;br /&gt;Also, the v2.06 board opens up the possibility of using Satoshi's latest v6 code which is in Beta.   There are two superb features that I need in the v6 code:&lt;br /&gt;&lt;br /&gt;1) Inbuilt bootloader - no more pulling the PIC out and re-programming - it can be re-programmed over the USB interface !&lt;br /&gt;&lt;br /&gt;2) The ability to change the product ID - that means that I can have several boards connected to one gateway machine, in other-words a multi-port repeater (in the future...)&lt;br /&gt;&lt;br /&gt;As soon as I get my v6 Beta PIC from Satoshi, I'm going to start playing.&lt;br /&gt;&lt;br /&gt;73  David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7994315082301376348?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7994315082301376348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/11/progress-with-v206-board.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7994315082301376348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7994315082301376348'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/11/progress-with-v206-board.html' title='Progress with the v2.06 board !'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4414335963059534040</id><published>2009-11-15T00:52:00.000-08:00</published><updated>2009-11-15T00:54:59.377-08:00</updated><title type='text'>S/N Board Progress</title><content type='html'>Well, nearly two weeks ago I tested the S/N board, but since then I've not had a chance to install the mod on site.&lt;br /&gt;&lt;br /&gt;And this week looks even busier....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4414335963059534040?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4414335963059534040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/11/sn-board-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4414335963059534040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4414335963059534040'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/11/sn-board-progress.html' title='S/N Board Progress'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8314078517457247835</id><published>2009-11-03T13:43:00.000-08:00</published><updated>2009-11-03T13:44:01.483-08:00</updated><title type='text'>To COS or not to COS - that is the question...</title><content type='html'>I took GB7MH off-air most of yesterday and today as I tested some new code designed to help with reception of weak GMSK signals. Whilst it was not a total success, I have learnt quite a bit from the testing which I’ve now been able to replicate at home on the test system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The problem I’m trying to solve is that reception of GMSK should be able to go to significantly noisier signals than it’s FM equivalent. However, at the moment, GB7MH is running on an FM receiver and uses the squelch to detect a “valid” carrier. This makes no sense for GMSK – I should just check for a readable GMSK waveform and decode. But at the moment, I’m gated by the FM squelch.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The effect is that rather than descend into higher bit-error rates for weak signals, the reception seems to cut out from perfect to nothing. The answer is to leave the squelch wide-open and just detect the GMSK modulation on it’s own merit. Then progressively weaker signals should just degrade to a pre-defined S/N point, where I cut-out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, I wound the squelch wide open – and caused all sorts of problems, because noise, especially the kind we had with lots of rain yesterday “looks” like GMSK. The effect was long-lived reception of rubbish. I tried several schemes to work around this (counting valid re-syncs in the GMSK, looking for header/end-of-transmission markers), but none really worked, and a sudden spike of noise kicked off a local transmission using the callsign of the last valid station heard. All very confusing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The solution lies in not using COS, but using a S/N value from the GMSK demodulator. But this isn’t built into the v1 Satoshi board, and I just can't get the v2 board to play nicely.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, I'm going to build the G4SZM "S/N to COR" circuit and use this to drive the COS pin. Then I can wind the squelch wide-open and just rely on true GMSK traffic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's the theory......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8314078517457247835?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8314078517457247835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/11/to-cos-or-not-to-cos-that-is-question.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8314078517457247835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8314078517457247835'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/11/to-cos-or-not-to-cos-that-is-question.html' title='To COS or not to COS - that is the question...'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-1496288905298813936</id><published>2009-10-31T14:38:00.000-07:00</published><updated>2009-10-31T14:41:20.178-07:00</updated><title type='text'>Update - 31/10/09</title><content type='html'>GB7MH and GB7BM have been performing very well for the last few weeks.&lt;br /&gt;&lt;br /&gt;Minor changes to the code in the last couple of days around the database synchronisation:&lt;br /&gt;&lt;br /&gt;1) Bug in the "New User" code - when a user is added to the G2 sync_rip database, the Node ID sent is only 7 bytes long - I was sending 8.&lt;br /&gt;&lt;br /&gt;2) Change to the way incoming updates are handled.  I now run a "SELECT" using the "last_mod_time" before an "UPDATE" in Postgres.  This significantly cuts down the number of changes on each update and really speeds the process up.&lt;br /&gt;&lt;br /&gt;GB7MH is still surviving with an 800MHz Via EPIA, 4GB CF card and little else.  Truly a D-Star micro-repeater.&lt;br /&gt;&lt;br /&gt;73 David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-1496288905298813936?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/1496288905298813936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/10/update-311009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1496288905298813936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1496288905298813936'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/10/update-311009.html' title='Update - 31/10/09'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6712586385934087354</id><published>2009-10-12T14:50:00.000-07:00</published><updated>2009-10-12T14:51:21.899-07:00</updated><title type='text'>And the next bug is...</title><content type='html'>....  not exciting the threads neatly.&lt;br /&gt;&lt;br /&gt;I've modified their operation so that any failure is trapped and an immediate pthread_exit is called.  This has been working fine for 4 days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6712586385934087354?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6712586385934087354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/10/and-next-bug-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6712586385934087354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6712586385934087354'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/10/and-next-bug-is.html' title='And the next bug is...'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7441186673696270116</id><published>2009-10-07T16:53:00.000-07:00</published><updated>2009-10-07T16:56:16.164-07:00</updated><title type='text'>G2 Update/Routing Issues Fixed</title><content type='html'>Hit some problems today when testing G2 routing and updates "in anger."  I was getting issues where the two threads were locking, and causing a seg fault in the code.&lt;br /&gt;&lt;br /&gt;The reason appears to be that originally I had the two processes within the main code, rather than running them as separate threads, and I had declared global values which were now used outside of the main body.  If one thread access them at the same time as the other - disaster.&lt;br /&gt;&lt;br /&gt;So far, so good, but I need to keep a close eye on this one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7441186673696270116?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7441186673696270116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/10/g2-updaterouting-issues-fixed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7441186673696270116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7441186673696270116'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/10/g2-updaterouting-issues-fixed.html' title='G2 Update/Routing Issues Fixed'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5025559093895505869</id><published>2009-10-04T09:50:00.000-07:00</published><updated>2009-10-04T09:56:32.240-07:00</updated><title type='text'>GB7MH D-Star Improvements</title><content type='html'>Some improvements to the software over the last few days:&lt;br /&gt;&lt;br /&gt;1) The way that the re-sync bits are generated has been changed.  The entire frame is reformed to ensure that the re-sync pattern (0x55, 0x2d, 0x16) is sent every 21 frames, regardless of the incoming stream.  This has eliminated mid-over beeps during G2 and D-Plus sourced QSOs.  The same logic has been applied to local repeat which assists marginal incoming transmissions, and to outgoing G2/D-Plus packets.&lt;br /&gt;&lt;br /&gt;2) The detection of a valid station on the input has been changed so that only valid D-Star headers will cause the repeater to open.  FM/Squelch/Invalid-CRC headers will not open the local repeat functionality and are effectively ignored.&lt;br /&gt;&lt;br /&gt;3) Lost sync on Internet-sourced packets.  This is a difficult one to crack, but I can now detect and compensate for up to 2 seconds of lost DV frames, in-filling with silence.&lt;br /&gt;&lt;br /&gt;73  David - G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5025559093895505869?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5025559093895505869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/10/gb7mh-d-star-improvements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5025559093895505869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5025559093895505869'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/10/gb7mh-d-star-improvements.html' title='GB7MH D-Star Improvements'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8718311079756449828</id><published>2009-10-01T02:36:00.000-07:00</published><updated>2009-10-01T02:37:28.581-07:00</updated><title type='text'>GB7BM QRV</title><content type='html'>GB7BM covering Birmingham City Centre went live with the Linux software yesterday. &lt;br /&gt;&lt;br /&gt;GB7MH has been providing excellent service for the last 7+ days with minimal issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8718311079756449828?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8718311079756449828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/10/gb7bm-qrv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8718311079756449828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8718311079756449828'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/10/gb7bm-qrv.html' title='GB7BM QRV'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8863739916174153189</id><published>2009-09-16T23:46:00.000-07:00</published><updated>2009-09-17T00:00:16.496-07:00</updated><title type='text'>Bugs, bugs, bugs</title><content type='html'>What a weekend.  So, the box went live on Thursday evening, and by Friday it was obvious there were problems.&lt;br /&gt;&lt;br /&gt;In no particular order, the problems I found and fixed:&lt;br /&gt;&lt;br /&gt;1) Local repeat.  The biggest pain.  Satoshi's firmware requires a constant supply of packets to transmit - if they are lost, then PTT is switched off.  Now, say you are a mobile user or a marginal signal - then DV frames will be lost.  I was simply reading in frames off-air, and echoing straight back out - a BIG mistake.  As soon as I lost a frame, PTT went off.  The solution - a dual-leaky buffer system.  Collect incoming frames and pre-fill the buffer on Satoshi's board.  When the buffer reports it is full, then switch the PTT on and keep topping up the queue.  So, leaky bucket #2 is in the Satoshi board, leaky bucket #1 in my code.  I also watch for the spacing between incoming frames - if I see lost frames then I in-fill with Null Voice frames.  This was a major re-write of the code.&lt;br /&gt;&lt;br /&gt;2) FM lock-up.  I was able to stall the repeater by forcing the squelch to open - it sat and waited for a DV Header which never happened.  So I've implemented a timer and COS check.&lt;br /&gt;&lt;br /&gt;3) Lock up on RPT1/RPT2 set. Still work-in-progress.  Essentially, anyone that had RPT1 set incorrectly (or not set at all) was also causing the repeater to lock-up.  This was because I had changed the DV Header handling as above and the result was coming back as a valid Header, but not enough data.  I've worked around it for the time being - what should happen (I think) is that the repeater should allow you to work locally, but at the end of your transmission should respond with "RPT GB7MH  B" that auto-fills in some rigs.  I'm going to test this later on a real Icom system to see what responses come back.&lt;br /&gt;&lt;br /&gt;4) Tail echo.   Because of the way that I pre-fill the playout buffer, then raise PTT, when the transmission finishes, there is audio left in the buffer.  I have two choices - 1, cut the transmission off early or 2, playout the remaining buffer to the end.  I do 2 at the moment, but this leads to an overhang of about 1.5 seconds.  In other words, you hear the end of your own transmission after you de-key.  Now, in some ways, this is good - you can be sure that you've hit the repeater, but in other ways it is bad - I hate hearing my own voice.  The solution is to pre-fill the playout buffer quicker, but I'm using low-speed USB, so I'm limited to 8-bits per transaction which takes around 1.7ms.  Once I've sorted out the user responses (UR ?, RPT ? etc) then I'll think about other solutions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8863739916174153189?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8863739916174153189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/09/bugs-bugs-bugs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8863739916174153189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8863739916174153189'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/09/bugs-bugs-bugs.html' title='Bugs, bugs, bugs'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4627313009517368069</id><published>2009-09-11T14:44:00.000-07:00</published><updated>2009-09-11T14:48:14.689-07:00</updated><title type='text'>GB7MH QRV</title><content type='html'>At long last, after many months of work by the members of the Repeater Group, GB7MH is on-air.&lt;br /&gt;&lt;br /&gt;That's the good news.  The bad news is that as expected, a live repeater is a very different beast to a test repeater, and today was plagued by a nasty bug associated with marginal signals locking the repeater.   I've modified the RX routine.&lt;br /&gt;&lt;br /&gt;I also found an issue with the G2 registration code - the packet sent to the Trust Server was malformed, but this has now been rectified.  Two new D-Star users were registered today on the K5TIT network.&lt;br /&gt;&lt;br /&gt;I'm sure that's not the end of the bugs - I'll be watching the box like a hawk for the next few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4627313009517368069?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4627313009517368069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/09/gb7mh-qrv.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4627313009517368069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4627313009517368069'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/09/gb7mh-qrv.html' title='GB7MH QRV'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8972071581115090869</id><published>2009-08-11T15:06:00.000-07:00</published><updated>2009-08-11T15:09:17.433-07:00</updated><title type='text'>August - slow month</title><content type='html'>Quick update.  Nothing much happens in August....&lt;br /&gt;&lt;br /&gt;The software is working well, with one or two minor bugs resolved over the last few days.&lt;br /&gt;&lt;br /&gt;The hardware for GB7MH is now complete - however, we have a lack of Internet connectivity at the site which is being worked on.  I'm playing around with a 3G router - results are OK, but the G2 database update comes in at 1.4GB/month, and that is going to cost £££.&lt;br /&gt;&lt;br /&gt;Early September and we should be on-the-air.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8972071581115090869?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8972071581115090869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/08/august-slow-month.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8972071581115090869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8972071581115090869'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/08/august-slow-month.html' title='August - slow month'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5163668483451727998</id><published>2009-08-02T11:03:00.001-07:00</published><updated>2009-08-02T11:05:35.499-07:00</updated><title type='text'>Fully Operational</title><content type='html'>Postgres has now fully replaced SQLite3 on my modules:&lt;br /&gt;&lt;br /&gt;g2_poll&lt;br /&gt;g2_receive&lt;br /&gt;dstar_g2&lt;br /&gt;&lt;br /&gt;Now I need to re-write the dplus-readdb module which is part of Robin Cutshaw's D-Plus program to populate the users.txt and gateways.txt.&lt;br /&gt;&lt;br /&gt;GB7MH has been working faultlessly on G2 since Friday evening, syncing roughly every 50 minutes to the Live Trust Server.  REF001C has been playing in the background most of the weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5163668483451727998?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5163668483451727998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/08/fully-operational.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5163668483451727998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5163668483451727998'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/08/fully-operational.html' title='Fully Operational'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6806013146378560486</id><published>2009-07-31T12:39:00.000-07:00</published><updated>2009-07-31T12:44:15.613-07:00</updated><title type='text'>Never use Global Variables.....</title><content type='html'>So I found the issue with the Postgres calls.  Nothing to do with Postgres; everything to do with my lack of programming skills.&lt;br /&gt;&lt;br /&gt;For whatever reason, I had quite a lot of globally-declared variables in my program, one of which was "char poll[3] = {0x00 0x30 0x26}"&lt;br /&gt;&lt;br /&gt;Now, it just so happened that "int poll" is declared through the libpq-fe.h header used for the PQlib interface to Postgres.  Result ?  Segmentation Fault.&lt;br /&gt;&lt;br /&gt;Memo to self:  next time, use namespaces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6806013146378560486?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6806013146378560486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/never-use-global-variables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6806013146378560486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6806013146378560486'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/never-use-global-variables.html' title='Never use Global Variables.....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-1301069004343227081</id><published>2009-07-30T08:20:00.001-07:00</published><updated>2009-07-30T08:22:41.838-07:00</updated><title type='text'>Grrr - Postgres</title><content type='html'>Well, it had to happen.  The g2_poll and g2_receive modules work well with Postgres, but dstar_g2, the main call handling/routing code resolutely failed to run with the dreaded "Segmentation Fault" on the stock Postrges with CentOS4.&lt;br /&gt;&lt;br /&gt;So, I've upgraded to Postgres 8.4, but......  the database structure has changed, and I didn't dump it before upgrade.&lt;br /&gt;&lt;br /&gt;Now I need to delete the database, re-create and then re-populate. &lt;br /&gt;&lt;br /&gt;What a pain..................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-1301069004343227081?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/1301069004343227081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/grrr-postgres.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1301069004343227081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1301069004343227081'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/grrr-postgres.html' title='Grrr - Postgres'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4510725782663638333</id><published>2009-07-29T03:44:00.000-07:00</published><updated>2009-07-29T03:48:15.146-07:00</updated><title type='text'>SQLite is no more</title><content type='html'>It looks like SQLite really can't hack it.  I've moved the two G2 synchronisation processes g2_receive and g2_poll over to Postgres, and the improvement is staggering. &lt;br /&gt;&lt;br /&gt;A database sync which was taking anything up to 2 hours to complete now finishes in less than 7 minutes !&lt;br /&gt;&lt;br /&gt;There is SQL logic in dstar_g2, the main program, which needs modifying to use Postgres rather than SQLite, and that will take a few more days, but that should be all.&lt;br /&gt;&lt;br /&gt;David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4510725782663638333?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4510725782663638333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/sqlite-is-no-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4510725782663638333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4510725782663638333'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/sqlite-is-no-more.html' title='SQLite is no more'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6802715713107710525</id><published>2009-07-23T07:21:00.001-07:00</published><updated>2009-07-23T07:25:27.803-07:00</updated><title type='text'>Live QSO - G4ULF to G3SMU</title><content type='html'>Last night at about 22:00 BST, I put a call out to G7LWT from GB7MH.&lt;br /&gt;&lt;br /&gt;G3SMU answered - operated by G7LWT !  We had a 10+ minute QSO using G2 routing between GB7MH and GB7NM, the Zone Repeater with G3SMU and G7LWT.&lt;br /&gt;&lt;br /&gt;I then relinked to REF005A and had conversations with a couple of stations on the reflector.&lt;br /&gt;&lt;br /&gt;There are a couple of G2 database sync issues - the SQL update is taking a huge amount of time, but I think I know why that is.    There is also a TCP Window Scaling problem on the G2 SQL side, but again, I'm pretty sure that I know what that is.&lt;br /&gt;&lt;br /&gt;None of this is service impacting other than the G2 updates can take a little longer to replicate than is ideal.&lt;br /&gt;&lt;br /&gt;All-in-all, I think I can admit to being pretty pleased with progress !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6802715713107710525?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6802715713107710525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/live-qso-g4ulf-to-g3smu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6802715713107710525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6802715713107710525'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/live-qso-g4ulf-to-g3smu.html' title='Live QSO - G4ULF to G3SMU'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2496725740719787085</id><published>2009-07-21T15:22:00.001-07:00</published><updated>2009-07-21T15:22:37.313-07:00</updated><title type='text'>Linux G2 Announcement</title><content type='html'>At the end of last week, GB7MH, currently awaiting installation at our repeater site, was connected to the live Icom G2 Trust Network.&lt;br /&gt;&lt;br /&gt;The repeater uses my Linux-based G2 compatible code, Robin Cutshaw's DPlus code (unmodified) and Pete Loveall's D-Star Monitor code (unmodified).&lt;br /&gt;&lt;br /&gt;The repeater is a modified Tait T800 operating in full GMSK mode with 6.25kHz of bandwidth.&lt;br /&gt;&lt;br /&gt;The interface board is the Satoshi first-generation GMSK Node Adapater.&lt;br /&gt;&lt;br /&gt;The unit is capable of full callsign routing to/from the live G2 network including station updates.  G2 registration is available via a self-service webpage, much the same as on Icom G2 nodes.&lt;br /&gt;&lt;br /&gt;The system is now on test pending site installation in the next few weeks and usually connected to REF005A.   Installation could be delayed if any service-impacting bugs are found - particularly with the G2 SQL replication.&lt;br /&gt;&lt;br /&gt;I would like to thank (in no particular order) the following people who have made this possible:&lt;br /&gt;&lt;br /&gt;- Satoshi Yasuda&lt;br /&gt;- Jim McClellan&lt;br /&gt;- Pete Loveall&lt;br /&gt;- Robin Cutshaw&lt;br /&gt;- Darren Storer&lt;br /&gt;- Iain Philipps&lt;br /&gt;- The members of the Ashdown Forest Repeater Group&lt;br /&gt;- Anyone else that I asked a dumb question of and was kind enough to help me.&lt;br /&gt;&lt;br /&gt;NOTE:  Until I am happy that the system is stable, software will NOT be available.  The G2 network is very fragile, and I need to be 100% sure that this system works without impacting other users before I'm prepared to release it. &lt;br /&gt;&lt;br /&gt;73  David - G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2496725740719787085?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2496725740719787085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/linux-g2-announcement.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2496725740719787085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2496725740719787085'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/linux-g2-announcement.html' title='Linux G2 Announcement'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8541171819970881209</id><published>2009-07-11T15:10:00.001-07:00</published><updated>2009-07-11T15:14:17.229-07:00</updated><title type='text'>G2 Station Registration</title><content type='html'>Well, it looks like I've cracked the G2 IP address registration.   I now randomise an IP address in a /30 subnet, check to see if it's a duplicate, and if not allocate it to the starting station address.&lt;br /&gt;&lt;br /&gt;Then I insert into the G2 database.   Whilst I don't have a neat front-end yet (I have to manually enter the new callsign in a text file) and I don't have the ability to add other suffixes in the allocated range (yet), I can now add stations into the G2 Trust server from my software, which means that I do all that a G2 system does.&lt;br /&gt;&lt;br /&gt;I've also been testing and debugging the callsign updates to the database.&lt;br /&gt;&lt;br /&gt;Now going to work on a nice front-end for the G2 registration and move GB7MH to the live G2 network as soon as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8541171819970881209?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8541171819970881209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/g2-station-registration.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8541171819970881209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8541171819970881209'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/g2-station-registration.html' title='G2 Station Registration'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7764606529068831569</id><published>2009-07-08T07:57:00.000-07:00</published><updated>2009-07-08T07:59:37.573-07:00</updated><title type='text'>Tait T800 and GMSK</title><content type='html'>Put the finishing touches to the Tait T800 repeater today - it really is superb for GMSK.&lt;br /&gt;&lt;br /&gt;I had to modify the VCO to instructions from G8VIQ and G3VVT, and I still need to align the receiver (or more correctly, get someone who knows what they are doing to align the receiver), but there is a step-change difference in bit-errors over a non-dual-point modulated TX.&lt;br /&gt;&lt;br /&gt;Audio is crisp and clear, every RX callsign appears, and the text messages are error-free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7764606529068831569?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7764606529068831569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/tait-t800-and-gmsk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7764606529068831569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7764606529068831569'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/tait-t800-and-gmsk.html' title='Tait T800 and GMSK'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2662435229820474798</id><published>2009-07-03T16:22:00.000-07:00</published><updated>2009-07-03T16:28:18.290-07:00</updated><title type='text'>G2 Tests Update</title><content type='html'>I now have my two repeaters, GB7MH and G6TBA connected to the G2 Test Trust Server very kindly provided by Jim McClellan.&lt;br /&gt;&lt;br /&gt;I've been able to move stations between the two repeaters and make direct G2 routed calls between two stations.&lt;br /&gt;&lt;br /&gt;All-in-all, pretty happy with things.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2662435229820474798?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2662435229820474798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/07/g2-tests-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2662435229820474798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2662435229820474798'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/07/g2-tests-update.html' title='G2 Tests Update'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5792439804099649305</id><published>2009-06-27T13:16:00.000-07:00</published><updated>2009-06-27T13:21:06.857-07:00</updated><title type='text'>Update - end of June 2009</title><content type='html'>The modified G2 code continues to work very well with the latest release of Satoshi's firmware, 4.48.&lt;br /&gt;&lt;br /&gt;One more change to the operation of my code - I have decided to remove my emulation of D-Plus from the code and use Robin Cutshaw's original D-Plus images.&lt;br /&gt;&lt;br /&gt;These have been tested and work - the major benefit now is that my repeater will look and feel just like any other Icom G2 repeater, having D-Star Monitor and D-Plus, and any other application that can talk to the G2 RPC/Gateway packets. &lt;br /&gt;&lt;br /&gt;I'm now in the process of modifying a Tait T800 repeater which will go into service as GB7MH.  This is already reporting it's position and "Last Heard" information to www.dstarusers.org.  It is also registered to the G2 Test Trust server kindly built by Jim McClellan.&lt;br /&gt;&lt;br /&gt;Also registered to the same Trust server is a second repeater, G6TBA  B.  This exists only on dummy load, and it's purpose is to provide an on-going test-bed once GB7MH is moved to the live Trust server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5792439804099649305?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5792439804099649305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/06/update-end-of-june-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5792439804099649305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5792439804099649305'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/06/update-end-of-june-2009.html' title='Update - end of June 2009'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4846269068376396583</id><published>2009-06-17T14:29:00.000-07:00</published><updated>2009-06-17T14:31:46.457-07:00</updated><title type='text'>D-Star Monitor</title><content type='html'>Finished the emulation of the RPC packets this evening - they are bound to the lo interface, so they never actually leave the box.&lt;br /&gt;&lt;br /&gt;Then installed the D-Star Monitor application from AE5PL.  With a couple of tweaks (various libraries missing, my total lack of understanding of what I was trying to achieve), I now have the Linux repeater reporting it's position via the D-PRS module in D-Star Monitor, and registering itself and LastHeard information to www.d-starusers.org !&lt;br /&gt;&lt;br /&gt;Now need to test fro robustness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4846269068376396583?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4846269068376396583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/06/d-star-monitor_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4846269068376396583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4846269068376396583'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/06/d-star-monitor_17.html' title='D-Star Monitor'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5236918997790613316</id><published>2009-06-16T02:24:00.000-07:00</published><updated>2009-06-16T02:38:42.616-07:00</updated><title type='text'>How cool is this ???</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JjhOVZWzX7M/Sjdmh9jOSVI/AAAAAAAAAA4/sQ564CzD8SM/s1600-h/Portable+D-Star+2.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_JjhOVZWzX7M/Sjdmh9jOSVI/AAAAAAAAAA4/sQ564CzD8SM/s320/Portable+D-Star+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5347855816169769298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sitting in a hotel with limited access to my development system at home, so I've built a Portable D-Star repeater:&lt;br /&gt;&lt;br /&gt;2 x Tait Radio Modems&lt;br /&gt;1 x Satoshi Board&lt;br /&gt;1 x Laptop running Ubuntu 8.04&lt;br /&gt;&lt;br /&gt;I've had to VPN using PPTP to my home router to pick up a real IP address, but it works !&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JjhOVZWzX7M/SjdmZXwcmMI/AAAAAAAAAAw/VD42Mc9ver4/s1600-h/Portable+D-Star+1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_JjhOVZWzX7M/SjdmZXwcmMI/AAAAAAAAAAw/VD42Mc9ver4/s320/Portable+D-Star+1.jpg" alt="" id="BLOGGER_PHOTO_ID_5347855668585732290" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5236918997790613316?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5236918997790613316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/06/how-cool-is-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5236918997790613316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5236918997790613316'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/06/how-cool-is-this.html' title='How cool is this ???'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JjhOVZWzX7M/Sjdmh9jOSVI/AAAAAAAAAA4/sQ564CzD8SM/s72-c/Portable+D-Star+2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3227282880326152835</id><published>2009-06-09T14:15:00.000-07:00</published><updated>2009-06-09T14:18:20.632-07:00</updated><title type='text'>D-Star Monitor</title><content type='html'>OK - I've started the work to integrate D-Star Monitor to the repeater.&lt;br /&gt;&lt;br /&gt;So far, I've added the regular 60-second poll - this sends "GB7MH  S" to a loopback address to indicate that it is alive and well.  Hopefully, DSM will be able to bind to the lo0 interface to be able to pull this out.&lt;br /&gt;&lt;br /&gt;Next step is to re-create the DV stream on port 20000 and the "Location" annoucement using the same socket.  &lt;br /&gt;&lt;br /&gt;Other work - still trying to track down a couple of corner cases on audio, but all-in-all, working very well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3227282880326152835?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3227282880326152835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/06/d-star-monitor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3227282880326152835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3227282880326152835'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/06/d-star-monitor.html' title='D-Star Monitor'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4137149462222295120</id><published>2009-06-05T09:22:00.000-07:00</published><updated>2009-06-05T09:26:45.020-07:00</updated><title type='text'>Update - June 2009</title><content type='html'>It's been a very long time since I updated the blog, so here goes.&lt;br /&gt;&lt;br /&gt;1) The repeater is working well.  I've been listening to various reflectors and cross-connecting to the K5MIJ system over G2.  The G2 database sync has stayed up for nearly 3 weeks with no issues to-date.&lt;br /&gt;&lt;br /&gt;2) GB7MH, which will be the first repeater running this software, has finally been approved, and I am awaiting the licence.  &lt;br /&gt;&lt;br /&gt;3) I am now building a second Linux repeater for dev-test purposes. &lt;br /&gt;&lt;br /&gt;4) With considerable assistance from the good folks at the K5TIT team, I am attempting to install DStarMonitor on my repeater.  This will add all the usual reporting and monitoring features associated with Icom G2 nodes.  I take my hat off to their tolerance with my dumb questions.&lt;br /&gt;&lt;br /&gt;More news as it happens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4137149462222295120?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4137149462222295120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/06/update-june-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4137149462222295120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4137149462222295120'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/06/update-june-2009.html' title='Update - June 2009'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4329603087241014724</id><published>2009-05-12T04:51:00.000-07:00</published><updated>2009-05-12T04:58:44.752-07:00</updated><title type='text'>G2 Integration Testing</title><content type='html'>Quick update as work is taking almost all of my time at the moment....&lt;br /&gt;&lt;br /&gt;With the amazing assistance of Jim, N5MIJ, the Linux repeater is now connected to a lab-based G2 Trust Server which has an Icom G2 70cm repeater connected.&lt;br /&gt;&lt;br /&gt;Database synchronisation works - the MNG, RIP and GIP tables are pulled down correctly and updates sent as new devices are added.&lt;br /&gt;&lt;br /&gt;There is one issue that new stations that have an entry in the RIP table aren't updating the Trust Server when they are heard on the Linux system.  This is due to me forgetting to migrate the "Check RIP" routine from flat text-files to SQLite3, and is probably due to me working far too late into the evening.  This has been corrected and will be tested as-and-when time permits.&lt;br /&gt;&lt;br /&gt;The next step will be to attempt a G2-routed QSO through the two repeaters - probably not until next week at the earliest.&lt;br /&gt;&lt;br /&gt;Meanwhile, the Linux G2 system continues to perform very well as an RF-to-DPlus gateway.&lt;br /&gt;&lt;br /&gt;73 David - G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4329603087241014724?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4329603087241014724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/05/g2-integration-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4329603087241014724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4329603087241014724'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/05/g2-integration-testing.html' title='G2 Integration Testing'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5238981134055379739</id><published>2009-05-05T09:41:00.000-07:00</published><updated>2009-05-05T11:29:16.433-07:00</updated><title type='text'>G2 Migrated to SQLite</title><content type='html'>I've completed the migration from flat-text files to SQLite3 for the G2 database and tested.&lt;br /&gt;&lt;br /&gt;On my test system, this all works fine - stations that have been registered to the G2 Trust System but not yet been heard by a repeater will appear in the sync_rip table, and then update to the sync_mng as they are heard.  Likewise, stations that have already been advertised through the sync_mng table will update the G2 system to their new zone rp.&lt;br /&gt;&lt;br /&gt;Now time for testing on a "real" G2 system....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5238981134055379739?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5238981134055379739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/05/g2-migrated-to-sqlite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5238981134055379739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5238981134055379739'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/05/g2-migrated-to-sqlite.html' title='G2 Migrated to SQLite'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4260967437263048514</id><published>2009-05-01T11:13:00.001-07:00</published><updated>2009-05-01T11:18:30.588-07:00</updated><title type='text'>Progress Report</title><content type='html'>I've been running the 4.18 code continuously for 3 days, and I have to say, results are superb.&lt;br /&gt;&lt;br /&gt;Audio quality is as near perfect as D-Star ever gets both on recieve and transmit, and I've been able to iron out a couple of logic issues now that I'm less concerned about getting stable voice.&lt;br /&gt;&lt;br /&gt;I've had to re-think the G2 routing, and to that ends, I've re-written the G2 code using a light-weight SQL database, &lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;There are two problems:&lt;br /&gt;&lt;br /&gt;1) I am NOT an SQL person, but learning quickly....&lt;br /&gt;2) There was a bug in SQLite 3.6.12 that caused a seg fault on an INSERT with a timestamp.  Solution was to upgrade to 3.6.13&lt;br /&gt;&lt;br /&gt;Just running the last few debugs, but the SQL database now takes the place of the former flat-text file lookups in both the G2 synchronisation code and the main repeater code.&lt;br /&gt;&lt;br /&gt;All ready for G2 integration testing over the next couple of week.s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4260967437263048514?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4260967437263048514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/05/progress-report.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4260967437263048514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4260967437263048514'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/05/progress-report.html' title='Progress Report'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2826761405435515247</id><published>2009-04-27T14:48:00.000-07:00</published><updated>2009-04-27T14:59:49.977-07:00</updated><title type='text'>4.17 At Last; and a few other code changes</title><content type='html'>For quite some time, I've been worried about having to have an accurate timer on the repeater to pace the packets out to the Node Adapter.  Whilst I was able to work a system where I had reasonably accurate pacing, it still was subject to glitches as the OS went off to do something else.&lt;br /&gt;&lt;br /&gt;So, I've been playing with getting the Node Adapter to pace the packets - i.e just throw the frames at the board over the USB and let the return code tell you when the buffer is full.&lt;br /&gt;&lt;br /&gt;Now, this is all fine, and is the same as Mark McGregor (KB8KHM) has been doing with his software for Windows - what was really bugging me was that I just couldn't get this to work at all for Linux.&lt;br /&gt;&lt;br /&gt;But, I've tracked down the problem.&lt;br /&gt;&lt;br /&gt;The 3.xx code was written for USB low-speed - I could get this to pace correctly, but I wanted to use the 4.xx code (due to many, many bug fixes, especially on RF receive).  The 4.code just didn't want to play ball.&lt;br /&gt;&lt;br /&gt;Until Satoshi released a low-speed version of 4.17 - plugged it in, fired up the code, and - VOILA !  Perfect audio....&lt;br /&gt;&lt;br /&gt;So, it looks like there is an issue with the pacing on the USB 1.1 Full-Speed mode, or on libusb 0.1....&lt;br /&gt;&lt;br /&gt;This is Very Good News, and allows me to move forward with other developments such as the G2 integration testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2826761405435515247?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2826761405435515247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/417-at-last-and-few-other-code-changes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2826761405435515247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2826761405435515247'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/417-at-last-and-few-other-code-changes.html' title='4.17 At Last; and a few other code changes'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3840303728356074174</id><published>2009-04-19T01:31:00.000-07:00</published><updated>2009-04-19T01:38:03.510-07:00</updated><title type='text'>Satoshi 4.xx Code</title><content type='html'>Still playing with the 4.xx code.  I'm starting to wonder if there is a basic incompatability between the USB on the PIC and the  libusb stack in CentOS 4.x.&lt;br /&gt;&lt;br /&gt;Now, that would be a huge problem.  The board I have is VIA EPIA 800 - a 586-compatible fanless unit.  CentOS 5.x refuses to load on it - although the board reports 686 compatability, it just isn't compatible enought for CentOS 5.&lt;br /&gt;&lt;br /&gt;The 3.26 code seems to perform very well for me, but others state that it is not up to scratch as a repeater.&lt;br /&gt;&lt;br /&gt;I'll start researching other distros that may support the Eden with a newer kernel and libusb.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3840303728356074174?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3840303728356074174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/satoshi-4xx-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3840303728356074174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3840303728356074174'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/satoshi-4xx-code.html' title='Satoshi 4.xx Code'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4722555037154311203</id><published>2009-04-19T01:25:00.000-07:00</published><updated>2009-04-19T01:31:46.216-07:00</updated><title type='text'>"Send Messge" bugs</title><content type='html'>A few bugs cleared-up today:&lt;br /&gt;&lt;br /&gt;1) Send Ident - now sends repeater callsign in Icom format (e.g. GB7QQ/RPTR) and date/time as message&lt;br /&gt;&lt;br /&gt;2) Other text messages (linking/unlinking/status responses) weren't working reliably due to turning the PTT off too quickly.  I now allow at least 1 full frame to be sent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4722555037154311203?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4722555037154311203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/send-messge-bugs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4722555037154311203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4722555037154311203'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/send-messge-bugs.html' title='&quot;Send Messge&quot; bugs'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5459367092676212433</id><published>2009-04-13T14:15:00.001-07:00</published><updated>2009-04-13T14:17:56.698-07:00</updated><title type='text'>RX Audio Improvements</title><content type='html'>Brain-wave this evening.&lt;br /&gt;&lt;br /&gt;Rather than searching for 0x55 0x2d 0x16 in the incoming stream and using that to sync the playin buffer, I decided to try using the packet sequence number and stream ID.&lt;br /&gt;&lt;br /&gt;So, each time I receive a 0x00 on the stream I'm listening to, I forward the counter.&lt;br /&gt;&lt;br /&gt;Result ?  A huge improvement in the ability to sync to the incomign stream.&lt;br /&gt;&lt;br /&gt;Phew.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5459367092676212433?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5459367092676212433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/rx-audio-improvements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5459367092676212433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5459367092676212433'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/rx-audio-improvements.html' title='RX Audio Improvements'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4333810786972305705</id><published>2009-04-13T11:31:00.000-07:00</published><updated>2009-04-13T11:36:47.114-07:00</updated><title type='text'>Satoshi 4.06 Code</title><content type='html'>I rebuilt using the Satoshi 4.06 code today rather than the 3.26 I've been using.&lt;br /&gt;&lt;br /&gt;Big mistake.&lt;br /&gt;&lt;br /&gt;There seem to be several bugs with calling "AD_GET_STATUS" (to find the status of the carrier and end-of-transmission frame) which send the adapter into a tail spin.  Also, there is a problem sending the playout frames - I send at a regular 20ms which 3.26 finds very warm-and-cozy, but 4.06 objects to violently, sending me all sorts of -ve numbers and causing my software to down-speed the playout.&lt;br /&gt;&lt;br /&gt;This in turn means garbled voice on receive, so I'm backon 3.26.&lt;br /&gt;&lt;br /&gt;I'm using CentOS 4.7 as my host, and the USB implementation is 0.1.8 which I know has issues, but I seem to be able to work around those with 3.26 - not a bit of it with 4.06.&lt;br /&gt;&lt;br /&gt;I also decided to try Mark MacGregor's mechanism of a 21-byte ring buffer for playin, and a sequential lagging buffer for playout, but instead of pacing to the Satoshi board, just throwing the packets at the card until they were accepted.&lt;br /&gt;&lt;br /&gt;Another Big Mistake.  This might work on Windows, but Linux hates it, throwing all sorts of USB errors in dmesg.  I even managed to panic the system....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4333810786972305705?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4333810786972305705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/satoshi-406-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4333810786972305705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4333810786972305705'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/satoshi-406-code.html' title='Satoshi 4.06 Code'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6335883512881516596</id><published>2009-04-13T11:24:00.001-07:00</published><updated>2009-04-13T11:31:22.201-07:00</updated><title type='text'>More RX Audio Problems</title><content type='html'>Will they never end ?!?!?!&lt;br /&gt;&lt;br /&gt;I was finding that audio was fine up to about 1'50", and then breaking down. So, back to hex dumps.&lt;br /&gt;&lt;br /&gt;Although I was re-inserting a new sync frame on transmit, I wasn't taking into account the fact that I'd lost the incomign sync frame, so my reference point was a frame out.  This lead to audio being up to 840ms (two frames) out.  &lt;br /&gt;&lt;br /&gt;Now, this creates a problem.  I have to have at least 840ms of buffer to know whether I've lost two syncs, which means a delay between receiving the audio and playing it out.  But, I've seen many instances where three syncs get lost, so that's at least 1260ms.  So, there is a tradeoff between solid audio and delay.  I'd take solid audio every time....&lt;br /&gt;&lt;br /&gt;Why oh why oh why did they design a system like this ????  Surely a sequence number would have done much better with a session ID and separate voice, data and control planes ?   This is just plain nasty, especially given that the path from the sender is hardly the most reliable transport mechanism.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6335883512881516596?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6335883512881516596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/more-rx-audio-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6335883512881516596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6335883512881516596'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/more-rx-audio-problems.html' title='More RX Audio Problems'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8185962293381372456</id><published>2009-04-04T14:33:00.000-07:00</published><updated>2009-04-04T14:37:26.996-07:00</updated><title type='text'>Audio Problem Investigations...</title><content type='html'>Well, that was VERY hard work.  I've been looking into the issues with broken voice, and it appears that it has everything to do with the sync frame.&lt;br /&gt;&lt;br /&gt;In short, the sequence 0x55 0x2d 0x16 has to be repeated every 21 frames, or else things break down.   What I had been doing was assuming that taking the frames off "the wire" would be sufficient - it wasn't.&lt;br /&gt;&lt;br /&gt;So, now I split the slow-speed data from the audio (why, oh why did they put a data channel in the audio bit-stream in UDP ?????) and rebuild the sync frame by sending every 21 frames.  I then in-fill periods of lost sync with silence packets - this has the effect of breaks in the audio if the pattern is lost.&lt;br /&gt;&lt;br /&gt;Things sound pretty good on RX now...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8185962293381372456?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8185962293381372456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/audio-problem-investigations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8185962293381372456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8185962293381372456'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/audio-problem-investigations.html' title='Audio Problem Investigations...'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5459218344582032385</id><published>2009-04-02T08:52:00.001-07:00</published><updated>2009-04-02T08:56:40.597-07:00</updated><title type='text'>Audio Problems - again</title><content type='html'>I've been spending my time cleaning things up, and I'm still not happy with the audio quality under lossy conditions.&lt;br /&gt;&lt;br /&gt;Everything is OK provided the sync frame appears from the far end nice and regularly, but if I loose the sync over a couple of frame periods, things start to break, and the audio takes several sync frames to recover.&lt;br /&gt;&lt;br /&gt;I have to ensure that I keep the playout pointer behind the playin buffer as well - this is really stretching my brain...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5459218344582032385?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5459218344582032385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/audio-problems-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5459218344582032385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5459218344582032385'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/audio-problems-again.html' title='Audio Problems - again'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3876165397289753292</id><published>2009-04-01T00:52:00.000-07:00</published><updated>2009-04-01T01:00:36.159-07:00</updated><title type='text'>Progress on G2</title><content type='html'>No update on this site for quite some time, but I've been working away in the background on the next phase of my project, and I have made good progress.&lt;br /&gt;&lt;br /&gt;I can now emulate an Icom G2 Node for databse synchronisation, accept incoming DV sessions from other G2 nodes and route calls by callsign using the data in the database sync.&lt;br /&gt;&lt;br /&gt;Whilst I believe that this is all working properly, I don't have access to the global G2 trust server, so I cannot route to real G2 repeaters.  I've made initial contact with the K5TIT team who are looking at the infrastructure needed for testing and development.&lt;br /&gt;&lt;br /&gt;The next stage of the project is to try to understand the registration process that Icom have used.  They appear to be using internal IP addresses based on blocks of 8 - exactly how they allocate those addresses is a complete mystery at the moment, but I'm sure there is a pattern somewhere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3876165397289753292?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3876165397289753292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/04/progress-on-g2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3876165397289753292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3876165397289753292'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/04/progress-on-g2.html' title='Progress on G2'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4087360660385628072</id><published>2009-03-10T04:22:00.000-07:00</published><updated>2009-03-10T04:26:35.466-07:00</updated><title type='text'>Bug Fixes</title><content type='html'>Well, I've been quiet here for a while, because I've been "soak-testing" the software.&lt;br /&gt;&lt;br /&gt;All-in-all, thing seem to be working well on the Mini ITX system.  I've upgraded to the latest kernel and just checked memory/CPU usage, and things look good.&lt;br /&gt;&lt;br /&gt;I have two outstanding bugs on the general software:&lt;br /&gt;&lt;br /&gt;1) Under certain circumstances, login to dplus repeats every 2 seconds.  I suspect that this is related to the logic that checks to see if the connection has been lost, and then attempts to re-authenticate, but I can't find the trigger that sets it off.  Under investigation.&lt;br /&gt;&lt;br /&gt;2) On local repeat mode, a noisy station into the receiver where the last frame isn't caught will leave the repeater hanging in transmit.  I need to add logic to check for COS as well as a valid DV Header.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4087360660385628072?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4087360660385628072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/03/bug-fixes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4087360660385628072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4087360660385628072'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/03/bug-fixes.html' title='Bug Fixes'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2588250496349695418</id><published>2009-02-27T15:15:00.000-08:00</published><updated>2009-02-27T15:17:23.674-08:00</updated><title type='text'>QSL VA3UV on XRF005 B</title><content type='html'>Just had a QSO with VA3UV via XRF005 B on the Mini ITX system.&lt;br /&gt;&lt;br /&gt;He was on Asterisk to his RPTDIR node using a SIP phone.&lt;br /&gt;&lt;br /&gt;So, that's:&lt;br /&gt;&lt;br /&gt;IC-91 - Satoshi board - Linux Node ---- INTERNET ---- RTPDIR - SIP&lt;br /&gt;&lt;br /&gt;Who says Amateur Radio isn't cutting edge ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2588250496349695418?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2588250496349695418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/qsl-va3uv-on-xrf005-b.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2588250496349695418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2588250496349695418'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/qsl-va3uv-on-xrf005-b.html' title='QSL VA3UV on XRF005 B'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7138922398919708188</id><published>2009-02-27T15:11:00.000-08:00</published><updated>2009-02-27T15:14:54.502-08:00</updated><title type='text'>Bug Fix and testing progress</title><content type='html'>1) Found an issue in the End of Transmission packet sent during a dextra over - essentially, it wasn't sent.  Fixed.&lt;br /&gt;&lt;br /&gt;Testing progress:&lt;br /&gt;&lt;br /&gt;I've built a Mini ITX system, 512MB RAM, EPIA VIA 5000 unit.  It won't run CentOS 5, but it does a passable job of CentOS 4.7.  &lt;br /&gt;&lt;br /&gt;So, I've built using a 4GB CF card as the hard-drive, which means, as the 5000 is fanless, I have no moving parts at all.  &lt;br /&gt;&lt;br /&gt;Software loaded and compiled (OK, I had to upgrade the libusb to 0.1.12-5), but tests out perfectly.  The box is less powerful that the thing I was using before, so X-Windows has gone, but as a standalone repeater, it's perfect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7138922398919708188?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7138922398919708188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fix-and-testing-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7138922398919708188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7138922398919708188'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fix-and-testing-progress.html' title='Bug Fix and testing progress'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7126360797741295849</id><published>2009-02-25T11:19:00.000-08:00</published><updated>2009-02-25T11:21:43.829-08:00</updated><title type='text'>Bug Fix/Major New Feature</title><content type='html'>Bug Fix&lt;br /&gt;&lt;br /&gt;1) The issue with crashing on no matching node being found is fixed.&lt;br /&gt;&lt;br /&gt;New Feature&lt;br /&gt;&lt;br /&gt;D-Extra node support.  In the same way as users are able to link to D-Plus, I've added support for linking to the D-Extra network.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7126360797741295849?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7126360797741295849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fixmajor-new-feature.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7126360797741295849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7126360797741295849'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fixmajor-new-feature.html' title='Bug Fix/Major New Feature'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3759722319066140865</id><published>2009-02-24T06:17:00.000-08:00</published><updated>2009-02-24T06:20:31.095-08:00</updated><title type='text'>Bug Fixes/New Features</title><content type='html'>Bug Fixes&lt;br /&gt;&lt;br /&gt;1) GPS issue when GPRMC sent.  The speed/direction indicators weren't formatting correctly when the direction was in triple digits.  Resolved&lt;br /&gt;&lt;br /&gt;2) There was an issue with the Node ID being read as 9 characters rather than 8 from the config file.  This was breaking the callsign display.  Resolved&lt;br /&gt;&lt;br /&gt;3) If the "link-to" callsign is not found, the program crashes with a segmentation fault - on-going&lt;br /&gt;&lt;br /&gt;New Feature&lt;br /&gt;&lt;br /&gt;1) The ability to set TX Invert and RX Invert from the config file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3759722319066140865?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3759722319066140865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fixesnew-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3759722319066140865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3759722319066140865'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/bug-fixesnew-features.html' title='Bug Fixes/New Features'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3002323266469441005</id><published>2009-02-18T14:37:00.000-08:00</published><updated>2009-02-18T14:39:45.865-08:00</updated><title type='text'>Testing Outcome</title><content type='html'>Well, things are really moving now.  I tested on REF013C with help from Darren G7LWT and Declan, M0TMX this evening, and results were good.&lt;br /&gt;&lt;br /&gt;Both receive and transmit audio to/from the reflectors and more importantly to the distant linked repeaters was good, with negligable packet loss.&lt;br /&gt;&lt;br /&gt;Onto the next challenge - getting this to run on a Mini ITX, fanless machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3002323266469441005?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3002323266469441005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/testing-outcome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3002323266469441005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3002323266469441005'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/testing-outcome.html' title='Testing Outcome'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5875899925632443548</id><published>2009-02-16T09:09:00.000-08:00</published><updated>2009-02-16T09:15:46.912-08:00</updated><title type='text'>Transmit re-work</title><content type='html'>Well, since running the tests on REF013C last week (thanks to Darren, G7LWT), I've been trying to chase down a couple of bugs.&lt;br /&gt;&lt;br /&gt;1) During the first 300ms of local reception, there is an issue where audio played to the dplus network suffers from a break of up to 130ms.  This was due to buffering on the Satoshi board, and meant that I had to rework the pacing.&lt;br /&gt;&lt;br /&gt;2) Also on local reception, there was an issue whereby the first few frames sent to dplus were showing as excessively errored.  Again, this proved to be to do with holding in the software in order to get packets to the Satoshi board.&lt;br /&gt;&lt;br /&gt;3) Version 3.37 of the Satoshi firmware incorporates transmit and receive inversion in software - this is very useful for interfacing to some radios, but unfortunately, I found it to break my audio and timing.  I'm now back to 3.26.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Changes made:&lt;br /&gt;&lt;br /&gt;- New outbound pacing logic to the board.  This puts the received audio off-air into a large buffer, and waits until the board is able to accept the inbound frames.  However, it does not slow down outbound dplus packets which was what was causing the pacing issues.&lt;br /&gt;&lt;br /&gt;- Change to the transmit logic - it appears that dplus is very fussy when it comes to synchronisation packets.  I had to ensure that the first packet transmitted was all 0x00 with the sync bits 0x55 0x2d 0x16.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next job - migrate to a Mini ITX system running CentOS5 and 1GB RAM - this could be a challenge....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5875899925632443548?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5875899925632443548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/transmit-re-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5875899925632443548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5875899925632443548'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/transmit-re-work.html' title='Transmit re-work'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-503720175448224647</id><published>2009-02-12T10:51:00.000-08:00</published><updated>2009-02-12T10:55:16.351-08:00</updated><title type='text'>Problems and Solutions</title><content type='html'>Well, I decided to move the software across from CentOS 4 on an old PC to a server with 2GB of memory running CentOS 5.2.&lt;br /&gt;&lt;br /&gt;This was 1) good because it has fixed some receive audio issues 2) bad because I've found some more problems.&lt;br /&gt;&lt;br /&gt;Issues I have:&lt;br /&gt;&lt;br /&gt;1) Transmit audio to a dplus reflector is fine.  However, when this is onward connected to a G2 node, there is substantial break-up.  My suspicion is that the G2 software can't cope with the pacing of the packets - I'm just sending them as-and-when they are available, rather than every 20ms.  Dplus is fine with this - G2 obviously isn't.  Solution ?  Write a transmit playout buffer in the same way I had to write a receive playout buffer.  More work.&lt;br /&gt;&lt;br /&gt;2) Authentication bug.  There is a state whereby the software goes into a loop, constantly sending out a re-authentication to the node.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-503720175448224647?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/503720175448224647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/problems-and-solutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/503720175448224647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/503720175448224647'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/problems-and-solutions.html' title='Problems and Solutions'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-682663216519400377</id><published>2009-02-10T15:07:00.000-08:00</published><updated>2009-02-10T15:08:24.154-08:00</updated><title type='text'>New Feature and Change</title><content type='html'>New Feature - timestamps displayed on PTT ON/OFF&lt;br /&gt;&lt;br /&gt;Change - the "Status" enquiry has changed form "       S" to "       I" to maintain compatability with dplus linking on existing G2 nodes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-682663216519400377?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/682663216519400377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-and-change.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/682663216519400377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/682663216519400377'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-and-change.html' title='New Feature and Change'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6946690314127169695</id><published>2009-02-08T09:22:00.000-08:00</published><updated>2009-02-08T09:28:05.957-08:00</updated><title type='text'>Future Developments</title><content type='html'>1) Link to the G2 backbone.  I'd like the repeater to appear in the database of other G2 nodes, and then be able to callsign route to other G2 repeaters.  I'm lead to believe that this should be easy to acheive as the protocol used by dplus and G2 is virtually identical.  I would need to write a listener on the gateway, and also link to the G2 database to publish my node's callsign.  I would also need to update the other G2 nodes with "Last Heard" information.&lt;br /&gt;&lt;br /&gt;2) Dual-mode working.  Here's the idea.  One input frequency for FM and D-Star, two output frequencies, one for FM, one for D-Star.  A transcoding module (AMBE 2020 and a DAC) would transcode the audio source be-it D-Star off-air, D-Star via dplus or FM off-air to the other mode.  This would enable a true, mixed-mode repeater with the minimum number of channels (I can see no way of modulating the GMSK carrier with FM baseband audio and retaining the cohesiveness of both modes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6946690314127169695?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6946690314127169695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/future-developments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6946690314127169695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6946690314127169695'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/future-developments.html' title='Future Developments'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-33500620082344750</id><published>2009-02-08T08:19:00.000-08:00</published><updated>2009-02-08T08:21:53.760-08:00</updated><title type='text'>Latest Developments</title><content type='html'>Fixed - CRC is now sent correctly on all D-Plus headers.&lt;br /&gt;&lt;br /&gt;New Feature - configuration is read from a file rather than hard-coded in the source.  Not really a "feature..."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-33500620082344750?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/33500620082344750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/latest-developments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/33500620082344750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/33500620082344750'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/latest-developments.html' title='Latest Developments'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-1372815542753225292</id><published>2009-02-04T06:28:00.000-08:00</published><updated>2009-02-04T06:33:15.387-08:00</updated><title type='text'>Two issues fixed, one found....</title><content type='html'>Two bug fixes:&lt;br /&gt;&lt;br /&gt;1) Loss of RX Poll was not causing node to return to "unlinked" state.&lt;br /&gt;&lt;br /&gt;2) In the event of becoming unlinked, the node was not attempting to reconnect.&lt;br /&gt;&lt;br /&gt;Problem found:&lt;br /&gt;&lt;br /&gt;1) There is an error in the header CRC that is being sent to the dplus gateway.  The problem is that at the moment, I am taking the CRC sent by the radio.  As I am modifying the elements that make up the CRC, that invalidates the original CRC.  Therefore, I need to recompute it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-1372815542753225292?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/1372815542753225292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/two-issues-fixed-one-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1372815542753225292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1372815542753225292'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/two-issues-fixed-one-found.html' title='Two issues fixed, one found....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-5550216592982691236</id><published>2009-02-02T02:03:00.000-08:00</published><updated>2009-02-02T02:05:07.494-08:00</updated><title type='text'>New Feature - Callsign Ident</title><content type='html'>Every 15 minutes, provided the node is not transmitting, an ID is sent.&lt;br /&gt;&lt;br /&gt;If the node is on-air, then it will wait until the next break and send the ID.&lt;br /&gt;&lt;br /&gt;The ID takes about 200ms to transmit - it is sent as a Slow Data test message, not a voice message.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-5550216592982691236?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/5550216592982691236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-callsign-ident.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5550216592982691236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/5550216592982691236'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-callsign-ident.html' title='New Feature - Callsign Ident'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-1771527155047820907</id><published>2009-02-02T02:00:00.000-08:00</published><updated>2009-02-02T02:03:28.867-08:00</updated><title type='text'>New Feature - Status Message</title><content type='html'>New feature:&lt;br /&gt;&lt;br /&gt;- Put "S" in the 8th position of Your Call, and the node replies with "Not Linked," "Linked XXXXXX" and in the case of linked, with the last RX Call heard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-1771527155047820907?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/1771527155047820907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-status-message.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1771527155047820907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1771527155047820907'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/02/new-feature-status-message.html' title='New Feature - Status Message'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7499162893383138881</id><published>2009-01-30T01:47:00.000-08:00</published><updated>2009-01-30T01:50:47.472-08:00</updated><title type='text'>New Feature - GPS-A Support</title><content type='html'>New Feature:&lt;br /&gt;&lt;br /&gt;- Ability to take GPS-A mode information from IC-92 and IC-2820s and gate to APRS-IS. &lt;br /&gt;&lt;br /&gt;The IC-91 and ID-800H only have a pass-through of NMEA GPS information - whilst is has a checksum, that is a simple XOR, and requires programming of a C1 code with it's own XOR checksum to validate the radio path.&lt;br /&gt;&lt;br /&gt;From the IC-92, Icom introduced a feature where they format the GPS into an APRS-like string - it is much shorter than taking the entire NMEA string, and includes a proper, CCITT 16-bit CRC.  &lt;br /&gt;&lt;br /&gt;So, I now have the ability to detect the GPS-A string, check that the checksum is correct, and then gate that to APRS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7499162893383138881?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7499162893383138881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/new-feature-gps-support.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7499162893383138881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7499162893383138881'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/new-feature-gps-support.html' title='New Feature - GPS-A Support'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-2097571745536120111</id><published>2009-01-28T04:41:00.000-08:00</published><updated>2009-01-28T04:44:28.421-08:00</updated><title type='text'>More problems fixed</title><content type='html'>Added:&lt;br /&gt;&lt;br /&gt;1) Detection of 680ms between received DV sync (0x55 0x2D, 0x16).  This is to cope with the loss of a DV sync packet in the DV frame.&lt;br /&gt;&lt;br /&gt;2) Silence in-fill.  The entire playout buffer is now filled with the DV frame sequence at the end of every over.&lt;br /&gt;&lt;br /&gt;3) Error checking on the off-air RF Header - whoops, should have been in from day 1.&lt;br /&gt;&lt;br /&gt;To do:&lt;br /&gt;&lt;br /&gt;1) Build GPS-A recognition for IC-92, 2820s, etc.&lt;br /&gt;&lt;br /&gt;2) Save up and buy an 2820 or ID-800...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-2097571745536120111?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/2097571745536120111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/more-problems-fixed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2097571745536120111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/2097571745536120111'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/more-problems-fixed.html' title='More problems fixed'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-817749489700931059</id><published>2009-01-27T13:51:00.000-08:00</published><updated>2009-01-27T13:55:14.761-08:00</updated><title type='text'>Audio Problems - Fixed</title><content type='html'>Well, I've fixed the audio problem.  Quality now, when connected to a repeater, is very good.&lt;br /&gt;&lt;br /&gt;Quality when connected to a reflector is much worse, but I've some to the conclusion that that is the reflector rather than my software.&lt;br /&gt;&lt;br /&gt;Also, the lack of a proper call-control layer on dplus has really been exercising my mind - port 20001 is used for both "call control" and the media stream, all over UDP, so if the stream goes away, trying to sense that to shut the session is difficult.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-817749489700931059?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/817749489700931059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/audio-problems-fixed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/817749489700931059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/817749489700931059'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/audio-problems-fixed.html' title='Audio Problems - Fixed'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-8819647505857779046</id><published>2009-01-27T02:46:00.000-08:00</published><updated>2009-01-27T02:49:54.211-08:00</updated><title type='text'>Audio problems</title><content type='html'>Found a couple of bugs late last night:&lt;br /&gt;&lt;br /&gt;1) The timing of sending the packets to the node adapter is critical.  I have a routine that sends a new packet every 20ms, but there was an error as it crossed from 999ms to 1 sec.  Fixed.&lt;br /&gt;&lt;br /&gt;2) To ensure that duplicate packets and missed packets are in-filled with null voice (packets 2-20) and null sync voice (packet 1), I take the sequence number from the dplus packet, and store an entire DV frame in an array.  I then read out to transmit one frame later.  There is an error where the "0" ID packet in the frame is placed in the wrong part of the playout buffer.  More tricky to fix, but at least I know where the problem is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-8819647505857779046?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/8819647505857779046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/audio-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8819647505857779046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/8819647505857779046'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/audio-problems.html' title='Audio problems'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4780018776703778299</id><published>2009-01-22T14:31:00.001-08:00</published><updated>2009-01-22T14:31:41.181-08:00</updated><title type='text'>APRS-IS Working</title><content type='html'>http://www.findu.com/cgi-bin/find.cgi?call=G4ULF&lt;br /&gt;&lt;br /&gt;At last......  Wow, THAT was tough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4780018776703778299?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4780018776703778299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-is-working.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4780018776703778299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4780018776703778299'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-is-working.html' title='APRS-IS Working'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-506901314522228208</id><published>2009-01-22T13:51:00.000-08:00</published><updated>2009-01-22T13:54:16.960-08:00</updated><title type='text'>strktok - The WRONG thing to use</title><content type='html'>Well it turns out that a) strtok is very broken and b) it isn't portable, so I've decided not to split the GPGGA and GPRMC strings that way, but to use good-old pattern matching in "while" and "for" statements.  Clumsy, but portable....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-506901314522228208?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/506901314522228208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/strktok-wrong-thing-to-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/506901314522228208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/506901314522228208'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/strktok-wrong-thing-to-use.html' title='strktok - The WRONG thing to use'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-1616102855371470533</id><published>2009-01-21T12:39:00.000-08:00</published><updated>2009-01-21T12:43:24.151-08:00</updated><title type='text'>strtok problems.....</title><content type='html'>Now I need to split the GPGGA and GPRMC by comma delimiters and strtok is causing a segmentation fault.&lt;br /&gt;&lt;br /&gt;Why ?????  I've followed the exmples exactly - I've even tried recreating the example exactly and it doesn't work.....&lt;br /&gt;&lt;br /&gt;Back to the drawing-board....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-1616102855371470533?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/1616102855371470533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/strtok-problems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1616102855371470533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/1616102855371470533'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/strtok-problems.html' title='strtok problems.....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4375752184592142995</id><published>2009-01-20T23:57:00.000-08:00</published><updated>2009-01-20T23:59:34.907-08:00</updated><title type='text'>APRS - Questions, questions</title><content type='html'>So which should I use ?  GPGGA or GPRMC.  They appear to be identical, except that speed and direction are included with GPRMC and Altitude in GPGGA.&lt;br /&gt;&lt;br /&gt;The guides I've seen from people like the Cambridgeshire Repeater Group indicate that you should have both - the DPRS spec seems to indicate that GPGGA without GPRMC should be enough to send a posit.&lt;br /&gt;&lt;br /&gt;Hmmm....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4375752184592142995?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4375752184592142995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-questions-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4375752184592142995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4375752184592142995'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-questions-questions.html' title='APRS - Questions, questions'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7835700767678487354</id><published>2009-01-20T14:06:00.000-08:00</published><updated>2009-01-20T14:09:18.757-08:00</updated><title type='text'>Antennae</title><content type='html'>The forecast for today was very good, so I decided to take a day off and try to do something about my lack of antenna.&lt;br /&gt;&lt;br /&gt;That and the fact that our terrestrial TV antenna has been shot-to-pieces for sometime, and just before Christmas, the satellite TV stopped as well (water in the LNB).&lt;br /&gt;&lt;br /&gt;What a job - it should have been a 2-3 hour job; as at 10pm I have good 80 thru 6m, but no TV of any type.&lt;br /&gt;&lt;br /&gt;And no progress on the APRS this evening :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7835700767678487354?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7835700767678487354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/antennae.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7835700767678487354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7835700767678487354'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/antennae.html' title='Antennae'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7778323961987996672</id><published>2009-01-20T14:00:00.000-08:00</published><updated>2009-01-20T14:06:50.601-08:00</updated><title type='text'>APRS Interface</title><content type='html'>M0VPG has loaned me his IC-E92 which has a GPS speaker/mic.&lt;br /&gt;&lt;br /&gt;I'm experimenting with taking the GPGGA and GPRMC sentences from the DD stream and sending those to an APRS-IS server.&lt;br /&gt;&lt;br /&gt;It turns out that the two GPS streams have a simple XOR checksum as there is no error correction on the DD stream. &lt;br /&gt;&lt;br /&gt;Also, there is a standard for DPRS whereby you put your SSID symbol, a message and a checksum in the C1 field.  This field also carries your callsign.&lt;br /&gt;&lt;br /&gt;To send the APRS posit information, you have to be logged into the APRS-IS server - to do this, you need to use the callsign and a password generated by a hash function with a specific key.&lt;br /&gt;&lt;br /&gt;I'm running the APRS connection as a thread so that it doesn't interfere with the running of the node/repeater, and that caused a few issues.&lt;br /&gt;&lt;br /&gt;But, trying to get the routine to checksum the GPGGA, GPRMC and C1 messages was awful.&lt;br /&gt;&lt;br /&gt;I'm there now, and I take the callsign from the C1 field, generate the APRS password from it and log into the APRS-IS server.&lt;br /&gt;&lt;br /&gt;Now I need to extract the required information from GPGGA and GPRMS and create an APRS-IS posit message...&lt;br /&gt;&lt;br /&gt;Nearly there.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7778323961987996672?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7778323961987996672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-interface.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7778323961987996672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7778323961987996672'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/aprs-interface.html' title='APRS Interface'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-4331953189655210174</id><published>2009-01-20T13:59:00.001-08:00</published><updated>2009-01-20T14:00:53.502-08:00</updated><title type='text'>DV Header RX CallSign</title><content type='html'>One slight issue - the RX Call Sign seems pretty erratic.&lt;br /&gt;&lt;br /&gt;Sometimes you get it, sometimes you don't.&lt;br /&gt;&lt;br /&gt;I'm wondering if it is a problem with my transmitter - I need to take a look....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-4331953189655210174?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/4331953189655210174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/dv-header-rx-callsign.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4331953189655210174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/4331953189655210174'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/dv-header-rx-callsign.html' title='DV Header RX CallSign'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7574619963311371162</id><published>2009-01-20T13:58:00.000-08:00</published><updated>2009-01-20T13:59:24.303-08:00</updated><title type='text'>Duplicate - found it....</title><content type='html'>Well, I found the problem.&lt;br /&gt;&lt;br /&gt;I was advancing whenever I received the sync frame - I wasn't checking that the sync had come from the current conversation.&lt;br /&gt;&lt;br /&gt;Node has been working since Sunday morning on REF001C without a hitch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7574619963311371162?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7574619963311371162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/duplicate-found-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7574619963311371162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7574619963311371162'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/duplicate-found-it.html' title='Duplicate - found it....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-7636614405576554930</id><published>2009-01-18T03:12:00.000-08:00</published><updated>2009-01-20T13:57:44.386-08:00</updated><title type='text'>Duplicate Packets</title><content type='html'>Got a problem with duplicate packets.&lt;br /&gt;&lt;br /&gt;The dplus network adds a sequence number to the packets in the stream from 0x00 to 0x14.&lt;br /&gt;&lt;br /&gt;These then repeat, making a whole sequence 420ms.&lt;br /&gt;&lt;br /&gt;Because I need to detect and counter out-of-order packets in the frame, I have to look for the sync sequence 0x55 0x2d 0x16, and only when I see these advance the frame buffer.&lt;br /&gt;&lt;br /&gt;At the moment, I've got a problem where occasionally the buffer advances by several tens of frames.&lt;br /&gt;&lt;br /&gt;I just can't find out why....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-7636614405576554930?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/7636614405576554930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/duplicate-packets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7636614405576554930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/7636614405576554930'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/duplicate-packets.html' title='Duplicate Packets'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-621980481697686430</id><published>2009-01-18T03:08:00.000-08:00</published><updated>2009-01-18T03:12:25.714-08:00</updated><title type='text'>The Story So Far...</title><content type='html'>I started out with:&lt;br /&gt;&lt;br /&gt;1 x Satoshi Node Adapter board&lt;br /&gt;1 x IC-91AD (yes, the US version)&lt;br /&gt;1 x Ancient Dell desktop running CentOS 4&lt;br /&gt;2 x Icom IC-F210S UHF FM radios&lt;br /&gt;1 x FT7800R radio&lt;br /&gt;&lt;br /&gt;and a heap of documents....&lt;br /&gt;&lt;br /&gt;So, after a lot of work, I have turned this into a fully-working D-Star repeater and dplus node access-point.&lt;br /&gt;&lt;br /&gt;Problems ?&lt;br /&gt;&lt;br /&gt;Many, many, many...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-621980481697686430?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/621980481697686430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/story-so-far.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/621980481697686430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/621980481697686430'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/story-so-far.html' title='The Story So Far...'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-6503350310348784931</id><published>2009-01-18T02:58:00.000-08:00</published><updated>2009-01-18T03:08:46.433-08:00</updated><title type='text'>About Me</title><content type='html'>I've been playing with radios, computers and digital technology for years.&lt;br /&gt;&lt;br /&gt;It started with taking two old Pye Intercoms, putting one on the back of my push-bike, connecting an antenna rather than wire, and trying to understand why I couldn't hear it.&lt;br /&gt;&lt;br /&gt;After school, I worked for Marconi Communications Systems for two years and then went on to University.  I worked as a trainee technician, fault-finding digital communications systems and HF radios.&lt;br /&gt;&lt;br /&gt;My first foray into true digital systems was a home-built PABX designed around a Z80 CPU with a crossbar CMOS switching system.  Oh, and the Morse Tutor on the ZX81....&lt;br /&gt;&lt;br /&gt;A professional networking engineer, I have spent the last 20+ years working in the telecommunications industry since graduating with a degree in Electrical and Electronics Engineering from City University, London.&lt;br /&gt;&lt;br /&gt;I am a Chartered Engineer, hold a CCIE in Routing and Switching, can program in C++ (very badly, but it works).  My day job is as a senior consultant in Unified Communications technologies, mostly around interoperability.&lt;br /&gt;&lt;br /&gt;I've held an Amateur Radio licence since 1984 - originally G6TBA, then took the dreaded CW and became G4ULF.  This enabled me to run my school's Amateur Radio station on HF and put a vertical in the back-garden of my parent's house, knocking out most TVs within a 2 mile radius....&lt;br /&gt;&lt;br /&gt;Married with a 7-year old son, I am Chairman of the Ashdown Forest Repeater Group and a member of the local club, Crawley Amateur Radio Club.&lt;br /&gt;&lt;br /&gt;I enjoy working HF mobile (not much chance at home), and on IRLP and EchoLink.&lt;br /&gt;&lt;br /&gt;73s  de G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-6503350310348784931?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/6503350310348784931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/about-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6503350310348784931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/6503350310348784931'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/about-me.html' title='About Me'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1111281273810492213.post-3278527794648544205</id><published>2009-01-18T02:53:00.000-08:00</published><updated>2009-01-18T02:58:34.755-08:00</updated><title type='text'>Welcome to my Blog....</title><content type='html'>Well, in my opinion, D-Star is the most exciting thing to happen to Amateur Radio in decades.&lt;br /&gt;&lt;br /&gt;But, I hate having to pay anyone for anything - especially if I don't get a choice of suppliers.  So, whilst I am a fan of digital communications, (I do it for a living !), I am NOT a fan of any protocol that is not truly open.&lt;br /&gt;&lt;br /&gt;So, I decided to see what I could do with a supposed "closed" protocol, D-Star.&lt;br /&gt;&lt;br /&gt;What I discovered pretty early on is that although there is only one current manufacturer, Icom, only the voice Codec is closed; AMBE-2020 from DVSI.&lt;br /&gt;&lt;br /&gt;So, provided you don't touch the audio in the payload, game on....&lt;br /&gt;&lt;br /&gt;This Blog is going to be my running log of development of a D-Star repeater that links to the worldwide dplus network running on homebrew components and standard UHF FM rigs.&lt;br /&gt;&lt;br /&gt;Welcome on-board !&lt;br /&gt;&lt;br /&gt;David G4ULF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1111281273810492213-3278527794648544205?l=g4ulf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g4ulf.blogspot.com/feeds/3278527794648544205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g4ulf.blogspot.com/2009/01/welcome-to-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3278527794648544205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1111281273810492213/posts/default/3278527794648544205'/><link rel='alternate' type='text/html' href='http://g4ulf.blogspot.com/2009/01/welcome-to-my-blog.html' title='Welcome to my Blog....'/><author><name>David</name><uri>http://www.blogger.com/profile/14709787008831619810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_JjhOVZWzX7M/SXl5QyJVSgI/AAAAAAAAAAM/r62HMltA70U/S220/dlake.jpg'/></author><thr:total>0</thr:total></entry></feed>
