Programming the DSL-502T IGate using “Damn Small Linux”

Items you need to get started:
 
1.  The “Damn Small Linux” ISO from http://distro.ibiblio.org/pub/linux/distributions/damnsmall/current/current.iso burn to a CD (approx size 50mb).
2.  A PC able to boot the Damn Small Linux CD with a connection to the internet.
 
Follow the programming steps as follows:
1.  Boot the “Damn Small Linux” ISO.
 


 
2.  To program the DSL502T the PERL and CURL software in the “Damn Small Linux” image needs to be updated
Start the “MYDSL Browser”.
 

 
Download the “MYDSL” application database if prompted.
Use “Text Search” to locate the “Perl 5.8.0DSL” package.

Select the “Perl5.8.0DSL” package and “Install Selected” (approx size 8mb).

Use “Text Search” to locate the “CURL.tar.gz” package.
Select the “CURL.tar.gz” package and “Install Selected” (approx size 300kb).
Close the “MYDSL Browser”.
 
3. Download the latest DSL-502T firmware:
Press the “Term” button on the toolbar to open a terminal window.
Download and extract the firmware with the command:
 
curl http://www.quicktrip.co.nz/igate_dsl502t.tar.gz | tar xvz

On completion of the download you will have a “dsl502t” folder containing three files.
To program a DSL-502T with the downloaded firmware:
Change to the dsl502t folder
 
cd ./dsl502t
 
Ensure the DSL-502T is switched off.
Disconnect your PC from the internet connection and connect it the DSL-502T.
 
Ideally this should be done using a hub as most modern Ethernet cards take too long to power up if connected directly to the DSL-502T.
It is recommended that there be no other devices connected to the hub as other network traffic can interfere with the programming process.
 
4.  Set the IP address of “Damn Small Linux” to “192.168.1.3”.
 
Press the “Panel” button on the toolbar to open the “DSL Control Panel”.

 
Press the "NetCardConfig" button to open the network configuration dialog.
Enter the network configuration as follows:
 

Use DHCP Broadcast  No 
Address IP  192.168.1.3
Network Mask  255.255.255.0
Broadcast 192.168.1.255 
Gateway  192.168.1.254
Save Configuration  Yes
 


Press “Apply” to activate the configuration.
Close the “DSL Control Panel”.
 
5. Program the DSL-502T in the terminal window by:
 
Entering the command:
 
./flash
 
Power on the DSL-502T.
 
All going well the DSL-502T will be detected, the programming will be performed and the DSL-502T will reboot at the end of the process.
 
Possible problems are:
1. The DSL-502T is not found on the network and the programming fails.

Repeat step 5 to ensure the IP address is correctly configured as 192.168.1.3
Try using a different network cable or hub.
 
2. A device is recognised but it is reported as being the wrong type. This may occur if you have a Generation II (C5 Hardware revision) DSL-502T or a different device. You will not be able to program the device using this procedure.
3. The device is recognised and the programming starts but the dots stop. This can occur due to other network traffic or timing issues when transferring data to the DSL-502T.
 
Press Cltr-C to stop the programming script.
Repeat step 5 without powering off the DSL-502T.
 
 
 

Mangaging your FT-7800R memories.... with a VX5 bonus

I really like my FT-7800R, I found it to be a basic but reliable 2m rig with good wide band coverage... at least wide enough to cover the aircraft band.
 
What isn't so good is the effort required to manage the memories... particularly if you want to program more than a few frequencies.  If you are like me you probably have a limited set of frequencies programmed and everything else is done through the VFO as and when neaded.
 
After having the rig for a couple of years and feeling I really wasn't getting the best use out of it (particularly when scanning), it really was time to investigate programming software and the hardware required for an interface cable.
 
My software selection was based on the following criteria:
  • Not expensive
  • Positive comments on www.qrz.com
  • Quick review of the demo version suggested that it would do the job OK.
 
 
I also needed an interface cable.... something equivilent to the Yaesu CT-91.  
 
Some internet digging turned up a few designs but nothing that matched the junk box parts... the level conversion was easy... standard MAX232 design but additional interfacing was required to covert the two line TTL serial to one line to suit the FT-7800R.  I discovered this design for the Three to Two Wire Converter ... and I had a 4069 in the junk box so combined it with the MAX232 as shown.
 
Yaesu Programming Cable
 
.. and it works really well.  A recycled PS2 keyboard extender cable provided the connection for to the FT-7800R.  It worked first time.... 
 
For many years my VX5 had a similar managment problem with it's lack of memory management.... could the new interface work for the VX5 as well?  The internet suggested so but many times over the years I had looked at VX5 programmer schematics but always been put off by the difficulty in getting the 3.5mm plug with 4 connections.
 
These must have finally become popular for some consumer devices and they now (2010) appeared in the Jaycar catalog.  Replacing the interface PS2 connector with a 4 connection 3.5mm and testing using EVE on the VX5 worked well.
 
But the really big bonus is the relationship between FTB-7800 and KC8UNJ's free VX-5 Commander software..... FTB-7800 will export in VX-5 Commander format and if you can keep your FT-7800 definition within the VX-5 limits, especially limiting the number of memories to 220 and memory banks to 5 means you have have exactly the same memory configuration on the FT-7800 and VX5 with no extra work.
 
I can only say thank you to G4HFG and KC8UNJ for their software tie up... it really was an added bonus I didn't expect.
 
I don't have one of the more recent Yaesu radios such as the VX2, VX6 or VX7 but FTB-7800 supports exports for KC8UNJ's Commander software for each of these so you probably get the same benefits.
 

Building a DLink DSL-502T Based IGate - The TNC

In addition to configuring the DLink DSL-502T routers for the IGate project we also needed a TNC to connect between the radio and the serial port.

Our TNC selection was based on the following criteria:

  • The TNC board was to be installed inside the DSL-502T case
  • The DSL-502T serial port is used during the powerup sequence to display boot messages and will halt the boot process if it receives any characters so the ability to change the TNC code (or hardware) to not send or receive any data during the boot sequence was critical
  • Low cost
  • Accurate decoding
  • Monitor mode compatible with APRSD

We found the ATMega8 based TNC design from Henry Carl Ott (N2RVQ) which at first glance addressed the requirements and a prototype was built and tested.

In comparative testing of the N2RVQ reference design against an MFJ-1270C TNC using the WA8LMF APRS Test CD we found almost identical performance.  There were a small number of differences in the decode... sometimes the MFJ got packets the ATMega8 didn't and vice versa.

The source code for the ATMega8 TNC is very well written and was easily modified to handle the power on delay required for the DSL-502T boot process.

Long term performance testing of the ATMega8 TNC / DSL-502T / APRSD combination was performed with assistance for Ian ZL1AOX at his QTH overlooking Auckland.  The location of Ian's QTH provided excellent reception over the Auckland area and ensured plenty of traffic was gated through to the APRS-IS network.


After thirty days of continuous operation with no system errors or crashes we were happy enough with the design for Ian ZL1VFO to design a printed circuit board for the ATMega8 TNC that would fit into the DSL-502T case.

TNC Components

Because the DSL-502T would not be used as an ADSL router the telephone interface components were removed from the PCB providing space for the TNC to be mounted on the serial port pin header.

The next image shows the PCB before and after removing the telephone interface components.

DSL502T PCB Comparison

The final result with the TNC mounted on the serial port pin header is shown below.  +12V power for the TNC and available on the radio connector is provided by the red wire.  This connects to the DSL-502T PCB after the diode bridge rectifier and filtering capacitors. 

DSL502T and installed TNC

The current plan is to deploy many DSL-502T/TNC Igates around Auckland and the north Waikato to improve APRS-IS coverage.

 

Building OpenWRT for DSL502T Appliances - Removing Modules

When building OpenWRT Kamikaze 8.09.2 for the DSL502T there are a number of mobiles included by default that are important if you are using the device as a modem but unnecessary if you plan to use the device as an appliance.

After some playing I have found the following modules can be excluded:

Kernel Modules = kmod-sangam-atm-annex-a, kmod-ppp, kmod-pppoa, kmod-pppoe, kmod-ocx

In my configuration the difference in after boot memory usage is as follows:

Before

Mem: 10268K used, 2492K free, 0K shrd, 1300K buff, 4168K cached

Modules

Module                  Size  Used by    Not tainted
tiatm                 151008  0
acx                   136704  0
nf_nat_tftp             1088  0
nf_conntrack_tftp       3760  1 nf_nat_tftp
nf_nat_irc              1856  0
nf_conntrack_irc        4768  1 nf_nat_irc
nf_nat_ftp              2432  0
nf_conntrack_ftp        6880  1 nf_nat_ftp
ipt_MASQUERADE          2080  0
iptable_nat             4240  0
nf_nat                 14624  5 nf_nat_tftp,nf_nat_irc,nf_nat_ftp,ipt_MASQUERADE,iptable_nat
xt_state                1600  0
nf_conntrack_ipv4      12064  3 iptable_nat,nf_nat
nf_conntrack           46592  11 pppoatm                 4320  0
ipt_REJECT              2976  0
xt_TCPMSS               3136  0
ipt_LOG                 6720  0
xt_multiport            2528  0
xt_mac                  1312  0
xt_limit                2016  0
iptable_mangle          2080  0
iptable_filter          2080  0
ip_tables              10064  3 iptable_nat,iptable_mangle,iptable_filter
xt_tcpudp               2624  0
x_tables               11504  11 ppp_async              10944  0
ppp_generic            26080  2 pppoatm,ppp_async
slhc                    5952  1 ppp_generic
crc_ccitt               1440  1 ppp_async
br2684                  7920  0
atm                    48912  3 tiatm,pppoatm,br2684

After

Mem: 7628K used, 5132K free, 0K shrd, 964K buff, 3180K cached

Modules

Module                  Size  Used by    Not tainted
acx                   136704  0
gpio_dev                3184  0
br2684                  7920  0
atm                    48912  1 br2684

 

 

 


Page 16 of 24

Powered by Easytagcloud v2.1

Contact Andrew Quinn

jaquinn@ihug.co.nz http://twitter.com/jaquinn