All posts by j0n

LinShim6 v0.9 Released

“I am glad to announce that LinShim6 version 0.9 has been released. The major additions are the followings:

——————
– Support for Keepalive Timeout option
– Faster failure recovery for TCP applications (thanks to RTO reset upon path change)
– Shim6 can now be compiled as a module. The trigger heuristic is defined as a separate module. So that it can be
unloaded or replaced depending on the needs. For example, a server that does not want to initiate a Shim6
negotiation by itself, but only answer to requests, can simply unload the heuristic module.
– Added a console option, that allows dynamic setting of the failure detection timer.
——————

The useful links are the followings :

* LinShim6 main page, where you can download the kernel patch and the daemon : http://inl.info.ucl.ac.be/LinShim6
* Updated draft shim6-impl (implementation report) : http://inl.info.ucl.ac.be/publications/shim6-implementation-report-linshim6
* Documentation (not yet updated for 0.9, however) : http://inl.info.ucl.ac.be/publications/linshim6-implementation-shim6-protocol

regards,

Sébastien.


Sébastien Barré
Researcher,
CSE department, UCLouvain, Belgium
http://inl.info.ucl.ac.be/sbarre

We (TSSG) have been working with Sébastien, for quite a while, debugging the implementation, and adding features to it. Specifically in the EFIPSANS project, we are looking at SHIM6’s failure recovery capabilities in the event of one network interfacing (or, indeed one upstream provider) loosing connectivity. We have been sidetracked for a while with lots of project documentation to be delivered to the EU, hopefully we can get a linux iso prepared once again to allow others to experiment.

Ham Radio – A contact sport?

I just love that title from Pat Rundell’s weblog (N0HR) so I couldn’t resist using it.

I was asked the other day, how ‘competitiveness’ gets measured, how can there be ‘contests’ on Amateur Radio. It is a good question which I will try and explain a bit better with an example. Below is my log (in Cabrillo format) in the IRTS 80 Meter Counties Contest from the first of January 2009, which I recently received back from Thos, EI2JD, the IRTS contest manager.

The purpose of the contest is to “work” i.e. speak to as many stations in as many Irish counties as possible in the three hour time window between 14:00 and 17:00UTC on the date of the contest. A contact is only considered valid if both operators exchange correctly their callsign, a signal strength report (in contests its always given ‘5’ by ‘9’ no matter what it really is), a serial number, and a county. Scoring is relatively straightforward. For any county in the 32 counties, the contact is worth 4 points, for any contact outside of the 32 counties, the contact is worth 1 point. Then, this total is multiplied by the number of different counties contacted. Make sense?, Right so, lets look at my log.

CLAIMED-SCORE: 2860
CLUB:
CONTEST: IRTS80M
CREATED-BY: YFKtest 0.0.9
NAME:
ADDRESS:                                   41 qso
ADDRESS:                                    8 oei  =    8
ADDRESS:                                   33  ei  =  132
ADDRESS:                                   20  co  =  140 x 20 =   2800
OPERATORS: EI7IG
SOAPBOX:
QSO:  3500 PH 2009-01-01 1540 EI7IG         59     1 WATERFORD EI3JB         59   049 WAT   4
QSO:  3500 PH 2009-01-01 1542 EI7IG         59     2 WATERFORD EI7GAB        59   051 DON   4
QSO:  3500 PH 2009-01-01 1544 EI7IG         59     3 WATERFORD GM3PAI        59   062       0  GM3POI
QSO:  3500 PH 2009-01-01 1545 EI7IG         59     4 WATERFORD EI7CD         59   071 DUB   4
QSO:  3500 PH 2009-01-01 1548 EI7IG         59     5 WATERFORD EI2GLB        59   081 KLD   4
QSO:  3500 PH 2009-01-01 1551 EI7IG         59     6 WATERFORD EI4GYB        59   125 CAR   4
QSO:  3500 PH 2009-01-01 1551 EI7IG         59     7 WATERFORD EI3JE         59   129 COR   4
QSO:  3500 PH 2009-01-01 1552 EI7IG         59     8 WATERFORD EI8BEB        59   073 SLI   4
QSO:  3500 PH 2009-01-01 1553 EI7IG         59     9 WATERFORD EI4GXB        59   086 CLA   4
QSO:  3500 PH 2009-01-01 1554 EI7IG         59    10 WATERFORD EI6GEB        59   125 LAO   4
QSO:  3500 PH 2009-01-01 1555 EI7IG         59    11 WATERFORD EI6JK         59   112 ROS   4
QSO:  3500 PH 2009-01-01 1556 EI7IG         59    12 WATERFORD EI3ENB        59   036 KLK   4
QSO:  3500 PH 2009-01-01 1558 EI7IG         59    13 WATERFORD EI9DZ         59   038 LEI   4
QSO:  3500 PH 2009-01-01 1600 EI7IG         59    14 WATERFORD EI5GTB        59   062 DON   4
QSO:  3500 PH 2009-01-01 1601 EI7IG         59    15 WATERFORD EI9FBB        59   093 COR   4
QSO:  3500 PH 2009-01-01 1604 EI7IG         59    16 WATERFORD EI6DL         59   045 WES   4
QSO:  3500 PH 2009-01-01 1606 EI7IG         59    17 WATERFORD EI2V          59   080 DUB   4
QSO:  3500 PH 2009-01-01 1607 EI7IG         59    18 WATERFORD EI8CE         59   115 WAT   4
QSO:  3500 PH 2009-01-01 1608 EI7IG         59    19 WATERFORD EI9HX         59   117 ROS   4
QSO:  3500 PH 2009-01-01 1610 EI7IG         59    20 WATERFORD EI4CF         59   088 GAL   4
QSO:  3500 PH 2009-01-01 1611 EI7IG         59    21 WATERFORD EI9JU         59   070 DON   4
QSO:  3500 PH 2009-01-01 1612 EI7IG         59    22 WATERFORD EI5GPB        59   070 COR   4
QSO:  3500 PH 2009-01-01 1613 EI7IG         59    23 WATERFORD EI8JA         59   061 WAT   4
QSO:  3500 PH 2009-01-01 1614 EI7IG         59    24 WATERFORD M0MCX         59   080       1
QSO:  3500 PH 2009-01-01 1620 EI7IG         59    25 WATERFORD EI3GRB        59   084 CLA   4
QSO:  3500 PH 2009-01-01 1621 EI7IG         59    26 WATERFORD GI8SKN        59   097 ANT   4
QSO:  3500 PH 2009-01-01 1622 EI7IG         59    27 WATERFORD EI8IU         59   087 LEI   4
QSO:  3500 PH 2009-01-01 1624 EI7IG         59    28 WATERFORD EI2CA         59   132 MEA   4
QSO:  3500 PH 2009-01-01 1625 EI7IG         59    29 WATERFORD M0DDT         59   058       1
QSO:  3500 PH 2009-01-01 1639 EI7IG         59    30 WATERFORD EI7GY         59   087 DUB   4
QSO:  3500 PH 2009-01-01 1644 EI7IG         59    31 WATERFORD G3WGQ         59   025       1
QSO:  3500 PH 2009-01-01 1645 EI7IG         59    32 WATERFORD MI0CLP/P      59   078 ARM   4
QSO:  3500 PH 2009-01-01 1645 EI7IG         59    33 WATERFORD G3LAS         59   037       1
QSO:  3500 PH 2009-01-01 1646 EI7IG         59    34 WATERFORD G4TPH         59   004       1
QSO:  3500 PH 2009-01-01 1646 EI7IG         59    35 WATERFORD G0MUR         59   011       1
QSO:  3500 PH 2009-01-01 1647 EI7IG         59    36 WATERFORD G3RXQ         59   031       1
QSO:  3500 PH 2009-01-01 1648 EI7IG         59    37 WATERFORD MI3CQX        59   021 DOW   4
QSO:  3500 PH 2009-01-01 1648 EI7IG         59    38 WATERFORD EI9FVB        59   114 COR   4
QSO:  3500 PH 2009-01-01 1649 EI7IG         59    39 WATERFORD MU0FAL        59   037       1
QSO:  3500 PH 2009-01-01 1651 EI7IG         59    40 WATERFORD EI5IH         59   046 CAV   4
QSO:  3500 PH 2009-01-01 1654 EI7IG         59    41 WATERFORD EI1DG         59   045 DUB   4
QSO:  3500 PH 2009-01-01 1657 EI7IG         59    42 WATERFORD EI7MRE        59   093 MAY   4
END-OF-LOG

The first thing you’ll notice is that my claimed score (2860) is higher than the score Thos gave me (2800). I obviously made an error in my calculations, but also notice that I make a mistake in the third QSO. I must no have heard the other station correctly and entered their call-sign incorrectly. Also if you look at the time of my first log entry, you’ll notice that I didn’t actually start until 15:40, the contest was nearly half over by then (I was elsewhere and had to rush back for the contest).

Now, how would I got about improving my score i.e. make my station more competitive? Well there’s a few things I could do. First, getting on air for the entire duration of the contest would be a great help. Next, given as I’m fairly restricted at home in the size of an antenna that I can put up, I’ll probably have to ‘go portable’ for the next contest. Somewhere along the copper coast most likely, which would give me a very good ‘ground’ for an antenna that will allow me to hear and work stations around Ireland much easier. This would then hopefully lead to me hearing more counties, which would increase my number of multipliers (mult count), and thus increase my score. Based on what I heard on air on the day, I’m expecting to see the winning score to be somewhere over 12,000 maybe even higher (150-160 contacts, 31 counties).

Now, to competitiveness. I guess it would go along the lines of beating my own score first, then to try to beat the score of everyone else in the local club/county/province/country. The first one should be easy, the rest, well we’ll just have to see what happens on the Sunday the 21st of June.

73, and see you on the band!

de John, EI7IG

The first sea rescue by radio

Today, it’s taken for granted that if you are at sea, and in distress you can summon assistance by doing one of the following:

  • press and hold the red button on your DSC equipped VHF Radio (if within range of land)
  • if your VHF radio isn’t DSC equipped, you can call on VHF Channel 16 (if within range of land)
  • out of VHF range? if your vessel is large enough you could possible get assistance using your MF Radio (DSC or Voice)
  • or you could use a Satellite Phone or EPIRB

None of this is particularly difficult, yet many vessels still go to sea daily without any of these safety features on their vessels. They then depend on the radio that is their Mobile Phone when they are in trouble.

Any of the above methods of communication, once used in a distress situation will immediately bring into play many air and sea assets in order to render assistance. However this wasn’t always the case.

The “first rescue of a ship at sea by radio” was used was on January 23rd, 1909. It was mostly good luck that led to a successful outcome. It made a hero of the radio operator Jack Binns, but it also led the shipping companies to come to the (incorrect) conclusion that all subsequent collisions would have the same successful outcome.

Amateur Radio operators still use the “CQ” call today.

Classic Rock.

I was in a friends house earlier this afternoon, we were chatting away, then his phone rang so I was listening to the radio he had on in the background thinking “its been years since I heard that tune”. I’ve forgotten what the tune was, but he was tuned to 1584 AM (Stereo).

It turns out the station is Zenith Classic Rock. I’d been told about it before Christmas but forgot to listen out. If classic rock is your thing.. its great listening.

Delay Tolerant Networking over AX.25 & QSLs

I wrote in January that I had done some testing of Darren, G0HWW’s DTN over AX25 (also know as Packet Radio) Implementation. At the time we really only wanted to see if it worked. Since then I have been quite busy in my day job, and not had a chance to really do any more testing up until recently.

In the last few weeks had some free evenings and devoted it to testing the Darren’t DTN implementation against ‘raw’ AX25 connections with different AX25 window sizes from 1 – 7. I used a test file size of 9744 bytes (a NASA format keplerian element set that was handy) over at 1200bps AX25 link.

For the raw AX25 test, I connected from one node to another over and had the test file waiting for me in an email (using axmail). I recorded the wall clock time from when I pressed return until the command prompt was returned.

For the DTN test, I used the dtncp command to send the file and I started recording from when I pressed return on the command line. Obviously there is a problem there in that the AX25 test has to transmit the command before it can receive anything, whereas dtncp immediately starts transmitting, but as I only wanted to get a ‘feel’ for the figures, I think it will suffice. Several runs of each later (to get average figures) we have:

Window Size “Raw” AX25 (seconds) DTN over AX25 (seconds) Delta (seconds)
1 110.67 121.33 10.67
2 90.33 106 15.67
3 84.67 101 16.33
4 81.67 97.67 16
5 79 95.67 16.67
6 78 91.67 13.67
7 77 108.33 31.33

I’m not an AX25 expert by any stretch of the imagination, so we had several false starts trying to get working settings for the various timers that are part of the AX25 implementation. None of them were set to ‘optimum’ but really I just increased T1 and T2 in line with the Window parameter until it worked reliably.

Several things surprised us. Firstly, Darren’s implementation is not as bad, performance wise, as we thought it would be. At the moment, no effort been made to streamline the implementation but it is designed to be highly robust in the event of data transmission errors. Secondly, all data was transferred successfully on every occasion, always good :). Also, on average, the overhead (if we ignore the window of 1 and window of 7), is between approximately 17% and 21%. The figures for the Window set to 1 (above) is a special case in that it forces an almost ’round-robin’ transmit cycle on the two participating stations. Setting it to 7 seemed to trigger a bug, but we don’t know where exactly. In fact the picture is much worse than that. 1 in every three runs took almost 5 minutes to complete as the two stations got completely out of sync AND it looks like Darren’s code (or the kernel) wasn’t honouring the window of 7. In reality though, it would be seldom that one would attempt to use a window size of 5-7 on a shared frequency due to the likelihood of being ‘trod on’ by another station.

All that said, it’s pretty reliable. If your are interested in giving it a try, email Darren, his details are at the bottom of this page, describing his implementation.

Now, back to writing QSL Cards. Shamefully, I’m several years behind.
Front

Irish IPv6 Summit.

Through where I work, I’ve been using/breaking/experimenting with difference facets of IPv6 for several years. Part of what TSSG has been doing is attempting to raise awareness about IPv6 whenever the opportunity arises.  As part of the Irish IPv6 task force, TSSG is helping to organise an IPv6 Summit, which is expressly for the purpose of raising awareness in the public and private sectors. Even if you have only a passing interest, do come along (and ask difficult questions!).

K3 #2184 (part 2)

It started raining again Sunday afternoon, so a perfect opportunity to resume construction 😉

First, attach the DSP Board to the back of the front panel.

DSP Board Added - 1

DSP Board Added - 2

Attach the front panel to the main chassis.

Front Panel Attached to Chassis - 1

Initial power on test, fortunately no smoke escaped!

Initial power on test.

Oscillator board installation (you can see the filters on the main RF board)
KREF3 Oscillator Board

Synthesiser board installation. This (along with the oscillator board above) was the most difficult board to install, requiring lots of patience as I kept dropping the washers into the chassis.

Synthesizer Board

Power Amplifier Shield

KPA3 Shield

General coverage Receive filters, Noise Blanker, and Lithium Ion Battery.

KBPF3 General Coverage Receiver Installed

Forgot to take a picture of the 100W PA going in. All built now, just needs calibration.

K3 #2184 is alive!

Pretty much everything checked out ok. I still have to calibrate the TXCO, though as it is, it is probably more than adequate for my needs. Now I just need to get time to get on the air.

Thank you Elecraft.