All other trademarks or registered marks in this manual belong to their respective manufacturers.
Disclaimer
Information in this document is subject to change without notice and does not represent a commitment on the
part of Moxa.
Moxa provides this document “as is,” without warranty of any kind, either expressed or implied, including, but
not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this
manual, or to the products and/or the programs described in this manual, at any time.
Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no
responsibility for its use, or for any infringements on the rights of third parties that may result from its use.
This product might include unintentional technical or typographical errors. Changes are periodically made to the
information herein to correct such errors, and these changes are incorporated into new editions of the
publication.
The Moxa EM-1240-LX Series of Mini RISC-based Ready-to-Run Embedded Computer features
dual 10/100 Mbps Ethernet ports and four RS-232/422/485 serial ports in a built-in µClinux
ARM9 module. In addition, EM-1240-LX provides SD memory card for storage expansion, offers
high performance communication and unlimited storage in a super compact, palm-size module.
EM-1240-LX is an ideal solution for embedded applications that use a lot of memory and must be
housed in a small physical space without sacrificing performance. This chapter covers the
following topics:
¾ Grounding EM-1240-LX
Connecting Data Transmission Cables
¾ Connecting to the Network
¾ Connecting to a Serial Device
¾ Serial Console Port
Internal SD Socket
Additional Functions
¾ Reset Button
¾ Real-time Clock
EM-1240-LX User’s Manual Introduction
Overview
The EM-1240-LX Series of mini RISC-based communication platforms are ideal for your
embedded applications. The EM-1240-LX comes with 4 RS-232/422/485 serial ports and dual
10/100 Mbps Ethernet LAN ports to provide users with a versatile communication platform.
The EM-1240-LX uses the MOXA ART ARM9 RISC CPU. Unlike the X86 CPU, which uses a
CISC design, the ARM9’s RISC design architecture and modern semiconductor technology
provide the EM-1240-LX with a powerful computing engine and communication functions, but
without generating too much heat. The built-in 8 MB NOR Flash ROM and 16 MB SDRAM give
you enough storage capacity and an additional SD socket provides you with flexible storage
expansion to run applications. The dual LAN ports built into the ARM9 make the EM-1240-LX an
ideal communication platform for some of the simple data acquisition and protocol conversion
applications, and the two RS-232/422/485 serial ports allow you to connect a variety of serial
devices.
The pre-installed µClinux operating system provides an open software operating system for
software program development. Software written for desktop PCs is easily ported to the
EM-1240-LX by using a GNU cross complier, so that you will not need to spend time modifying
existing software code. The operating system, device drivers, and your own software can all be
stored in the EM-1240-LX’s Flash memory.
Package Checklist
EM-1240-LX
Mini RISC-based ready-to-run embedded computer with 4 serial ports, dual Ethernet, SD, μClinux
OS.
EM-1240-LX Series products are shipped with the following items:
• 1 EM-1240 embedded module
• 1 EM-1240 Development Kit (optional)
• Quick Installation Guide
• Document & Software CD
• Cross-over Ethernet cable
• CBL-RJ45M9-150: 150 cm, 8-pin RJ45 to male DB9 serial port cable
• CBL-RJ45F9-150: 150 cm, 8-pin RJ45 to female DB9 console port cable
• Power cord
• Product Warranty Statement
NOTE: Notify your sales representative if any of the above items are missing or damaged.
Product Features
EM-1240-LX Series products have the following features:
• MOXA ART ARM9 32-bit 192 MHz communication processor
• On-board 16 MB RAM, 8 MB Flash ROM
• 4 software-selectable RS-232/422/485 serial ports
• 2 10/100 Mbps Ethernet
• RS-232 console full signal and PPP supported
• Ready-to-run μCLinux Kernel 2.6.9 communication platform
• SD signal supported
1-2
EM-1240-LX User’s Manual Introduction
Product Specifications
Hardware Specifications
Model
CPU
RAM
Flash
LAN
LAN Protection
Serial Port
Serial Console
Storage Expansion
EM-1240 Embedded Module
MOXA ART ARM9 32-bit 192 MHz processor
16 MB
8 MB
Auto-sensing 10/100 Mbps x 2
Built-in 1.5 KV magnetic isolation
Four serial ports supporting RS-232/422/485 signals
JFFS2 for Kernel, Root File System (Read Only) and User Directory
(Read / Write)
Minix shell command
Dial in/out over serial port daemon
Point-to-Point over Ethernet daemon
SNMP V1/V2c Agent daemon
Linux normal command utility
login and user manager utility
Telnet server daemon
Telnet client program
TCP server manager program
FTP server program
FTP client program
Web server daemon
Network Time Protocol client utility
Tool Chain
Arm-elf-gcc (V2.95.3): C/C++ PC Cross Compiler
uClibc (V0.9.26): POSIX standard C library
Arm-elf-gcc (V2.95.3): C/C++ PC Cross Compiler
uClibc (V0.9.26): POSIX standard C library
UC’s LAN IP broadcast searching utility for Windows and Linux
1-4
EM-1240-LX User’s Manual Introduction
Hardware Block Diagram
Appearance
EM-1240 Embedded Module + Development Kit
EM-1240
Development Kit
EM-1240
Embedded Module
1-5
EM-1240-LX User’s Manual Introduction
EM-1240 Embedded Module
EM-1240 Development Kit
1-6
EM-1240-LX User’s Manual Introduction
Dimensions
EM-1240 Embedded Module.
EM-1240 Development Kit
1-7
EM-1240-LX User’s Manual Introduction
Installing the EM-1240-LX
If you would like to use the EM-1240 Embedded Module and the EM-1240 Development Kit,
insert the EM-1240 Embedded Module vertically onto the Development Kit. Note that the pin
marked “JP4” on the Embedded Module must be matched with the pin marked “JP6” on the
Development Kit; and the Pin marked “JP3” on the Embedded Module must be matched with the
Pin marked “JP4” on the Development Kit. Be careful when inserting the module to avoid
damaging the product.
LED Indicators
The following table explains the function of the five LED indicators located on the EM-1240-LX’s
top panel.
LED Name LED Color LED Function
Ready Green Power is on and functioning normally.
Green Serial port 1 or 2 is transmitting data. P1/P2 (Tx)
Off Serial port 1 or 2 is not transmitting data.
Yellow Serial port 1 or 2 is receiving data. P1/P2 (Rx)
Off Serial port 1 or 2 is not receiving data.
Wiring Requirements
This section describes how to connect the EM-1240-LX to serial devices.
You should heed the following common safety precautions before proceeding with the installation
of any electronic device:
yUse separate paths to route wiring for power and devices. If power wiring and device wiring
paths must cross, make sure the wires are perpendicular at the intersection point.
NOTE: Do not run signal or communication wiring and power wiring in the same wire
conduit. To avoid interference, wires with different signal characteristics should be routed
separately.
yUse the type of signal transmitted through a wire to determine which wires should be kept
separate. The rule of thumb is that wiring that shares similar electrical characteristics can be
bundled together.
y Keep input wiring and output wiring separate.
y It is advisable to label the wiring to all devices in the system.
1-8
EM-1240-LX User’s Manual Introduction
ATTENTION
Safety First!
Be sure to disconnect the power cord before installing and/or wiring your EM-1240-LX.
Wiring Caution!
Calculate the maximum possible current in each power wire and common wire. Observe all
electrical codes dictating the maximum current allowable for each wire size.
If the current goes above the maximum ratings, the wiring could overheat, causing serious
damage to your equipment.
Temperature Caution!
Be careful when handling the EM-1240-LX. When plugged in, the EM-1240-LX’s internal
components generate heat, and consequently the outer casing may feel hot to the touch.
Connecting the Power
Connect the “live-wire” end of the 12-48 VDC power adapter to the EM-1240-LX’s terminal block.
If the power is properly supplied, the “Ready” LED will glow a solid green after a 25 to 30 second
delay.
Grounding the EM-1240-LX
Grounding and wire routing help limit the effects of noise due to electromagnetic interference
(EMI). Run the ground wire from the ground screw to the grounding surface prior to connecting
devices.
ATTENTION
This product should be mounted to a well-grounded mounting surface such as a metal panel.
SG
V+V-
12-48V
SG: The Shielded Ground (sometimes called
Protected Ground) contact is the left most contact
of the 3-pin power terminal block connector when
viewed from the angle shown here. Connect the
SG wire to an appropriate grounded metal surface.
Connecting Data Transmission Cables
This section describes how to connect the EM-1240-LX to the network, serial devices, and serial
COM terminal.
1-9
EM-1240-LX User’s Manual Introduction
Connecting to the Network
Connect one end of the Ethernet cable to the EM-1240-LX’s 10/100M Ethernet port and the other
end of the cable to the Ethernet network. If the cable is properly connected, the EM-1240-LX will
indicate a valid connection to the Ethernet in the following ways:
yThe top-right LED on the connector glows a solid green when connected to a 100 Mbps
Ethernet network.
yThe top-left LED on the connector glows a solid orange when connected to a 10 Mbps
Ethernet network.
yThe LEDs will flash when Ethernet packets are being transmitted or received.
The 10/100 Mbps Ethernet LAN 1 and LAN 2 ports use 8-pin RJ45 connectors. Pinouts for these
ports are given in the following diagram.
8-pin RJ45
10 Mbps
indicator
1
100 Mbps
indicator
8
Pin Signal
1 ETx+
2 ETx3 ERx+
4 --5 --6 ERx7 --8 ---
Connecting to a Serial Device
Connect the serial cable between the EM-1240-LX and the serial device(s).
Serial ports P1 and P2 use male DB9 connectors, and can be configured for RS-232/422/485 by
software. The pin assignments are shown in the following table:
The serial console port is a 4-pin pin-header RS-232 port. It is designed for serial console
terminals, which are useful for identifying the EM-1240-LX boot up message.
Serial Console Port & Pinouts
4
3
2
1
Pin Signal
1 TxD
2 RxD
3 NC
4 GND
Internal SD Socket
The EM-1240-LX provides an internal SD socket for storage expansion. It allows users to plug in a
Secure Digital (SD) memory card compliant with the SD 1.0 standard for up to 1 GB of additional
memory space. To install an additional SD card, you must first remove the EM-1240-LX’s outer
cover to access the slot. The internal SD socket is located at the backside of the EM-1240-LX
bottom board; you can find the SD plug-in slot at the right of the EM-1240-LX, lower than the
cover screw. Plug the SD card into the socket directly and remember to press the SD card first if
you want to take it out. Please note that the SD function shares the same chipset with DIO. If you
would like to enable SD function, the DIO must be disabled. If you would like to enable DIO, the
SD function must be disabled.
Additional Functions
Serial Console Cable
Reset Button
Press the Reset button on the EM-1240-DK continuously for at least 5 seconds to load the factory
default configuration. After the factory default configuration has been loaded, the system will
reboot automatically. We recommend that you only use this function if the software is not working
properly and you want to load factory default settings. To reset an embedded Linux system, always
use the software reboot command />reboot to protect the integrity of data being transmitted or
processed. The Reset button is not designed to hard reboot the EM-1240 Development Kit.
1-11
EM-1240-LX User’s Manual Introduction
ATTENTION
Resetting to factory defaults will not format the user directory and erase all of the user’s data.
Loading factory defaults will only load the configuration file. The files in the EM-1240-LX that
will be replaced include:
a. /etc/boa.conf
b. /etc/hosts
c. /etc/inittab
d. /etc/password
e. /etc/ramfs.img
f. /etc/resolv.conf
g. /etc/version
h. /etc/group
i. /etc/inetd.conf
j. /etc/motd
k. /etc/protocols
l. /etc/rc
m. /etc/services
n. /home/httpd/index.html
ATTENTION
This function only takes effect when the user directory is working correctly. If the user directory
has crashed, the kernel will automatically load the factory defaults.
Real-time Clock
The EM-1240-LX’s real time clock is powered by a lithium battery. We strongly recommend that
you do not replace the lithium battery without the help of Moxa’s support team. If the battery
needs to be changed, contact the Moxa RMA service team for RMA service.
ATTENTION
The battery may explode if replaced by an incorrect type. To avoid this potential danger, always
be sure to use the correct type of battery.
1-12
2
2
Chapter 2 Getting Started
In this chapter, we explain the basic procedure for getting the EM-1240-LX connected and ready
for your needs.
In this chapter, we cover the following topics:
Powering on the EM-1240-LX
Connecting the EM-1240-LX to a PC
¾ Console Port
¾ Telnet
Configuring the Ethernet Interface
Installing a Secure Digital (SD) Memory Card
Developing Your Applications
¾ Installing the EM-1240-LX Tool Chain
¾ Compiling Hello.c
¾ Uploading “Hello” to the EM-1240-LX
¾ Running “Hello” on the EM-1240-LX
¾ Make File Sample Code
EM-1240-LX User’s Manual Getting Started
Powering on the EM-1240-LX
Connect the SG wire to the Shielded Contact located on the upper left corner of the EM-1240-LX,
and then power on the EM-1240-LX by connecting the power adaptor. It takes about 16 seconds
for the system to boot up. Once the system is ready, the Ready LED will light up.
ATTENTION
After connecting the EM-1240-LX to the power supply, it will take about 16 seconds for the
operating system to boot up. The green Ready LED will not turn on until the operating system is
ready.
Connecting the EM-1240-LX to a PC
There are two ways to connect the EM-1240-LX to a PC.
Console Port
The serial console port offers users a
convenient means of connecting to the
EM-1240-LX. This method is particularly
useful when using the EM-1240-LX for the
first time. Since the communication is over a
direct serial connection, you do not need to
know either of the IP addresses in order to
make contact.
Use the serial console port settings shown on
the right. Once the connection is established,
the following window will open.
Serial Console Port Settings
Baudrate
Parity
Data bits
Stop bits
Flow Control
Terminal
19200 bps
None
8
1
None
VT100
2-2
EM-1240-LX User’s Manual Getting Started
Telnet
If you know at least one of the
two IP addresses and netmasks,
then you can use Telnet to
connect to the EM-1240-LX’s
console.
Telnet can be used locally by using a crossover Ethernet cable to connect your computer to the
EM-1240-LX, or over a LAN or the Internet. The default IP addresses and netmasks are shown
above. To login, type the Login name and password as requested. The defaults are:
Login: root
Password: root
LAN 1
LAN 2
Default IP Address Default Netmask
192.168.3.127 255.255.255.0
192.168.4.127 255.255.255.0
Once you open the “msh command shell” you can proceed to configure the EM-1240-LX’s
network settings, as described in the next section.
ATTENTION
ySerial Console Reminder: Remember to choose VT100 as the terminal type. Use the
CBL-RJ45F9-150 cable that comes with the EM-1240-LX to connect to the serial console
port. If you are not able to conect on the first try, unplug and then re-plug the EM-1240-LX’s
power cord.
yTelnet Reminder: When connecting to the EM-1240-LX over a LAN, you must configure
your PC’s Ethernet card to be on the same subnet as the EM-1240-LX you wish to contact.
2-3
EM-1240-LX User’s Manual Getting Started
Configuring the Ethernet Interface
In this section, we use the serial console to explain how to modify the EM-1240-LX’s network
settings.
1. Change directories by issuing the command cd /etc.
2. Type the command vi rc to use the VI Editor to edit the configuration file. The IP addresses
for the EM-1240-LX’s LAN1 and LAN2 are given as
ifconfig eth0 192.168.3.127
ifconfig eth1 192.168.4.127
as shown in the following figure. Edit these two lines to modify the static IP addresses.
2-4
EM-1240-LX User’s Manual Getting Started
3. You may also configure the EM-1240-LX to request IP addresses from a DHCP server. In this
case, use the sharp sign (#) to comment out one or both “ifconfig” lines, and then add the
setting about the “dhcpcd” into the rc file as below.
dhcpcd -p -a eth0 &
dhcpcd -p -a eth1 &
Note that the EM-1240-LX will send out DHCP broadcast packets, and then get the IP
addresses from the first DHCP server that responds.
4. Issue the vi “write” command to save the file, and then reboot. Since the EM-1240-LX only
reads the “rc” file when booting up, you must reboot (e.g., by issuing the vi reboot
command) for the changes to take affect.
ATTENTION
You may reset the IP address immediately by issuing the command
ifconfig eth0 192.168.5.127
(This will change the IP address of LAN1.) Issuing this command will however NOT update the
“rc” file in the EM-1240-LX’s flash memory, so the next time you reboot, the IP address will
revert to its previous value.
2-5
EM-1240-LX User’s Manual Getting Started
Installing a Secure Digital (SD) Memory Card
The EM-1240-LX provides an internal SD socket for storage expansion. To access this socket,
perform the following steps to install the SD memory card.
Step 1: Find the exact location of the SD socket.
Step 2: Insert the SD card into the socket. Make sure you insert with the right direction
Step 3: Push the SD card inward.
Step 4: Before using the SD card, check the /etc/rc file to ensure that the driver module for SD
card control is loaded. The loading sequence should be as follows:
Step 5: To take out the SD memory card, press the SD card again. The care will pops out part way,
after which you can pull it out directly.
2-6
EM-1240-LX User’s Manual Getting Started
Developing Your Applications
Step 1:
Connect the EM-1240-LX to a Linux PC.
Step 2:
Install Tool Chain (GNU Cross Compiler & uClibc).
Step 3:
Configure cross compiler and uClibc environment
variables.
Step 4:
Code & compile your program.
Step 5:
Download program to the EM-1240-LX via FTP or
NFS.
Step 6:
Debug the program. If the program is OK, proceed to
Step 7. If the program needs to be modified, go back to
Step 4.
Step 7:
Back up the user directory, and distribute the code to
additional EM-1240-LX units.
Installing the EM-1240-LX Tool Chain
x
x86
Cross
Compiler
Linux
The PC must have the Linux Operating System pre-installed to install the EM-1240-LX Linux
GNU Tool Chain. Debian 3.0R-Woody, Redhat 7.3/8.0 and compatible versions are recommended.
The Tool Chain requires about 100 MB of hard disk space (on your PC). The EM-1240-LX Tool
Chain can be found on the EM-1240-LX CD. To install the Tool Chain, insert the CD into your PC
and then issue the following command:
#mount –t iso9660 /dev/cdrom /mnt/cdrom
Next, run the following script as root, to install the compilers, linkers, and libraries in the
The Tool Chain installation will take a few minutes to complete.
Windows
In addition to the Linux Tool Chain, the Windows Tool Chain for the EM-1240-LX is in the
official EM-1240-LX CD. Please refer to the following installation procedure to install the
EM-1240-LX Windows Tool Chain.
2-7
EM-1240-LX User’s Manual Getting Started
Step 1: Double click the “tool-chain\windows\setup.exe” on the EM-1240-LX CD to begin the
installation, then click [Next].
Step 2: Click [Browse…] to select your installation location. The default location is under C:\UC.
2-8
EM-1240-LX User’s Manual Getting Started
Step 3: Click [Next] to select the local package files directory, and then click [Browse…] to select
where your installation source is. The default path is the location of the “setup.exe” file.
Step 4: Click [Next] to begin the package installation. You will see a progress bar that appears to
check the MD5 status of each software package. Click [Next] to let the installer finish the
installation.
ATTENTION
You can download the Tool Chain from Moxa’s website (go to the EM-1240-LX product page,
click the Documentation & Drivers link, and then click Go under Driver & Software Downloads.
Compiling Hello.c
The Tool Chain path is:
PATH=/usr/local/arm-elf/bin:$PATH
The EM-1240-LX CD includes several example programs. We use Hello.c to illustrate how to
compile and run applications.
Issue the following commands from your PC to compile Hello.c:
# cd /tmp/
# mkdir example
# cp –r /mnt/cdrom/example/* /tmp/example
Go to the Hello subdirectory, and then issue the command
2-9
EM-1240-LX User’s Manual Getting Started
#make
to compile Hello.c. Finally, execute the program to generate hello and hello.gdb.
Uploading “Hello” to the EM-1240-LX
To use FTP to upload hello to the EM-1240-LX, issue the following commands on the PC:
#ftp 192.168.3.127
ftp> cd /home
ftp> bin
ftp> put ./hello
ftp> quit
#telnet 192.168.3.127
2-10
EM-1240-LX User’s Manual Getting Started
Running “Hello” on the EM-1240-LX
To run the “Hello” program issue the following commands on the EM-1240-LX:
# chmod 755 hello
#./hello
The words “hello world” are printed on the screen.
ATTENTION
Be sure to calculate the amount of Flash Memory used by the User File System in the Flash
ROM. Use one of the following two commands to determine the amount of memory being used:
# df –k or # df
If the flash memory is full, you will no longer be able to save data in Flash ROM. To free up
some memory, use the console cable to connect to the EM-1240-LX’s serial console terminal,
and then delete files from the Flash ROM.
2-11
EM-1240-LX User’s Manual Getting Started
Make File Example Code
The following Make File example codes are copied from the Hello example on the EM-1240-LX’s
CD-ROM.
This chapter includes information about the software that is used with EM-1240-LX Series
products.
In this chapter, we cover the following topics:
EM-1240-LX Software Architecture
¾ Journaling Flash File System (JFFS2)
EM-1240-LX Software Package
3
3
EM-1240-LX User’s Manual Software Package
EM-1240-LX Software Architecture
The pre-installed µClinux Operating System used by the EM-1240-LX follows the standard
µClinux architecture, making programs that follow the POSIX standard easily ported to the
EM-1240-LX by using the GNU Tool Chain provided by
Standard POSIX API, device drivers for the buzzer, and UART for the serial ports are also
included.
www.uClinux.org. In addition to the
The EM-1240-LX’s Flash ROM has more than one smaller partition, which contain the Boot
Loader, Linux Kernel & Root (/) File System Image, and User Directory partitions.
For most applications, users often spend a lot time maintaining the operating system and
modifying the system configuration. In order to save on the total cost of development and
maintenance, the EM-1240-LX is specially design to partition a “User Directory” for storing the
user’s system configuration parameters.
The EM-1240-LX has a built-in
mechanism that prevents system crashes,
helping preserve system reliability. The
procedure is as follows.
When the Linux kernel boots up, the
kernel mounts the root file system and
then enables services and daemons. The
kernel also looks for the system
configuration parameters via rc or inittab.
Normally, the kernel uses the User
Directory to boot up the system. The
kernel will only use the default
configuration _etc & _home when the
User Directory crashes.
The EM-1240-LX uses ROMFS for the Linux kernel image, Root File System, and Protected
configuration, and uses JFFS2 for the User Directory.
3-2
EM-1240-LX User’s Manual Software Package
The partition sizes are hard coded into the kernel binary. You must rebuild the kernel to change the
partition sizes. The flash memory map is shown in the following table.
Flash Context Flash Address Size Access control
Boot loader 0 – 0x3ffff 256 K Read ONLY
Kernet &
Root File System
User Directory 0x400000 – 0x7fffff 4 M – 256 K Read / Write
Developers write their own programs only on partition /etc, /home, /tmp, and /usr/bin .It is advised
the executed file be put in /usr/bin as this will allow developers to use hotkeys.
In addition to the flash file systems, a RAM based file system is mounted on /var/.
0x40000– 0x3fffff 4 M Read ONLY
JFFS2
JFFS2
Journaling Flash File System (JFFS2)
The flash User Directory is formatted by the Journaling Flash File System (JFFS2), which places a
compressed file system on the flash, transparent to the user.
Axis Communications in Sweden developed the Journaling Flash File System (JFFS2).
JFFS2 provides a file system directly on flash, rather than emulating a block device designed for
use on flash-ROM chips. It recognizes flash-ROM chips’ special write requirements, does
wear-leveling to extend flash life, keeps the flash directory structure in RAM at all times, and
implements a log-structured file system that is always consistent—even if the system crashes or
unexpectedly powers down. It does not require fsck on boot up.
JFFS2, the next version of JFFS, provides improved wear-leveling and garbage-collection
performance, improved RAM footprint and response to system-memory pressure, improved
concurrency and support for suspending flash erases, marking of bad sectors with continued use of
the remaining good sectors (thus enhancing the write-life of the devices), native data compression
inside the file system design; and support for hard links.
Key features of JFFS2 are:
y Directly targeted to Flash ROM
y Robust
y Consistent across power failure
y No integrity scan (fsck) is required at boot time after normal or abnormal shutdown
y Explicit wear leveling
y Transparent compression
Although JFFS2 is a journaling file system, this does not preclude the loss of data. The file system
will remain in a consistent state across power failures, and will always be mountable. However, if
the board is powered down during a write, then the incomplete write will be rolled back on the
next boot. Any writes that were already completed will not be affected.
Additional information about JFFS2 is available at
ptyp0
ppp
pio
rtc
ram1
ram0
null
kmem
mem
cua0
console
tty
3-5
Chapter 4Configuring the EM-1240-LX
In this chapter, we describe how to configure the EM-1240-LX Series products.
The following topics are covered in this chapter:
Enabling and Disabling Daemons
Adding a Web Page
IPTABLES
NAT
¾ NAT Example
¾ Enabling NAT at Bootp
Configuring Dial-in/Dial-out Service
¾ Dial-out Service
¾ Dial-in Service
Configuring PPPoE
How to Mount a Remote NFS Server
Dynamic Driver Module Load/Unload
Upgrading the Kernel
Upgrading the Root File System & User Directory
User Directory Backup—EM-1240-LX to PC
Loading Factory Defaults
Mirroring the Application Program and Configuration
Autostarting User Applications on Bootup
Checking the Kernel and User Directory Versions
4
4
EM-1240-LX User’s Manual Configuring EM-1240-LX
Enabling and Disabling Daemons
The following daemons are enabled when the EM-1240-LX boots up for the first time.
y SNMP Agent daemon: snmpd
y Telnet Server / Client daemon: telnetd
y Internet Daemons: inetd
y FTP Server / Client daemon: ftpd
y WWW Server daemon: boa
b. Disable the daemon by typing ‘#’ in front of the first character of the row.
How to enable/disable /etc/inittab www server
a. Edit the file ‘/etc/inittab’
b. Disable the www service by typing “#” in front of the first character of the row.
How to enable Network Time Protocol
ntpdate is a time adjusting client utility. The EM-1240-LX plays the role of Time client, and
sends requests to the Network Time Server to request the correct time.
Set the time server address for adjusting the system time with the command:
/>ntpdate ntp_server_ip
Save the system time to the hardware’s real time clock, with the command:
/>hwclock -w
Visit
http://www.ntp/org for a recommended public NTP server list.
How to update the system time periodically via Network Time Protocol
1. Create a shell script file that includes the following description.
#!/bin/sh
ntpdate ntp_server_ip
hwclock –w
sleep 100 Å The min time is 100ms.
2. Save and make this shell script executable by typing
chmod 755 <shell-script_name>
Edit the file ‘/etc/inittab’ by adding the following line:
ntp: unknown: /directory/<shell_script_name>
4-2
EM-1240-LX User’s Manual Configuring EM-1240-LX
Adding a Web Page
Default Home Page address:
/home/httpd/index.html
You may change the default home page directory by editing the web server’s configuration file,
located at: /etc/boa.conf
Type the following command to edit the boa.conf file:
/etc>vi boa.conf
To add your web page, place your home page in the following directory:
/home/httpd/
IPTABLES
IPTABLES is an administrative tool for setting up, maintaining, and inspecting the Linux kernel’s
IP packet filter rule tables. Several different tables are defined, with each table containing built-in
chains and user-defined chains.
Each chain is a list of rules that apply to a certain type of packet. Each rule specifies the action to
be taken with a matching packet. A rule (such as a jump to a user-defined chain in the same table)
is called a “target.”
The EM-1240-LX supports three types of IPTABLES tables: Filter tables, NAT tables, and Mangle
tables:
A. Filter Table—includes three chains:
INPUT chain
OUTPUT chain
FORWARD chain
B. NAT Table—includes three chains:
PREROUTING chain—transfers the destination IP address (DNAT)
POSTROUTING chain—works after the routing process and before the Ethernet device
process to transfer the source IP address (SNAT)
OUTPUT chain—produces local packets
sub-tables
Source NAT (SNAT)—changes the first source packet IP address
4-3
EM-1240-LX User’s Manual Configuring EM-1240-LX
Destination NAT (DNAT)—changes the first destination packet IP address
MASQUERADE—a special form for SNAT. If one host can connect to the Internet, then
other computers that connect to this host can connect to the Internet when the computer
does not have an actual IP address.
REDIRECT—a special form of DNAT that re-sends packets to a local host independent
of the destination IP address.
C. Mangle Table—includes two chains
PREROUTING chain—pre-processes packets before the routing process.
OUTPUT chain—processes packets after the routing process.
It has three extensions—TTL, MARK, TOS.
The following figure shows the IPTABLES hierarchy.
Incoming
Packets
Mangle Table
PREROUTING Chain
NAT Table
PREROUTING Chain
Local Host
Packets
Mangle Table
INPUT Chain
Filter Table
INPUT Chain
Local
Process
Mangle Table
OUTPUT Chain
NAT Table
OUTPUT Chain
Filter Table
OUTPUT Chain
NAT Table
POSTROUTING Chain
Outgoing
Packets
Other Host
Packets
Mangle Table
FORWARD Chain
Filter Table
FORWARD Chain
Mangle Table
POSTROUTING Chain
4-4
EM-1240-LX User’s Manual Configuring EM-1240-LX
The EM-1240-LX supports the following sub-modules. Be sure to use the module that matches
your application.
Since the IPTABLES command is very complex, to illustrate the IPTABLES syntax we have
divided our discussion of the various rules into three categories: Observe and erase chain rules,
Define policy rules, and Append or delete rules.
to maintain the database.
Observe and erase chain rules
Usage:
# iptables [-t tables] [-L] [-n]
-t tables: Table to manipulate (default: ‘filter’); example: nat or filter.
-L [chain]: List List all rules in selected chains. If no chain is selected, all chains are listed.
-n: Numeric output of addresses and ports.
# iptables [-t tables] [-FXZ]
-F: Flush the selected chain (all the chains in the table if none is listed).
-X: Delete the specified user-defined chain.
-Z: Set the packet and byte counters in all chains to zero.
Examples:
# iptables -L -n
In this example, since we do not use the -t parameter, the system uses the default ‘filter’ table.
Three chains are included: INPUT, OUTPUT, and FORWARD. INPUT chains are accepted
automatically, and all connections are accepted without being filtered.
-P: Set the policy for the chain to the given target.
INPUT: For packets coming into the EM-1240-LX.
OUTPUT: For locally-generated packets.
FORWARD: For packets routed out through the EM-1240-LX.
PREROUTING: To alter packets as soon as they come in.
POSTROUTING: To alter packets as they are about to be sent out.
Example 7: Drop all packets from MAC address 01:02:03:04:05:06.
# iptables –A INPUT –i eth0 –p all –m mac ––mac-source 01:02:03:04:05:06 –j DROP
4-6
EM-1240-LX User’s Manual Configuring EM-1240-LX
NAT
NAT (Network Address Translation) protocol translates IP addresses used on one network into
different IP addresses used on another network. One network is designated the inside network and
the other is the outside network. Typically, the EM-1240-LX connects several devices on a
network and maps local inside network addresses to one or more global outside IP addresses, and
remaps the global IP addresses on incoming packets back into local IP addresses.
NOTE Click the following link for more information about iptables and NAT:
If dial out fails, the pppd connection will be blocked, and the users will need to shut down pppd,
and re-dial. Since the return value is always OK (regardless of whether or not the connection is
blocked), the API must be set up to check the network status to determine if the connection is
complete.
Dial-in Service
Direct cable connection:
y Use either of the following:
/>pppd <Local_IP_Address>:<Remote_IP_Address> /dev/ttyM1 38400 local crtscts
or
/>pppd <Local_IP_Address>:<Remote_IP_Address> /dev/ttyM0 38400 local crtscts login
auth
PPPoE relies on two widely accepted standards: PPP and Ethernet, which permits the use of
PPPoE(Point-to-Point Over Ethernet).
PPPoE is a specification for connecting users on an Ethernet to the Internet through a common
broadband medium, such as a single DSL line, wireless device or cable modem, used by many
ADSL service providers. All users on the Ethernet share a common connection, so the Ethernet
principles that support multiple users on a LAN combine with the PPP principles, which apply to
serial connections.
<ETHERNET_INTERFACE>: Ethernet card connected to ADSL modem, for example, eth0
<USER_NAME>: User account, for example, moxa@adsl.net
4-8
EM-1240-LX User’s Manual Configuring EM-1240-LX
<USER_PASSWORD>: Password for user account
To check if PPPOE is successfully connected, use the command:
y />ifconfig ppp0
How to Mount a Remote NFS Server
Currently, the EM-1240-LX only supports NFS (Network File System) clients. Users can open
NFS service on a Linux PC to enable the EM-1240-LX to push data to it. The EM-1240-LX can
use NFS to mount a remote disk as a local disk for data or log purposes.
1. First, the NFS server must open an export directory and allow access to the IP address. Edit
the file “/etc/exports” on your Linux PC, and then run the NFS daemon. The following
example gives one possibility (refer to the NFS-HOWTO document at
The EM-1240-LX must run the “portmap” utility. This program is enabled by default in the
“/etc/rc” file. Use the following command to mount the remote NFS server:
Besides supporting traditional static drivers, the EM-1240-LX also supports the dynamic driver
module load / unload mechanism. It allows user to load a special driver into the kernel to enable
hardware features for specific applications. To load / unload dynamic driver module, use the
following commands.
Load module:
/>insmod <module-directory>/<module file name>
For example, to load the UART driver, type the following command:
For example, to unload the UART driver, type the following command:
/>rmmod mxser
For the EM-1240-LX, the factory default is to load the UART driver “mxser.ko”. The additional
driver module to control SD/MMC memory card is loaded for the EM-1240-LX. Please see the
following information below to know the location and file name for these driver modules.
The EM-1240-LX kernel is em1240-1.x..bin, which can be downloaded from www.moxa.com.
You must first download this file to your PC, and then use Console Terminal or Telnet Console to
copy the file to the EM-1240-LX.
You can save this file to the EM-1240-LX’s RAM disk, and then upgrade the kernel. The
following is a step-by-step example.
To enable the RAM disk, use the following command:
/>upramdisk
After executing “upramdisk”, you may use “mount” to find out if the new ramdisk is successfully
created as shown.
You can navigate to the device node, using the following command:
/>cd ramdisk
Use the built-in FTP client to download the em1240-1.x.bin file from the PC.
/ramdisk>ftp <destination PC’s IP>
Login Name: xxxx
Login Password: xxxx
ftp> bin
ftp> get em1240-1.x.bin
Use the upkernel command to upgrade the kernel and root file system.
/ramdisk>upkernel em1240-1.x.bin
/ramdisk>reboot
4-10
EM-1240-LX User’s Manual Configuring EM-1240-LX
Upgrading the Root File System & User Directory
The EM-1240-LX uses JFFS2 for root file system and user directory. By default, the root file
system is pre-set to READ only. The EM-1240-LX provides a read/write user’s directory in the
JFFS2 file system. By using this user’s directory, the system configuration file and user’s program
can be stored on this disk.
Search the EM-1240-LX’s CD-ROM for the latest user directory file, or download the file from
www.moxa.com. The format is em1240-1.x.dsk. You must download this file to a PC first, and
then use Console Terminal or Telnet Console to copy the file to the EM-1240-LX.
You can save this file to the EM-1240-LX’s RAM disk, and then upgrade the user directory. The
following is a step-by-step example.
To enable the RAM disk, use the following command.
/>upramdisk
/>cd ramdisk
Use the built-in FTP client to download the em1240-1.x.dsk file from the PC.
/ramdisk>ftp <destination PC’s IP>
Login Name: xxxx
Login Password: xxxx
ftp> bin
ftp> get em1240-1.x.dsk
ftp>quit
/ramdisk>upkernel /ramdisk/em1240-1.x.dsk
/reboot
4-11
EM-1240-LX User’s Manual Configuring EM-1240-LX
User Directory Backup—EM-1240-LX to PC
To enable the RAM disk, use the following command:
/>upramdisk
/>cd ramdisk
Use the backupfs command to backup the file system.
/ramdisk>backupfs /ramdisk/usrdisk-backup
The file system will be backed up. Use ftp commands to transfer the usrdisk-backup to the FTP
server on the PC.
4-12
EM-1240-LX User’s Manual Configuring EM-1240-LX
|+bin
Loading Factory Defaults
The easiest way to “Load Factory Defaults” is with the “Upgrade User directory” operation.
Refer to the previous section “How to Upgrade User Directory” for an introduction.
You may also press the RESET button for more than 5 seconds to load the factory default
configuration or input the command “ldfactory” in telnet console to restore the factory defaults.
Mirroring the Application Program and Configuration
For some applications, you may need to “Mirror” (or sometimes “Ghost”) one EM-1240-LX’s user
directory, and duplicate it to other EM-1240-LXs.
To do this, use the following recommended procedure:
1. Backup the user directory to a PC.
(Refer to the previous topic User Directory Backup—EM-1240-LX to a PC.)
Hint:
/ramdisk>backupfs /ramdisk/<user defined file name>
2. Download the backed up user directory to the other EM-1240-LX.
(Refer to the previous topic Upgrading the User Directory)
Hint:
/ramdisk>bf /ramdisk/<User directory file name>
Autostarting User Applications on Bootup
Edit the /etc/rc file by adding your application program. E.g.,
/ap-directory/ap-program &
Checking the Kernel and Root File System Versions
Use the following commands to check the version of the kernel and root file system:
To check the kernel version:
/>kversion
4-13
EM-1240-LX User’s Manual Configuring EM-1240-LX
To check the root file system (firmware) version of the EM-1240-LX, type:
/>fsversion
You may also check the user directory version of the EM-1240-LX by using the following
command:
/>cat /etc/version
4-14
5
5
Chapter 5 EM-1240-LX Device API
In this chapter, we discuss the Device API for the EM-1240-LX Series. We introduce the APIs for
the following functions:
RTC (Real-time Clock)
Buzzer
UART Interface
EM-1240-LX User’s Manual EM-1240-LX Device API
RTC (Real-time Clock)
The device node is located at /dev/rtc. The EM-1240-LX supports µClinux standard simple
RTC control. You must include <linux/rtc.h> to use these functions.
1. Function: RTC_RD_TIME
int ioctl(fd, RTC_RD_TIME, struct rtc_time *time);
Description: Reads time information from RTC.
2. Function: RTC_SET_TIME
int ioctl(fd, RTC_SET_TIME, struct rtc_time *time);
Description: Sets RTC time.
Buzzer
The device node is located at /dev/console. The EM-1240-LX supports µClinux standard
buzzer control. The EM-1240-LX’s buzzer runs at a fixed frequency of 100 Hz. You must include
<sys/kd.h> to use these functions.
1. Function: KDMKTONE
ioctl(fd, KDMKTONE, unsigned int arg);
Description: Buzzer will beep, as stipulated by the function
UART Interface
The normal tty device node is located at /dev/ttyM0…ttyM1, and modem tty device node is
located at /dev/com0 … com1. The EM-1240-LX Series supports µClinux standard termios
control. Moxa UART Device API supports the configuration of ttyM0 to ttyM1 as
RS-232/422/485. To use these functions, after the Tool Chain package is installed, include
int mode;
mode=which mode you want to set;
int ioctl(fd, MOXA_SET_OP_MODE, &mode)
int mode;
int ioctl(fd, MOXA_GET_OP_MODE, &mode)
Description: Gets the interface mode.
5-2
6
6
Chapter 6 UC Finder
The EM-1240-LX comes with a UC Finder utility, which has the sole purpose of searching the
LAN or intranet for the EM-1240-LX units.
For most of the applications, it is not easy to remember the IP addresses of Universal
Communicators connected to the LAN. This is especially true for some problem solving and
testing in the field. The UC Finder utility broadcasts messages over the LAN to search for IP
addresses of Universal Communicators connected to the LAN. UC Finder searches for the class of
MAC addresses assigned to Universal Communicators. The EM-1240-LX supports the GUI-style
Windows UC Finder, and a command line utility for Linux environments.
In this chapter, we discuss the following UC Finder topics:
Windows UC Finder
Linux UC Finder
EM-1240-LX User’s Manual UC Finder
Windows UC Finder
The following steps describe how to install UC Finder on a Windows PC.
1. Double click the UC Finder installation program, Setup.exe, to start the installation.
2. When the Welcome to the UC Finder Setup Wizard window opens, click Next to continue.
3. Select the Create a desktop icon option, and then click Next to continue.
6-2
EM-1240-LX User’s Manual UC Finder
4. Select the Launch UC Finder option, to use UC Finder immediately after the installation has
finished, and then click Next to complete the installation.
5. When the UC Finder window opens, click Broadcast Search to search for all Universal
Communicators connected to the LAN.
6-3
EM-1240-LX User’s Manual UC Finder
6. The Searching window will show the Universal Communicators that have been located. You
can click Stop as soon as the Universal Communicator you are looking for is listed.
7. When the search is complete, the Broadcast Search window closes, and the Model, MAC
Address, and IP Address of all Universal Communicators that were located will be listed in
the UC Finder window.
6-4
EM-1240-LX User’s Manual UC Finder
ATTENTION
UC finder is designed solely to find IP addresses of networked Universal Communicators. It
cannot be used to configure Universal Communicators over the network. If you need to
configure UC’s IP address or other parameters, connect to UC’s console utility by Telnet (over
the network) or serial console (using the serial console cable that came with the product).
The next time you need to run UC Finder, double click the UC Finder icon located on your PC’s
desktop to launch this utility.
Linux UC Finder
To use the Linux ucfinder utility, copy ucfinder from the CD-ROM to your Linux PC, and then
use the following command to start ucfinder. The ucfinder utility will automatically broadcast a
message over your LAN network to find the IP addresses of all UC’s connected to the LAN.
#./ucfinder
6-5
Appendix A System Commands
busybox: µClinux normal command utility collection
File manager
A
A
Editor
cp
ls
ln
mount
rm
chmod
chown
chgrp
sync
mv
pwd
df
du
mkdir
rmdir
head
tail
touch
vi
cat
grep
cut
find
more
test
echo
copy file
list file
make symbolic link file
mount and check file system
delete file
change file owner & group & user
change file owner
change file group
sync file system; save system file buffer to hardware
move file
display active file directly
list active file system space
estimate file space usage
make new directory
delete directory
print the first 10 lines of each file to standard output
print the last 10 lines of each file to standard output
update the access and modification times of each file to the current time
text editor
dump file context
print lines matching a pattern
remove sections from each line of files
search for files in a directory hierarchy
dump file by one page
test if file exists or not
echo string
dmesg
stty
mknod
free
date
env
clear
reboot
halt
gzip, gunzip, zcat
hostname
tar
ping to test network
routing table manager
display network status
set network IP address
trace route
tftp protocol
user interface to TELNET protocol
file transfer protocol
restore iptables configuration file to network
iptables command
save recent iptables configuration to file
kill process
kill process by name
report process status
suspend command on time
dump kernel log message
set serial port
make device node
display system memory usage
print or set the system date and time
run a program in a modified environment
clear the terminal screen
reboot / power off/on the server
halt the server
compress or expand files
show system’s host name
tar archiving utility
backup file system (user directory)
build file system (user directory)
show user directory version
mount ramdisk
unmount ramdisk
show kernel version
set UART interfaces program
A-2
B
B
Appendix B SNMP Agent with MIB II & RS-232 Like
Group
The EM-1240-LX has a built-in SNMP (Simple Network Management Protocol) agent that
supports RFC1317 RS-232 like group and RFC 1213 MIB-II. The following table lists the variable
implementation for the EM-1240-LX.
The full SNMP object ID of the EM-1240-LX is “.iso.3.6.1.4.1.8691.12.7112” and
“.iso.3.6.1.4.1.8691.12.1240”.
FAQ 1 Why can I only use vfork( ),and am unable to use fork( )?
Answer 1 uClinux only supports vfork( ). It does not support fork( ). Note that when using
vfork( ), the parent process will hang until the child process calls an exec group API,
or exits.
FAQ 2 When using a pthread group API, why cannot I use SIGUSR1 and SIGUSR2?
Answer 2 Since a pthread group API uses SIGUSR1 and SIGUSR2 to do a pthread control
suspend, restart exit function, we cannot use the SIGUSR1 and SIGUSR2 signals.
You will get the same result if you link the pthread. This means that you cannot use
-1pthread to add an option to the linker.
FAQ 3 What is the correct format for linking to an API?
Answer 3 arm-elf-gcc –W1, -elf2flt
(In this example, the API converts elf format to flat format.)
D
D
Appendix D Service Information
This appendix shows you how to contact Moxa for information about this and other products, and
how to report problems.
In this appendix, we cover the following topics.
Moxa Internet Services
Problem Report Form
Product Return Procedure
EM-1240-LX User’s Manual Service Information
Moxa Internet Services
Customer satisfaction is our primary concern. To ensure that customers receive the full benefit of
our products, Moxa Internet Services has been set up to provide technical support, driver updates,
product information, and user’s manual updates.
The following services are provided
E-mail for technical support................................
Website for product information:
.............................
support@moxa.com.tw
http://www.moxa.com
D-2
EM-1240-LX User’s Manual Service Information
Problem Report Form
Moxa EM-1240-LX
Customer name:
Company:
Tel: Fax:
Email: Date:
1. Moxa Product: EM-1240-LX
2. Serial Number: _________________
Problem Description: Please describe the symptoms of the problem as clearly as possible, including any error
messages you see. A clearly written description of the problem will allow us to reproduce the symptoms, and
expedite the repair of your product.
D-3
EM-1240-LX User’s Manual Service Information
Product Return Procedure
For product repair, exchange, or refund, the customer must:
Provide evidence of original purchase.
Obtain a Product Return Agreement (PRA) from the sales representative or dealer.
Fill out the Problem Report Form (PRF). Include as much detail as possible for a shorter
product repair time.
Carefully pack the product in an anti-static package, and send it, pre-paid, to the dealer. The
PRA should be visible on the outside of the package, and include a description of the problem,
along with the return address and telephone number of a technical contact.
D-4
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.