Home

CNET CWC-854 User`s manual

image

Contents

1.
2. Create a configuration file named B tun conf and an executable script file named B tun sh on OpenVPN B remote 192 168 8 173 dev tun secret etc openvpn secrouter key cipher DES EDE3 CBC auth MD5 tun mtu 1500 tun mtu extra 64 ping 40 ifconfig 192 168 4 174 192 168 2 173 up etc openvpn B tun sh bin sh 4 32 ThinkCore IA241 240 Linux User s Manual Managing Communication value after net is the subnet behind the remote peer route add net 192 168 2 0 netmask 255 255 255 0 gw 5 end Note that the parameter ifconfig defines the first argument as the local internal interface and the second argument as the internal interface at the remote peer Note that 5 is the argument that the OpenVPN program passes to the script file Its value is the second argument of ifconfig in the configuration file 3 Check the routing table after you run the OpenVPN programs by typing the command route Destination Gateway Genmsk Flags Metric Ref Use Iface 192 168 4 174 255 255 255 255 UH 0 0 0 tun0 192 168 4 0 192 168 4 174 255 255 255 0 UG 0 0 0 tun0 192 168 2 0 pi 255 255 255 0 U 0 0 0 ethl 192 168 8 0 255 255 255 0 U 0 0 0 eth0 4 33 5 Development Tool Chains This chapter describes how to install a tool chain in the host computer that you use to develop your applications In addition th
3. sonen 5 8 On Line Debugging with Insight iii 5 10 Progtammer s Guide nn u seele 6 1 Flash Memory Mapi i ALE ORI E EE LI rennen 6 2 Device APT aaa elan Lennons aaa asa nica 6 2 RTG Real Time Clock arr senti Ent trend eae RE 6 2 VAA EE 6 2 WDT Watch Dog Timer onee onersnersnerseerneenneenneenneenneenseenseenverneenvenseenneenneenneenneenneen 6 3 VART spia iaia nie alanine eeens rada 6 6 DIDO nn annette ne wate en rekte btn Weds ae AERA Pe A A evi ts 6 8 Make File Ex mple 2 72 35 32 RA nnen eend 6 14 Software LOCK rallentare 7 1 UG FINDS i os nile 8 1 Windows UC Findet enne aria afasia hi amblas ent ai 8 2 Installing the Software ii 8 2 Broadcast Search sroine dia iaia lio E E EEEE EE E na ica 8 4 Linux ucfinder s fiuto LULA ALLA cin ina cai 8 5 System Commands nnn 22 2 ae A 1 busybox V0 60 4 Linux normal command utility collection nennen enen enen A 1 File manager KO EEE EA Networks sg ALLEA hehe E E anke dia memati dieleu aoe Process 10er daino are laine aaa Other ras as ui e URALI A AG ALA leisten antie herkent draken eee Service InformatiOn saas nere aree eee een ieri irene B 1 MOXA Internet Services oneens nenenenenenenenenenenenenenenenenenenenerererererene B 2 Problem Report Form Product Return Procedure 1 Introduction The MOXA ThinkCore IA241 and IA240 are RISC based ready to run embedded computers Available features in
4. Telnet Server Client daemon inetd Internet Daemons ftpd FTP Server Client daemon sshd Secure Shell Server daemon httpd Apache WWW Server daemon 3 5 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux Type the command ps ef to list all processes currently running root Moxa cd etc root Moxa etc ps ef VmSize Stat Command je Watel root root root root LS woei T4 root 24 root 25 TOE Oi Boet HS ace 604 root GO MOO GIL Tao GAS TOL Giysi Toer 679 root 682 bin 685 root GO re 694 nobody 695 nobody 696 nobody 697 nobody 698 nobody TOL root 7L4 root WAG TISE WAN TOOT TAS TIGE SEZ SWN SW lt SW lt SW lt SW SW SW SW SW SW SW SWN 500 3004 380 LHS 464 3012 Sl 3012 3012 SOLA 352 1176 436 1150 628 root Moxa ect amane LS ksoftirqd 0 events 0 khelper kblockd 0 khubd pdflush pdflush aio 0 kswapd0 mtdblockd pccaradd pccardd BEES e dmt 8 bin inetd usr bin httpd k bin portmap bin sh login bin snmpd usr bin httpd usr bin httpd usr bin httpd usr bin httpd usr bin httpd bin reportip bash bin telnetd bash ps ef k Sk k k k Sika start start start Start d etc apache d etc apache d etc apache d etc apache d etc apache d etc apache To run a private daemon you can edit the file rc local as fo
5. Refer to Chapter 5 to see a Makefile example Uploading and Running the Hello Program Use the following commands to upload hello release to the A241 240 via FTP 1 From the PC type ftp 192 168 3 127 2 Use the bin command to set the transfer mode to Binary mode and then use the put command to initiate the file transfer ftp gt bin ftp gt put hello release 3 From the IA241 240 type chmod x hello release hello release The word Hello will be printed on the screen hello release Developing Your First Application We use the tcps2 example to illustrate how to build an application The procedure outlined in the following subsections will show you how to build a TCP server program plus serial port communication that runs on the IA241 240 ThinkCore IA241 240 Linux User s Manual Getting Started Testing Environment The tcps2 example demonstrates a simple application program that delivers transparent bi directional data transmission between the IA241 240 s serial and Ethernet ports As illustrated in the following figure the purpose of this application is to transfer data between PC 1 and the IA241 240 via an RS 232 connection At the remote site data can be transferred between the IA241 240 s Ethernet port and PC 2 over an Ethernet connection lt a n gt Serial Rx l Buffer Buffer i Compiling tcps2 c The source code for the tcps2 example is located on the CD ROM
6. endif printf x define MIN DURATION 40 static char DataString 2 Low static voidhightolowevent int diport High printf nDIN port d high to low n diport static voidlowtohighevent int diport printf nDIN port d low to high n diport int main int argc char argv int i j state retval unsigned long duration while 1 printf nSelect a number of menu other key to exit n 1 set high to low event n 2 get now data n 3 set low to high event n 4 clear event n 5 set high data n 6 set low data n 7 quit n 8 show event and duration n Choose DIE retval 0 scanf d amp i if i 1 printf Please keyin the DIN number scanf d amp i printf Please input the DIN duration MIN_DURATION scanf lu amp duration retval set din event i else if i 2 printf DIN data is for j 0 j lt MAX DIN PORT get din state j amp state printf s DataString state printf n printf DOUT data for j 0 j lt MAX DOUT PORT get_dout_state j amp state printf s DataString state get now data j j 6 10 set high to low event 5 this minimun value must be over d hightolowevent DIN_EVENT_HIGH_TO_LOW duration ThinkCore IA241 240 Linux User s Manual Programmer s Guid
7. i expr 0 while do generate a tap0 interface on tun openvpn mktun dev tap i connect tap device to the bridge brctl addif br0 tap i null ip address of tap device ifconfig tap i 0 0 0 0 promisc up i expr i 1 if i ge maxtap then break fi done null ip address of internal interface ifconfig iface 0 0 0 0 promisc up enable bridge ip ifconfig br0 IPADDR netmask NETMASK broadcast BROADCAST ipf proc sys net ipv4 ip_forward enable IP forwarding echo 1 gt ipf echo ip forwarding enabled to cat ipf stop echo shutdown openvpn bridge ifcfg_vpn i expr 0 while do disconnect tap device from the bridge brctl delif br0 tap i openvpn rmtun dev tap i i expr i 1 if i ge maxtap then break fi done brctl delif br0 iface brctl delbr bro ifconfig br0 down ifconfig iface IPADDR netmask NETMASK broadcast BROADCAST killall TERM openvpn case 1 in start start 7 stop stop 7 restart stop start 7 echo Usage 0 start stop restart 4 29 ThinkCore IA241 240 Linux User s Manual Managing Communication exit 1 esac exit 0 Create link symbols to enable this script at boot time In s etc openvpn openvpn bridge etc rc d rc3 d S32vpn br for example In s etc openvpn openvpn bridge etc rc d rc6 d K32vpn br for example 3 Create a configuration file named A tap0 br conf and an exec
8. Getting Started N PuTTY Configuration Category A Session Logging A Terminal Keyboard Bell Features Window Appearance Basic options for your PuTTY session Specify your connection by host name or IP address Host Name or IP address Port 1192 168 27 122 22 Protocol O Raw O Telnet Rlogn SSH Load save or delete a stored session Behaviour Translation Saved Sessions Selection Embedded Computer Colours Default Settings Load A Connection 192 168 27 121 Data 192 168 27 127 hai 192 168 27 128 Save 195 226 66 181 Delete Embedded Computer Telnet Rlogin SSH Kex Close window on exit et i O Always O Never Only on clean exit Tunnels v Linux Users From a Linux machine use the ssh command to access the IA241 240 s console utility via SSH ssh 192 168 3 127 Select yes to complete the connection root bee_notebook root ssh 192 168 3 127 Tas Eiielasmieskenlien oie hose WIA LG Shed OA LG She ANS eame oa selektie ESV Ji arsbalsteigjoheuhaie Sis SD eS Ee geil dico ee ae rege Are you sure you want to continue connection yes no yes_ NOTE SSH provides better security compared to Telnet for accessing the IA241 240 s console utility over the network 2 5 ThinkCore IA241 240 Linux User s Manual Getting Started Configuring the Ethernet Interface The network settings of the IA241 240 can be modified with the serial consol
9. JFFS2 is the newest version of JFFS It 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 enhancing the write life of the devices native data compression 1 3 ThinkCore IA241 240 Linux User s Manual Introduction inside the file system design and support for hard links The key features of JFFS2 are e Targets the Flash ROM Directly e Robustness e Consistency across power failures No integrity scan fsck is required at boot time after normal or abnormal shutdown e Explicit wear leveling e 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 but writes that have already been completed will not be affected Additional information about JFFS2 is available at http sources redhat com jffs2 jffs2 pdf http developer axis com software jffs http www linux mtd infradead org Software Package Boot Loader Moxa private V1 2 Kernel Linux
10. Root Directory C Moxa T ool Chain Browse Install For Default Text File Type All Users Recommend DOS C Just Me Unis Recommend lt Back Cancel If you have installed a tool chain before its root directory would show up in the Root Directory text field If you continue the installation the new tool chain in a previous root directory would override the old one Choose a different directory to keep both tool chains 3 Navigate to the directory where the packages of the tool chain reside By default it is on the CD ROM tool chain windows Choose Next to proceed E Moxa Linux Tool Chain Setup Select Local Package Directory EIER Select Local Package Directory Select the directory where the package files of Tool Chain exist Local Package Directory E moolchain windows Browse It may take anywhere from 5 to 20 minutes to check the packages in the CD ROM 5 5 ThinkCore IA241 240 Linux User s Manual Development Tool Chains 4 All packages are selected by default Choose Next to continue 2 Moxa Linux Tool Chain Setup Select Packages Select Packages Select packages to install Category Bi All amp Default Admin 4 Default Archive 4 Default Base 4 Default Database 4 Default Devel 4 Default Doc 4 Default Editors 4 Default Games 4 Default Graphics Default lt Category column Shows a hierarchical display of packages with cat
11. 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 57600 115200 230400 460800 921600 the termios cflag will be set to the same flag 2 If you use stty to get the serial information you will get speed equal to 0 int set_dout_state int doport int state Description Set the digital output state to high or low Input int doport the digital output port number It is 0 to 3 int state the output state high or low You can use define DIO_HIGH or DIO_LOW Output OK will be zero int get_din_state int doport int state Description Get the digital input current state at now Input int diport the digital input port number It is 0 to 3 int state To save the digital input state at now Output OK will be zero int get_dout_state int doport int state Description Get the digital output current state at now Input int doport the digital output port number It is 0 to 3 int state To save the digital output state at now Output OK will be zero int set_din_event int diport void func int diport int mode long int duration Description Set the callback function for digital input port when the state is changed from high to low low to high or any sate changed Input int diport the digital output port number It is 0 to 3 void func int diport The call back function point It will be called when the set event happens int mode Set the kind event High to low low
12. 502 snmpInGenErrs 0 counter 0 503 snmpInTotalReqVars 0 counter 503 504 snmpInTotalSetVars 0 counter 0 505 snmpInGetRequests 0 counter 0 506 snmpInGetNexts 0 counter 506 507 snmpInSetRequests 0 counter 0 508 snmpInGetResponses 0 counter 0 509 snmpInTraps 0 counter 0 510 snmpOutTooBigs 0 counter 0 511 snmpOutNoSuchNames 0 counter 0 512 snmpOutBadValues 0 counter 0 513 snmpOutGenErrs 0 counter 0 514 snmpOutGetRequests 0 counter 0 515 snmpOutGetNexts 0 counter 0 516 snmpOutSetRequests 0 counter 0 517 snmpOutGetResponses 0 counter 517 518 snmpOutTraps 0 counter 0 519 snmpEnableAuthenTraps 0 integer disabled 2 SNMP QUERY FINISHED NOTE Click on the following links for more information about MIB II and RS 232 like groups http www fags org rfes rfc1213 html http www fags org rfes rfc1317 html gt 1A241 240 does NOT support SNMP trap OpenVPN OpenVPN provides two types of tunnels for users to implement VPNS Routed IP Tunnels and Bridged Ethernet Tunnels To begin with check to make sure that the system has a virtual device dev net tun If not issue the following command 4 26 ThinkCore IA241 240 Linux User s Manual Managing Communication mknod dev net tun c 10 200 An Ethernet bridge is used to connect different Ethernet networks together The Ethernets are bundled into one bigger logical Ethernet Each Ethernet correspond
13. Ethernet Bridging for Private Networks on the Same Subnet 1 Set up four machines as shown in the following diagram local net OpenVPN A LANI 192 168 2 173 LANI 192 168 2 171 LAN2 192 168 8 173 Internet LANI 192 168 8 174 LANI 192 168 4 172 LAN2 192 168 4 174 OpenVPN B local net 4 31 ThinkCore IA241 240 Linux User s Manual Managing Communication 2 The configuration procedure is almost the same as for the previous example The only difference is that you will need to comment out the parameter up in etc openvpn A tap0 br conf and etc openvpn B tapO br conf Setup 3 Routed IP 1 Setup four machines as shown in the following diagram local net OpenVPN A LANI 192 168 2 173 LANI 192 168 2 171 LAN2 192 168 8 173 Internet LANI 192 168 8 174 LANI 192 168 4 172 LAN2 192 168 4 174 l OpenVPN B local net 2 Create a configuration file named A tun conf and an executable script file named A tun sh point to the peer remote 192 168 8 174 dev tun secret etc openvpn secrouter key cipher DES EDE3 CBC auth MD5 tun mtu 1500 tun mtu extra 64 ping 40 ifconfig 192 168 2 173 192 168 4 174 up etc openvpn A tun sh bin sh value after net is the subnet behind the remote peer route add net 192 168 4 0 netmask 255 255 255 0 gw 5 s s lt e ssess ea end
14. drwxr xr x SLEE drwxr xr x LWXr xr xX Saisie nn drwxr xr x drwxr xr x drwxr xr x stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd stephen_ mkpasswd 10 22 03 moxa ico stephen_ mkpasswd 10 19 48 Emp stephen_ mkpasswd 8 usr stephen_ mkpasswd O dam 10 18 12 war bin See Ent wO reg Ale lado 10822173082 moxanbat ur gene w W Oa D ony ony Spy OTs r Se NOS SS Cn he oo Compilation for Applications Windows tool chain is a cross compiler that can be used to compile Linux source code on a Windows operating system allowing programmers to develop projects on a Windows based PC In this section we describe the procedures you should follow to compile a project with the Windows tool chain First copy the source codes of your project in the Windows tool chain s installation directory In the example shown here we want to compile the hello example provided in our CD ROM We will copy the source code to UC which is the root directory of the Windows tool chain Check the root directory where you can find the hello directory 5 8 ThinkCore IA241 240 Linux User s Manual Development Tool Chains nl ih hi gt etc passwd gt etc group Mkpasswd Mkgroup Note that the d switch is necessary for domain users S ed 4294967295 4294967295 4294967295 4294967295 mkpasswd 4294967295 4294967295
15. etc ppp chap secrets files after the name option You may add other options as desired 7 Set up DNS If you are using DNS servers supplied by your ISP edit the file etc resolv conf by adding the following lines of code nameserver ip_addr_of_first_dns_server nameserver ip_addr_of_second_dns_server For example nameserver 168 95 1 1 nameserver 139 175 10 20 8 Use the following command to create a pppoe connection pppd eth0 The eth0 is what is connected to the ADSL modem LAN port The example above uses LANI To use LAN2 type pppd eth1 9 Type ifconfig ppp0 to check if the connection is OK or has failed If the connection is OK you will see information about the ppp0 setting for the IP address Use ping to test the IP 10 If you want to disconnect it use the kill command to kill the pppd process NFS Network File System The Network File System NFS is used to mount a disk partition on a remote machine as if it were on a local hard drive allowing fast seamless sharing of files across a network NFS allows users to develop applications for the A241 240 without worrying about the amount of disk space that will be available The IA241 240 supports NFS protocol for client 4 17 ThinkCore IA241 240 Linux User s Manual Managing Communication NOTE Click on the following links for more information about NFS http www tldp org HOWTO NFS HOWTO index html http nfs sourceforge net nfs howto client htm
16. get ia240 x x x frm root Moxa mnt ramdisk ftp 192 168 3 193 Connected Le gite ae Fa ae ee 220 TYPSoft FIP Server 1 10 ready Name Le So LS Ser root 331 Password required for root Password 230 User root logged in Remote system type is UNIX Using binary mode to transfer files ftp gt cd newsw 250 CWD command successful C ftproot newsw is current directory fep gt bin 200 Type set to I mce Ie 200 Port command successful 150 Opening data connection for directory list drw rw rw IRE O Noy 20 10 05 drw rw rw al ej aac OU Noy 20 10 02 LW LW rW AL iej vaer Bike Now 2 AZZA sie A s 226 Transfer complete ftip gt get 1a240 1 0 rm local ia240 1 0 frm remote ia240 1 0 frm 200 Port command successful 150 Opening data connection for ia240 1 0 frm 226 Transfer complete 13167772 bytes received in 2 17 secs 5925 8 KB s ftp gt 3 3 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux 3 Next use the upf irm command to upgrade the kernel and root file system upfirm ia240 x x x frm root Moxa mnt ramdisk upfirm ia240 1 0 frm Moxa ThinkCore IA240 upgrade firmware utility version 1 0 To check source firmware file context The source firmware file conext is OK This step will destroy all your firmware Continue Y N Y Now upgrade the file kernel Format MTD device dev mtdi MTD device dev mtd1 erase 128 Kibyte 1C0000 100 complete Wait
17. int ioctl fd RTC SET TIME struct rtc_time time Description set RTC time Argument 3 will be passed to RTC The device node is located at dev console The IA241 240 supports Linux standard buzzer control with The IA241 240 s buzzer running at a fixed frequency of 100 Hz You must include lt sys kd h gt Function KDMKTONE 6 2 ThinkCore IA241 240 Linux User s Manual Programmer s Guide ioctl fd KDMKTONE unsigned int arg Description The buzzer s behavior is determined by the argument arg The high word part of arg gives the length of time the buzzer will sound and the low word part gives the frequency The buzzer s on off behavior is controlled by software If you call the ioctl function you MUST set the frequency at 100 Hz If you use a different frequency the system could crash WDT Watch Dog Timer 1 Introduction The WDT works like a watch dog function You can enable it or disable it When the user enables WDT but the application does not acknowledge it the system will reboot You can set the ack time from a minimum of 50 msec to a maximum of 60 seconds How the WDT works The sWatchDog is disabled when the system boots up The user application can also enable ack When the user does not ack it will let the system reboot Kernel boot User application running and enable user ack The user API The user application must include lt moxadevic h gt and link moxalib
18. kernel and user file system Contact Moxa to determine the hardware version You will need the Production S N Serial number which is located on the IA241 240 s bottom label To check the kernel version type kversion 192 T6873 T27 PUTTY root Moxa kversion Version 1 0 root Moxa NOTE The kernel version number is for the factory default configuration and if you download the latest firmware version from Moxa s website and then upgrade the IA241 240 s hardware System Image Backup Upgrading the Firmware The IA241 240 s bios kernel and root file system are combined into one firmware file which can be downloaded from Moxa s website www moxa com The name of the file has the form ia240 x x x frm or ia241 x x x frm with x x x indicating the firmware version To upgrade the firmware download the firmware file to a PC and then transfer the file to the IA241 240 via a serial Console or Telnet Console connection A ATTENTION Upgrading the firmware will erase all data on the Flash ROM If you are using the ramdisk to store code for your applications beware that updating the firmware will erase all of the data on the Flash ROM You should back up your application files and data before updating the firmware Since different Flash disks have different sizes it s a good idea to check the size of your Flash disk before upgrading the firmware or before using the disk to store your application and d
19. 139 udpLocalAddress 192 168 4 127 854 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 111 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 111 ipaddress 192 168 4 127 udpLocalPort 192 168 27 139 1024 integer 1024 udpLocalPort 192 168 4 127 1024 integer 1024 udpLocalPort 192 168 27 139 2049 integer 2049 udpLocalPort 192 168 4 127 2049 integer 2049 udpLocalPort 192 168 27 139 1026 integer 1026 udpLocalPort 192 168 4 127 1026 integer 1026 udpLocalPort 192 168 27 139 1027 integer 1027 udpLocalPort 192 168 4 127 1027 integer 1027 udpLocalPort 192 168 27 139 9 integer 9 udpLocalPort 192 168 4 127 9 integer 9 udpLocalPort 192 168 27 139 161 integer 161 udpLocalPort 192 168 4 127 161 integer 161 udpLocalPort 192 168 27 139 4800 integer 4800 udpLocalPort 192 168 4 127 4800 integer 4800 udpLocalPort 192 168 27 139 854 integer 854 udpLocalPort 192 168 4 127 854 integer 854 udpLocalPort 192 168 27 139 111 integer 111 udpLocalPort 192 168 4 127 111 integer 111 rs232Number 0 integer 4 rs232PortIndex 1 integer 1 1 rs232PortIndex 2 integer 2 2 rs232PortIndex 3 integer 3 3 rs232PortIndex 4 integer 4 4 rs232PortType l integer rs232 2 rs232PortType 2 integer rs232 2 rs232PortType 3 integer rs232 2 rs232PortType 4 integer rs232 2 rs232PortInSigNumber 1 integer 3 rs232PortInSigNumber 2 integer 3 rs232PortInSigNumber 3 integer 3 rs232PortInSigNumber 4 integer
20. 192 168 4 127 NAT Area Private IP echo 1 gt proc sys net ipv4 ip_forward insmod ip_tables insmod iptable_ filter insmod ip_conntrack insmod iptable_nat insmod ipt_MASQUERADE iptables t nat A POSTROUTING o eth0 j SNAT to source 192 168 3 127 iptables t nat A POSTROUTING o eth0 s 192 168 3 0 24 j MASQUERADE ora uF WN PB 4 11 ThinkCore IA241 240 Linux User s Manual Managing Communication Enabling NAT at Bootup In most real world situations you will want to use a simple shell script to enable NAT when the 1A241 240 boots up The following script is an example bin bash If you put this shell script in the home nat sh Remember to chmod 744 home nat sh Edit the rc local file to make this shell startup automatically vi etc rc d rc local Add a line in the end of rc local home nat sh EXIF ethO This is an external interface for setting up a valid IP address EXNET 192 168 4 0 24 This is an internal network address Step 1 Insert modules Here 2 gt dev null means the standard error messages will be dump to null device insmod ip_tables 2 gt dev null insmod ip_nat_ftp 2 gt dev null insmod ip_nat_irc 2 gt dev null insmod ip_conntrack 2 gt dev null insmod ip_conntrack_ftp 2 gt dev null insmod ip_conntrack_irc 2 gt dev null Step 2 Define variables enable routing and erase default rules PATH bin sbin usr bin usr sbin usr local bin
21. 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 ipNetToMediaPhysAddress 1 192 168 27 139 octet string 00 90 E8 10 02 41 hex ipNetToMediaPhysAddress 2 192 168 4 127 octet string 00 90 E8 10 02 40 hex ipNetToMediaNetAddress 1 192 168 27 139 ipaddress 192 168 27 139 ipNetToMediaNetAddress 2 192 168 4 127 ipaddress 192 168 4 127 ipNetToMediaType 1 192 168 27 139 integer static 4 ipNetToMediaType 2 192 168 4 127 integer static 4 ipRoutingDiscards 0 integer 0 icmpInMsgs 0 counter 130 icmpInErrors 0 counter 3 icmpInDestUnreachs 0 counter 128 icmpInTimeExcds 0 counter 0 icmpInParmProbs 0 counter 0 icmpInSrcQuenchs 0 counter 0 icmpInRedirects 0 counter 0 icmpInEchos 0 counter 2 icmpInEchoReps 0 counter 0 icmpInTimestamps 0 counter 0 icmpInTimestampReps 0 counter 0 icmpInAddrMasks 0 counter 0 icmpInAddrMaskReps 0 counter 0 icmpOutMsgs 0 counter 144 icmpOutErrors 0 counter 0 icmpOutDestUnreachs 0 counter 135 icmpOutTimeExcds 0 counter 0 icmpOutParmProbs 0 counter 0 icmpOutSrcQuenchs 0 counter 0 icmpOutRedirects 0 counter 7 icmpOutEchos 0 counter 0 icmpOutEchoReps 0 counter 2 icmpOutTimestamps 0 counter 0 icmpOutTimestampReps 0 counter 0 icmpOutAddrMasks 0 counter 0
22. 240 has a built in mechanism that prevents the system from crashing When the Linux kernel boots up the kernel will mount the root file system for read only and then enable services and daemons During this time the kernel will start searching for system configuration parameters via rc or inittab Normally the kernel uses the Root File System to boot up the system The Root File System is protected and cannot be changed by the user This type of setup creates a safe zone For more information about the memory map and programming refer to Chapter 5 Programmer s Guide Journaling Flash File System JFFS2 The Root File System and User directory in the flash memory is formatted with the Journaling Flash File System JFFS2 The formatting process places a compressed file system in the flash memory This operation is transparent to the user The Journaling Flash File System JFFS2 which was developed by Axis Communications in Sweden puts a file system directly on the flash instead of emulating a block device It is designed for use on flash ROM chips and recognizes the special write requirements of a flash ROM chip JFFS2 implements wear leveling to extend the life of the flash disk and stores the flash directory structure in the RAM A log structured file system is maintained at all times The system is always consistent even if it encounters crashes or improper power downs and does not require fsck file system check on boot up
23. 3 rs232PortOutSigNumber 1 integer 2 4 24 ThinkCore IA241 240 Linux User s Manual Managing Communication 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 rs232PortOutSigNumber 2 integer 2 rs232PortOutSigNumber 3 integer 2 rs232PortOutSigNumber 4 integer 2 rs232PortInSpeed 1 integer 38400 rs232PortInSpeed 2 integer 38400 rs232PortInSpeed 3 integer 38400 rs232PortInSpeed 4 integer 38400 rs232PortOutSpeed 1 integer 38400 rs232PortOutSpeed 2 integer 38400 rs232PortOutSpeed 3 integer 38400 rs232PortOutSpeed 4 integer 38400 rs232AsyncPortIndex 1 integer 1 1 rs232AsyncPortIndex 2 integer 2 2 rs232AsyncPortIndex 3 integer 3 3 rs232AsyncPortIndex 4 integer 4 4 rs232AsyncPortBits 1 integer 8 rs232AsyncPortBits 2 integer 8 rs232AsyncPortBits 3 integer 8 rs232AsyncPortBits 4 integer 8 rs232AsyncPortStopBits 1 integer one 1 rs232AsyncPortStopBits 2 integer one 1 rs232AsyncPortStopBits 3 integer one 1 rs232AsyncPortStopBits 4 integer one 1 rs232AsyncPortParity 1 integer none 1 rs232AsyncPortParity 2 integer none 1 rs232AsyncPortParit
24. 755 fixtime to change the shell script mode Next use vi editor to edit the file etc inittab Add the following line to the bottom of the file ntp 2345 respawn etc init d fixtime Use the command init q to re init the kernel Cron Daemon to Execute Scheduled Commands Start Cron from the directory ete rc d rc local It will return immediately so you don t need to start it with amp to run in the background The Cron daemon will search ete eron d erontab for crontab files which are named after accounts in etc passwd Cron wakes up every minute and checks each command to see if it should be run in the current minute When executing commands output is mailed to the owner of the crontab or to the user named in the MAILTO environment variable in the crontab if such a user exists Modify the file etc cron d crontab to set up your scheduled applications Crontab files have the following format 3 9 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux mm h dom mon dow user command min hour date month week user command 0 59 0 23 1 31 1 12 0 6 0 is Sunday The following example demonstrates how to use Cron How to use cron to update the system time and RTC time every day at 8 00 STEPI STEP2 STEP3 STEP4 STEPS Write a shell script named fixtime sh and save it to home bin sh ntpdate time nist gov hwclock systohc exit 0 Cha
25. IA241 240 Linux User s Manual Managing Communication NOTE The IA241 240 does NOT support IPV6 and ipchains The basic syntax to enable and load an IPTABLES module is as follows 1smod insmod ip_tables insmod iptable filter Use lsmod to check if the ip_tables module has already been loaded in the IA241 240 Use insmod to insert and enable the module Use the following command to load the modules iptable_filter iptable_mangle iptable_nat insmod iptable filter Use iptables iptables restore iptables save to maintain the database NOTE IPTABLES plays the role of packet filtering or NAT Take care when setting up the IPTABLES rules If the rules are not correct remote hosts that connect via a LAN or PPP may be denied access We recommend using the Serial Console to set up the IPTABLES Click on the following links for more information about iptables http www linuxguruz com iptables http www netfilter org documentation HOWTO packet filtering HOWTO html 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 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
26. Manager Window Help al Al S ze 41 115200 None 8 1 Y T100 Default orr CountryRegion 0 RTS MWirelessMode 0 SSID any etworkType Infra Channel 0 utchMode PEN EncrypType NONE efaultKeyID 1 eylStr 0123456789 eyZStr ey3Str eyv4Str paPsk abcde fghijklmnopgrstuvwuxyz TXBurst 0 TurboRate 0 GProtection 0 ShortSlot 0 TxRate 0 RTSThreshold 2312 FragThreshold 2312 SMode CAM fetc Wireless RTZSOOSTA SRTZSOOSTA dat line 1 of 34 2 State OPEN ee eE ThinkCore IA241 240 Linux User s Manual Getting Started CountryRegion Sets the channels for your particular country region Setting Explanation 0 use channels 1 to 11 1 use channels 1 to 11 2 use channels 1 to 13 3 use channels 10 11 4 use channels 10 to 13 5 use channel 14 6 use channels 1 to 14 7 use channels 3 to 9 WirelessMode Sets the wireless mode Setting Explanation 0 11b g mixed 1 11b only 2 11g only SSID Sets the softAP SSID Setting Any 32 byte string NetworkType Sets the wireless operation mode Setting Explanation Infra Infrastructure mode uses access points to transmit data Adhoc Adhoc mode transmits data from host to host Channel Sets the channel Setting Explanation 0 Auto 1 to 14 the channel you want to use AuthMode Sets the authentication mode Setting OPEN SHARED WPAPSK
27. V1 Simple Network Management Protocol agent software It supports RFC1317 RS 232 like group and RFC 1213 MIB L The following simple example allows you to use an SNMP browser on the host site to query the 1A241 240 which is the SNMP agent The IA241 240 will respond SNMP QUERY STARTED 1 sysDescr 0 octet string Version 1 0 2 sysObjectID 0 object identifier enterprises 869 1 12 240 4 18 ThinkCore IA241 240 Linux User s Manual Managing Communication sysUpTime 0 timeticks 0 days 03h 50m 11s 00th 1381100 sysContact 0 octet string Moxa Systems Co LDT sysName 0 octet string Moxa sysLocation 0 octet string Unknown sysServices 0 integer 6 ifNumber 0 integer 6 ifIndex 1 integer 1 ifIndex 2 integer 2 ifIndex 3 integer 3 ifIndex 4 integer 4 ifIndex 5 integer 5 ifIndex 6 integer 6 ifDescr 1 octet string eth0 ifDescr 2 octet string ethl ifDescr 3 octet string Serial port 0 ifDescr 4 octet string Serial port 1 ifDescr 5 octet string Serial port 2 ifDescr 6 octet string Serial port 3 ifType 1 integer ethernet csmacd 6 ifType 2 integer ethernet csmacd 6 ifType 3 integer other 1 ifType 4 integer other 1 ifType 5 integer other 1 ifType 6 integer other 1 ifMtu 1 integer 1500 ifMtu 2 integer 1500 ifMtu 3 integer 0 ifMtu 4 integer 0 ifMtu 5 integer 0 ifMtu 6 integ
28. WPANONE 2 9 ThinkCore IA241 240 Linux User s Manual EncrypType Sets encryption type Getting Started Setting NONE WEP TKIP AES DefaultKeyID Sets default key ID Setting 1to4 KeylStr Key2Str Key3Str Key4Str Sets strings Keyl to Key4 Setting The keys can be input as 5 ascii characters 10 hex numbers 13 ascii characters or 26 hex numbers TxBurst WPA pre shared key Setting 8 to 64 ascii characters WpaPsk Enables or disables TxBurst Setting Explanation 0 disable 1 enable TurboRate Enables or disables TurboRate Setting Explanation 0 disable 1 enable BGProtection Sets 11b 11g protection this function is for engineering testing only Setting Explanation 0 auto 1 always on 2 always off ShortSlot Enables or disables the short slot time Setting Explanation 0 disable 1 enable 2 10 ThinkCore IA241 240 Linux User s Manual Getting Started TxRate Sets the TxRate Setting Explanation 0 Auto 1 1 Mbps 2 2 Mbps 3 5 5 Mbps 4 11 Mbps 5 6 Mbps 6 9 Mbps 7 12 Mbps 8 18 Mbps 9 24 Mbps 10 36 Mbps 11 48 Mbps 12 54 Mbps RTSThreshold Sets the RTS threshold Setting 1 to 2347 FragThreshold Sets the fragment thresh
29. dev ttyM0 115200 crtscts modem 192 168 16 1 192 168 16 2 1 Connect IA241 240 s LAN port to an ADSL modem with a cross over cable HUB or switch 2 Login to the IA241 240 as the root user 3 Edit the file etc ppp chap secrets and add the following username hinet net password Secrets for authentication using CHAP x al ut TD eha Ti addresses password chap secrets line 1 of 3 33 username hinet net is the username obtained from the ISP to log in to the ISP account password is the corresponding password for the account 4 Edit the file etc ppp pap secrets and add the following username hinet net password 4 15 ThinkCore IA241 240 Linux User s Manual Managing Communication password if you don t use the login option of pppd The mgetty Debian package already provides this option make sure you don t change that INBOUND connections Every regular user can use PPP and has to use passwords from etc passwd o username hinet net password UserIDs that cannot use PPP at all Check your etc passwd and add any other accounts that should not be able to use pppd guest hostname a master hostname x root hostname A support hostname RE stats hostname x OUTBOUND connections Here you should add your userid password to connect to your providers via PAP The means that the password is to be used for ANY host you co
30. etc network interfaces line 1 of 162 0 Dynamic IP addresses By default the IA241 240 is configured for static IP addresses To configure one or both LAN ports to request an IP address dynamically replace static with dhcp and then delete the address network netmask and broadcast lines sr se se 2 6 ThinkCore IA241 240 Linux User s Manual Getting Started Default Setting for LANI Dynamic Setting using DHCP iface eth0 inet static iface eth0 inet dhcp address 192 168 3 127 network 192 168 3 0 netmask 255 255 255 0 broadcast 192 168 3 255 auto eth9 ethl lo iface lo inet loopback iface eth inet dhcp iface ethl inet dhcp 3 After the boot settings of the LAN interface have been modified issue the following command to activate the LAN settings immediately etc init d networking restart NOTE After changing the IP settings use the networking restart command to activate the new IP address Modifying Network Settings over the Network IP settings can be activated over the network but the new settings will not be saved to the flash ROM without modifying the file etc network interfaces For example type the command ifconfig eth0 192 168 1 1 to change the IP address of LANI to 192 168 1 1 root Moxa ifconfig eth 192 168 27 125 root Moxa _ Configuring the WLAN via the PCMCIA Interface IEEE802 11g The following IEEE802 11g wireless card modules are supported e A
31. ge eel Ane 250 Directory successfully changed ftp bin 200 Switching to Binary mode ftp gt get php tar gz local php tar gz remote php tar gz 200 PORT command successful Consider using PASV 150 Opening BINARY mode data connection for php tar gz 1789032 bytes 226 File send OK 1789032 bytes received in 0 66 secs 2 6e 03 Kbytes sec EERS Step 4 utar the package To do this type the command tar xvzf php tar gz root Moxa mnt ramdisk tar xvzf php tar gz envvars envvars old Isheiejatelotererale Imeiejatels eem sienllcl imetak Sm Alal e lib libmysqlclient so 15 lib libpng so0 2 lib libphp5 so lib libmysqlclient so 15 0 0 lib libgd so oo 2a 024860822 Ino iboa Eier Ze 05 0 lib libjpeg so ib oy alall opalen 7 Thi ey Alallorefelo Eko Z php php php ini plipinfo php root Moxa mnt ramdisk 4 5 ThinkCore IA241 240 Linux User s Manual Managing Communication Step 5 Run install sh and select to install php T92 168 3 127 PuTTY root Moxa mnt ramdisk Press the number 1 Install PHP package 2 Uninstall PHP package Sa sale start to install BHE Starting web server inestall ch Please wait apache PHP install sucess root Moxa mnt ramdisk Step 6 Test it Use the browser to access http 192 168 3 127 phpinfo php AA phpinfo Microsoft Internet Explorer ERO KEO MARC RAREZA IAD FH Qua BLD htp 192 168 27 129fphpinfo php a l
32. high communication performance and fanless design make the IA241 TA240 ideal for industrial automation environments The ThinkCore IA241 240 computers use aMOXA ART 192 Mhz RISC CPU Unlike the X86 CPU which uses a CISC design the RISC architecture and modern semiconductor technology provide these embedded computers with a powerful computing engine and communication functions but without generating a lot of heat A 16 MB NOR Flash ROM and a 64 MB SDRAM give you enough memory to install your application software directly on the embedded computer In addition dual LAN ports are built right into the RISC CPU This network capability in combination with the ability to control serial devices makes the ThinkCore IA241 240 ideal communication platforms for data acquisition and industrial control applications The IA241 240 s pre installed Linux operating system OS provides an open software operating system for your software program development Software written for desktop PCs can be easily ported to the computer with a GNU cross compiler without needing to modify the source code The OS device drivers e g serial and buzzer control and your own applications can all be stored in the NOR Flash memory The ThinkCore IA241 240 Linux Series referred to here as A241 240 or as the target computer consists of two models ThinkCore IA241 LX with CardBus and ThinkCore IA240 LX which doesn t support CardBus Both models have exactly the same
33. icon Completing the UC Finder Setup Wizard Setup has finished installing UC Finder on your computer The application may be launched by selecting the installed icons Click Finish to exit Setup 8 3 ThinkCore IA241 240 Linux User s Manual Broadcast Search The Broadcast Search function is used to locate all IA241 240 units that are connected to the same LAN as your Windows computer Since the Broadcast Search function searches by MAC address and not IP address all TA241 240 s connected to the LAN will be found regardless of whether or not they are on the same subnet as the host 1 2 The Searching window displays the Model MAC Address and IP Address of devices that Click o n the Broadcast Search button to start searching LO UC Finder File Function About Broadcast Search No Model MAC Address IP Address Search Result 0 UC S were located Searching Searching for UC Found 1 UC s remain timeout 3 second s No Model MAC Address IP Address 00 90 E8 40 04 11 192 168 13 23 8 4 UC Finder ThinkCore IA241 240 Linux User s Manual UC Finder NOTE 3 UC Finder is designed to determine the IP addresses of all UC units connected to the same LAN the host that is running UC Finder To configure UC s IP addresses or other configuration parameters use Telnet over the network or connect directly to the serial Console port to access 1A
34. id 7 Source Window et 5 10 ThinkCore IA241 240 Linux User s Manual Development Tool Chains E Insight Index Microsoft Internet Explorer File Edit View Favorites Tools Help peek EY Bra A JO Search DE E en La E 2 Address E cuctusr localtmxscalebisharetinsight1 Oihelplindex html__ C UC usr localimxscaleb share insight1 O help index html Breakpoint Window Console Window Function Browser Locals Window Memory Window Register Window Sessions Source Window Stack Window Target Window e Thread Window e Watch Window 5 11 Programmer s Guide This chapter includes important information for programmers The following functions are covered in this chapter Flash Memory Map Device API RTC Real Time Clock Buzzer WDT Watch Dog Timer UART DI DO Make File Example DODO ThinkCore IA241 240 Linux User s Manual Programmer s Guide Flash Memory Map NOTE Device Partition sizes are hard coded into the kernel binary To change the partition sizes you will need to rebuild the kernel The flash memory map is shown in the following table Address Size Contents 0x00000000 0x0003FFFF 256 KB Boot Loader Read ONLY 0x00040000 0x00 IFFFFF 1 8 MB Kernel object code Read ONLY 0x00200000 0x009FFFFF 8 MB Root file system JFFS2 Read ONLY 0x00A00000 0x00FFFFFF 6 MB User directory JFFS2 Read Write M
35. idea but this system doesn t support etc sysconfig network scripts ifcfg ethl ifcfg_vpn 4 27 ThinkCore IA241 240 Linux User s Manual Managing Communication while read fl 2 3 4 r3 do if f1 iface a f2 iface a f3 inet a f4 static then i expr 0 while do if i gt 5 then break fi i expr i 1 read f1 f2 case f1 in address IPADDR f2 FH netmask NETMASK 2 ar broadcast BROADCAST 2 ii esac done break fi done lt etc network interfaces get the ip address of the specified interface mname module_ up oIFS IFS IFS FOUND no for LINE in lsmod do TOK echo LINE cut d 1 if TOK mname then FOUND yes break fi done IFS SoIFS if FOUND no then modprobe mname fi start ifcfg_vpn if d dev net then mkdir dev net fi if r dev net tun then create a device file if there is none mknod dev net tun c 10 200 fi load modules tun and bridge mname tun module_up mname bridge module_up create an ethernet bridge to connect tap devices internal interface brctl addbr br0 brctl addif br0 iface 4 28 ThinkCore IA241 240 Linux User s Manual Managing Communication the bridge receives data from any port and forwards it to other ports
36. ramdisk usrfs backup Sync the file system Now backup the user root file system Please wait Backup user root file system OK root Moxa mnt ramdisk 3 4 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux Deploying the User Directory to Additional IA241 240 Units For some applications you may need to ghost one IA241 240 user file system to other IA241 240 units Back up the user file system to a PC refer to the previous subsection Backing Up the User File System for instructions and then type the following commands to copy the backup to additional TA241 240 units upramdisk cd mnt ramdisk upfirm usrfs backup 192 168 3 127 PuTTY root Moxa mnt ramdisk ls al EWE KE toot root 1024 Jun 15 02 47 druke ONO OLMEEOOL 0 Sep 29 2004 root root 12258 Jun 15 02745 ae I sooe zy 27263140 Jun 15 02 48 root Moxa mnt ramdisk upfirm usrfs backup Moxa ThinkCore IA240 upgrade firmware utility version 1 0 To check source firmware file context The source firmware file conext is OK This step will destroy all your firmware Contante 2 Y N Now upgrade the file userdisk Format MTD device dev mtd3 MTD device dev mtd3 erase 128 Kibyte 600000 100 complete Wait to write file Compleleted 100 Upgrade the firmware is OK Enabling and Disabling Daemons The following daemons are enabled when the IA241 240 boots up for the first time snmp SNMP Agent daemon telnetd
37. requests Use the following command to enable or disable settings root Moxa ect rc d rc3 d 1s S19nfs common S25nfs user server S99showreadyled S20snmpd s55ssh S24pcmcia S99rmnologin root Moxa etc rc d rc3 d cd etc rc d init d Edit a shell script to execute root tcps2 release and save to teps2 as an example cd etc rc d rc3 d ln s etc rc d init d tcps2 S60tcps2 SxxRUNFILE stands for S start the run file while linux boots up xx a number between 00 99 Smaller numbers have a higher priority RUNFILE the file name root Moxa ect rc d rc3 d 1s S19nfs common S25nfs user server S99showreadyled S20snmpd s55ssh S24pcmcia S99rmnologin root Moxa ect rc d rc3 d In s root tcps2 release S60tcps2 root Moxa ect rc d rc3 d 1s S19nfs common S25nfs user server S99rmnologin S20snmpd s55ssh S99showreadyled S24pcmcia S60tcps2 root Moxa etc rc d rc3 d 3 7 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux KxxRUNFILE stands for K start the run file while linux shuts down or halts xx a number between 00 99 Smaller numbers have a higher priority RUNFILE the file name To remove the daemon remove the run file from the ete rc d rc3 d directory by using the following command rm f etc rc d rc3 d S60tcps2 Adjusting the System Time Setting the Time Manually The IA241 240 has two time settings One is the system time and the other is the RTC Real Time Clock time
38. serial console port gives users a convenient way of connecting to the A241 240 s console utility This method is particularly useful when using the computer for the first time The signal is transmitted over a direct serial connection so you do not need to know either of its two IP addresses in order to connect to the serial console utility Use the serial console port settings shown below Baudrate 115200 bps Parity None Data bits 8 Stop bits 1 Flow Control None Terminal VT100 2 2 ThinkCore IA241 240 Linux User s Manual Getting Started Once the connection is established the following window will open PComm Terminal Emulator COM1 115200 None 8 1 1100 DEAR Profile Edit Port Manager Window Help 2 BIA elhal S 2B E COM1 115200 None 8 1 T100 714 root 428 5 sbin getty 115200 ttySl 9715 root 628 R ps ora root Moxa RTS Moxa login root Password E23 22 EEn LEE EEE EEEE EEE MEE EEEE sgg 882 82 82 EEE 22 EEE Ed sgg E22 ggg 8 HHH 88 8 88 88 HEHE 8 8 88 EEn E22 23 8 HEE ggg ggg 2 8 2 sg 8 EE EEE 8 E22 2 2 Sg 22 HE FF FF gers HEE ss 88 8 EE FF gg 8 EEE EEEE ss si FF HEE ssi E22 22 8 Es HEE ggg 8 HEE EER sgg gg sgg 8 8 sg 88 8 gg gg asus 2 2 2 2 2 E22 2 22 22 SSKKKKK KKFFHKSASKSH KKKKKH For further information check http wiw moxa com Got Break Signa To log in t
39. to write file Compleleted 100 Now upgrade the file usrdisk Format MTD device dev mtd2 MTD device dev mtd2 erase 128 Kibyte 800000 100 complete Wait to write file Compleleted 100 Upgrade the firmware is OK ATTENTION The upfirm utility will reboot your target after the upgrade is OK Loading Factory Defaults To load the the factory default settings you must press the reset to default button for more than 5 seconds All files in the home amp etc directories will be destroyed Note that while pressing the reset to default button the Ready LED will blink once every second for the first 5 seconds The Ready LED will turn off after 5 seconds and the factory defaults will be loaded Backing Up the User Directory 1 Create a backup file First type the following command to enable the RAM disk upramdisk Next use the file system backup utility provided by Moxa backupuf mnt ramdisk usrfs backup 2 Once the file system is backed up use FTP to transfer the file usrfs backup to your PC root Moxa upramdisk root Moxa cd mnt ramdisk root Moxa mnt ramdisk df h Filesystem Size Used Available Use Mounted on dev mtdblock2 8 0M 6 0M 2 0M jd dev ram0 499 0k Io A var dev mtdblock3 6 0M 488 0k 5 5M tmp dev mtdblock3 6 0M 488 0k 5 5M home dev mtdblock3 6 0M 488 0k 5 5M etc tmpfs 30 4M 0 30 4M dev shm dev raml 16 0M 10k ih var ramdisk root Moxa mnt ramdisk backupuf mnt
40. which case the B4000000 define will be different If the baudrate you get from termios or from calling tcgetattr is B4000000 you must call ioctl with MOXA_ GET SPECIAL BAUD RATE to get the actual baudrate Example to set the baudrate include lt moxadevice h gt include lt termios h gt struct termiosterm int fd speed fd open dev ttyM0 O_RDWR tcgetattr fd amp term term c_cflag amp CBAUD CBAUDEX term c_cflag B4000000 tcsetattr fd TCSANOW amp term speed 500000 ioctl fd MOXA SET SPECIAL BAUD RATE amp speed Example to get the baudrate include lt moxadevice h gt include lt termios h gt struct termios term int fd speed fd open dev ttyM0 O_RDWR tcgetattr fd amp term if term c_cflag amp CBAUD CBAUDEX B4000000 follow the standard termios baud rate define else ioctl fd MOXA_GET_SPECIAL_BAUD_RATE amp speed Baudrate inaccuracy Divisor 921600 Target Baud Rate Only Integer part ENUM 8 921600 Targer Divisor Round up or down Inaccuracy Target Baud Rate 921600 Divisor ENUM 8 100 E g To calculate 500000 bps Divisor 1 ENUM 7 Inaccuracy 1 7 The Inaccuracy should less than 2 for work reliably 6 7 ThinkCore IA241 240 Linux User s Manual Programmer s Guide Special Note DI DO 1 Ifthe target baudrate is not a special baudrate e g 50 75 110 134
41. 1 240 Linux User s Manual Development Tool Chains After that use FTP to upload the executable file to the UC and then run the executable hello ftp gt bye s ftp 192 168 14 9 Connected to 192 168 14 9 220 Moxa FIP server lt Version wu 2 6 1 lt 2 gt Mon Nov 24 12 17 04 CST 2003 gt ready User lt 192 168 14 9 lt none gt gt root 331 Password required for root Password 230 User root logged in eo ou 200 PORT command successful 150 Opening BINARY mode data connection for hello release 226 Transfer complete ftp 2744 bytes sent in 0 00Seconds 2744000 00Kbytes sec ftp gt bye 221 You have transferred 2744 bytes in 1 files 22l Total traffic for this session was 3131 bytes in 1 transfers 221 Thank you for using the FTP service on Moxa 221 Goodbye root Moxa chmod 777 hello release root Moxa hello release Hello On Line Debugging with Insight Insight is a graphical user interface that accompanies GDB the GNU Debugger was written in Tel Tk by people working at Red Hat Inc and Cygnus Solutions Red Hat was generous enough to make Insight available for public use and continues to maintain the program Click on http sources redhat com insight for more information about using Insight or click on Help Topics under the Help menu to read the user manual olx File Run View Control Preferences Help SHE CoH e z Help Topics About GDB source 7 E
42. 2 168 27 139 tepConnLocalAddress 192 168 4 127 111 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 80 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 80 0 0 0 0 0 ipaddress 192 168 4 127 tcpConnLocalAddress 192 168 27 139 21 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 21 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 22 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 22 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 23 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 23 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalPort 192 168 27 139 1024 0 0 0 0 0 integer 1024 tepConnLocalPort 192 168 4 127 1024 0 0 0 0 0 integer 1024 tepConnLocalPort 192 168 27 139 1025 0 0 0 0 0 integer 1025 tepConnLocalPort 192 168 4 127 1025 0 0 0 0 0 integer 1025 tepConnLocalPort 192 168 27 139 2049 0 0 0 0 0 integer 2049 tepConnLocalPort 192 168 4 127 2049 0 0 0 0 0 integer 2049 tepConnLocalPort 192 168 27 139 1026 0 0 0 0 0 integer 1026 tepConnLocalPort 192 168 4 127 1026 0 0 0 0 0 integer 1026 tepConnLocalPort 192 168 27 139 9 0 0 0 0 0 integer 9 tepConnLocalPort 192 168 4 127 9 0 0 0 0 0 integer 9 tepConnLocalPort 192 168 27 139 111 0 0 0 0 0 integer 111 tepConnLocalPort 192 168 4 127 111 0 0 0 0 0 integer 111 tepConnLocalPort 192 168 27 139 80 0 0 0 0 0 integer 80 tepConnLoc
43. 2 17 04 CST 2003 ready 530 Please login with USER and PASS 2 16 ThinkCore IA241 240 Linux User s Manual Getting Started 530 Please login with USER and PASS KERBEROS V4 rejected as an authentication type Name O2 legs 32m moot root 331 Password required for root Password 230 User root logged in Remote system type is UNIX Using binary mode to transfer files fepe bin 200 Type set to I ftp gt put tcps2 release local tcps2 release remote tcps2 release 277 Entering Passive Mode 192 168 3 127 82 253 150 Opening BINARY mode data connection for tcps2 release 226 Transfer complete 4996 bytes sent in 0 00013 seconds 3 9e 04 Kbytes s agos IS 227 Entering Passive Mode 192 168 3 127 106 196 150 Opening ASCII mode data connection for bin ls 1 root root SOE wa A eset oasi MEET EW ne iL MOE root 4996 Jun 12 02 15 teps2 release 226 Transfer complete ftp gt 3 From the IA241 240 type chmod x tcps2 release tcps2 release amp root Moxa ls al DEWELKE 2 root root O ans 1A O29 ie Chips xr xlo root root 0 Jan 1 1970 LW di root roort SOS usi AO OGS oarn son ywor r root root 4996 Jun 12 02 13 teps2 release root Moxa chmod x tcps2 release root Moxa ls al drwxr xr x 2 root root O aoin dla eat drxr xr x ILS root root OM il T979 WOO root IEN vi LO GESi oes eo Sposa di oog ooe CIS Gor LA Q215 root Moxa 4 The program should start running in the background Use the
44. 2 2 2 2 212 2 2 2 2 22 2 2 2 2 2 2202 202 2 22 2 2 2 27 static voidlow2highevent int diport ndin StateChangeDetectedt dbg printf din state changed d n ndin_StateChangeDetected KKK KK IK HK KKK IK KK KKK KK KK KKK KKK KKK IK KK KKK IKK KKK KKK HK KKK KKK KKK KKK KK KKK This function is used to exchange the dout state periodically HK KKK KKK IK KK KK KK KK KK 2 2 2 202 2 2 2 2 2 2 2 2 2 2 2 21222 2 2 2 2 2 202 2 2 222 22 2 2 2212 202 2 KK KKK A void dout_control int signo int state get_dout_state 0 amp state dbg_printf dout state changed d n state if state exchange the dout state periodically ndout StateChangeDetected set_dout_state 0 0 else set_dout_state 0 1 void dio_test_function void struct itimerval value int j i nChoice struct timeval tv do printf O Test for Din duration 0 n 6 12 ThinkCore IA241 240 Linux User s Manual Programmer s Guide printf l Test for Din duration 0 n printf 9 Quit n printf Please select a choice gt scanf d amp nChoice if nChoice 9 Quit break elseif nChoice 0 test for din duration for nDuration 0 nDuration lt DURATION NUM nDuration configure the dout frequency When the timer timeouts dout_control will be called to change the dout state value it_value tv_sec duration 0 nDuration 1000 value i
45. 2 6 9 Protocol Stack ARP PPP CHAP PAP IPv4 ICMP TCP UDP DHCP FTP SNMP V1 V3 HTTP NTP NFS SMTP SSH 1 0 2 0 SSL Telnet PPPoE OpenVPN File System JFFS2 NES Ext2 Ext3 VFAT FAT OS shell command Bash Busybox Linux normal command utility collection Utilities tinylogin login and user manager utility telnet telnet client program ftp FTP client program smtpclient email utility scp Secure file transfer Client Program Daemons pppd dial in out over serial port daemon snmpd snmpd agent daemon telnetd telnet server daemon inetd TCP server manager program ftpd ftp server daemon apache web server daemon sshd secure shell server openvpn virtual private network openssl open SSL Linux Tool Chain Gcc V3 3 2 C C PC Cross Compiler GDB V5 3 Source Level Debug Server Glibc V2 2 5 POSIX standard C library Windows Tool Chain Gcc V3 3 2 C C PC Cross Compiler Glibc V2 2 5 POSIX standard C library Insight V6 1 Windows environment source level debug utility 1 4 2 Getting Started In this chapter we explain how to connect the IA241 240 how to turn on the power how to get started programming and how to use the IA241 240 s other functions The following topics are covered in this chapter O Powering on the IA241 240 O Connecting the IA241 240 to a PC gt Serial Console gt Telnet Console gt SSH Console O Configuring the Ethernet Interface gt Modifying Network Settin
46. 22 0 0 0 0 0 integer listen 2 tepConnState 192 168 27 139 23 0 0 0 0 0 integer listen 2 tepConnState 192 168 4 127 23 0 0 0 0 0 integer listen 2 tepConnLocalAddress 192 168 27 139 1024 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 1024 0 0 0 0 0 ipaddress 192 168 4 127 4 22 Managing Communication ThinkCore IA241 240 Linux User s Manual Managing Communication 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 tepConnLocalAddress 192 168 27 139 1025 0 0 0 0 0 ipaddress 192 168 27 139 tcpConnLocalAddress 192 168 4 127 1025 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 2049 0 0 0 0 0 ipaddress 192 168 27 139 tcpConnLocalAddress 192 168 4 127 2049 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 1026 0 0 0 0 0 ipaddress 192 168 27 139 tcpConnLocalAddress 192 168 4 127 1026 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 9 0 0 0 0 0 ipaddress 192 168 27 139 tepConnLocalAddress 192 168 4 127 9 0 0 0 0 0 ipaddress 192 168 4 127 tepConnLocalAddress 192 168 27 139 111 0 0 0 0 0 ipaddress 19
47. 241 240 s Console utility When the search is complete the same information is displayed in the UC Finder window FQ UC Finder File Function About MAC Address IP Address 1 14241 00 90 E8 40 04 11 192 168 13 23 Search Result 1 UC s Linux ucfinder Copy ucfinder from the Documentation and Software CD to your Linux PC and then use the following command to start the program UC Finder will automatically locate all A241 240 units on the LAN and then report their IP addresses ucfinder 8 5 A System Commands busybox V0 60 4 Linux normal command utility collection File manager Editor Network ESSN AM awe Sr AN cp Is In mount rm chmod chown chgrp sync mv pwd df mkdir rmdir vi cat zcat grep cut find more test sleep echo ping route netstat ifconfig tracerout tftp telnet ftp copy file list file make symbolic link file mount and check file system delete file change file owner amp group amp user change file owner change file group sync file system let system file buffer be saved to hardware move file display now file directly list now file system space make new directory delete directory text editor dump file context compress or expand files search string on file get string on file find file where are there dump file by one page test file exist or not sleep seconds echo string ping to test ne
48. 4294967295 4294967295 4294967295 4294967295 4294967295 Nov Nov Nov Nov 0 Nov 4 3262 Nov Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu TEWE Xe drwxrwx 53 Nov 2 Nov dd Hm NWE PJ NKO 0 Nov drwxrwx 0 Nov 4 11 06 RE Ter ALAS 10 Joa Meld vega 18 07 hello d liste insighe ice all Tha 0 Neg di eiO 1e 4 10 12 moxa bat AY AEN ney sei teo 0 Nov 4 18 11 tmp 4 11 06 usr var Next enter the hello directory and invoke the make program that will execute the compilation instructions written in the Makefile to compile the hello project 4294967295 mkpasswd 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu Jared_Wu drwxrwx drwx TEWE x na drwxrwx TEWE So 0 Nov 4 3262 Nov EWR N 3262 Nov 0 Nov cd hello make usr local mxscaleb bin mxscaleb gcc o hel usr local mxscaleb bin mxscaleb strip s h usr local mxscaleb bin mxscaleb gcc ggdb S JS Makefile README hello debug hello release 5 9 0 Mers Al ace 18 07 hello A Lier ie Oe TEO O New 4 Agio 1 53 Nov 4 19 12 bat di SES 2Emoxam eo mo gt O Noy 4 18 11 tmp 4 11 06 usr 0 Nov 4 11 06 var lo release hello c ello release o hello debug hello c hello c ThinkCore IA24
49. 9 ipRoutelfIndex 192 168 27 0 integer 1 180 ipRouteMetric1 192 168 4 0 integer 0 181 ipRouteMetric1 192 168 27 0 integer 0 182 ipRouteMetric2 192 168 4 0 integer 1 183 ipRouteMetric2 192 168 27 0 integer 1 184 ipRouteMetric3 192 168 4 0 integer 1 185 ipRouteMetric3 192 168 27 0 integer 1 186 ipRouteMetric4 192 168 4 0 integer 1 187 ipRouteMetric4 192 168 27 0 integer 1 188 ipRouteNextHop 192 168 4 0 ipaddress 192 168 4 127 189 ipRouteNextHop 192 168 27 0 ipaddress 192 168 27 139 190 ipRouteType 192 168 4 0 integer direct 3 191 ipRouteType 192 168 27 0 integer direct 3 192 ipRouteProto 192 168 4 0 integer local 2 193 ipRouteProto 192 168 27 0 integer local 2 194 ipRouteAge 192 168 4 0 integer 0 195 ipRouteAge 192 168 27 0 integer 0 196 ipRouteMask 192 168 4 0 ipaddress 255 255 255 0 197 ipRouteMask 192 168 27 0 ipaddress 255 255 255 0 198 ipRouteMetric5 192 168 4 0 integer 1 199 ipRouteMetric5 192 168 27 0 integer 1 200 ipRouteInfo 192 168 4 0 object identifier null oid zeroDotZero 201 ipRouteInfo 192 168 27 0 object identifier null oid zeroDotZero 202 ipNetToMedialfIndex 1 192 168 27 139 integer 1 203 ipNetToMedialfIndex 2 192 168 4 127 integer 2 4 21 ThinkCore IA241 240 Linux User s Manual 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
50. ACCEPT image gif image x xbitmap image jpeg image pjpeg application x shockwave flash PATH INFO PATH TRANSLATED SCRIPT_NAME cgi bin test cgi QUERY STRING REMOTE HOST REMOTE_ADDR REMOTE_USER AUTH_TYPE CONTENT_TYPE CONTENT_LENGTH 192 168 13 25 i Done Internet Is ThinkCore IA241 240 Linux User s Manual Managing Communication To open the default CGI test script report page type http 192 168 3 127 cgi bin test cgi in your browser s address box Mozilla Firefox TER File Edit View Go Bookmarks Tools Help gt PN D htps192 168 3 127 eg bintest ogi f Getting Started E Latest Headlines v G CGI 1 0 test script report argc is 0 argv is SERVER_SOFTWARE SERVER NAME 1 0 8 image png q 0 5 CONTENT LENGTH NOTE The CGI function is enabled by default If you want to disable the function modify the file etc apache conf httpd conf When you develop your own CGI application make sure your CGI file is executable 192 168 3 127 PUTTY root Moxa home httpd cgi bin 1s al Cinan ae A oE waor 0 Aug 24 1999 Chaps ae O ooe zoe 0 Now 5 16706 Spe ge il isole HOE 757 Aug 24 1999 root Moxa home httpd cgi bin Install PHP for Apache Web Server This embedded computer supports the PHP option However since the PHP file is 3 MB it is not installed by default To install it yourself first make sure there is enough free space at least 3 M
51. B on your embedded flash ROM Step 1 Check that you have enough free space 192 168 3 127 PuTTY root Moxa bin df h Filesystem Size Used Available Use Mounted on dev mtdblock2 8 0M 6 0M 2 0M 75 dev ram0 499 0k 20 457 0k 4 var dev mtdblock3 6 0M 488 0k 5 5M 8 tmp dev mtdblock3 6 0M 488 0k 5 5 res dev mtdblock3 6 0M 488 0k 5 5M 8 etc tmpfs 30 4M 0 30 4M dev shm root Moxa bin To check that the dev mtdblock3 free space is greater than 3 MB home 4 4 ThinkCore IA241 240 Linux User s Manual Managing Communication Step 2 Type upramdisk to get the free space ram disk to save the package root Moxa bin upramdisk root Moxa bin df h Filesystem Size Used Available Use Mounted on dev mtdblock2 8 0M 6 0M AOM Em J dev ram0 499 0k 18 0k 456 0k 4 var dev mtdblock3 6 0M 488 0k 5 5M 8 tmp dev mt dblock3 6 0M 488 0k 5 5M 8 home dev mtdblock3 6 0M 488 0k 5 5M 8 etc tmpfs 30 4M o 30 4M 0 dev shm dev raml 16 0M 1 08 15 1M 0 var ramdisk root Moxa bin Step 3 Download the PHP package from the CD ROM You can find the package in CD ROM target php php tar gz root Moxa bin cd mnt ramdisk root Moxa mnt ramdisk ftp 192 168 27 130 Connected to 192 162 27 130 220 vsriPd 2 0 1 Names 1192771168 272150 r00B 22 nook 331 Please specify the password Password 230 Login successful Remote system type is UNIX Using binary mode to transfer files
52. Core IA241 240 Linux User s Manual Managing Communication 70 as 72 73 74 T5 76 77 78 79 80 81 82 83 84 85 86 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 ifInUcastPkts 2 counter 28224 ifInUcastPkts 3 counter 0 ifInUcastPkts 4 counter 0 ifInUcastPkts 5 counter 0 ifInUcastPkts 6 counter 0 ifInNUcastPkts 1 counter 0 ifInNUcastPkts 2 counter 0 ifInNUcastPkts 3 counter 0 ifInNUcastPkts 4 counter 0 ifInNUcastPkts 5 counter 0 ifInNUcastPkts 6 counter 0 ifInDiscards 1 counter 0 ifInDiscards 2 counter 0 ifInDiscards 3 counter 0 ifInDiscards 4 counter 0 ifInDiscards 5 counter 0 ifInDiscards 6 counter 0 ifInErrors 1 counter 0 ifInErrors 2 counter 0 ifInErrors 3 counter 0 ifInErrors 4 counter 0 ifInErrors 5 counter 0 ifInErrors 6 counter 0 ifInUnknownProtos 1 counter 0 ifInUnknownProtos 2 counter 0 ifInUnknownProtos 3 counter 0 ifInUnknownProtos 4 counter 0 ifInUnknownProtos 5 counter 0 ifInUnknownProtos 6 counter 0 ifOutOctets 1 counter 51987 ifOutOctets 2 counter 3832 ifOutOctets 3 counter 0 ifOutOctets 4 counter 0 ifOutOctets 5 counter 0 ifOutOctets 6 counter 0 ifOutUcastPkts 1 counter 506 ifOutUcastPkts 2 counter 42 ifOutUcastPkts 3 counter 0 i
53. Here we use Hello c as an example to show you how to compile and run your applications Type the following commands from your PC to copy the files used for this example from the CD to your computer s hard drive cd tmp mkdir example cp r mnt cdrom example tmp example To compile the program go to the Hello subdirectory and issue the following commands cd example hello make You should receive the following response root localhost hello make usr local arm linux bin arm linux gcc o hello release hello c usr local arm linux bin arm linu rip s hello release usr local arm linux bin arm linux gcc ggdb o hello debug hello c root localhost hello _ Next execute hello exe to generate hello release and hello debug which are described below hello release an ARM platform execution file created specifically to run on the IA241 240 hello debug an ARM platform GDB debug server execution file see Chapter 5 for details about 2 13 ThinkCore IA241 240 Linux User s Manual Getting Started the GDB debug tool NOTE Since Moxa s tool chain places a specially designed Makefile in the directory tmp example hello be sure to type the make command from within that directory This special Makefile uses the mxscale gcc compiler to compile the hello c source code for the Xscale environment If you type the make command from within any other directory Linux will use the x86 compiler for example cc or gcc
54. Log in with username and password Refer to the chat man page chat 8 for more information about the chat utility dev Specify the callout serial port 115200 The baudrate debug Log status in syslog crtscts Use hardware flow control between computer and modem at 115200 this is a must modem Indicates that this is a modem device pppd will hang up the phone before and after making the call defaultroute Once the PPP link is established make it the default route if you have a PPP link to the Internet this is probably what you want 192 1 1 17 This is a degenerate case of a general option of the form x x x x y y y y Here x x x x is the local IP address and y y y y is the IP address of the remote end of the PPP connection If this option is not specified or if just one side is specified then x x x x defaults to the IP address associated with the local machine s hostname located in etc hosts and y y y y is determined by the remote machine 4 13 ThinkCore IA241 240 Linux User s Manual Managing Communication Example 2 Connecting to a PPP server over a hard wired link If ausername and password are not required use the following command note that noipdefault is optional pppd connect chat v noipdefault dev ttyM0 19200 crtscts If a username and password is required use the following command note that noipdefault is optional and root is both the username and password pppd con
55. RROR_MODE printf DIO error mode n break case DIO_ERROR_CONTROL printf DIO error control n break case DIO_ERROR_DURATION printf DIO error duratoin n case DIO_ERROR_DURATION_20MS printf DIO error The duratoin is not a multiple of 20 ms n break return 0 6 11 ThinkCore IA241 240 Linux User s Manual Programmer s Guide Example 2 File Name tduration c Description The program indicates to connect DO1 to DI1 and program will change digital output state automatically at the fixed frequency then detect event change of the digital input state is high or low in different duration OK include lt stdio h gt include lt stdlib h gt include lt signal h gt include lt sys time h gt include lt fcntl h gt include lt unistd h gt include lt pthread h gt include lt moxadevice h gt ifdef DEBUG define dbg_printf x printf x else define dbg_printf x endif define DURATION_NUM 7 define TEST_NUM 10 static int ndin_StateChangeDetected ndout_StateChangeDetected static int nDuration static unsigned long duration 2 DURATION_NUM 50 40 35 30 25 20 15 160 140 120 100 80 60 40 RK HK KKK KKK KKK IK KK KKK KK KK KKK 2 212202 2 2 2 212 2 2 2 2 2 21222 2 2 222 22 2 2 2212 22 22 KK KKK When the din state changed form high to low this function will be invoked HK KK KKK IK KK e e He He He He de e 2 2 2 202 2 2 2 KK KK 2 2 2 212 2
56. SUS WL 107g e CNET CWC 854 181D version e Edmiax EW 7108PCg e Amigo AWP 914W e GigaByte GN WMKG e Other brands that use the Ralink RT2500 series chip set To configure the WLAN for IEEE802 11g 1 Unplug the CardBus Wireless LAN card first 2 Use the command vi etc networking interfaces to open the interfaces configuration file with vi editor and then edit the 802 11g network settings circled in red in the following figure 2 7 ThinkCore IA241 240 Linux User s Manual Getting Started cn Telnet 192 address 192 168 3 127 network 192 168 3 0 netmask 255 255 255 8 broadcast 192 168 3 255 H embedded ethernet LAN2 iface ethi inet static address 192 168 4 127 network 192 168 4 0 netmask 255 255 255 8 broadcast 192 168 4 255 Wireless WiFi LAN iface eth2 inet static address 192 168 5 127 network 192 168 5 8 netmask 255 255 255 0 broadcast 192 168 5 255 An example ethernet card setup broadcast and gateway are optional Ht auto eth Ht iface eth inet static etc network interfaces line 24 of 162 147 3 Additional WLAN parameters are contained in the file RT2500STA dat To open the file navigate to the RT2500STA folder and invoke vi or type the command vi etc Wireless RT2500STA RT2500STA dat to edit the file with vi editor Options for the various parameters are listed below the figure mm Terminal Emulator COM1 115200 None 9 1 T100 Profile Edit Por
57. ThinkCore 1A241 240 Linux User s Manual First Edition July 2006 www moxa com product MOXA Systems Co Ltd Tel 886 2 8919 1230 KA OXA Fax 886 2 8919 1231 Web www moxa com MOXA Technical Support Worldwide support moxa com ThinkCore 1A241 240 Linux User s Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement Copyright Notice Copyright 2006 Moxa Systems Co Ltd All rights reserved Reproduction without permission is prohibited Trademarks MOXA is a registered trademark of The Moxa Group 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 Chan
58. a A makefile example is shown below all arm linux gcc o xxxx xxxx c lmoxalib int swtd_open void Description Open the file handle to control the sWatchDog If you want to do something you must first to this And keep the file handle to do other Input None Output The return value is file handle If has some error it will return lt 0 value You can get error from errno int swtd_enable int fd unsigned long time Description Enable application sWatchDog And you must do ack after this process Input int fd the file handle from the swtd_open return value unsigned long time The time you wish to ack sWatchDog periodically You must ack the sWatchDog before timeout If you do not ack the system will be reboot automatically The minimal time is 50 msec the maximum time is 60 seconds The time unit is msec 6 3 ThinkCore IA241 240 Linux User s Manual Programmer s Guide Output OK will be zero The other has some error to get the error code from errno int swtd_disable int fd Description Disable the application to ack sWatchDog And the kernel will be auto ack it User does not to do it at periodic Input int fd the file handle from swtd_open return value Output OK will be zero The other has some error to get error code from errno int swtd_get int fd int mode unsigned long time Description Get current setting values mode 1 for user application enable sWatchDog
59. alPort 192 168 4 127 80 0 0 0 0 0 integer 80 tepConnLocalPort 192 168 27 139 21 0 0 0 0 0 integer 21 tepConnLocalPort 192 168 4 127 21 0 0 0 0 0 integer 21 tepConnLocalPort 192 168 27 139 22 0 0 0 0 0 integer 22 tepConnLocalPort 192 168 4 127 22 0 0 0 0 0 integer 22 tepConnLocalPort 192 168 27 139 23 0 0 0 0 0 integer 23 tepConnLocalPort 192 168 4 127 23 0 0 0 0 0 integer 23 tcpConnRemAddress 192 168 27 139 1024 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemAddress 192 168 4 127 1024 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemAddress 192 168 27 139 1025 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 1025 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 2049 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 2049 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 1026 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemAddress 192 168 4 127 1026 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 9 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 9 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 111 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 111 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemAddress 192 168 27 139 80 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 80 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 21 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 21 0 0 0 0 0 ipaddress 0 0 0 0 tcpC
60. 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 iptables F iptables X iptables Z 4 9 ThinkCore IA241 240 Linux User s Manual Managing Communication Define policy for chain rules Usage iptables t tables P INPUT OUTPUT FORWARD PREROUTING OUTPUT POSTROUTING ACCEPT DROP P Set the policy for the chain to the given target INPUT For packets coming into the IA241 240 OUTPUT For locally generated packets FORWARD For packets routed out through the IA241 240 PREROUTING To alter packets as soon as they come in POSTROUTING To alter packets as they are about to be sent out Examples iptables P INPUT DROP iptables P OUTPUT ACCEPT iptables P FORWARD ACCEPT iptables t nat P PREROUTING ACCEPT iptables t nat P OUTPUT ACCEPT iptables t nat P POSTROUTING ACCEPT In this example the policy accepts outgoing packets and denies incoming packets Append or delete rules Usage ipta
61. annnenennnnnenneennnnenerensnnnereeennneevenenenn 4 1 dE A AE 4 2 BIE 4 2 Web Service Apache artsen anehe allea annali 4 2 Install PHP for Apache Web Server envenvenvenvenveenenvenvervenneeneenvenvencenvensenneenennee 4 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Appendix A Appendix B NVA 4 11 NAT Example sa alia Ln 4 11 Enabling NAT at Bootup ene erneenneenneenneenneenseenseenserneermensvenseennvenne 4 12 Dial up Service PPPB 2242er esate abbi Mets RGA AR ss 4 12 PPPOE 33a Sen Sidra aha neeh Irene 4 15 NES Network Fil System clin aid eure 4 17 Setting up the IA241 240 as an NFS Client i 4 18 Math sense enter E re ah rs fate tease ae eet eee teers 4 18 SNMP naren ie eo eee ce eee 4 18 Open VPN 2222 era nails ep ure 4 26 Development Tool Chains uussusssnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 5 1 Linux Tool Cham cpp Rt taat Lala aLaaa 5 2 Steps for Installing the Linux Tool Chain iii 5 2 Compilation for Applications vene onvernenneeneenvenvenvenvervenneeneenvenvenvenne 5 2 On Line Debugging with GDB i 5 3 Windows Tool Cham ess E A en ees 5 3 System Requirements for Windows Tool Chain enen on ene eneenvenveneen 5 4 Steps for Installing Windows Tool Chain aen oneenvenvenvenneenenneeneenvenveneen 5 4 Usmg the BASH Shell rrela eaea oaee Cesano eor Ea TE ra EAEE Ce AARE aei 5 8 Compilation for Applications
62. ansmitted 3 packets received 0 packet loss round trip min avg max 247 260 268 ms waddington Try typing netstat nr This should show three routes something like this Kernel routing table Destination Gateway Genmask Flags Metric Ref Use iface 129 67 1 165 0 0 0 0 255 255 255 255 UH 0 0 6 4 14 ThinkCore IA241 240 Linux User s Manual Managing Communication ppp 127 0 0 0 0 0 0 0 255 0 0 0 U 0 0 Olo 0 0 0 0 129 67 1 165 0 0 0 0 UG 0 0 6298 pppO If your output looks similar but doesn t have the destination 0 0 0 0 line which refers to the default route used for connections you may have run pppd without the defaultroute option At this point you can try using Telnet ftp or finger bearing in mind that you ll have to use numeric IP addresses unless you ve set up etc resolv conf correctly Setting up a Machine for Incoming PPP Connections PPPoE This first example applies to using a modem and requiring authorization with a username and password pppd dev ttyMO 115200 crtscts modem 192 168 16 1 192 168 16 2 login auth You should also add the following line to the file etc ppp pap secrets un The first star lets everyone login The second star lets every host connect The pair of double quotation marks is to use the file etc passwd to check the password The last star is to let any IP connect The following example does not check the username and password pppd
63. at CD ROM example TCPServer2 tcps2 c Use the following commands to copy the file to a specific directory on your PC We use the direrctory home ia240241 1st_application Note that you need to copy 3 files Makefile tcps2 c tcpsp c_ from the CD ROM to the target directory mount t iso9660 dev cdrom mnt cdrom cp mnt cdrom example TCPServer2 tcps2 c home ia240241 1st_application tcps2 c cp mnt cdrom example TCPServer2 tcpsp c home ia240241 1st_application tcpsp c cp mnt cdrom example TCPServer2 Makefile c home ia240241 1st_application Makefile Type make to compile the example code You will get the following response indicating that the example program was compiled successfully 2 15 ThinkCore IA241 240 Linux User s Manual Getting Started NOTE root serverll home ia240241 1st application root serverll Ist application pwd home ia240241 1st application root serverll Ist application 11 total 20 stee root root 514 Nov 27 11 52 Makefile cippa il Oe Bee dee None 27 MULS ie Si see Al SOE re SAL now 27 leere root serverll lst_application make_ usr local arm linux bin arm linux gcc o tcps2 release tcps2 c usr local arm linux bin arm linux strip s tcps2 release usr local arm linux bin arm linux gcc o tcpsp release tcpsp c usr local arm linux bin arm linux strip s tcpsp release usr local arm linux bin arm linux gcc ggdb o tcps2 debug tcps2 c usr local arm linux bin arm linux gcc ggdb o t
64. ata files Use the af h command to list the size of each memory block and how much free space is available in each block 192 168 3 127 PUTTY root Moxa df h Filesystem Size Used Available Use Mounted on dev mtdblock2 8 0M 6 0M 2 0M ns dev ram0 499 0k 145 5 Ole 458 0k 3 var dev mtdblock3 6 0M 488 0k 5 5M 8 tmp dev mtdblock3 6 0M 488 0k 5 5M 8 home dev mtdblock3 6 0M 488 0k 5 5M 8 etc tmpfs 30 4M 0 30 4M 0 dev shm root Moxa upramdisk root Moxa df h Filesystem Size Used Available Use Mounted on dev mtdblock2 8 0M 6 0M 2 0M 75 dev ram0 499 0k 16 0k 458 0k 3 var 3 2 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux dev mtdblock3 6 0M 488 0k 5 5M tmp dev mtdblock3 6 0M 488 0k 5 5M home dev mtdblock3 6 0M 488 0k Sig Sul etc tmpfs 30 4M 0 30 4M dev shm dev raml 16 0M 10 IRS TEM mnt ramdisk root Moxa cd mnt ramdisk root Moxa mnt ramdisk The following instructions give the steps required to save the firmware file to the A241 240 s RAM disk and how to upgrade the firmware 1 Type the following commands to enable the RAM disk upramdisk cd mnt ramdisk 2 Type the following commands to use the IA241 240 s built in FTP client to transfer the firmware file ia240 x x x frm or ia241 x x x frm from the PC to the IA241 240 mnt ramdisk gt ftp lt destination PC s IP gt Login Name xxxx Login Password xxxx ftp gt bin ftp gt
65. bles t table AI INPUT OUTPUT FORWARD io interface ptcp udp icmp all s IP network sport ports d IP network dport ports j ACCEPT DROP A Append one or more rules to the end of the selected chain I Insert one or more rules in the selected chain as the given rule number i Name of an interface via which a packet is going to be received o Name of an interface via which a packet is going to be sent p The protocol of the rule or of the packet to check s Source address network name host name network IP address or plain IP address sport Source port number d Destination address dport Destination port number j Jump target Specifies the target of the rules i e how to handle matched packets For example ACCEPT the packet DROP the packet or LOG the packet Examples Example 1 Accept all packets from lo interface iptables A INPUT i lo j ACCEPT Example 2 Accept TCP packets from 192 168 0 1 iptables A INPUT i eth0 p tcp s 192 168 0 1 j ACCEPT Example 3 Accept TCP packets from Class C network 192 168 1 0 24 iptables A INPUT i eth0 p tcp s 192 168 1 0 24 j ACCEPT Example 4 Drop TCP packets from 192 168 1 25 iptables A INPUT i eth0 p tcp s 192 168 1 25 j DROP Example 5 Drop TCP packets addressed for port 21 iptables A INPUT i eth0 p tcp dport 21 j DROP Example 6 Accept TCP packets from 192 168 0 24 to IA241 240 s port 137 138 139
66. che conf httpd conf with the default homepage located at home httpd htdocs index html Save your own homepage to the following directory home httpd htdocs Save your CGI page to the following directory 4 2 ThinkCore IA241 240 Linux User s Manual Managing Communication home httpd cgi bin Before you modify the homepage use a browser such as Microsoft Internet Explore or Mozilla Firefox from your PC to test if the Apache Web Server is working Type the LANI IP address in the browser s address box to open the homepage E g if the default IP address is still active type http 192 168 3 127 in the address box ZA http 192 168 13 23 Microsoft Internet Explorer DEAR File Edit View Favorites Tools Help au Q sack is x aA L Search 57 Favorites A ee 33 http 192 168 13 23 It works Internet To open the default CGI page type http 192 168 3 127 cgi bin test cgi in your browser s address box A http 9 2 168 13 23 cgi bi nitest PRE Microsoft Internet Explorer E Q eek Q x a A PL Search Sie Favorites 2 ey BI 33 Address vl Go Links gt http 192 168 13 23 cgi binftest cgi CGI 1 0 test script report argc is 0 argv is SERVER SOFTWARE Apache 2 1 6 Unix mod ssl 2 1 6 OpenSSL 0 9 8 PHP 5 0 5 SERVER NAME 192 168 13 23 GATEWAY INTERFACE CGI 1 1 SERVER PROTOCOL HTTP 1 1 SERVER PORT 80 REQUEST METHOD GET HTTP_
67. clude four RS 232 422 485 serial ports dual 10 100 Mbps Ethernet ports PCMCIA SD socket for storage expansion and USB 2 0 host making IA241 240 ideal for your embedded applications The following topics are covered in this chapter A Overview A Software Architecture gt Journaling Flash File System JFFS2 gt Software Package ThinkCore IA241 240 Linux User s Manual Introduction Overview The ThinkCore IA241 IA240 embedded computers which are designed for industrial automation applications feature 4 RS 232 422 485 serial ports dual Ethernet ports 4 digital input channels 4 digital output channels and a PCMCIA cardbus and SD socket The computers come in a compact IP30 protected industrial strength rugged chassis The DIN Rail vertical form factor makes it easy to install the IA241 240 embedded computers in small cabinets This space saving feature also facilitates easy wiring and makes the IA241 240 the best choice as front end embedded controllers for industrial applications In addition to the standard models the ThinkCore IA241 1A240 also come in wide temperature models The IA241 T and IA240 T have an operating temperature range of 40 to 75 C and are appropriate for harsh industrial automation environments The industrial mechanism of the ThinkCore IA241 1A240 design provides robust reliable computing Due to the RISC based architecture the ThinkCore IA241 1A240 will not generate a lot of heat when in use The
68. cpConnRemPort 192 168 4 127 80 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 27 139 21 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 4 127 21 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 27 139 22 0 0 0 0 0 integer 0 tepConnRemPort 192 168 4 127 22 0 0 0 0 0 integer 0 tepConnRemPort 192 168 27 139 23 0 0 0 0 0 integer 0 tepConnRemPort 192 168 4 127 23 0 0 0 0 0 integer 0 tcpInErrs 0 counter 6 tcpOutRsts 0 counter 37224 udpInDatagrams 0 counter 434 udpNoPorts 0 counter 8 udpInErrors 0 counter 0 udpOutDatagrams 0 counter 903 udpLocalAddress 192 168 27 139 1024 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 1024 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 2049 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 2049 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 1026 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 1026 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 1027 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 1027 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 9 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 9 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 161 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 161 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 4800 ipaddress 192 168 27 139 udpLocalAddress 192 168 4 127 4800 ipaddress 192 168 4 127 udpLocalAddress 192 168 27 139 854 ipaddress 192 168 27
69. cpsp debug tcpsp c root serverll lst_application 11 total 92 See HOO POOE 514 Nov 27 52 Makefile CEWEKE TIONG Voor areas Mo 2 203 ZEWXTXr x root root 4996 Nov 27 03 Ln root root 4554 Nov 27 B tEps2 c SEWXE XE X root root 26823 Nov 27 2208 WERTE KE X Ttoot root 3296 Now 27 LOD ciale 895 LEO root serverll lst_application Two executable files teps2 release and tcps2 debug are created tcps2 release an ARM platform execution file created specifically to run on the IA 241 240 tcps2 debug an ARM platform GDB debug server execution file see Chapter 5 for details about the GDB debug tool If you get an error message at this point it could be because you neglected to put tcps2 c and tcpsp c in the same directory The example Makefile we provide is set up to compile both tcps2 and tcpsp into the same project Makefile Alternatively you could modify the Makefile to suit your particular requirements Uploading and Running the tcps2 release Program Use the following commands to use FTP to upload teps2 release to the IA241 240 1 FromthePC type ftp 192 168 3 127 2 Next use the bin command to set the transfer mode to Binary and the put command to initiate the file transfer ftp gt bin ftp gt put tcps2 release root serverll home ia240241 1st application rootkdserverlt dst _ecpelication Tee 132 168 3 27 Connected to 192 168 3 127 220 Moxa FTP server Version wu 2 6 1 2 Mon Nov 24 1
70. d etc apache 695 nobody SOLZ usr bin httpd k start d etc apache 696 nobody SOLZ S usr bin httpd k start d etc apache S S S S S S Ner N N UU hw ENE N 697 nobody 3012 usr bin httpd k start d etc apache 698 nobody 2012 usr bin httpd k start d etc apache 201 root J52 bin reportip 714 root TLG bash WANG setes 436 bin telnetd ZII eo 1164 bash 728 root 1264 S tcps2 release 729 root LES OS AE root Moxa NOTE Use the kill 9 command for PID 187 to terminate this program kill 9 187 Testing Procedure Summary Compile teps2 c make Upload and run teps2 release in the background tcps2 release amp Check that the process is running jobs or fps ef Use a serial cable to connect PC1 to the IA241 240 s serial port 1 Use an Ethernet cable to connect PC2 to the IA241 240 On PC1 If running Windows use HyperTerminal 38400 n 8 1 to open COMn On PC2 Type telnet 192 168 3 127 4001 On PCI Type some text on the keyboard and then press Enter On PC2 The text you typed on PCI will appear on PC2 s screen San A De 2 18 ThinkCore IA241 240 Linux User s Manual Getting Started NOTE The testing environment is illustrated in the following figure However note that there are limitations to the example program tcps2 c PC 1 PC 2 tcps2 c Serial Rx Buffer LAN Rx Buffer The tcps2 c application is a simple example designed to give users a basic understan
71. ding of the concepts involved in combining Ethernet communication and serial port communication However the example program has some limitations that make it unsuitable for real life applications 1 The serial port is in canonical mode and block mode making it impossible to send data from the Ethernet side to the serial side i e from PC 2 to PC 1 in the above example 2 The Ethernet side will not accept multiple connections 2 19 3 Managing Embedded Linux This chapter includes information about version control deployment updates and peripherals The information in this chapter will be particularly useful when you need to run the same application on several IA241 240 units The following topics are covered in this chapter 0 System Version Information 0 System Image Backup gt Upgrating the Firmware gt Loading Factory Defaults gt Backing Up the User Directory gt Deploying the User Directory to Additional IA241 240 Units Enabling and Disabling Daemons Setting the Run Level Adjusting the System Time gt Setting the Time Manually gt NTP Client gt Updating the Time Automatically A Cron daemon to Execute Scheduled Commands DOO ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux System Version Information To determine the hardware capability of your A241 240 and what kind of software functions are supported check the version numbers of your I A241 240 s hardware
72. e printf n else if i 3 set low to high event printf Please keyin the DIN number scanf d amp i printf Please input the DIN duration this minimun value must be over d MIN_DURATION scanf lu amp duration retval set din event i lowtohighevent DIN EVENT LOW TO HIGH duration else if i 4 clear event printf Please keyin the DIN number scanf d amp i retval set_din_event i NULL DIN_EVENT_CLEAR 0 else if i 5 set high data printf Please keyin the DOUT number scanf d amp i retval set dout state i 1 else if i 6 set low data printf Please keyin the DOUT number scanf d amp i retval set dout state i 0 else if i 7 quit break else if i 8 show event and duration printf Event n for j 0 j lt MAX DOUT PORT j retval get din event j amp i amp duration switch i case DIN EVENT HIGH TO LOW printf htl lu duration break case DIN EVENT LOW TO HIGH printf lth lu duration break case DIN EVENT CLEAR printf clr lu duration break default printf err break printf n else printf Select error please select again n switch retval case DIO_ERROR_PORT printf DIO error port n break case DIO_E
73. e or online over the network Modifying Network Settings with the Serial Console In this section we use the serial console to configure the network settings of the target computer 1 Follow the instructions given in a previous section to access the Console Utility of the target computer via the serial console port and then type cd etc network to change directories Ei PComm Terminal Emulator COM1 115200 None 8 1 T100 J ol xj Profile Edit PortManager Window Help a IA elles Size En COM1 115200 Nane 2 1 vrinn m m IT Type vi interfaces to edit the network configuration file with vi editor You can configure the Ethernet ports of the IA241 240 for static or dynamic DHCP IP addresses Static IP addresses As shown below 4 network addresses must be modified address network netmask and broadcast The default IP addresses are 192 168 3 127 for LAN1 and 192 168 4 127 for LAN2 with default netmask of 255 255 255 0 We always want the loopback interface auto eth ethl lo iface lo inet loopback embedded ethernet LANI iface eth0 inet static address 192 168 3 127 network 192 168 3 0 netmask 299 299 299 0 broadcast 192 168 3 255 embedded ethernet LAN2 iface ethl inet static address 192 168 4 127 network 192 168 4 0 netmask 299 299 299 0 broadcast 192 168 4 255 802 119 Gigabyte Cardbus wireless card iface eth2 inet static address 192 168 5 127 network 192 168 5 0
74. e process of performing cross platform development and debugging are also introduced For clarity the IA241 240 embedded computer is called a target computer The following functions are covered in this chapter A Linux Tool Chain gt gt gt Steps for Installing the Linux Tool Chain Compilation for Applications On Line Debugging with GDB A Windows Tool Chain gt VV VV System Requirements for Windows Tool Chain Steps for Installing Windows Tool Chain Using the BASH Shell Compilation for Applications On Line Debugging with Insight ThinkCore IA241 240 Linux User s Manual Development Tool Chains Linux Tool Chain The Linux tool chain contains a suite of cross compilers and other tools as well as the libraries and header files that are necessary to compile your applications These tool chain components must be installed in your host computer PC running Linux We have confirmed that the following Linux distributions can be used to install the tool chain Fefora core 1 amp 2 Steps for Installing the Linux Tool Chain The tool chain needs about 485 MB of hard disk space To install it follow the steps 1 Insert the package CD into your PC and then issue the following commands mount dev cdrom mnt cdrom sh mnt cdrom tool chain linux install sh 2 Wait for the installation process to complete This should take a few minutes 3 Add the directory usr local arm linux bin to your path You can do this for
75. egory name highest and package name lowest Click the plus sign next to a category name to open the category and see the packages within that category Base Category List all packages that will be installed by default along with any dependencies If you view the Base column for the Base category you should see every package selected for installation Packages In the packages listing field package names are arranged by Category Full Partial according to the View by button When viewing by Category click the plus sign to open or close the packages under that category This is the same list you see in flat form when viewing by Full Partial By default named packages are installed Install If the package was not previously installed select this option to install the package now Reinstall If the package was previously installed select this option to install it again This will overwrite the previous installation Uninstall If the package was previously installed select this option if you do NOT want to make any changes e Skip Ignores a package entirely regardless of whether it was previously installed or uninstalled Packages marked Skip are omitted from the Partial display 5 6 ThinkCore IA241 240 Linux User s Manual Development Tool Chains 5 The Progress window opens The installer will install all packages that were selected This process could take from 5 to 30 minutes depending on the speed of your
76. elnetd ftp stream tcp nowait root bin ftpd 1 Disabling the Telnet ftp server Disable the daemon by typing in front of the first character of the row to comment out the line The IA241 240 supports DNS client but not DNS server To set up DNS client you need to edit three configuration files etc hosts etc resolv conf and etc nsswitch conf etc hosts This is the first file that the Linux system reads to resolve the host name and IP address etc resolv conf This is the most important file that you need to edit when using DNS for the other programs For example before you use ntpdate time nist goc to update the system time you will need to add the DNS server address to the file Ask your network administrator which DNS server address you should use The DNS server s IP address is specified with the nameserver command For example add the following line to etc resolv conf if the DNS server s IP address is 168 95 1 1 nameserver 168 95 1 1 10 120 53 100 PuTTY r root Moxa etc cat resolv conf resolv conf This file is the resolver configuration file See resolver 5 nameserver 192 168 1 16 nameserver 168 95 1 1 nameserver 140 115 1 31 nameserver 140 115 236 10 root Moxa etc ete nsswitch conf This file defines the sequence to resolve the IP address by using etc hosts file or etc resolv conf Web Service Apache The Apache web server s main configuration file is etc apa
77. er 0 ifSpeed 1 gauge 100000000 ifSpeed 2 gauge 100000000 ifSpeed 3 gauge 38400 ifSpeed 4 gauge 38400 ifSpeed 5 gauge 38400 ifSpeed 6 gauge 38400 ifPhysAddress 1 octet string 00 90 E8 10 02 41 hex ifPhysAddress 2 octet string 00 90 E8 10 02 40 hex ifPhysAddress 3 octet string 00 hex ifPhysAddress 4 octet string 00 hex ifPhysAddress 5 octet string 00 hex ifPhysAddress 6 octet string 00 hex ifAdminStatus 1 integer up 1 ifAdminStatus 2 integer up 1 ifAdminStatus 3 integer down 2 ifAdminStatus 4 integer down 2 ifAdminStatus 5 integer down 2 ifAdminStatus 6 integer down 2 ifOperStatus 1 integer up 1 ifOperStatus 2 integer up 1 ifOperStatus 3 integer down 2 ifOperStatus 4 integer down 2 ifOperStatus 5 integer down 2 ifOperStatus 6 integer down 2 ifLastChange 1 timeticks 0 days 00h 00m 00s 00th 0 ifLastChange 2 timeticks 0 days 00h 00m 00s 00th 0 ifLastChange 3 timeticks 0 days 00h 00m 00s 00th 0 ifLastChange 4 timeticks 0 days 00h 00m 00s 00th 0 ifLastChange 5 timeticks 0 days 00h 00m 00s 00th 0 ifLastChange 6 timeticks 0 days 00h 00m 00s 00th 0 ifInOctets 1 counter 25511 ifInOctets 2 counter 2240203 ifInOctets 3 counter 0 ifInOctets 4 counter 0 ifInOctets 5 counter 0 ifInOctets 6 counter 0 ifInUcastPkts 1 counter 254 4 19 Think
78. ess 1 192 168 27 139 ipaddress 192 168 27 139 146 atNetAddress 2 192 168 4 127 ipaddress 192 168 4 127 147 ipForwarding 0 integer forwarding 1 148 ipDefaultTTL 0 integer 64 149 ipInReceives 0 counter 1289 150 ipInHdrErrors 0 counter 0 151 ipInAddrErrors 0 counter 0 152 ipForwDatagrams 0 counter 9 153 ipInUnknownProtos 0 counter 0 154 ipInDiscards 0 counter 0 155 ipInDelivers 0 counter 1160 156 ipOutRequests 0 counter 858 157 ipOutDiscards 0 counter 0 158 ipOutNoRoutes 0 counter 0 159 ipReasmTimeout 0 integer 0 160 ipReasmReqds 0 counter 0 161 ipReasmOKs 0 counter 0 162 ipReasmFails 0 counter 0 163 ipFragOKs 0 counter 0 164 ipFragFails 0 counter 0 165 ipFragCreates 0 counter 0 166 ipAdEntAddr 192 168 27 139 ipaddress 192 168 27 139 167 ipAdEntAddr 192 168 4 127 ipaddress 192 168 4 127 168 ipAdEntIfIndex 192 168 27 139 integer 1 169 ipAdEntIfIndex 192 168 4 127 integer 2 170 ipAdEntNetMask 192 168 27 139 ipaddress 255 255 255 0 171 ipAdEntNetMask 192 168 4 127 ipaddress 255 255 255 0 172 ipAdEntBcastAddr 192 168 27 139 integer 1 173 ipAdEntBcastAddr 192 168 4 127 integer 1 174 ipAdEntReasmMaxSize 192 168 27 139 integer 65535 175 ipAdEntReasmMaxSize 192 168 4 127 integer 65535 176 ipRouteDest 192 168 4 0 ipaddress 192 168 4 0 177 ipRouteDest 192 168 27 0 ipaddress 192 168 27 0 178 ipRoutelfIndex 192 168 4 0 integer 2 17
79. fOutUcastPkts 4 counter 0 ifOutUcastPkts 5 counter 0 ifOutUcastPkts 6 counter 0 ifOutNUcastPkts 1 counter 0 ifOutNUcastPkts 2 counter 0 ifOutNUcastPkts 3 counter 0 ifOutNUcastPkts 4 counter 0 ifOutNUcastPkts 5 counter 0 ifOutNUcastPkts 6 counter 0 ifOutDiscards 1 counter 0 ifOutDiscards 2 counter 0 ifOutDiscards 3 counter 0 ifOutDiscards 4 counter 0 ifOutDiscards 5 counter 0 ifOutDiscards 6 counter 0 ifOutErrors 1 counter 0 ifOutErrors 2 counter 0 ifOutErrors 3 counter 0 ifOutErrors 4 counter 0 ifOutErrors 5 counter 0 ifOutErrors 6 counter 0 ifOutQLen 1 gauge 1000 ifOutQLen 2 gauge 1000 ifOutQLen 3 gauge 0 ifOutQLen 4 gauge 0 ifOutQLen 5 gauge 0 ifOutQLen 6 gauge 0 ifSpecific 1 object identifier null oid zeroDotZero ifSpecific 2 object identifier null oid zeroDotZero ThinkCore IA241 240 Linux User s Manual Managing Communication 137 ifSpecific 3 object identifier null oid zeroDotZero 138 ifSpecific 4 object identifier null oid zeroDotZero 139 ifSpecific 5 object identifier null oid zeroDotZero 140 ifSpecific 6 object identifier null oid zeroDotZero 141 atlfIndex 1 192 168 27 139 integer 1 142 atlfIndex 2 192 168 4 127 integer 2 143 atPhysAddress 1 192 168 27 139 octet string 00 90 E8 10 02 41 hex 144 atPhysAddress 2 192 168 4 127 octet string 00 90 E8 10 02 40 hex 145 atNetAddr
80. ges are periodically made to the information herein to correct such errors and these changes are incorporated into new editions of the publication Chapter 1 Chapter 2 Chapter 3 Chapter 4 Table of Contents INTrodUEClionis Rada 1 1 Overview assiale LA ALU a a Aci 1 2 Software Architecture hi annienta 1 2 Journaling Flash File System JFFS2 i 1 3 Software Packages pira least Linea 1 4 Getting Statied o olbia eend 2 1 Powering onthe TA241 240 1a Gli aa 2 2 Connecting the TA241 240 tora PC usino deerne alano 2 2 Serial ComsOle nn sar eternet enter ehehe rin ee ii 2 2 Telnet Consoles scvsccsistessiesssvectsestheshscusucaaet stussycesshessvessbestacseae fell regnen 2 3 SSH Console aa AIA LG Pith ete Dies A ee de aandeden rekest 2 4 Configuring the Ethernet Interface ii 2 6 Modifying Network Settings with the Serial Console ii 2 6 Modifying Network Settings over the Network i 2 7 Configuring the WLAN via the PCMCIA Interface i 2 7 IEEB802 118 4 222 252 82258 isses Hass ir ale 2 7 SD Socket and USB for Storage Expansion annen venvenvenvenveenernveneenvenvenvenneenenneene 2 11 Test Program Developing Hello C anneer e 2 12 Installing the Tool Chain Linux unsere enne enneenneenneenseense onse eneesmensvenseesnensen 2 12 Checking the Flash Memory Space annen annen enne enernvenvencenvervenneeneenenneeneen 2 13 Com
81. gs with the Serial Console gt Modifying Network Settings over the Network O Configuring the WLAN via the PCMCIA Interface gt JEEE802 11 O SD Socket and USB for Storage Expansion dA Test Program Developing Hello c gt Installing the Tool Chain Linux gt Checking the Flash Memory Space gt Compiling Hello c gt Uploading and Running the Hello Program O Developing Your First Application gt Testing Environment gt Compiling tcps2 c gt Uploading and Running the tcps2 release Program gt Testing Procedure Summary ThinkCore IA241 240 Linux User s Manual Getting Started Powering on the IA241 240 Connect the SG wire to the shielded contact located in the upper left corner of the IA241 240 and then power on the computer by connecting it to the power adaptor It takes about 30 to 60 seconds for the system to boot up Once the system is ready the Ready LED will light up NOTE After connecting the A241 240 to the power supply it will take about 30 to 60 seconds for the operating system to boot up The green Ready LED will not turn on until the operating system is ready N ATTENTION This product is intended to be supplied by a Listed Power Unit and output marked with LPS and rated 12 43 VDC 580 mA minimum requirements Connecting the IA241 240 to a PC There are two ways to connect the IA241 240 to a PC through the Serial Console port or via Telnet over the network Serial Console The
82. hardware and software features except for the PCMCIA CardBus provided by the ThinkCore IA241 LX Software Architecture The Linux operating system that is pre installed in the A241 240 follows the standard Linux architecture making it easy to accept programs that follow the POSIX standard Program porting is done with the GNU Tool Chain provided by Moxa In addition to Standard POSIX APIs device drivers for the USB storage buzzer and Network controls and UART are also included in the Linux OS ThinkCore IA241 240 Linux User s Manual Introduction AP User Application Daemon Apache Telnet FTPD SNMP API Application Interface POSIX Socket Secure Socket Protocol Stack TCP IP UDP CMP ARP HTTP SNMP SMTP Device File Driver PCMCIA CF WLAN USB UART RTC LCM Keypad System Microkernel Memory control Schedule Process Hardware RS 232 422 485 Ethernet PCMCIA CompactFlash USB The IA241 240 s built in Flash ROM is partitioned into Boot Loader Linux Kernel Root File System and User directory partitions In order to prevent user applications from crashing the Root File System the 1A241 240 uses a specially designed Root File System with Protected Configuration for emergency use This Root File System comes with serial and Ethernet communication capability for users to load the Factory Default Image file The user directory saves the user s settings and application To improve system reliability the A241
83. hdog swtdfd swtd_open if swtdfd lt 0 printf Open sWatchDog device fail n exit 1 if sonpid fork 0 do_swatchdog do user application main function end user application kill sonpid SIGUSR1 swtd_close swtdfd exit 1 The makefile is shown below all arm linux gcc o xxxx xxxx c lmoxalib The normal tty device node is located at dev ttyMO ttyM3 The IA241 240 supports Linux standard termios control The Moxa UART Device API allows you to configure ttyMO to ttyM3 as RS 232 RS 422 4 wire RS 485 or 2 wire RS 485 IA241 240 supports RS 232 RS 422 2 wire RS 485 and 4 wire RS485 You must include lt moxadevice h gt define RS232_MODE 0 define RS485_2WIRE_MODE 1 define RS422_MODE 2 define RS485_4WIRE_MODE 3 6 6 ThinkCore IA241 240 Linux User s Manual Programmer s Guide 1 Function MOXA_SET_OP_MODE int ioctl fd MOXA SET OP MODE amp mode Description Set the interface mode Argument 3 mode will pass to the UART device driver and change it 2 Function MOXA_GET_OP_MODE int ioctl fd MOXA_GET_OP_MODE amp mode Description Get the interface mode Argument 3 mode will return the interface mode There are two Moxa private ioctl commands for setting up special baudrates Function MOXA_ SET SPECIAL BAUD RATE Function MOXA_GET SPECIAL BAUD RATE If you use this ioctl to set a special baudrate the termios cflag will be B4000000 in
84. icmpOutAddrMaskReps 0 counter 0 tcpRtoAlgorithm 0 integer other 1 tcpRtoMin 0 integer 200 tcpRtoMax 0 integer 120000 tcpMaxConn 0 integer 1 tepActiveOpens 0 counter 0 tcpPassiveOpens 0 counter 0 tcpAttemptFails 0 counter 0 tcpEstabResets 0 counter 0 tcpCurrEstab 0 gauge 0 tcpInSegs 0 counter 0 tcpOutSegs 0 counter 0 tcpRetransSegs 0 counter 0 tcpConnState 192 168 27 139 1024 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 1024 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 1025 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 1025 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 2049 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 2049 0 0 0 0 0 integer listen 2 tepConnState 192 168 27 139 1026 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 1026 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 9 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 9 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 111 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 111 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 80 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 80 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 21 0 0 0 0 0 integer listen 2 tcpConnState 192 168 4 127 21 0 0 0 0 0 integer listen 2 tcpConnState 192 168 27 139 22 0 0 0 0 0 integer listen 2 tepConnState 192 168 4 127
85. iptables A INPUT i eth0 p tcp s 192 168 0 24 dport 137 139 j ACCEPT Example 7 Log TCP packets that visit A241 240 s port 25 4 10 ThinkCore IA241 240 Linux User s Manual Managing Communication NAT NOTE iptables A INPUT i eth0 p tcp dport 25 j LOG Example 8 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 NOTE In Example 8 remember to issue the command modprobe ipt_mac first to load module ipt_mac NAT Network Address Translation protocol translates IP addresses used on one network to different IP addresses used on another network One network is designated the inside network and the other is the outside network Typically the IA241 240 connects several devices on a network and maps local inside network addresses to one or more global outside IP addresses and un maps the global IP addresses on incoming packets back into local IP addresses Click on the following link for more information about iptables and NAT http www netfilter org documentation HOWTO NAT HOWTO html NAT Example The IP address of LANI is changed to 192 168 3 127 you will need to load the module ipt MASQUERADE IP Netmask 192 168 3 100 24 Gateway 192 168 3 127 PC1 Linux or Windows LANI 192 168 3 127 24 Embedded Computer LAN2 192 168 4 127 24 PC2 Linux or Windows IP Netmask 192 168 4 100 24 Gateway
86. kept by the IA241 240 s hardware Use the date command to query the current system time or set a new system time Use hwclock to query the current RTC time or set a new RTC time Use the following command to query the system time date Use the following command to query the RTC time hwclock Use the following command to set the system time date MMDDhhmmYYYY MM Month DD Date hhmm hour and minute YYYY Year Use the following command to set the RTC time hwclock w Write current system time to RTC The following figure illustrates how to update thesystem time and set the RTC time 192 168 3 127 PuTTY _ rr 0 op me e J J 0 0 0 p0l T v0 0u0_ur _ _ Y 1DZR Rp0oRoa0a0OoH OuH _ oan n0u_m0a0q qO0oOomNn 0 R RAo0 R RwRRE root Moxa date Wisa pie 23 ZEN csr 2000 root Moxa hwclock Wega Wid 25 25 S0235 2000 Ss LE seco root Moxa date 120910002004 iow Dee 8 AOS SOO Csa Zoro root Moxa hwclock w root Moxa date hwclock avo Dee 8 Od CST 2004 Thu Dec 9 10 01 08 2004 0 933547 seconds root Moxa NTP Client The IA241 240 has a built in NTP Network Time Protocol client that is used to initialize a time request to a remote NTP server Use ntpdate lt this client utility gt to update the system time ntpdate time stdtime gov tw hwclock w 3 8 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux Visit http www ntp org for mo
87. l http nfs sourceforge net nfs howto server html Setting up the IA241 240 as an NFS Client Mail NOTE SNMP The following procedure is used to mount a remote NFS Server 1 To know the NFS Server s shared directory 2 Establish a mount point on the NFS Client site 3 Mount the remote directory to a local directory mkdir p home nfs public mount t nfs NFS_Server IP directory mount point Example mount t nfs 192 168 3 100 home public home nfs public smtpclient is a minimal SMTP client that takes an email message body and passes it on to an SMTP server It is suitable for applications that use email to send alert messages or important logs to a specific user Click on the following link for more information about smtpclient http www engelschall com sw smtpclient To send an email message use the smtpclient utility which uses SMTP protocol Type smtpclient help to see the help message Example smtpclient s test f sender company com S IP address receiver company com lt mail body message s The mail subject Sender s mail address S SMTP server IP address The last mail address receiver company com is the receiver s e mail address mail body message is the mail content The last line of the body of the message should contain ONLY the period character You will need to add your hostname to the file etc hosts The IA241 240 has built in SNMP
88. l Managing Communication 5 On each OpenVPN machine check the routing table by typing the command route Destination Gateway Genmsk Flags Metric Ref Use Iface 192 168 4 0 di 255 255 255 0 U 0 0 0 brO 192 168 2 0 255 255 255 0 U 0 0 0 brO 192 168 8 0 255 255 255 0 U 0 0 0 eth0 Interface eth1 is connected to the bridging interface br0 to which device tap0 also connects whereas the virtual device tun sits on top of tap0 This ensures that all traffic from internal networks connected to interface eth1 that come to this bridge write to the TAP TUN device that the OpenVPN program monitors Once the OpenVPN program detects traffic on the virtual device it sends the traffic to its peer To create an indirect connection to Host B from Host A you need to add the following routing item route add net 192 168 4 0 netmask 255 255 255 0 dev eth0 To create an indirect connection to Host A from Host B you need to add the following routing item route add net 192 168 2 0 netmask 255 255 255 0 dev eth0 Now ping Host B from Host A by typing ping 192 168 4 174 A successful ping indicates that you have created a VPN system that only allows authorized users from one internal network to access users at the remote site For this system all data is transmitted by UDP packets on port 5000 between OpenVPN peers To shut down OpenVPN programs type the command killall TERM openvpn Setup 2
89. llows cd etc rc d vi rc local root Moxa cd etc rc d root Moxa ete re d vi rc local Next use vi to open your application program We use the example program tcps2 release and put it to run in the background kin sh Add you want to run daemon root tcps2 release amp The enabled daemons will be available after you reboot the system root Moxa ps ef VmSize Stat Command PDRE root root root root TOOR TOOL FODE DIS SWN SW lt SW lt SW lt SW SW ipa ksofetead 0 events 0 khelper kblockd 0 khubd pdflush 3 6 ThinkCore IA241 240 Linux User s Manual Managing Embedded Linux 25 moe pdf lush 2H LOO aio 0 26 root kswapd0 604 root mtdblockd 609 root cecardd Galil TOGE pecarad 625 root GlEss28gedEmed3 673 root bin inetd 674 root root tcps2 release 619 root usr bin httpd k start d etc apache 682 bin bin portmap 685 root bin sh login 690 root bin snmpd 694 nobody usr bin httpd k start d etc apache 695 nobody usr bin httpd k start d etc apache 696 nobody usr bin httpd k start d etc apache 697 nobody usr bin httpd k start d etc apache 698 nobody usr bin httpd k start d etc apache OL seer bin reportip 714 root bash VAS RODE bin telnetd 121 TOOTE bash 7323 KOOLE ps ef root Moxa Setting the Run Level In this section we outline the steps you should take to set the Linux run level and execute
90. n 10 18 12 war System Requirements for Windows Tool Chain Your Windows OS must satisfy the following requirements AnNRWN gt Windows 2000 workstation or Windows XP professional Minimum of 500 MB of free hard drive space on a single drive CD ROM or equivalent Ethernet capabilty to upload application programs to the target computer Being able to log on as an administrator Windows username without spaces You will be using a BASH shell window to enter commands In addition for editing text files such as configuration files you should use vi editor Do NOT use WordPad which could cause problems when the files are transferred to a bona fide Linux environment Steps for Installing Windows Tool Chain 1 Double click on the tool chain file to start the installtion process and choose Next 2 Moxa Linux Tool Chain Setup Welcome Moxa ThinkCore IA Linux Tool Chain V1 0 Thank you for selecting Moxa Linux Tool Chain Moxa Linux Tool Chain Copyright 2006 Moxa Systems Co Ltd http www moxa com 5 4 ThinkCore IA241 240 Linux User s Manual Development Tool Chains 2 Browse to the directory where you prefer to set the root directory for the tool chain Options of All Users and Unix are recommended Then choose Next 2 Moxa Linux Tool Chain Setup Choose Installation Directory EIER Select Root Install Directory Select the directory where you want to install Also choose a few installation parameters
91. nect chat v user root password root noipdefault dev ttyM0 19200 crtscts How to check the connection Once you ve set up a PPP connection there are some steps you can take to test the connection First type sbin ifconfig The folder ifconfig may be located elsewhere depending on your distribution You should be able to see all the network interfaces that are UP pppO should be one of them and you should recognize the first IP address as your own and the P t P address or point to point address the address of your server Here s what it looks like on one machine lo Link encap Local Loopback inet addr 127 0 0 1 Beast 127 255 255 255 Mask 255 0 0 0 UP LOOPBACK RUNNING MTU 2000 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 pppO Link encap Point to Point Protocol inet addr 192 76 32 3 P t P 129 67 1 165 Mask 255 255 255 0 UP POINTOPOINT RUNNING MTU 1500 Metric 1 RX packets 33 errors 0 dropped 0 overrun 0 TX packets 42 errors 0 dropped 0 overrun 0 Now type ping z z z z where z z 7 z is the address of your name server This should work Here s what the response could look like waddington p ping 129 67 1 165 PING 129 67 1 165 129 67 1 165 56 data bytes 64 bytes from 129 67 1 165 icmp_seq 0 ttl 225 time 268 ms 64 bytes from 129 67 1 165 icmp_seq 1 ttl 225 time 247 ms 64 bytes from 129 67 1 165 icmp_seq 2 ttl 225 time 266 ms AC 129 67 1 165 ping statistics 3 packets tr
92. need to do ack 0 for user application disable sWatchdog does not need to do ack time The time period to ack sWatchDog Input int fd the file handle from swtd_open return value int mode the function will be return the status enable or disable user application need to do ack unsigned long time the function will return the current time period Output OK will be zero The other has some error to get error code from errno int swtd_ack int fd Description Acknowledge sWatchDog When the user application enable sWatchDog It need to call this function periodically with user predefined time in the application program Input int fd the file handle from swtd_open return value Output OK will be zero The other has some error to get error code from errno int swtd_close int fd Description Close the file handle Input int fd the file handle from swtd_open return value 6 4 ThinkCore IA241 240 Linux User s Manual Programmer s Guide Output OK will be zero The other has some error to get error code from errno 4 Special Note When you kill the application with 9 or kill without option or Ctrl c the kernel will change to auto ack the sWatchDog When your application enables the sWatchDog and does not ack your application may have a logical error or your application has made a core dump The kernel will not change to auto ack This can cause a serious p
93. ng 192 168 4 99 2000 192 168 4 99 is the machine s IP address and 2000 is the port number You can now begin debugging in the host environment using the interface provided by DDD 5 Set a break point on main by double clicking or by entering b main on the command line Click the cont button Windows Tool Chain The Windows tool chain is a cross development environment that simulates the Linux root file system allowing users to develop applications in a Windows PC environment The following figure shows an example of what the tool chain looks like Your group is currently mkpasswd This indicates that The etc passwd and possibly etc group files should be rebuil See the man pages for mkpasswd and mkgroup then for example ru mkpasswd 1 d gt etc passwd mkpasswd 1 d gt etc group Note that the d switch is necessary for domain users la cal total 9 EWE stephen_ mkpasswd drwxr gt stephen_ mkpasswd drwxr xr x 2 stephen_ mkpasswd drwxr xr x stephen_ mkpasswd 5 3 ThinkCore IA241 240 Linux User s Manual Development Tool Chains SEE drwxr xr x Bewe sr x Ei drwxr xr x drwxr xr x1 drwxr xr x 6 Al 5 il 1 2 4 Sa stephen_ mkpasswd lt Jan 10 22702 ington co stephen_ mkpasswd Jan LO 19 48 Lis stephen_ mkpasswd Sr Gets AD 2203 MOE lorie stephen_ mkpasswd Jan 10 22 02 moxa 1co stephen_ mkpasswd 0 Jan 1 9 48 tmp stephen_ mkpasswd 0 Jan 10 19 45 usr stephen_ mkpasswd O va
94. nge mode of fixtime sh chmod 755 fixtime sh Modify etc cron d crontab file to run fixtime sh at 8 00 every day Add the following line to the end of crontab 8 root home fixtime sh Enable the cron daemon manually etc init d cron start Enable cron when the system boots up Add the following line in the file etc init d rc local etc init d cron start 3 10 A Managing Communications In this chapter we explain how to configure the A241 240 s various communication functions The following topics are covered in this chapter DOOD D Ooo Ooo Telnet FTP DNS Web Service Apache Install PHP for Apache Web Service IPTABLES NAT gt NAT Example gt Enabling NAT at Bootup Dial up Service PPP PPPoE NFS Network File System gt Setting up the IA241 240 as an NFS Client Mail SNMP OpenVPN ThinkCore IA241 240 Linux User s Manual Managing Communication Telnet FTP DNS In addition to supporting Telnet client server and FTP client server the IA241 240 also supports SSH and sftp client server To enable or disable the Telnet ftp server you first need to edit the file etc inetd conf Enabling the Telnet ftp server The following example shows the default content of the file etc inetd conf The default is to enable the Telnet ftp server discard dgram udp wait root bin discard discard stream tcp nowait root bin discard telnet stream tcp nowait root bin t
95. nments and the command line utility works in Linux environments The following topics are covered in this chapter A Windows UC Finder gt Installing the Software gt Broadcast Search A Linux ucfinder ThinkCore IA241 240 Linux User s Manual UC Finder Windows UC Finder The UC Finder utility is used to search the LAN or intranet for Moxa embedded computers Installing the Software 1 Once the Setup program starts running click on Next to proceed 18 Setup UC Finder Welcome to the UC Finder Setup D Wizard This will install UC Finder on your computer It is recommended that you close all other applications before continuing Click Nest to continue or Cancel to exit Setup 2 Click on Next when the Select Additional Tools window opens to proceed with the installation el Setup UC Finder Select Additional Tasks Which additional tasks should be performed Select the additional tasks you would like Setup to perform while installing UC Finder then click Next Additional icons 8 2 ThinkCore 1A241 240 Linux User s Manual UC Finder 3 Click on Next to install program files in the default directory or select an alternative location iG Setup UC Finder Ready to Install Setup is now ready to begin installing UC Finder on your computer Click Install to continue with the installation or click Back if you want to review or change any settings Additional tasks Create a desktop
96. nnect to Thus you do not have to worry about the foreign machine name Just replace password with your password pap secrets line 1 of 42 2 username hinet net is the username obtained from the ISP to log in to the ISP account password is the corresponding password for the account 5 Edit the file etc ppp options and add the following line plugin pppoe terminated because it was idle holdoff lt n gt Wait for up n milliseconds after the connect script finishes for a valid PPP packet from the peer At the end of this time or when a valid PPP packet is received from the peer pppd will commence negotiation by sending its first LCP packet The default value is 1000 1 second This wait period only applies if the connect or pty option is used plogin pppoe so lt End of File gt options line 1 of 342 0 4 16 ThinkCore IA241 240 Linux User s Manual Managing Communication 6 Add one of two files etc ppp options eth0 or etc ppp options eth1 The choice depends on which LAN is connected to the ADSL modem If you use LANI to connect to the ADSL modem then add ete ppp options eth0 If you use LAN2 to connect to the ADSL modem then add etc ppp options eth1 The file context is shown below name username hinet net mtr 1 02 mru 1492 defaultroute noipdefault options ixp0 line 1 of 5 20 Type your username the one you set in the etc ppp pap secrets and
97. nologies Powered By PHP Credits Ass If you want to uninstall PHP follow steps 2 to 5 but select the uninstall option 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 4 6 ThinkCore IA241 240 Linux User s Manual Managing Communication Each chain is a list of rules that apply to a certain type of packet Each rule specifies what to do with a matching packet A rule such as a jump to a user defined chain in the same table is called a target The IA241 240 supports 3 types of IPTABLES table 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 Destination NAT DNAT changes the first destination packet IP address MASQUERADE a special form for SNAT If one host can connect to Internet then other computers that connect to this host can connect to the Internet when the computer does
98. 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 4 7 ThinkCore IA241 240 Linux User s Manual Managing Communication Incoming Packets Mangle Table PREROUTING Chain NAT Table PREROUTING Chain Other Host Packets Mangle Table FORWARD Chain Local Host Packets Mangle Table INPUT Chain Filter Table INPUT Chain Local Process Mangle Table OUTPUT Chain Filter Table FORWARD Chain Mangle Table POSTROUTING Chain NAT Table OUTPUT Chain Filter Table OUTPUT Chain NAT Table POSTROUTING Chain Outgoing Packets The IA241 240 supports the following sub modules Be sure to use the module that matches your application ip_conntrack ipt_MARK ipt_ah ipt_state ip_conntrack_ftp ipt MASQUERADE ipt esp ipt_tcpmss ipt_conntrack_irc ipt_MIRROT ipt_length ipt_tos ip_nat_ftp ipt_REDIRECT ipt_limit ipt_ttl ip_nat_irc ipt_REJECT ipt_mac ipt_unclean ip_nat_snmp_basic ipt_TCPMSS ipt_mark ip_queue ipt_TOS ipt_multiport ipt_LOG ipt_ULOG ipt_owner 4 8 ThinkCore
99. of printable characters from files usually object files strip Removes symbols and sections from object files usually debugging information On Line Debugging with GDB The tool chain also provides an on line debugging mechanism to help you develop your program Before performing a debugging session add the option ggdb to compile the program A debugging session runs on a client server architecture on which the server gdbserver is installed int the targe computer and the client ddd is installed in the host computer We ll asuumne that you have uploaded a program named hello debug to the target computer and strat to debug the program 1 Log on to the target computer and run the debugging server program gdbserver 192 168 4 142 2000 hello debug Process hello debug created pid 38 The debugging server listens for connections at network port 2000 from the network interface 192 168 4 142 The name of the program to be debugged follows these parameters For a program requiring arguments add the arguments behind the program name 2 In the host computer change the directory to where the program source resides cd my_work_directory myfilesystem testprograms 3 Execute the client program ddd debugger arm linux gdb hello debug amp 4 Enter the following command at the GDB DDD command prompt Target remote 192 168 4 99 2000 The command produces a line of output on the target console similar to the following Remote debugging usi
100. old Setting 256 to 2346 SD Socket and USB for Storage Expansion Both the IA241 and IA240 provide an SD socket for storage expansion Moxa provides an SD flash disk for plug amp play expansion that allows users to plug in a Secure Digital SD memory card compliant with the SD standard V1 0 for up to 1 GB of additional memory space The SD socket is located on the front panel of the IA241 240 To install an SD card you must first remove the SD protection cover to access the socket and then plug the SD card directly into the socket Remember to press on the SD card first if you want to remove it The SD card will be mounted at mnt sd In addition to the SD socket a USB 2 0 host is located on the front panel The USB host is also designed for storage expansion To expand the storage by USB flash disk you just need to plug the USB flash disk into this USB port The flash disk will be detected automatically and its file partition will be mounted into the OS The USB storage will be mounted at mnt usbstorage ThinkCore IA241 240 Linux User s Manual Getting Started Test Program Developing Hello c In this section we use the standard Hello programming example to illustrate how to develop a program for the IA241 240 In general program development involves the following seven steps Step 1 A Connect the IA241 240 to a Linux PC Step 2 Install Tool Chain GNU Cross Compiler amp glibc Step 3 Set the cross c
101. ompiler and glibc environment variables Step 4 Code and compile the program Step 5 Download the program to the IA241 240 Via FTP or NFS Step 6 Debug the program gt If bugs are found return to Step 4 gt If no bugs are found continue with Step 7 Step 7 Back up the user directory distribute the program to additional IA241 240 units if needed Cross Compiler Installing the Tool Chain Linux NOTE The Linux Operating System must be pre installed in the PC before installing the A241 240 GNU Tool Chain Fedora core or compatible versions are recommended The Tool Chain requires approximately 100 MB of hard disk space on your PC The IA241 240 Tool Chain software is located on the IA241 240 CD To install the Tool Chain insert the CD into your PC and then issue the following commands mount dev cdrom mnt cdrom sh mnt cdrom tool chain linux install sh The Tool Chain will be installed automatically on your Linux PC within a few minutes Before compiling the program be sure to set the following path first since the Tool Chain files including the compiler link library and include files are located in this directory PATH usr local arm linux bin PATH Setting the path allows you to run the compiler from any directory Refer to Appendix B for an introduction to the Windows Tool Chain In this chapter we use the Linux tool chain to illustrate the cross compiling process 2 12 ThinkCore IA241 240 Lin
102. on d n duration 1 i duration 1 _ nDuration set_din_event 0 low2highevent DIN_EVENT_LOW_TO_HIGH duration 1 i while ndout_StateChangeDetected lt TEST_NUM pause printf ndin StateChangeDetected d ndout_StateChangeDetected d n ndin StateChangeDetected ndout StateChangeDetected printf loss detection probability f n ndout StateChangeDetected ndin StateChangeDetected 100 0 nd out _StateChangeDetected end of for i 0 i lt DURATION NUM i 6 13 ThinkCore IA241 240 Linux User s Manual Programmer s Guide while 1 pthread_exit NULL void init_sigaction void struct sigaction act act sa_handler dout_control act sa_flags 0 sigemptyset amp act sa_mask sigaction SIGALRM amp act NULL int main int argc char argv ato init_sigaction set_dout_state 0 0 set the DOUTO as high set_din_event 0 low2highevent DIN_EVENT_LOW_TO_HIGH duration 1 0 dio_test_function while nDuration lt DURATION_NUM usleep 100000 DIO Program Make File Example FNAME tdio FNAME1 tduration CC arm linux gce STRIP arm linux strip release CC o FNAME FNAME c lmoxalib lpthread CC o FNAME1 FNAMEl c lmoxalib lpthread STRIP s FNAME STRIP s FNAME1 debug CC DDEBUG o FNAME dbg FNAME cxx lmoxalib lpthread CC DDEBUG o FNAME1 dbg FNAME1 c
103. onnRemAddress 192 168 27 139 22 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 4 127 22 0 0 0 0 0 ipaddress 0 0 0 0 tcpConnRemAddress 192 168 27 139 23 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemAddress 192 168 4 127 23 0 0 0 0 0 ipaddress 0 0 0 0 tepConnRemPort 192 168 27 139 1024 0 0 0 0 0 integer 0 tepConnRemPort 192 168 4 127 1024 0 0 0 0 0 integer 0 tepConnRemPort 192 168 27 139 1025 0 0 0 0 0 integer 0 tepConnRemPort 192 168 4 127 1025 0 0 0 0 0 integer 0 tepConnRemPort 192 168 27 139 2049 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 4 127 2049 0 0 0 0 0 integer 0 tepConnRemPort 192 168 27 139 1026 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 4 127 1026 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 27 139 9 0 0 0 0 0 integer 0 4 23 ThinkCore IA241 240 Linux User s Manual Managing Communication 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 tcpConnRemPort 192 168 4 127 9 0 0 0 0 0 integer 0 tepConnRemPort 192 168 27 139 111 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 4 127 111 0 0 0 0 0 integer 0 tcpConnRemPort 192 168 27 139 80 0 0 0 0 0 integer 0 t
104. ount the user file system to mnt usrdisk with the root file system Check to see if the user file system was mounted correctly If user file system is okay the kernel will change the root file system to mnt usrdisk If the user file system is not okay the kernel will use the default Moxa file system To finish boot process run the init program 1 The default Moxa file system only enables the network and CF It lets users recover the user file system when it fails 2 The user file system is a complete file system Users can create and delete directories and files including source code and executable files as needed 3 Users can create the user file system on the PC host or target platform and then copy it to the IA241 240 API The IA241 240 supports control devices with the ioctl system API You will need to include lt moxadevice h gt and use the following ioctl function int ioctl int d int request Input int d open device node return file handle int request argument in or out Use the desktop Linux s man page for detailed documentation man ioctl RTC Real Time Clock Buzzer The device node is located at dev rtc The IA241 240 supports Linux standard simple RTC control You must include lt linux rtc h gt 1 Function RTC_RD_TIME int ioctl fd RTC_RD_TIME struct rtc_time time Description read time information from RTC It will return the value on argument 3 2 Function RTC_SET_TIME
105. piling Hello C 3 iaia ie a anes MAA AA AAA kee eeen 2 13 Uploading and Running the Hello Program noen ennen enne eneenenneeneen 2 14 Developing Your First Application oneeoneeneernersnerseerseenneenneenneenneenseenseenveeneennnn 2 14 Testing Environment ss ornata everest fen En ke Bis Esche 2 15 Compiling teps2 Cessna Aleta ue again nina 2 15 Uploading and Running the tcps2 release Program annen eneenveneenenn 2 16 Testing Procedure Summary ii 2 18 Managing Embedded Linux nnn enen enennnnnnnnnenneee enne rennnnnnnnenneenenenn 3 1 System Version Information ann eneen enne enernvenvenvenvenvenveenenneeneenvenvencenvervenneeneenvenvencen 3 2 System Image Backuph serene ale iaia iena aaa landa 3 2 Upgrading the Firmware natali iii 3 2 Loadme Factory Defaults agli ee aiar 3 4 Backing Up the User Directory i 3 4 Deploying the User Directory to Additional IA241 240 Units eeeeeeeeteeneeeee 3 5 Enabling and Disabling Daemons ii 3 5 Settino theRun Level 1 i ail iaia een ario aaa ine 3 7 Adjusting the System Time i 3 8 Setting the Time Manually nnen neons oneenceneenvenvenvenvenvencenveenenneeneen 3 8 NTP Chent 2 332 222 nie iii 3 8 Updating the Time Automatically nonnen eneenvenvenvenvenvenneeneenvenvenvenne 3 9 Cron Daemon to Execute Scheduled Commands ennvennvennvenneen 3 9 Managing Communications nnn aan
106. ps ef command to check if the tcps2 program is actually running in the background ps use this command to check if the program is running root Moxa ls al drwxr xr x 2 root root O aoin alzi O drwrr Xr xo root root 0 Jan 1 1970 root root SVS ui 10 Mesa ei isen Sane rook root 4096 Wun 12 02 15 waoe release root Moxa chmod x tcps2 release root Moxa ls al ANR Xr X 2 root root an 12 OZ drwxr xr x Al 5 root root 0 Jan 1 1979 root root SSS vie ALO OSs oak nav PGE Al see Hoe ASS wear 12 WS root Moxa tcps2 release amp pal Az start root Moxa ps aller Ronn tcps2 release 2 17 ThinkCore IA241 240 Linux User s Manual Getting Started root Moxa NOTE Use the kill command for job number 1 to terminate this program kill 1 ps ef use this command to check if the program is running 1 Running tcps2 release amp root Moxa ps ef PID Uid VmSize Stat Command root 532 8 inie Io root SWN ksoftirqd 0 root SW lt events 0 root SW lt khelper BODE SW lt kblockd 0 TOOR SW khubd root SW pdflush root SW pdflush root SW lt aio 0 root SW kswapd0 604 root SW mtdblockd 609 root SW pccardd SLL OOE SW pccardd 625 oor SWN orsi te ete Beels 613 root gt 00 S bin inetd OTI OE 3004 S usr bin httpd k start d etc apache 682 bin 380 S bin portmap 685 root TOS bin sh login 690 root 464 S bin snmpd 694 nobody 3012 8 usr bin httpd k start
107. r by a pre utility program setkey setkey ABigKey Note set an empty string to clear the encryption key in the target computer by setkey lt 2 Develop and compile your program in the development PC 3 Inthe development PC run the utility program binencryptor to encrypt your program with an encryption key binencryptor yourProgram ABigKey 4 Upload the encrypted program file to the target computerby FTP or NFS and test the program The encryption key is a computer wise key That is to say a computer has only one key installed Running the program setkey multiple times causes the key to be overrided To prove the effectiveness of this software protection mechanism prepare a target computer that has not been installed an encryption key or install a key different from that used to encrypt your program In any case the encrypted program fails immediately This mechanism also allows the computer with an encryption key to bypass programs that are not encrypted Therefore in the development phase you can develop your programs and test them in the target computer cleanly 8 UC Finder UC Finder comes in handy if you forget the IP address of the target computer while you have a demand for troubleshooting field problems This utility works by sending a broadcast message over the LAN to search for IP addresses of target computers Two versions of UC Finder are provided The GUI version works in Windows enviro
108. re information about NTP and NTP server addresses 20 53 100 PuTTY root Moxa date hwclock Sat Jan 1 00 00 36 CST 2000 Sat Jan 1 00 00 37 2000 0 772941 seconds root Moxa ntpdate time stdtion gov tw 9 Dec 10 58 53 ntpdate 207 step time server 220 130 158 52 offset 155905087 9 84256 sec root Moxa hwclock w root Moxa date hwclock Navi Dee S stai Er 200 Thu Dec 9 10 59 12 2004 0 844076 seconds root Moxa NOTE Before using the NTP client utility check your IP and DNS settings to make sure that an Internet connection is available Refer to Chapter 2 for instructions on how to configure the Ethernet interface and see Chapter 4 for DNS setting information Updating the Time Automatically In this subsection we show how to use a shell script to update the time automatically Example shell script to update the system time periodically bin sh ntpdate time nist gov You can use the time server s ip address or domain name directly If you use domain name you must enable the domain client on the system by updating etc resolv conf file hwclock systohc sleep 100 Updates every 100 seconds The min time is 100 seconds Change 100 to a larger number to update RTC less often Save the shell script using any file name E g fixtime How to run the shell script automatically when the kernel boots up Copy the example shell script fixtime to directory etc init d and then use chmod
109. roblem causing your system to reboot again and again 5 User application example Example 1 include lt stdio h gt include lt stdlib h gt include lt string h gt include lt moxadevice h gt int main int argc char argv int fd fd swtd open if fd lt 0 printf Open sWatchDog device fail n exit 1 swtd_enable fd 5000 enable it and set it 5 seconds while 1 do user application want to do swtd_ack fd swtd_close fd exit 0 The makefile is shown below all arm linux gcc o xxxx xxxx c lmoxalib Example 2 include lt stdio h gt include lt stdlib h gt include lt signal h gt include lt string h gt include lt sys stat h gt include lt sys ioctl h gt include lt sys select h gt include lt sys time h gt include lt moxadevice h gt static void mydelay unsigned long msec struct timeval time 6 5 ThinkCore IA241 240 Linux User s Manual Programmer s Guide UART time tv_sec msec 1000 time tv_usec msec 1000 1000 select 1 NULL NULL NULL amp time static int swtdfd static int stopflag 0 static void stop_swatchdog stopflag 1 static void do_swatchdog void swtd_enable swtdfd 500 while stopflag 0 mydelay 250 swtd_ack swtdfd swtd_disable swtdfd intmain int argc char argv pid_t sonpid signal SIGUSR1 stop_swatc
110. roducts 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 support moxa com World Wide Web WWW Site for product information AAA http www moxa com ThinkCore IA241 240 Linux User s Manual Service Information Problem Report Form MOXA ThinkCore IA241 240 Customer name 1 Moxa Product O ThinkCore IA241 O ThinkCore IA240 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 ThinkCore IA241 240 Linux 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
111. s to one physical interface or port that is connected to the bridge On each OpenVPN machine you should generate a working directory such as etc openvpn where script files and key files reside Once established all operations will be performed in that directory Setup 1 Ethernet Bridging for Private Networks on Different Subnets 1 Set up four machines as shown in the following diagram local net OpenVPN A LAN1 192 168 2 173 LANI 192 168 2 171 LAN2 192 168 8 173 Internet LANI 192 168 8 174 LANI 192 168 4 172 LAN2 192 168 4 174 OpenVPN B local net Host A B represents one of the machines that belongs to OpenVPN A B The two remote subnets are configured for a different range of IP addresses When this setup is moved to a public network the external interfaces of the OpenVPN machines should be configured for static IPs or connect to another device such as a firewall or DSL box first openvpn genkey secret secrouter key Copy the file that is generated to the OpenVPN machine 2 Generate a script file named openvpn bridge on each OpenVPN machine This script reconfigures interface eth1 as IP less creates logical bridge s and TAP interfaces loads modules enables IP forwarding etc bin sh ifacezethl defines the internal interface maxtap expr 1 defines the number of tap devices I e of tunnels IPADDR NETMASK BROADCAST it is not a great
112. s232OutSigPortIndex 2 1 integer 2 2 rs232OutSigPortIndex 3 1 integer 3 3 rs232OutSigPortIndex 4 1 integer 4 4 4 25 ThinkCore IA241 240 Linux User s Manual Managing Communication 472 rs232OutSigPortIndex 1 4 integer 1 1 473 rs232OutSigPortIndex 2 4 integer 2 2 474 rs232OutSigPortIndex 3 4 integer 3 3 475 rs2320OutSigPortIndex 4 4 integer 4 4 476 rs232OutSigName 1 1 integer rts 1 477 rs232OutSigName 2 1 integer rts 1 478 rs232OutSigName 3 1 integer rts 1 479 rs232OutSigName 4 1 integer rts 1 480 rs232OutSigName 1 4 integer dtr 4 481 rs232OutSigName 2 4 integer dtr 4 482 rs2320utSigName 3 4 integer dtr 4 483 rs232OutSigName 4 4 integer dtr 4 484 rs232OutSigState 1 1 integer off 3 485 rs232OutSigState 2 1 integer off 3 486 rs232O0utSigState 3 1 integer off 3 487 rs2320OutSigState 4 1 integer off 3 488 rs232OutSigState 1 4 integer off 3 489 rs232OutSigState 2 4 integer off 3 490 rs232OutSigState 3 4 integer off 3 491 rs232OutSigState 4 4 integer off 3 492 snmpInPkts 0 counter 493 493 snmpOutPkts 0 counter 493 494 snmpInBadVersions 0 counter 0 495 snmpInBadCommunityNames 0 counter 0 496 snmpInBadCommunityUses 0 counter 0 497 snmpInASNParseErrs 0 counter 0 498 snmpInTooBigs 0 counter 0 499 snmpInNoSuchNames 0 counter 0 500 snmpInBadValues 0 counter 0 501 snmpInReadOnlys 0 counter 0
113. system When the installation completes the Complete the Installation window will appear E 27 Moxa Setup Progress This page displays the progress of the installation Installing arm linux 1 0 1 Zusr local arm linux arm linux sys include config ipmi Progress en Total WWW Disk lt 6 Checkmark Create icon on Desktop to place a Moxa BASH Shell icon on your desktop and then click on Finish 2 Moxa Linux Tool Chain Setup Create Icons Create Icons To create a icon for convenient access to the Moxa Linux Tool Chain WV Create icon on Desktop Cancel 5 7 ThinkCore IA241 240 Linux User s Manual Development Tool Chains 7 Click on OK to complete the installation process Moxa Setup x Installation Complete Using the BASH Shell A command line interface is used to develop applications with the tool chain To access the command line you need to launch a BASH shell window To open a BASH shell window choose Start Menu gt Programs gt UC Tool Chain gt Moxa Bash Shell or lick on the desktop Moxa Bash Shell icon Your group is currently mkpasswd This indicates that The etc passwd and possibly etc group files should be rebuil See the man pages for mkpasswd and mkgroup then for example ru mkpasswd 1 d gt etc passwd mkpasswd 1 d gt etc group Note that the d switch is necessary domain users Ss Ie ced total 9 drwxr xr x drwxr xr x drwxr xr x
114. t HH Hit Hitt Hit Hit Hit HH HER Hi HH HI Hit HHHH HH HH HE HU HH Hit HHH HHHHHHH HH HE OH HH HHH Hitt HHHH Hit HH HHH HH HHH Hitt Hit HHH Hit HH Hitt Hit Hit Hit Hit Hitt Hit Hit tit Hitt Hit Hit ttt Hit H Hit HHH Hi eh HHHHHHHH WEN HEEREN RN For further information check Ihttp uuw moxa com root Moxa You can proceed with configuring the network settings of the target computer when you reach the bash command shell Configuration instructions are given in the next section A ATTENTION Serial Console Reminder Remember to choose VT100 as the terminal type Use the cable CBL RJ45F9 150 which comes with the IA241 240 to connect to the serial console port Telnet Reminder When connecting to the IA241 240 over a LAN you must configure your PC s Ethernet IP address to be on the same subnet as the IA241 240 that you wish to contact If you do not get connected on the first try re check the serial and IP settings and then unplug and re plug the IA241 240 s power cord SSH Console The IA241 240 supports an SSH Console to provide users with better security options Windows Users Click on the link http www chiark greenend org uk sgtatham putty download html to download PuTTY free software to set up an SSH console for the IA241 240 in a Windows environment The following figure shows a simple example of the configuration that is required 2 4 ThinkCore IA241 240 Linux User s Manual
115. t_value tv_usec duration 0 nDuration 1000 1000 value it_interval value it_value setitimer ITIMER_REAL amp value NULL r ndin_StateChangeDetected 0 reset these counters ndout_StateChangeDetected 0 printf DI duration 0 DO duration d n duration 0 nDuration set din event 0 low2highevent DIN EVENT LOW TO HIGH 0 while ndin StateChangeDetected lt TEST NUM pause printf ndin_StateChangeDetected d ndout StateChangeDetected d n ndin StateChangeDetected ndout StateChangeDetected printf loss detection probability f n ndout StateChangeDetected ndin StateChangeDetected 100 0 nd out _StateChangeDetected end of if nChoice 0 elseif nChoice 1 test for din duration 0 for nDuration 0 nDuration lt DURATION_NUM nDuration configure the dout frequence when the timer timeout dout_control will be call to change the dout state value it_value tv_sec duration 1 nDuration 1000 value it_value tv_usec duration 1 nDuration 1000 1000 value it_interval value it_value setitimer ITIMER_REAL amp value NULL r Test for dout kept in the same frequency but din set for different duration for i 0 i lt DURATION_NUM i if duration 1 i lt duration 1 nDuration reset these counters ndin StateChangeDetected 0 ndout_StateChangeDetected 0 printf DI duration d DO durati
116. the current login by issuing the following commands export PATH usr local arm linux bin PATH Alternatively you can add the same commands to HOME bash_profile to make it effective for all login sessions Compilation for Applications To compile a simple C application use the cross compiler instead of the regular compiler arm linux gcc o example Wall g 02 example c arm linux strip s example arm linux gcc ggdb o example debug example c Most of the cross compiler tools are the same as their native compiler counterparts but with an additional prefix that specifies the target system In the case of x86 environments the prefix is i386 linux and in the case of IA204 241 ARM boards it is arm linux For example the native C compiler is gee and the cross C compiler for ARM in the IA241 240 is arm linux gcc The following cross compiler tools are provided ar Manages archives static libraries as Assembler C g C compiler cpp C preprocessor gcc C compiler gdb Debugger Id Linker nm Lists symbols from object files objcopy Copies and translates object files objdump Displays information about object files ranlib Generates indexes to archives static libraries readelf Displays information about ELF files 5 2 ThinkCore IA241 240 Linux User s Manual Development Tool Chains size Lists object file section sizes strings Prints strings
117. this command for old ppp servers that prompt for a login name replace username with the correct name and password replace password with the correct password Note that debug and defaultroute 192 1 1 17 are optional 4 12 ThinkCore IA241 240 Linux User s Manual Managing Communication pppd connect chat v ATDT5551212 CONNECT ogin username word password dev ttyMO 115200 debug crtscts modem defaultroute If the PPP server does not prompt for the username and password the command should be entered as follows Replace username with the correct username and replace password with the correct password pppd connect chat v ATDT5551212 CONNECT user username password password dev ttyM0 115200 ertscts modem The pppd options are described below connect chat etc This option gives the command to contact the PPP server The chat program is used to dial a remote computer The entire command is enclosed in single quotes because pppd expects a one word argument for the connect option The options for chat are given below vV verbose mode log what we do to syslog wow Double quotes don t wait for a prompt but instead do note that you must include a space after the second quotation mark ATDT5551212 Dial the modem and then CONNECT Wait for an answer wow Send a return null text followed by the usual return ogin username word password
118. to high or both long int duration We know the digital signal sometime is not reliable You can the duration time 6 8 ThinkCore IA241 240 Linux User s Manual Programmer s Guide to except the error signal If you set to zero it will not detect the duration time You can set 40 ms to 3600000 ms by increase 20 ms Output OK will be zero Digital Input Signal DIN_EVENT_HIGH_TO_LOW Think re 14241 duration N int get_din_event int diport int mode long int duration Description Get the set event for digital input port Input int diport the digital output port number It is 0 to 3 int mode Save the set event long int duration Save the set duration time value Output OK will be zero Special Note Don t forget to link the library libmoxalib amp libpthread for DI DO programming and also include the header file moxadevice h The DI DO library only can be used by one program at a time 6 9 ThinkCore IA241 240 Linux User s Manual Programmer s Guide Example Example 1 File Name tdio c Description The program indicates to connect DOI to DI change the digital output state to high or low by manual input then the detect and count the state changed events from DI1 OK include include include include lt stdio h gt lt stdlib h gt lt moxadevice lt fentl h gt h gt ifdef DEBUG define dbg_printf x else define dbg_printf x
119. twork routing table manager display network status set network ip address trace route ThinkCore IA241 240 Linux User s Manual System Commands Process m Other EIN BERND kill ps dmesg sty zcat mknod free date env clear reboot halt du gzip gunzip hostname MOXA special utilities DAR ales See backupfs bf kversion cat etc version upramdisk downramdisk kill process display now running process dump kernel log message to set serial port dump gz file context 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 estimate file space usage compress or expand files show system s host name backup file system user directory built the file system user directory show kernel version show user directory version mount ramdisk unmount ramdisk A 2 B Service Information This appendix shows you how to contact Moxa for information about this and other products and how to report problems The following topics are covered in this appendix A MOXA Internet Services O Problem Report Form A Product Return Procedure ThinkCore IA241 240 Linux User s Manual Service Information MOXA Internet Services Customer satisfaction is our number one concern and to ensure that customers receive the full benefit of our p
120. usr local sbin export PATH echo 1 gt proc sys net ipv4 ip_forward bin iptables F bin iptables X bin iptables Z bin iptables F t nat bin iptables X t nat bin iptables Z t nat bin iptables P INPUT ACCEPT bin iptables P OUTPUT ACCEPT bin iptables P FORWARD ACCEPT bin iptables t nat P PREROUTING ACCEPT bin iptables t nat P POSTROUTING ACCEPT bin iptables t nat P OUTPUT ACCEPT Step 3 Enable IP masquerade Dial up Service PPP PPP Point to Point Protocol is used to run IP Internet Protocol and other network protocols over a serial link PPP can be used for direct serial connections using a null modem cable over a Telnet link and links established using a modem over a telephone line Modem PPP access is almost identical to connecting directly to a network through the 1A241 240 s Ethernet port Since PPP is a peer to peer system the IA241 240 can also use PPP to link two networks or a local network to the Internet to create a Wide Area Network WAN NOTE Click on the following links for more information about ppp http tldp org HOWTO PPP HOWTO index html http axion physics ubc ca ppp linux html The pppd daemon is used to connect to a PPP server from a Linux system For detailed information about pppd see the man page Example 1 Connecting to a PPP server over a simple dial up connection The following command is used to connect to a PPP server by modem Use
121. utable script file named A tap0 br sh on OpenVPN A point to the peer remote 192 168 8 174 dev tap0 secret etc openvpn secrouter key cipher DES EDE3 CBC auth MD5 tun mtu 1500 tun mtu extra 64 ping 40 up etc openvpn A tap0 br sh bin sh value after net is the subnet behind the remote peer route add net 192 168 4 0 netmask 255 255 255 0 dev br0 end Create a configuration file named B tap0 br conf and an executable script file named B tap0 br sh on Open VPN B point to the peer remote 192 168 8 173 dev tap0 secret etc openvpn secrouter key cipher DES EDE3 CBC auth MD5 tun mtu 1500 tun mtu extra 64 ping 40 up etc openvpn B tap0 br sh bin sh value after net is the subnet behind the remote peer route add net 192 168 2 0 netmask 255 255 255 0 dev br0 end Note Select cipher and authentication algorithms by specifying cipher and auth To see with algorithms are available type openvpn show ciphers openvpn show auths 4 Start both of OpenVPN peers openvpn config A tap0 br conf amp openvpn config B tap0 br conf amp If you see the line Peer Connection Initiated with 192 168 8 173 5000 on each machine the connection between OpenVPN machines has been established successfully on UDP port 5000 4 30 ThinkCore IA241 240 Linux User s Manua
122. ux User s Manual Getting Started Checking the Flash Memory Space NOTE If the flash memory is full you will not be able to save data to the Flash ROM Use the following command to calculate the amount of Available flash memory gt df h E3 PComm Terminal Emulator COM1 115200 None 8 1 T100 Profile Edit Port Manager Window Help a BiA ella sz E COH1 115200 None 8 1 YT100 fdev mnt dblock3 6 0M 5 5M fhome 6 0M 5 5M fete 30 4M o 30 4M fdev shm root Moxa df h Filesysten Size Used Available Mounted on dev ntdblockZ 8 0M 6 0M 2 0m f dev ramd 499 0k 16 0k 458 0k var dev ntdblock3 6 0M 488 0k SM tup dev mtdblock3 6 0M 488 0k SM home dev ntdblock3 6 0M 488 0k SM fete mp fs 30 4M o 4M dev shm root Moxa State OPEN rd Got Break Signa If there isn t enough Available space for your application you will need to delete some existing files To do this connect your PC to the IA241 240 with the console cable and then use the console utility to delete the files from the IA241 240 s flash memory To check the amount of free space available look at the directories in the read write directory dev mtdblock3 Note that the directories home and etc are both mounted on the directory dev mtdblock3 If the flash memory is full you will need to free up some memory space before saving files to the Flash ROM Compiling Hello c The package CD contains several example programs
123. x E Pre dresses D a h DER Ar vy Bez i ER A PHP Version 5 0 5 php System Linux Moxa 2 6 9 uc0 1048 Tue May 9 15 56 02 CST 2006 armvatl Build Date Apr 4 2006 22 12 06 Configure configure build i686 linux host arm linux target arm inux with Command apxs2 home victor fia 240 241 source_code user apache install_me binjapxs with zib with gettext disable cgi enable force cgi redirect prefix home victorfia 240 241 source_codefuser phpfinstall_me with openssi with mysql home victor ia 240 241 source_code user mysal instal_me with config file path etc apache php with gd home victorfia 240 241 source_codejlib libgd install_me with libxml dir homey victor ia 240 241 source_code lib libxml2jinstall_me Server API Apache 2 0 Handler Virtual disabled Directory Support Configuration etc apache php php ini File php ini Path PHP API 20031224 PHP Extension 20041030 Zend Extension 220040412 Debug Build no Thread Safety disabled Zend Memory enabled Manager IPv6 Support enabled Registered PHP php file http ftp compress zlib https ftps Streams Registered tcp udp unix udg ssl sslv3 sslv2 tls Stream Socket Transports This program makes use of the Zend Scripting Language Engine Zend Engine v2 0 5 Copyright c 1998 2004 Zend Tech
124. xx lmoxalib lpthread clean bin rm f FNAME FNAME dbg FNAME1 FNAMEl dbg o Make File Example The following Makefile file example codes are copied from the Hello example on the IA241 240 s CD ROM CC usr local arm linux bin arm linux gcc CPP usr local arm linux bin arm linux gcc SOURCES hello c OBJS SOURCES c 0 all hello hello OBJS CC o LDFLAGS LIBS 6 14 ThinkCore IA241 240 Linux User s Manual Programmer s Guide clean rm f OBJS hello core gdb 7 Software Lock Software Lock is an innovative technology developed by the Moxa engineering force It can be adopted by a system integrator or developer to protect his applications from being copied An applicaion is compiled into a binary format bound to the embedded computer and the operating system OS that the application runs on As long as one obtains it from the computer he she can install it into the same hardware and the same operating system The add on value created by the developer is thus lost Moxa engineering force has developed this protection mechanism for your applications via data encryption The binary file associated with each of your applications needs to undergo an additional encryption process after you have developed it The process requires you to install an encryption key in the target computer 1 Choose an encryption key e g ABigKey and install it in the target compute
125. y 3 integer none 1 rs232AsyncPortParity 4 integer none 1 rs232InSigPortIndex 1 2 integer 1 1 rs232InSigPortIndex 2 2 integer 2 2 rs232InSigPortIndex 3 2 integer 3 3 rs232InSigPortIndex 4 2 integer 4 4 rs232InSigPortIndex 1 3 integer 1 1 rs232InSigPortIndex 2 3 integer 2 2 rs232InSigPortIndex 3 3 integer 3 3 rs232InSigPortIndex 4 3 integer 4 4 rs232InSigPortIndex 1 6 integer 1 1 rs232InSigPortIndex 2 6 integer 2 2 rs232InSigPortIndex 3 6 integer 3 3 rs232InSigPortIndex 4 6 integer 4 4 rs232InSigName 1 2 integer cts 2 rs232InSigName 2 2 integer cts 2 rs232InSigName 3 2 integer cts 2 rs232InSigName 4 2 integer cts 2 rs232InSigName 1 3 integer dsr 3 rs232InSigName 2 3 integer dsr 3 rs232InSigName 3 3 integer dsr 3 rs232InSigName 4 3 integer dsr 3 rs232InSigName 1 6 integer dcd 6 rs232InSigName 2 6 integer dcd 6 rs232InSigName 3 6 integer dcd 6 rs232InSigName 4 6 integer dcd 6 rs232InSigState 1 2 integer off 3 rs232InSigState 2 2 integer off 3 rs232InSigState 3 2 integer off 3 rs232InSigState 4 2 integer off 3 rs232InSigState 1 3 integer off 3 rs232InSigState 2 3 integer off 3 rs232InSigState 3 3 integer off 3 rs232InSigState 4 3 integer off 3 rs232InSigState 1 6 integer off 3 rs232InSigState 2 6 integer off 3 rs232InSigState 3 6 integer off 3 rs232InSigState 4 6 integer off 3 rs232OutSigPortIndex 1 1 integer 1 1 r
126. ype the Login name and password as requested The default values are both root Login root Password root Telnet Console If you know at least one of the two IP addresses and netmasks then you can use Telnet to connect to the IA241 240 s console utility The default IP address and Netmask for each of the two ports are given below Default IP Address Netmask LAN 1 192 168 3 127 255 255 255 0 LAN 2 192 168 4 127 255 255 255 0 Use a cross over Ethernet cable to connect directly from your PC to the IA241 240 You should first modify your PC s IP address and netmask so that your PC is on the same subnet as one of 1A241 240 s two LAN ports For example if you connect to LAN 1 you can set your PC s IP address to 192 168 3 126 and netmask to 255 255 255 0 If you connect to LAN 2 you can set your PC s IP address to 192 168 4 126 and netmask to 255 255 255 0 To connect to a hub or switch connected to your local LAN use a straight through Ethernet cable The default IP addresses and netmasks are shown above To login type the Login name and password as requested The default values are both root Login root Password root 2 3 ThinkCore IA241 240 Linux User s Manual Getting Started cx Telnet 192 168 27 139 Moxa login root Password HHH HHH THEE HHHHHHH HHHHHH Ht Hit Hit HHH Hitt HHH nun HHH EH Hitt Hitt EH Hitt Hit Hitt HHH HHHH Hit Hit Hitt HHHH HHHH HH HHH Hitt Hitt Hit Hit HH Hi

Download Pdf Manuals

image

Related Search

Related Contents

  La réalisation technique  MANUALE DI ISTRUZIONI NI-210  取扱説明書 - 三菱電機  Quick Start for PS03 - PiSector Home Security Alarm Systems  Samsung LW22N23N manual de utilizador  Manuale Operativo e di Sicurezza  L`évaluation : faisons le bilan  日立ベビコン  NetLogo Tutorial Notes - Operations, Information and Decisions  

Copyright © All rights reserved.
Failed to retrieve file