This article also applies to the TM110.
Drivers and Manual
Windows 10 Drivers
How to enable auto power on
- Power on the CL200 and press the Esc key a few times to access the BIOS
- Navigate to the Chipset tab
- Change auto power on to [enable]
- Save & Exit
- The CL200 will now automatically turn on when power is connected
How to clear the CMOS
If the CL200 fails to power on or boot up, clearing the CMOS can help.
- Remove the two silver Phillips screws
- Use a flathead screwdriver or similar tool to gently lever the bottom cover off
- Locate the Clear CMOS jumpers
- Remove the black jumper from pins 6 and 4
- Install it onto pins 4 and 2, moving it down by 1 pin
- Wait 30 seconds
- Restore the jumper to its original 6-4 position
- The CMOS is now clear
WiFi Card Installation
- Install the WiFi card and antenna pigtail cables as shown.
- The nuts and washers are loose for illustration purposes. They should be fully hand tightened
- Apply the thermal pad to the top of the WiFi card
- Hinge the bottom plate back onto the system by aligning the tabs
- Reinstall the silver Phillips screws
Using the optional CEC module (ADP107)
The ADP107 is a module that is installed in-line with the DisplayPort outputs on configured OnLogic systems. Its purpose is to enable Consumer Electronics Control (CEC) functionality which manages the connection between the system and any connected displays according to a set of preconfigured rules. This allows command signals to be passed to the displays when the computer starts, stops, wakes, and sleeps, in a user-configurable order after a configurable time delay.
The device’s default configuration is to power up displays when the system starts/wakes and power them off when the system stops/sleeps. It is also configured by default to start the computer when the connected display powers on, and to power the computer off
when the displays are powered off. The default startup delay timer is set to 5 seconds.
Download the driver archive and extract it.
In the Windows 10 folder, there are two applications required for full functionality, the kernel driver that allows communication with the CEC module, and the user driver that keeps the module up-to-date with the system’s HDMI port addresses.
To install the kernel driver, right-click on ADP107.inf and select install. Accept any prompts that follow, then restart the system.
Download the driver archive and extract it.
Install the necessary prerequisites using:
sudo apt-get install build-essential linux-headers-uname -r make i2c-tools
In the Linux folder, you will find a kernel module that can be compiled from the command line.
From the driver package’s Linux folder, run the following commands:
make sudo make install
Finally, restart the system. Upon reboot, you should find that a character device is loaded at /dev/adp107 that can be used to communicate with the device using the application codes included in the next section.
For information on controlling the ADP107 device, refer to the table in the following PDF.
Example Code: Python
Ubuntu – Scan for HDMI addresses and power up displays
import smbus smbusNumber = 5 adp107Address = 0x20 physAddrOffset = 0x43 powerOnOffset = 0x4f powerOffOffset = 0x50 ddcNumbers = [0,1] def apd107ReadHdmiDdc(ddcNumber): bus = smbus.SMBus(ddcNumber) rawEdid =  hdmiAddress = [ddcNumber] for i in range(0, 256, 32): try: rawEdid += bus.read_i2c_block_data(0x50, i, 32) except: print "Failed to read DDC-%" % ddcNumber return None if rawEdid == 0: #no extensions after main EDID block return None if rawEdid == 4: #no data blocks present in extended EDID return None edidIndex = 132 blockType = 0 blockLen = 0 while edidIndex < (rawEdid + 128): blockType = rawEdid[edidIndex] >> 5 blockLen = rawEdid[edidIndex] & 0x1f if (blockType == 3): #vendor block containing HDMI physical address hdmiAddress.append(rawEdid[edidIndex+4]) hdmiAddress.append(rawEdid[edidIndex+5]) return hdmiAddress edidIndex = edidIndex + blockLen + 1 def adp107ScanSetHdmiAddresses(bus): for ddc in ddcNumbers: hdmiAddress = adp107ReadHdmiDdc(ddc) if hdmiAddress is not None: bus.write_i2c_block_data(adp107Address, physAddrOffset, hdmiAddress) def adp107PowerOnDisplay(bus, displayNum): bus.write_i2c_block_data(adp107Address, powerOnOffset, [displayNum]) def adp107PowerOffDisplay(bus, displayNum): bus.write_i2c_block_data(adp107Address, powerOffOffset, [displayNum]) adp107Bus = smbus.SMBus(smbusNumber) adp107ScanSetHdmiAddresses(adp107Bus) #commands are ignored if ScanSetHdmiAddresses didn't find an HDMI address adp107PowerOnDisplay(bus, 0) adp107PowerOnDisplay(bus, 1)