Parani-MSP1000 For Wireless Multi-Serial Communications, based on Bluetooth Technology User Guide Version 1.2.2...
Page 2
This device is not approved for use as a life-support or medical system. Any changes or modifications made to this device without the explicit approval or consent of Sena Technologies will void Sena Technologies of any liability or responsibility of injury or loss caused by any malfunction.
Revision History Revision Date Name Description V1.0.0 2007-09-11 Hanjun Yeom Final v1.0.0 release V1.1.1 2008-01-11 Hanjun Yeom Revised for v1.1.0 release. V1.2.0 2008-04-15 K. Lee Revised for v1.2.0 release. V1.2.2 2008-11-06 K. Lee Revised for v1.2.2 release.
Page 6
7.6.1 Manual firmware upgrade ..................54 7.6.2. Automatic firmware upgrade..................55 7.7. Change password ......................57 8. System status & log 8.1. System status........................58 8.2. System logging........................58 9. System statistics 9.1. Network interfaces......................60 9.2. IP............................60 9.3. ICMP ..........................62 9.4.
Page 7
A.1. Console pin-outs ....................... 71 A.2. Ethernet Wiring Diagram ....................71 Appendix B. Well-known port numbers Appendix C. Using Python C.1. Running Python ........................ 74 C.1.1 Interactive Interpreter from Command Line Interface..........74 C.1.2 As a script from the Command Line Interface ............74 C.2.
1. Introduction 1.1. Overview The Parani- MSP1000 is a Bluetooth Access Point used to enable Bluetooth devices to be connected to a 10/100Mbps Ethernet network. Parani- MSP1000 supports 7, 14, and 28 Bluetooth connections, according to the model, and supports up to 3Mbps throughput through the Bluetooth 2.0+EDR specification.
Security/Access control system General data acquisition application Truck/Bus monitoring system Car diagnostics Please note that this manual assumes that the user has some knowledge of Bluetooth and TCP/IP Internetworking protocols and terminologies. 1.2. Package Check List - DC Power Adapter - Quick Start Guide - RS232 Serial Console Cable - Ethernet Cross Cable...
Page 10
Common power supply options: Power via a standard AC-plug DC-adapter Hardware interface LAN 10/100 x 2 Inclusive hub function Ethernet/RS232C COM supported Environmental Operating temperature: 0 ~ 50 Storage temperature: -30 ~ 85 Humidity: 90% Non-condensing Physical properties Dimension (LxW xH) 203 x 170 x 44 (mm) 7.99 x 6.69 x 1.73 ( in.) Weight...
2. Getting Started 2.1. External View Figure 2-1 External view of the Parani-MSP1000 2.2. LED Indicators The Parani-MSP1000 has a number of LED indicator lamps for status display. Table 2- 1 describes the function of each LED indicator lamp. Table 2-1 LED indicator lamps Lamps Function Ethernet 0...
2.3. Connecting the Hardware This section describes how to connect the Parani-MSP1000 to your equipment for initial testing/installation. - Connect the power source to the Parani- MSP1000 - Connect the Parani-MSP1000 to a Ethernet network. 2.3.1. Connecting the power Connect the power cable to the Parani-MSP1000. If the power is properly supplied, the [Power] lamp will light up solid green.
Figure 2-3 Connecting a network cable to the Parani-MSP1000 2.4. Configurations The Parani-MSP1000 provides several techniques to configure your unit for the environment. RS232 Serial console If users want to configure the MSP1000 before connecting the unit to a network or if a network connection is not available, they can accomplish this by using RS232 serial console cable provided in the package.
2.4.1. Configuration using the RS232 serial connection Connect one end of the console cable to the console port on the Parani-MSP1000. Figure 2-4 Connecting a system console cable to the Parani-MSP1000 Connect the other end of the cable to the serial port of the user’ s computer. Run a terminal program (i.e.
Page 15
[root@MSP1000 /]# editconf ------------------------------------------------------------------------------- Welcome to MSP1000 configuration page Current Time : 7/14/2007 12:22:56 Serial No. : msp1000-test1234 F/W Rev. : v1.0.0 MAC Addr.(eth0) : 00:01:95:AF:BF:DD IP Mode (eth0) : Static IP Addr.(eth0) : 192.168.161.5 ------------------------------------------------------------------------------- 1. Network configuration 2. System administration 3.
2.4.2. Configurations using Ethernet connection The IP address of the Parani-MSP1000 must be known before users can access the box using the Remote console. The default IP address of the Parani-MSP1000 is 192.168.161.5. Once users know the IP address of the box, they can access to it ei ther by using telnet/ssh program or a web browser. The default user name and password is as same as the serial console interface as follows.
Figure 2-6 The Parani-MSP1000 web management screen Figure 2-6 shows the configuration homepage of the Parani- MSP1000 Web management interface. A menu bar is provided on the left hand side of the screen. The menu bar includes the uppermost configuration menu groups. Selecting an item on the menu bar opens a tree view of all the submenus available under each grouping.
Page 18
Please refer to the following: 1) Attach the power adapter to the Parani-MSP1000. Do not attach the Ethernet cable on the MSP1000 or the PC. 2) Search for the Parani-MSP1000 using Bluetooth Scan software and then connect to the device using [Network Access Point] protocol. 3) Make sure the connection is made, and then check the IP address of the PC or laptop.
3. Network Configuration 3.1. IP Configuration 3.1.1. Ethernet 0 (eth0) configuration The Parani-MSP1000 requires a valid IP address to operate within the user’ s network environment. If the IP address is not readily available, contact the system administrator to obtain a valid IP address for the Parani-MSP1000.
Page 20
3.1.1.1. When using a Static IP Address When using a Static IP address, the user must manually specify all the configuration parameters associated with the IP address of the Parani-MSP1000. These include the IP address, the network subnet mask, the gateway computer and the domain name server computers. This section will look at each of these in more detail.
Page 21
usually easier to remember. The DNS server is the host that can translate such text-based domain names into the numeric IP addresses for a TCP/IP connection. The IP address of the DNS server must be able to access the host site with the provided domain name.
Dynamic DNS Server regardless of any IP address change. By default, the Parani-MSP1000 only supports Dynamic DNS service offered at Dynamic DNS Network Services, LLC (www.dyndns.org). Contact Sena technical support for issues regarding other Dynamic DNS service providers.
Consequently, the email address set for the device can use an arbitrary username with a registered hostname (i.e. arbitrary_user@yahoo.com or anybody@sena.com). The SMTP user name and SMTP user password are required when either SMTP with authentication or POP-before-SMTP mode is selected.
Figure 3-3 SMTP Configuration 3.4. IP filtering Configuration The Parani-MSP1000 prevents unauthorized access using an IP address based filtering method. The users can allow one of the following scenarios by changing the parameter settings: - Any host cannot access a specific service of the Parani-MSP1000 - Only one host of a specific IP address can access a specific service of the Parani- MSP1000 - Hosts on a specific subnet can access a specific service of the Parani- MSP1000 - Any host can access a specific service of the Parani-MSP1000...
23(Telnet), 22(SSH), 80(HTTP), 443(HTTPS) or each Serial Port Profile session. Chain rule Set the basic rule for the host to access the Parani-MSP1000 as one of Accept or Drop. Figure 3-4 IP filtering Configuration Table 3- 2 Input examples of Option and IP address/mask combination Input format Allowable Hosts Option...
Page 26
To use the TCP “ keep-alive” feature with the Parani- MSP1000, the users should configure three parameters as follows: TCP keep-alive time: This represents the time interval between the last data transmission and keep-alive packet submissions by the Parani-MSP1000. These “keep-alive” messages are sent to the remote host to confirm that the session is still open.
4. Bluetooth Configuration 4.1. General properties This menu describes configuration for the Bluetooth parameters of the Parani- MSP1000. Bluetooth friendly name “%h” inserts the host name configured in the Host name configuration. “ %d” inserts the device id. Discoverable (Inquiry scan) When this is enabled, the Parani-MSP1000 is “discoverable.”...
0x05: Peripheral (mouse, joystick, keyboards, … ) 0x06: Imaging (printing, scanner, camera, display, … ) Minor Device Class: The meaning of this byte depends on the major class allocation, please refer to the Bluetooth specifications for more details. Supervision timeout This is the timeout to presume disconnection.
4.2.1 AP mode Bluetooth devices that supports PAN, DUN and LAP have the ability to access the LAN through the Parani-MSP1000. 4.2.2 Repeater mode Parani-MSP1000 in Repeater mode can be used to function as a Repeater to expend the range of Bluetooth network or avoid obstacles between Parani-MSP1000 and Bluetooth devices.
4.2.3. Station mode The Station transfers data from Repeater to outside. A Bluetooth module of Station can be connected from seven Repeaters. But Repeater-to- Repeater connection is not allowed. 4.3. AP service The Parani-MSP1000 supports the Personal Area Network profile, Dial-up Network profile and LAN access over PPP profile.
172.16.0.50 ~ 172.16.0.99 Reserved for PAN connections 172.16.0.100 ~ 172.16.0.200 Reserved for LAP & DUN connections 192.168.0.1 ~ 192.168.0.255 Table 4-3 Reserved Addresses in 192.168.0.x 192.168.0.1 Reserved for Parani -MSP1000 192.168.0.50 ~ 192.168.0.99 Reserved for PAN connections 192.168.0.100 ~ 192.168.0.200 Reserved for LAP &...
The Port forwarding configuration has four parameters as follows: Local port The source TCP or UDP port number Remote IP The destination IP address Remote port The destination TCP or UDP port number Protocol TCP or UDP For example, when a device whose IP address is 172.16.0.10 runs as a Web server, the configuration should be as follows: ...
4.5. Connections The Bluetooth connections currently connected to the Parani-MSP1000 are displayed. Definitions and descriptions of each parameter are described as follows: The Bluetooth interface BD address The remote BD address Device name The name of remote Bluetooth device ...
5. Serial Port Profile (SPP) Configuration The Bluetooth devices that support Serial Port Profile are able to create connections with the Parani- MSP1000, and are then able to send/receive data to/from remote host via TCP/IP. 5.1. Pairing mode The operation mode option is as follows: ...
Scan interval The Parani-MSP1000 scans neighborhood Bluetooth devices with this interval (in seconds). This value means the time required for the Parani- MSP1000 to recognize a new device. Note: Too short interval may make the data rate slow. Scan mode Parani-MSP1000 scans with IAC or Bluetooth friendly name.
Figure 5-2 Port configuration 5.5.1. Port pairing mode (Custom mode only) If the mode is “Acceptor”, the Parani-MSP1000 waits for incoming connection from the Bluetooth device. If the mode is “Connector”, the Parani-MSP1000 attempts to connect the Bluetooth device. 5.5.2. Service category - CLI When a new connection is created, the Parani- MSP1000 provides a CLI for the connection.
Figure 5-4 Service category - Network 5.5.4. Service category – Serial hub In Serial hub mode, Parani-MSP1000 relays data communications between Bluetooth devices. With Parani-SD only 1:1 cable replacement is possible, however, incorporating Parani-MSP1000 multiple Parani-SDs can communicate each other, 1:N multi-serial with Parani_SD. Note: The serial hub mode is supported only when the Pairing mode is “Custom”...
Timeout The Parani-MSP1000 waits until the received data size is the configured fixed size or the timer is expired. If the timeout is zero, it means unlimited. Delimiter The Parani-MSP1000 waits until the configured delimiter is arrived, the received data size is the configured fixed size or the timer is expired.
Page 39
remote host like the client mode. In vertex mode, data from a host are sent to all of connected Bluetooth devices. Figure 5-7 Server mode Figure 5-8 Client mode Figure 5-9 Tunneling mode...
Page 40
Figure 5- 10 Vertex mode Service protocol When the network service mode is server or client, the available protocols are RawTCP, SSL, Telnet and SSH. When the network service mode is tunneling, the available protocols are RawTCP, SSL. Inactivity timeout If there is no data for the configured inactivity timeout, the network session will be terminated.
Periodic connection When the network service mode is client, the Parani-MSP1000 attempts to create an outgoing connection with this interval. If the periodic connection is zero, it means that the Parani -MSP1000 never initiates connection when there is no data received from SPP. ...
Figure 5-11 Port Logging mode 5.5.8. Serial hub The serial hub mode is supported only when the Pairing mode is “Custom”. This field shows BD address of connectable Bluetooth devices, so the user can select some devices. Figure 5-12 Serial hub configuration...
5.5.9. Miscellaneous 7-bit data emulation This option is useful in using with the Parani-SD Series or the Parani-ESD Series. The Parani- SD/ESD Series do not support 7-data-bits. The Parani-MSP1000 emulates 7-data-bits instead of the Parani-SD/ESD Series. Note: In order to use 7-bit data emulation, the serial device connected to the Parani-SD/ESD should support Odd, Even or Space parity (while the Parani-SD/ESD is set to No Parity).
5.7. Connections The SPP connections currently connected to the Parani-MSP1000 are displayed. Definitions and descriptions of each parameter are described as follows: The Bluetooth interface BD address The remote BD address Service description The network service linked with the SPP connection is displayed. Figure 5-15 SPP connections 5.8.
Page 45
IP Mode (eth0) : Static IP IP Addr. (eth0) : 192.168.11.30 -------------------------------------------------------------------------------- 1. System status 2. Bluetooth neighborhoods 3. PAN connections 4. LAP & DUN connections 5. SPP connections 6. TCP connections <Enter> Refresh ---> 5 ----------------------------------------------------------------- --------------- SPP connections -------------------------------------------------------------------------------- BD address Device name...
6. CF card Configuration The Parani- MSP1000 has a CF card slot for increased expandability. It supports two types of PC cards: ATA/IDE fixed disk card Modem card The ATA/IDE fixed disk card allows the user the ability to store and carry system and SPP data logs. Using the card slot for a modem cards allows the users can make an out-of-band access to the Parani-MSP1000 without occupying one a serial port with an to connect to an external modem.
6.2 Serial modem card configuration The user can access to the Parani-MSP1000 via serial modem. The user can configure User name, Password, Authentication method, Remote / Local IP as shown in Figure 6-2. Figure 6- 2 Modem card configuration...
7. System administration 7.1. Host name The Parani-MSP1000 has its own name for administrative purposes. Figure 7-1 Host name configuration 7.2. User management The Parani-MSP1000 utilizes user profile types to manage accessibility to different functions. There three levels of user types include: root, admin and user. The root and admin group has full read/write access of the Parani-MSP1000 configuration.
7.2.1. Adding a new user In order to add a new user: 1. Select “ Add” button. 2. Enter the username (user id) 3. Choose the user group between admin and user. 4. Select “ Submit” button. Note: Adding a new root user is not allowed. 7.2.2.
Figure 7-3 Security configuration 7.3.1. Changing certificate The Parani-MSP1000 supports .PEM format for certificate. In order to change the certificate (for this Parani-MSP1000) 1. Select Certificate menu 2. Select the certificate file 3. Select “ Submit” button. 7.3.2. Changing private key The Parani-MSP1000 supports .PEM format for private key.
not be established. In order to upload a new certificate of trusted CA: 1. Select Certificates of Trusted CA menu 2. Select the certificate file of CA 3. Select “ Submit” button. Note: If there is already the same name of file, rename the certificate. The name of file doesn’ t affect the certificate.
will allow the date and time information to be kept maintained by the internal battery backup. The user may also need to set the timezone and the time offset from UTC depending on the user s’ location. If the user uses daylight saving time, the user may also need to set the daylight saving time properties such as;...
5. Select the file to import by clicking browse button if location is local machine. 6. Click the [Import] button. Figure 7-6 Configuration import 7.6. Firmware upgrade Firmware upgrades are available via serial, remote console or web interface. The latest upgrades are available on the Sena web site at http://www.sena.com/support/downloads/.
7.6.1 Manual firmware upgrade To upgrade firmware via the web: 1. Select the latest firmware binary by clicking browse button. 2. Select and upload the selected version. 3. Once the upgrade has been completed, the system will reboot to apply the changes. Figure 7-7 Firmware upgrade To use either a remote or serial console to upgrade your firmware, the TELENT/SSH or terminal emulation program must support Zmodem transfer protocol.
------------------------------------------------------------------------------- System administrator ------------------------------------------------------------------------------- 1. Device name: MSP1000 2. User management 3. Security 4. Date and Time 5. Configuration management 6. Firmware upgrade <ESC> Back, <ENTER> Refresh --> 6 waiting to receive.**B0100000023be50 4. Follow the online directions and transfer the firmware binary file using the Zmodem protocol.
Page 56
Automatic firmware and configuration upgrade at boot time It determines whether the Parani- MSP1000 upgrade at boot time or not. Protocol It determines which protocol the Parani-MSP1000 uses to communicate with the remote host on upgrading. IP address of remote server It determines to which host the Parani- MSP1000 connects to get the hash file, firmware image and configuration file.
Hash file example is below: 1,msp1000.img,v1.0.0 2,conf.enc,E,v1.0.0 3,userfile.tar.gz,FXZ,/mnt/ram 4,mkdir /mnt/ram/testdir Figure 7- 8 Automatic firmware upgrade 7.7. Change password To change the current user’ s password, type the current password, a new password and confirm the new password and then click the “Submit” button. Figure 7-9 Change password...
8. System status & log 8.1. System status The Parani- MSP1000 displays the system status. This screen is used for management purposes. System status data includes the model name, serial number, firmware version and the network configuration of the Parani-MSP1000. Figure 8-1 System status 8.2.
Page 59
IP address and the facility to be used. To receive log messages from the Parani-MSP1000, the SYSLOG server must be configured as “remote reception allowed”. If there is a firewall between the Parani-MSP1000 and the SYSLOG server, there must be a rule that allows all outgoing and incoming UDP packets to travel across the firewall.
9. System statistics 9.1. Network interfaces Network interfaces statistics displays basic network interfaces usage of the Parani-MSP1000, lo, eth0 and eth1. lo is a local loop back interface and eth0 and eth1 are network interfaces of Parani- MSP1000. Figure 9-1 Network interfaces statistics 9.2.
Page 61
discarded because the IP address in their IP header’ s destination field was not a valid address to be received at this entity. This count includes invalid addresses (for example, 0.0.0.0) and addresses of unsupported Classes (for example, Class E). ForwDatagrams : Specifies the number of datagrams forwarded.
Specifies the number of datagrams that need to be fragmented but couldn’ t be because the IP header specifies no fragmentation. For example, if the datagrams “Don’ t Fragment” flag was set, the datagram would not be fragmented. These datagrams are discarded. FragCreates : Specifies the number of fragments created.
Page 63
number of routers it has passed through exceeds its time-to-live value. InParmProbs, OutParmProbs : Specifies the number of parameter-problem messages received or sent. A parameter-problem message is sent to the originating computer when a router or host detects an error in a datagram’...
Figure 9-3 ICMP statistics 9.4. TCP The TCP Statistics screen provides statistical information about packets/connections using a TCP protocol. Definitions and descriptions of each parameter are described below: RtoAlgorithm : Specifies the retransmission time-out (RTO) algorithm in use. The Retransmission Algorithm can have one of the following values.
PassiveOpens : Specifies the number of passive opens. In a passive open, the server is listening for a connection request from a client. AttemptFails : Specifies the number of failed connection attempts. EstabResets : Specifies the number of established connections that have been reset. CurrEstab : Specifies the number of currently established connections.
Page 66
InDatagrams : Specifies the number of datagrams received. NoPorts : Specifies the number of received datagrams that were discarded because the specified port was invalid. InErrors : Specifies the number of erroneous datagrams that were received. Datagrams Received Errors is the number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.
10. CLI guide 10.1. Introduction The Parani-MSP1000 Root user can access the Linux console command line interface (CLI) of the Parani-MSP1000 by via the serial console or Telnet/SSH. In the CLI, the authorized user can perform standard Linux commands to view the status of the Parani-MSP1000, edit the configuration, apply configuration changes, define user scripts and transmit files between the Parani-MSP1000 and remote hosts.
/usr2 root@192.168.0.117:/usr2# ftp 192.168.2.3 Connected to 192.168.2.3. 220 lxtoo.senalab.co.kr FTP server (Version wu-2.6.1-16) ready. Name (192.168.2.3:root): sena 331 Password required for sena. Password: 230 User sena logged in. Remote system type is UNIX. Using binary mode to transfer files.
11. Approval Information 11.1. FCC 11.1.1. FCC Compliance Statement This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) This device must accept any interference received, Including interference that may cause undesired operation 11.1.2.
12. RF Information 12.1. Radio Frequency Range 2.402~2.480GHz 12.2. Number of Frequency Channel 79 channels 12.3. Transmission Method FHSS(Frequency Hopping Spread Spectrum) 12.4. Modulation Method GFSK(Gaussian-filtered Frequency Shift Keying) 12.5. Radio Output Power +18dBm 12.6. Receiving Sensitivity -88dBm 12.7. Power Supply DC5V...
Appendix A. Connections A.1. Console pin-outs The pin assignment of the Parani-MSP1000 DB9 connector is summarized in Table A-1. Each pin has a function according to the serial communication type configuration. 1 2 3 4 5 6 7 8 9 Figure A-1 Pin layout of the DB-9 connector Table A-1 Pin assignment of DB-9 connector for console and serial port RS232...
Page 72
Figure A-3 Ethernet connection using straight through Ethernet cable...
Appendix B. Well-known port numbers Port numbers are divided into three ranges: Well Known Ports, Registered Ports, and Dynamic and/or Private Ports. Well Known Ports are those from 0 through 1023. Registered Ports are those from 1024 through 49151. Dynamic and/or Private Ports are those from 49152 through 65535. Well Known Ports are assigned by IANA, and on most systems, can only be used by system processes or by programs executed by privileged users.
Appendix C. Using Python The Parani-MSP1000 supports python language for user customization. C.1. Running Python There are two different ways to start Python. C.1.1 Interactive Interpreter from Command Line Interface You can enter Python and start coding right way in the interactive interpreter by starting it from the command line.
Warning: Permanently added '192.168.7.8' (RSA) to the list of known hosts. root@192.168.7.8's password: array.so 100% 101KB 101.4KB/s 00:01 [root@MSP1000 usr2]# C.3. Executing Python script at boot time The Parani-MSP1000 executes the /usr2/rc.user at boot time. Users should make the rc.user execute the Python script.
Page 76
(23, "information")) for bitpos, classname in service_classes: if device_class & (1 << (bitpos-1)) and classname == "object transfer": scan_info.append(address) def inquiry_complete(self): self.done = True def sendfile(bdaddr, i): if len(send_info) > 0: for item in send_info: if item['addr'] == bdaddr: return services = lightblue.findservices(addr=bdaddr, servicetype=lightblue.OBEX) address, serviceport, servicename = services[0] lightblue.obex.sendfile(address, serviceport, file_path)
Page 77
sleep(scan_interval) Step 2. Upload the Python code [root@MSP1000 usr2]# scp 192.168.7.8:/home/btsender.py ./ root@192.168.7.8's password: btsender.py 100% 2644 2.6KB/s 00:00 [root@MSP1000 usr2]# Step 3. Modify the /usr2/rc.user [root@MSP1000 usr2]# vi rc.user #PATH=/bin:/usr/bin:/sbin:/usr/sbin # Add shell command to execute from here /usr2/btsender.py & Step 4.
Appendix D. Control Commands The Parani- MSP1000 is controllable by Control commands through 2525 TCP port. Every command responds with +OK if successful, otherwise – ERR. Figure D- 1 Control command D.1. Commands for Control port <OPT> : Necessary, [OPT] : Optional Synopsis USER <username>...
Page 79
Synopsis STAT Displays current Bluetooth device status. Description Idx|bdaddr|tx-byte|rx-byte|tx-error|rx-error STAT Example 0|00:01:95:00:00:D2|131570|235803|0|0 Synopsis SCAN [IAC] To see the inquired device list. Description IAC – Inquiry Access Code. User may inquire the device with same IAC code. Bdaddr|name SCAN 00:01:95:07:08:51|PSD200v1.1.0-070851 Example 00:02:72:CE:A4:2A|ubunto-0 00:01:95:08:24:CF|MSP1000-0 Synopsis...
Page 80
Synopsis LOG [line] Description To see system log. If line number specified, only latest [line] rows will be display ed. LOG 1 Example Apr 11 01:42:13 MSP1000 local0.info web[507]: Authentication for 'root' passed. Synopsis Description To see software version of Parani-MSP1000. Example +OK v1.2.0 Synopsis...
(a) any misapplication or misuse of the Product; (b) failure of Customer to adhere to any of SENA’ s specifications or instructions; (c) neglect of, abuse of, or accident to, the Product; or (d) any associated or complementary equipment or software not furnished by SENA.
- Replacement of parts due to normal wear and tear, - Hardware has been altered in any way, - Product that has been exposed to repair attempts by a third party without SENA’ s written consent, - Hardware hosting modified SENA Software, or non-SENA Software, unless modifications have been approved by SENA.