I am currently evaluating a Moxa UC7408 for one of my customers. The UC7408 is a small fanless industrial computer that runs Linux or Windows CE. This article provides a basic overview of this unit and a review of some of the UC7408 features and the Linux distribution Moxa provides.
The basic specifications for the UC7408 are:
- relatively small size and fanless
- Intel Xscale IXP-422 266MHz Processor
- 8 RS232/422/485 serial ports
- 8 digital Input and 8 digital output ports
- dual 10/100 Ethernet
- PCMCIA, CompactFlash, Wireless LAN Expansion (supports 802.11b/802.11g)
- Runs Linux or WinCE
- Console serial port
The documentation Moxa provides is adequate and fairly detailed. The moxa documents include a quick install guide, hardware user’s manual, and a 114 page user’s manual. As good as this documentation is, a general knowledge of Linux is always helpful when working with embedded Linux systems. Basics like using SSH, FTP, Telnet, and basic Linux system administration are essential when working with embedded Linux.
The Linux Distribution provided by Moxa is fairly full featured. A few highlights with the v1.8 Linux firmware:
- Provides a 26MB user JFFS2 flash partition. This partition is read/write and is about 45% full leaving about 14.5MB for user files. It is probably also possible to delete some of the files that are not required, freeing up more space.
- Apache & PHP support
- a number of other utilities are provided such as telnet, ftp, iptables, etc.
- VI editor
- Many command line utilities found in most Linux systems.
- 2.4.18 Kernel
The Linux distribution seems to be based on MontaVista Linux and seems fairly solid. I ran through some of the basics like mounting a CF card and everything seems to work.
Firmware Updates and Recovery Mode
Moxa provides a mechanism to update the firmware in the system. This update is a global flash update that programs the entire flash and will erase all user changes. The update works by enabling a RAM file system and copying the new flash image to the ram file system. Running an update command that copies the firmware update file into flash.
The 7408 contains a stripped down version of Linux in a separate flash partition that can be booted in a recovery mode if the User flash partition becomes corrupted or unusable. This mode can be enabled by pressing the “Reset to Default” button on the unit and powering it on. In this mode, there is no ssh support and you must ftp an image from an ftp server to the device and then reflash it. This requires you to set up an ftp server that the Moxa system can access. While this is an entirely workable solution, it may be a challenge for inexperienced Linux users.
Moxa provides a Linux and Windows toolchain to use with the device. I have built a number of packages with the Linux toolchain and it seems to work well. It is based on GCC 3.3.2. Cross compiling applications for embedded Linux is always a challenge and in a future article I will present a way to use OpenEmbedded to compile a number of packages using the Moxa toolchain.
There would be some benefits if the system was a little more open in the following areas:
- access to the bootloader console and documentation. This would allow developers to more easily flash their own software.
- readily provide source for GPL components. Moxa provides a form that you can fill out to receive GPL source code on a CE. The cost is $100.
One of the big advantages of using Linux in an embedded system is the ability to use the many open source components available. The easier an embedded solution provider makes this for developers, the more value their system provides. See the white paper Tips for Planning Your Embedded Linux Project (http://bec-systems.com/web/content/view/35/37/) for more ideas on this subject.
Overall, the Moxa system seems very usable and the hardware is quite nice. Stay tuned for future articles about how to get the most out of this system.