Practical Guide to Getting Started with the TS-7250-V2

Introduction

This guide will walk you through the basic steps of getting your TS-7250-V2 up and running. It’s mostly an extrapolation from the official TS-7250-V2 Manual, but provides a more practical approach in setting up common connections, networking, and environments to begin development.             Home

Connections

Let’s get our TS-7250-V2 hooked up! This includes our very basic connections we’ll need for most any development or project: power, serial console, and Ethernet.

TS-7250-V2 with power, console, and Ethernet
TS-7250-V2 with power, console, and Ethernet

Serial Console

Nothing beats a good ‘ol serial console for direct access to an embedded system. Where others like telnet and SSH might fail due to bad startup scripts or network snafus, a direct serial console connection will always be there to bail you out. For this, you’ll need a NULL modem cable and a DB9 Serial to USB adapter. Technologic Systems has the NULL modem cable available for sale, as you probably seen when ordering it, but they do not sell a serial to USB adapter. You can get them from many places, and, having learned from experience, it seems that the ones with the Prolific PL2303 chipset are easiest and most compatible, like this one from Amazon.com. If you go this route, you’ll want to be sure to download and install the Prolific PL2303 drivers here. Note, if you’re on a Linux machine you shouldn’t have to install any drivers, as they come preloaded in the Linux kernel, otherwise, for Windows or Mac users, you’ll need to download the drivers.If you need a NULL modem cable, they have them for available on Amazon.com, like this one.

Prolific PL2303 Serial to USB Adapter
Prolific PL2303 Serial to USB Adapter

Connect the NULL modem cable directly to the RS-232 port on the TS-7250-V2 and the serial to USB adapter. After installing the Prolific PL2303 drivers on your computer (restart may be required), plugin the serial to USB adapter into your computer and follow the instructions given in the “Get a Console” section of the TS-7250-V2 manual. After applying power, which we’ll talk about next, you’ll see something similar to the screenshot below (Mac OSX Terminal running minicom):

Screenshot of TS-7250-V2 Busybox Shell via Console
Screenshot of TS-7250-V2 Busybox Shell via Console

Pro-tip: Running minicom alone will constrain the terminal row and column count to something pretty small that will never take up the whole terminal window. To take advantage of all the real estate your terminal window has to offer, run TERM=linux minicom instead. Remember to setup an alias as a shortcut for yourself!

Power

The TS-7250-V2 has three different power options: 5 Vin, 8 – 28 Vin, and via micro USB. It doesn’t really matter which you choose unless you need the additional power to drive additional I/O or peripherals. Whichever option you choose, simply plug it in, and you’ll see status LEDs start blinking. If you have your console setup properly, you should see the bootup process like in the picture above.

Ethernet

Naturally, we’ll want to be able to connect this to the network so we can get it to talk with the local network or Internet, or even accessing the board via SSH or booting to an NFS filesystem. There are two Ethernet ports on the TS-7250-V2, eth0.1 and eth0.2. We’ll be using eth0.1, which is the one closest to the micro USB connector. You can read more about them in the “Configuring the Network” section of the TS-7250-V2 manual. So, plug in a standard Ethernet cable connected to your router, and we should be good to proceed to the next steps!

Default Boot to Debian

Now, we should be looking at a shell terminal, awaiting our commands. This shell is what we call an initial RAM disk, or initrd, with a Busybox shell. It’s a minimalistic, ready only environment which can be booted incredibly quickly (0.52 seconds) and begin executing your programs. Busybox is known as the “The Swiss Army Knife of Embedded Linux”, and you can accomplish quite a bit here. This is an excellent spot to put production-ready code because of the fast bootup and the read-only nature. For development, the Debian environment, which is pre-installed on the startup drive, is perhaps the easiest to work with, especially for those getting their feet wet in embedded Linux. So, we’re going to boot to the Debian environment, which gives us access to not only a more familiar Linux environment with tools like apt-get and compilers, but also an environment with more storage and debugging tools. For this, we’ll need to set the soft jumper, JP1, which will tell the board to boot directly to Debian upon bootup as documented in the “Initrd/Busybox” section of the TS-7250-V2 manual. For this, we use the tshwctl command followed by a reboot:

# tshwctl --setjp=1
# reboot

You should now see Debian startup sequence, followed by a login. For this, we’re just going to use ‘root’ as the user name. There is no password by default.

Screenshot of TS-7250-V2 Debian Shell via Console
Screenshot of TS-7250-V2 Debian Shell via Console

Pro Tip: If you’d like to use SSH after setting up your network connection, you’ll need to set a password. Run passwd to create a password followed by dpkg-reconfigure openssh-server. Also, refer to the “Setting up SSH” section of the TS-7250-V2 manual.

Setup Networking

If you recall, we’re going to be setting up our eth0.1 network interface, since that’s the one we’re plugged into. For this, we’re going to follow the “Configuring the Network” section of the manual. We’ll set our board to use a static IP address since this is common for server type applications. For this, we’ll edit the /etc/network/interfaces file to read like the following. Make sure to modify it to fit your specific network settings.

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

# We always want the loopback interface.
#
auto lo
iface lo inet loopback

auto eth0.1
iface eth0.1 inet static
address 192.168.1.120
netmask 255.255.255.0
gateway 192.168.1.1

The next thing we need is to tell our network interface which DNS nameservers to use, so that we can ping by domain name, like google.com. For this, we’ll edit /etc/resolv.conf and use the same gateway IP from above as the nameserver. You file should look like something like this:

root@ts7250-496b63:/var/www# cat /etc/resolv.conf
nameserver 192.168.1.1

After saving your changes, we simply need to reload the service responsible for the network interfaces. To do this, we run the commands:

root@ts7250-496b63:~# service networking stop
root@ts7250-496b63:~# service networking start

Then, you should be able to run ifconfig eth0.1 and see the settings applied.

root@ts7250-496b63:~# ifconfig eth0.1
eth0.1 Link encap:Ethernet HWaddr 00:d0:69:49:6b:63
inet addr:192.168.1.120 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2d0:69ff:fe49:6b63/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:450 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:78249 (76.4 KiB) TX bytes:6932 (6.7 KiB)

You may want to test your connection at this point. Try pinging your gateway, aka router. You’ll know it’s successfully up and running when you see 0% packet loss in the report.

root@ts7250-496b63:~# ping -c4 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=2.74 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=2.94 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=3.58 ms
64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=3.95 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 2.740/3.304/3.951/0.490 ms

Set Date and Real Time Clock (RTC)

Sometimes, having the wrong date on your board can give you unexpected problems with other programs, such as apt-get, which count on an accurate date for keys and the like. So, let’s make sure our hardware clock is set appropriately. Before you start, double check to see if it hasn’t already been setup by running the date command.

root@ts7250-496b63:/var/www# date
Wed Mar 23 15:24:05 UTC 2016

If this isn’t correct, continue reading. We’ll want to first set the system time using date -s, and then setup the real time clock.

root@ts7250-496b63:~# date -s "22 MAR 2016 18:08:00"
Tue Mar 22 18:08:00 UTC 2016

Double check that the values stuck:

root@ts7250-496b63:~# date
Tue Mar 22 18:08:02 UTC 2016

Now, let’s make sure the real time clock is initiated properly:

root@ts7250-496b63:~# tshwctl --setrtc
rtc_present=1
root@ts7250-496b63:~# tshwctl --getrtc
rtc_present=1
rtc_oscillator_ok=1

You should now be able to restart your TS-7250-V2 and the correct date should persist.

Conclusion

In this guide, we learned about common steps in setting up our TS-7250-V2 in order to easily begin development out of the box, from connections to networking and setting the real time clock (RTC). You should now be well on your way to begin development on your application. If you’re looking for inspiration, take a look at Creating a Human-Machine Interface (HMI) Web Application.

Is there anything else you’d like to see added to this practical getting started guide for the TS-7250-V2?     Home

2 thoughts on “Practical Guide to Getting Started with the TS-7250-V2”

  1. These kind of “quick start” guides are enormously helpful, thank you.

    > root@ts7250-496b63:/var/www# cat /etc/resolv.conf
    > nameserver 192.168.1.1

    In the example above (from the network configuration) is may not be clear to folks who are new to *nix that the /var/www# is the end of the prompt from the bash shell. Most of them are just seeing the standard hash (#) and not your fancy customized prompt.

Leave a Reply

Your email address will not be published. Required fields are marked *