<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T3730%3A_Linux%3A_Debian</id>
	<title>CM-T3730: Linux: Debian - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T3730%3A_Linux%3A_Debian"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T3730:_Linux:_Debian&amp;action=history"/>
	<updated>2026-05-02T05:41:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-T3730:_Linux:_Debian&amp;diff=1667&amp;oldid=prev</id>
		<title>Grinberg: /* WL12xx calibration tool */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T3730:_Linux:_Debian&amp;diff=1667&amp;oldid=prev"/>
		<updated>2014-02-25T11:11:07Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;WL12xx calibration tool&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 11:11, 25 February 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l117&quot; &gt;Line 117:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CM-T3730 Linux package contains the statically compiled {{cmd|calibrator}} utility from [http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator ti-utils] support package for WL12xx.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The CM-T3730 Linux package contains the statically compiled {{cmd|calibrator}} utility from [http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator ti-utils] support package for WL12xx.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For more details please read [http://processors.wiki.ti.com/index.php/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;OMAP_Wireless_Connectivity_Calibration_Proccess_NLCP &lt;/del&gt;OMAP Wireless Connectivity Calibration Proccess NLCP] article.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For more details please read [http://processors.wiki.ti.com/index.php/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;WL12xx_NLCP_Calibration_Proccess &lt;/ins&gt;OMAP Wireless Connectivity Calibration Proccess NLCP] article.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Example of reading WLAN MAC address stored in NVS file:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Example of reading WLAN MAC address stored in NVS file:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l126&quot; &gt;Line 126:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Note|If the NVS file contains MAC of all zeroes, the MAC address is initialized from the chip fuse. It is recommended to not change it.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Note|If the NVS file contains MAC of all zeroes, the MAC address is initialized from the chip fuse. It is recommended to not change it.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== USB On-The-Go (OTG) ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== USB On-The-Go (OTG) ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-T3730:_Linux:_Debian&amp;diff=1654&amp;oldid=prev</id>
		<title>Grinberg: /* Example */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T3730:_Linux:_Debian&amp;diff=1654&amp;oldid=prev"/>
		<updated>2014-02-18T08:51:44Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Example&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
The example run-time Linux filesystem image for CM-T3730 is based on Debian GNU/Linux Wheezy.&lt;br /&gt;
The CompuLab Linux package for CM-T3730 includes ready to run NAND flash image, Linux kernel configuration and source code patches, and an archive of the root filesystem, used to create the image.&lt;br /&gt;
&lt;br /&gt;
The default Debian Wheezy Linux image includes more than 400 software packages. Among them:&lt;br /&gt;
&lt;br /&gt;
* Core system&lt;br /&gt;
* Debian package management system&lt;br /&gt;
* X11 Windowing System&lt;br /&gt;
* Fluxbox desktop manager&lt;br /&gt;
* Netsurf web browser&lt;br /&gt;
* Samba connectivity suite&lt;br /&gt;
* SSH server and client&lt;br /&gt;
* ALSA configuration and usage utilities &lt;br /&gt;
* Bluetooth tools and daemons&lt;br /&gt;
* The Graphics SDK including the Linux graphics (SGX) drivers and ready to run SGX functionality demos&lt;br /&gt;
* The Digital Video SDK (DVSDK) version 4.03.00.06 including Linux kernel modules&lt;br /&gt;
&lt;br /&gt;
The [[CM-T3730: Linux: Getting started]] page provides a brief introduction on how to install the run-time Linux image.&amp;lt;br&amp;gt;&lt;br /&gt;
The [[CM-T3730: Linux: Package contents]] article describes Linux package structure specific to CM-T3730.&lt;br /&gt;
&lt;br /&gt;
== Using Debian Linux on CM-T3730 ==&lt;br /&gt;
&lt;br /&gt;
=== Connection and Logging In ===&lt;br /&gt;
Use the following username and password to login:&lt;br /&gt;
&lt;br /&gt;
Account with administrative privileges:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User: root&lt;br /&gt;
Password: 111111&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To login into the Linux system, you may use a serial console (ttyO2) at 115200 bps, or connect through the network, or use a keyboard and DVI/LCD display (tty1, tty2, tty3).&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
To configure networking, edit {{filename|/etc/network/interfaces}}, {{filename|/etc/udev/rules.d/70-persistent-net.rules}}, {{filename|/etc/resolv.conf}}, {{filename|/etc/hostname}} and {{filename|/etc/hosts}}. For more information about Debian Linux network configuration read [http://www.debian.org/doc/manuals/reference/ch05.en.html Network setup] chapter in the [http://www.debian.org/doc/manuals/reference/index.en.html Debian Reference].&lt;br /&gt;
&lt;br /&gt;
=== Consoles ===&lt;br /&gt;
Linux file system image is designed to suit different kernel versions and configurations. Therefore, during the operating system startup, consoles at several serial ports and DVI display are enabled. Some of these devices may not be supported, either because of kernel versions incompatibilities, or because the kernel was not configured to support these devices. When the console is enabled for such a device, the following or similar message can appear on active console: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INIT: Id &amp;quot;T0&amp;quot; respawning too fast: disabled for 5 minutes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is not an error message, it is just a warning that can be eliminated by editing {{filename|/etc/inittab}} file.&lt;br /&gt;
&lt;br /&gt;
=== X Windows system ===&lt;br /&gt;
CompuLab distribution contains full featured X Windows system with Fluxbox window manager.&lt;br /&gt;
Before starting X Windows, connect USB mouse and keyboard to the system.&lt;br /&gt;
You can run X Windows by typing '''''startx'''''.&lt;br /&gt;
&lt;br /&gt;
=== Fluxbox window manager ===&lt;br /&gt;
&lt;br /&gt;
CM-T3730 Debian Linux features installed Fluxbox package - a lightweight window manager for the X Windowing System.&lt;br /&gt;
&lt;br /&gt;
* Fluxbox provides configurable window decorations, a root menu to launch applications and a toolbar that shows the current workspace name, a set of application names and the current time. There is also a workspace menu which allows you to add or remove workspaces. The {{parameter|slit}} can be used to dock small applications, e.g. most of the bbtools can use slit. &lt;br /&gt;
* Fluxbox can iconify windows to the toolbar, in addition to adding the window to the Icons submenu of the workspace menu.&lt;br /&gt;
&lt;br /&gt;
Visit [http://fluxbox-wiki.org Fluxbox Wiki] and [http://fluxbox.org/ Official home page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Software Management ===&lt;br /&gt;
&lt;br /&gt;
Debian Linux image for CM-T3730 includes all the information required to use Debian package management utilities. You can use [http://linux.die.net/man/8/apt-get apt-get] and [http://www.wlug.org.nz/dpkg(8) dpkg] out of the box.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
CM-T3730 Evaluation Kit can be equipped with either of the following LCD touch panels: Toppoly TDO35S or DataImage SCF0403852GGU04.&lt;br /&gt;
See [[CM-T3730: Linux: Getting started#Select LCD model|Select LCD model]] section to enable support for the particular touchscreen.&lt;br /&gt;
The touchscreen driver is modularized if you use default CM-T3730 configuration and is loaded by {{filename|udev}} automatically on Linux boot. If the touchscreen driver is not loaded, the following command will load the touchscreen driver:&lt;br /&gt;
&lt;br /&gt;
* For Toppoly TDO35S LCD touch panel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe ads7846&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* For DataImage SCF0403852GGU04 LCD touch panel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe hx8520-c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The X Windows system of CM-T3730 uses tslib X server input driver to get the input from the touchscreen.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen calibration ====&lt;br /&gt;
All supported touchscreen devices can be calibrated using {{cmd|xinput_calibrator}} utility.&lt;br /&gt;
&lt;br /&gt;
To calibrate the touchscreen:&lt;br /&gt;
* Run X Server by issuing {{cmd|startx}} command&lt;br /&gt;
* Make sure the touchscreen driver is loaded as described in [[CM-T3730: Linux: Debian#Touchscreen|Touchscreen]] section&lt;br /&gt;
* Set the {{parameter|DISPLAY}} environment variable:  &amp;lt;pre&amp;gt; export DISPLAY=:0&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Run {{cmd|xinput_calibrator}} utility. For proper calibration you are required to touch the touchscreen corners and center in the following order: top-left, top-right, bottom-right, bottom-left, center.&lt;br /&gt;
* Create a file {{filename|/usr/share/X11/xorg.conf.d/99-calibration.conf}} and paste there a snippet with the calibration results:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# xinput_calibrator &lt;br /&gt;
	Setting calibration data: 0, 4095, 0, 4095&lt;br /&gt;
Calibrating EVDEV driver for &amp;quot;ADS7846 Touchscreen&amp;quot; id=6&lt;br /&gt;
	current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095&lt;br /&gt;
&lt;br /&gt;
Doing dynamic recalibration:&lt;br /&gt;
	Setting calibration data: 289, 3781, 3887, 227&lt;br /&gt;
	--&amp;gt; Making the calibration permanent &amp;lt;--&lt;br /&gt;
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;calibration&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;ADS7846 Touchscreen&amp;quot;&lt;br /&gt;
	Option	&amp;quot;Calibration&amp;quot;	&amp;quot;289 3781 3887 227&amp;quot;&lt;br /&gt;
	Option	&amp;quot;SwapAxes&amp;quot;	&amp;quot;0&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MMC/SD ===&lt;br /&gt;
The support for MMC/SD card on CM-T3730 is built into the Linux kernel.&lt;br /&gt;
To mount the memory card, monitor ''/proc/partitions'' to see what partitions were detected on the MMC/SD card. For example, suppose MMC/SD partition you'd like to mount is ''mmcblk0p1'' then:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /mnt/mmcblk0p1 &amp;amp;&amp;amp; mount /dev/mmcblk0p1 /mnt/mmcblk0p1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== WL12xx calibration tool ===&lt;br /&gt;
&lt;br /&gt;
Calibration of TI WL12xx wireless device is needed for generation of specific radio configuration parameters and saving into the NVS file.&lt;br /&gt;
The NVS file is then used by the wl12xx driver.&lt;br /&gt;
&lt;br /&gt;
The CM-T3730 Linux package contains the statically compiled {{cmd|calibrator}} utility from [http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator ti-utils] support package for WL12xx.&lt;br /&gt;
For more details please read [http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Calibration_Proccess_NLCP OMAP Wireless Connectivity Calibration Proccess NLCP] article.&lt;br /&gt;
&lt;br /&gt;
Example of reading WLAN MAC address stored in NVS file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# ./calibrator get nvs_mac /lib/firmware/ti-connectivity/wl1271-nvs.bin&lt;br /&gt;
MAC addr from NVS: 00:00:00:00:00:00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|If the NVS file contains MAC of all zeroes, the MAC address is initialized from the chip fuse. It is recommended to not change it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== USB On-The-Go (OTG) ===&lt;br /&gt;
&lt;br /&gt;
CM-T3730 features an Inventra Highspeed Dual Role USB On-The-Go (OTG) 2.0 controller. CM-T3730 OTG port is USB host and USB device (gadget) capable.&lt;br /&gt;
OTG Gadget drivers are compiled as modules with default CM-T3730 kernel configuration. A Gadget driver should be loaded for OTG support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# modprobe g_serial&lt;br /&gt;
g_serial gadget: Gadget Serial v2.4&lt;br /&gt;
g_serial gadget: g_serial ready&lt;br /&gt;
musb-hdrc musb-hdrc: MUSB HDRC host driver&lt;br /&gt;
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 2&lt;br /&gt;
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002&lt;br /&gt;
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1&lt;br /&gt;
usb usb2: Product: MUSB HDRC host driver&lt;br /&gt;
usb usb2: Manufacturer: Linux 3.0.87-cm-t3730 musb-hcd&lt;br /&gt;
usb usb2: SerialNumber: musb-hdrc&lt;br /&gt;
hub 2-0:1.0: USB hub found&lt;br /&gt;
hub 2-0:1.0: 1 port detected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Default CM-T3730 kernel configuration enables {{filename|g_serial}}, {{filename|g_file_storage}}, {{filename|g_ether}} and {{filename|g_hid}} gadget drivers.&lt;br /&gt;
More gadget drivers can be enabled in the kernel configuration.&lt;br /&gt;
&lt;br /&gt;
==== Testing OTG port ====&lt;br /&gt;
&lt;br /&gt;
* Host mode. Connect USB keyboard to OTG port. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usb 2-1: new low speed USB device number 9 using musb-hdrc&lt;br /&gt;
usb 2-1: device v413c p2107 is not supported&lt;br /&gt;
usb 2-1: New USB device found, idVendor=413c, idProduct=2107&lt;br /&gt;
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0&lt;br /&gt;
usb 2-1: Product: Dell USB Entry Keyboard&lt;br /&gt;
usb 2-1: Manufacturer: Dell&lt;br /&gt;
input: Dell Dell USB Entry Keyboard as /devices/platform/omap/musb-omap2430/musb-hdrc/usb2/2-1/2-1:1.0/input/input7&lt;br /&gt;
generic-usb 0003:413C:2107.0004: input: USB HID v1.10 Keyboard [Dell Dell USB Entry Keyboard] on usb-musb-hdrc-1/input0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Gadget mode. Connect desktop PC to OTG port. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gadget: &amp;gt;high-speed config #2: CDC ACM config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
CM-T3730 features Bluetooth 4.0 interface. Following sections describe the initialization and simple use cases of Bluetooth device.&lt;br /&gt;
&lt;br /&gt;
==== Host Controller Interface (HCI) Initialization ==== &lt;br /&gt;
&lt;br /&gt;
* Attach the ttyO1 serial port to the HCI Bluetooth subsystem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# hciattach -s 115200 /dev/ttyO1 texas 3000000&lt;br /&gt;
Found a Texas Instruments' chip!&lt;br /&gt;
Firmware file : /lib/firmware/TIInit_7.6.15.bts&lt;br /&gt;
Loaded BTS script version 1&lt;br /&gt;
texas: changing baud rate to 3000000, flow control to 1&lt;br /&gt;
Bluetooth: HCI UART driver ver 2.2&lt;br /&gt;
Bluetooth: HCI H4 protocol initialized&lt;br /&gt;
Bluetooth: HCI BCSP protocol initialized&lt;br /&gt;
Bluetooth: HCILL protocol initialized&lt;br /&gt;
Device setup complete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run HCI device configuration utility to retrieve detailed information about the Bluetooth device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# hciconfig -a   &lt;br /&gt;
hci0:	Type: BR/EDR  Bus: UART&lt;br /&gt;
	BD Address: 78:C5:E5:E5:25:C2  ACL MTU: 1021:4  SCO MTU: 180:4&lt;br /&gt;
	UP RUNNING PSCAN &lt;br /&gt;
	RX bytes:856 acl:0 sco:0 events:34 errors:0&lt;br /&gt;
	TX bytes:692 acl:0 sco:0 commands:34 errors:0&lt;br /&gt;
	Features: 0xff 0xfe 0x2d 0xfe 0xdb 0xff 0x7b 0x87&lt;br /&gt;
	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 &lt;br /&gt;
	Link policy: RSWITCH HOLD SNIFF &lt;br /&gt;
	Link mode: SLAVE ACCEPT &lt;br /&gt;
	Name: 'cm-debian-0'&lt;br /&gt;
	Class: 0x6e0100&lt;br /&gt;
	Service Classes: Networking, Rendering, Capturing, Audio, Telephony&lt;br /&gt;
	Device Class: Computer, Uncategorized&lt;br /&gt;
	HCI Version: 4.0 (0x6)  Revision: 0x0&lt;br /&gt;
	LMP Version: 4.0 (0x6)  Subversion: 0x1f3b&lt;br /&gt;
	Manufacturer: Texas Instruments Inc. (13)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== A2DP Headphones ====&lt;br /&gt;
&lt;br /&gt;
* Scan for available devices to find out Headphones BT device address:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# hcitool scan&lt;br /&gt;
Scanning ...&lt;br /&gt;
	00:07:A4:F2:B3:CB	Motorola HT820&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add new PCM device by editing {{filename|/etc/asound.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pcm.btheadphones {&lt;br /&gt;
   type plug&lt;br /&gt;
   slave {&lt;br /&gt;
       pcm {&lt;br /&gt;
           type bluetooth&lt;br /&gt;
           device 00:07:A4:F2:B3:CB&lt;br /&gt;
           profile &amp;quot;auto&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
   }&lt;br /&gt;
   hint {&lt;br /&gt;
       show on&lt;br /&gt;
       description &amp;quot;BT Headphones&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
ctl.btheadphones {&lt;br /&gt;
  type bluetooth&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List device names to ensure correct settings in {{filename|/etc/asound.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~#  aplay -L&lt;br /&gt;
null&lt;br /&gt;
    Discard all samples (playback) or generate zero samples (capture)&lt;br /&gt;
btheadphones&lt;br /&gt;
    BT Headphones&lt;br /&gt;
default:CARD=overo&lt;br /&gt;
    overo, &lt;br /&gt;
    Default Audio Device&lt;br /&gt;
sysdefault:CARD=overo&lt;br /&gt;
    overo, &lt;br /&gt;
    Default Audio Device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Put the headphones in the pairing mode and launch {{filename|bluez-simple-agent}} application and provide device PIN code on request:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# bluez-simple-agent hci0 00:07:A4:F2:B3:CB&lt;br /&gt;
RequestPinCode (/org/bluez/1335/hci0/dev_00_07_A4_F2_B3_CB)&lt;br /&gt;
Enter PIN Code: 0000&lt;br /&gt;
Release&lt;br /&gt;
New device (/org/bluez/1335/hci0/dev_00_07_A4_F2_B3_CB)&lt;br /&gt;
root@cm-debian:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Launch {{filename|aplay}} playback tool:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# aplay -D btheadphones sample_audio.wav&lt;br /&gt;
Playing WAVE 'sample_audio.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Obex FTP service ====&lt;br /&gt;
&lt;br /&gt;
The OBject EXchange protocol (OBEX) can be used to exchange all kind of objects like files, pictures, calendar entries (vCal) and business cards (vCard) over bluetooth, IrDA, USB and serial cable links.&lt;br /&gt;
CM-T3730 Linux example root file system contains file transfer utility for devices that use the OBEX protocol. Following examples demonstrate its usage with mobile phone device.&lt;br /&gt;
&lt;br /&gt;
* Enable bluetooth on the phone. On CM-T3730, scan for available devices to find out phone's BT address:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# hcitool scan&lt;br /&gt;
Scanning ...&lt;br /&gt;
	00:15:2A:20:63:94	Nokia 6230i&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensure the phone supports Obex FTP service:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# sdptool search FTP&lt;br /&gt;
Inquiring ...&lt;br /&gt;
Searching for FTP on 00:15:2A:20:63:94 ...&lt;br /&gt;
Service Name: OBEX File Transfer&lt;br /&gt;
Service RecHandle: 0x100de&lt;br /&gt;
Service Class ID List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
Protocol Descriptor List:&lt;br /&gt;
  &amp;quot;L2CAP&amp;quot; (0x0100)&lt;br /&gt;
  &amp;quot;RFCOMM&amp;quot; (0x0003)&lt;br /&gt;
    Channel: 10&lt;br /&gt;
  &amp;quot;OBEX&amp;quot; (0x0008)&lt;br /&gt;
Language Base Attr List:&lt;br /&gt;
  code_ISO639: 0x656e&lt;br /&gt;
  encoding:    0x6a&lt;br /&gt;
  base_offset: 0x100&lt;br /&gt;
Profile Descriptor List:&lt;br /&gt;
  &amp;quot;OBEX File Transfer&amp;quot; (0x1106)&lt;br /&gt;
    Version: 0x0100&lt;br /&gt;
&lt;br /&gt;
root@cm-debian:~# &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pair the device - provide PIN code upon request and confirm permission request on the phone:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# bluez-simple-agent hci0 00:15:2A:20:63:94&lt;br /&gt;
RequestPinCode (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94)&lt;br /&gt;
Enter PIN Code: 1937&lt;br /&gt;
Release&lt;br /&gt;
New device (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94)&lt;br /&gt;
&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|You can launch {{cmd|bluez-simple-agent}} with no parameters. The agent is tracking requests to all bluetooth devices and triggers pin code confirmation when needed.}}&lt;br /&gt;
&lt;br /&gt;
* List phone's root folder:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94  --list&lt;br /&gt;
Browsing 00:15:2A:20:63:94 ...&lt;br /&gt;
Connecting..\done&lt;br /&gt;
Tried to connect for 579ms&lt;br /&gt;
Receiving &amp;quot;(null)&amp;quot;.../&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE folder-listing SYSTEM &amp;quot;obex-folder-listing.dtd&amp;quot;&lt;br /&gt;
 [ &amp;lt;!ATTLIST folder mem-type CDATA #IMPLIED&amp;gt; ]&amp;gt;&lt;br /&gt;
&amp;lt;folder-listing version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;EXTENTSION&amp;quot; user-perm=&amp;quot;RW&amp;quot; mem-type=&amp;quot;MMC&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Images&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Video clips&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Music files&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Themes&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;RW&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Graphics&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Tones&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;folder name=&amp;quot;Recordings&amp;quot; created=&amp;quot;19800101T000000&amp;quot; user-perm=&amp;quot;R&amp;quot; mem-type=&amp;quot;DEV&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/folder-listing&amp;gt;&lt;br /&gt;
done&lt;br /&gt;
Disconnecting..-done&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Transfer a file from CM-T3730 to the phone:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --put test_file.txt &lt;br /&gt;
Browsing 00:15:2A:20:63:94 ...&lt;br /&gt;
Connecting..\done&lt;br /&gt;
Tried to connect for 380ms&lt;br /&gt;
Sending &amp;quot;test_file.txt&amp;quot;...|done&lt;br /&gt;
Disconnecting../done&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Retrieve a file from the phone to CM-T3730:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --get test_file.txt &lt;br /&gt;
Browsing 00:15:2A:20:63:94 ...&lt;br /&gt;
Connecting..\done&lt;br /&gt;
Tried to connect for 267ms&lt;br /&gt;
Receiving &amp;quot;test_file.txt&amp;quot;.../done&lt;br /&gt;
Disconnecting..-done&lt;br /&gt;
root@cm-debian:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Display options ===&lt;br /&gt;
CM-T3730 evaluation platform has four video output interfaces: LCD, DVI, LVDS and TV-out. Default configuration of Debian Linux for CM-T3730 uses LCD as primary video output. It is possible to switch between the DVI and LCD interfaces on the fly. TV-out can be used simultaneously with LCD or DVI interface.&amp;lt;br&amp;gt;&lt;br /&gt;
Linux implementation of the OMAP3 display subsystem is described in detail in {{filename|[http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS Documentation/arm/OMAP/DSS]}} file in the Linux kernel source tree. &lt;br /&gt;
&lt;br /&gt;
==== Display resolutions ====&lt;br /&gt;
* The Toppoly LCD supplied with CM-T3730 evaluation kit supports 480x640 resolution with 18 bits per color&lt;br /&gt;
* The DataImage LCD supplied with CM-T3730 evaluation kit supports 480x800 resolution with 18 bits per color&lt;br /&gt;
* DVI output can be configured for standard resolutions using kernel command line parameter {{parameter|omapfb.mode}}:&lt;br /&gt;
*: 1024x768 - omapfb.mode=dvi:1024x768-24@60&lt;br /&gt;
*: 800x600 - omapfb.mode=dvi:800x600-24@60&lt;br /&gt;
*: 640x480 - omapfb.mode=dvi:640x480-24@60&lt;br /&gt;
* TV-out supports PAL and NTSC standards&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
* Switch from LCD to DVI:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/devices/platform/omapdss/display0/enabled&lt;br /&gt;
echo &amp;quot;dvi&amp;quot; &amp;gt; /sys/devices/platform/omapdss/manager0/display&lt;br /&gt;
fbset -fb /dev/fb0 -xres 1024 -yres 768&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/omapdss/display1/enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Switch from DVI to Toppoly LCD:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/devices/platform/omapdss/display1/enabled&lt;br /&gt;
echo &amp;quot;lcd&amp;quot; &amp;gt; /sys/devices/platform/omapdss/manager0/display&lt;br /&gt;
fbset -fb /dev/fb0 -xres 480 -yres 640&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/omapdss/display0/enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Switch from DVI to DataImage LCD:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/devices/platform/omapdss/display1/enabled&lt;br /&gt;
echo &amp;quot;lcd&amp;quot; &amp;gt; /sys/devices/platform/omapdss/manager0/display&lt;br /&gt;
fbset -fb /dev/fb0 -xres 480 -yres 800&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/omapdss/display0/enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GPIO access ===&lt;br /&gt;
Linux provides simple and convenient GPIO access via {{filename|sysfs}} interface. A GPIO should be exported using {{filename|/sys/class/gpio/export}}. After the GPIO is exported it is possible to change its direction and value using {{filename|/sys/class/gpio/gpioX/direction}} and {{filename|/sys/class/gpio/gpioX/value}} attributes.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
The following example demonstrates how to configure GPIO 140 as output and set value to high:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 140 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
echo out &amp;gt; /sys/class/gpio/gpio140/direction&lt;br /&gt;
echo 1 &amp;gt; /sys/class/gpio/gpio140/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|The above example assumes that the corresponding pin is set to mux '''mode 4''' and the GPIO 140 is '''not''' requested in the Linux kernel.}}&lt;br /&gt;
&lt;br /&gt;
== Digital Video SDK ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
The Digital Video SDK (DVSDK) version 4.03.00.06 provides multiple resourses for evaluation and application development for the TI DM3730 platform. Current CM-T3730 Linux package contains the following pre-built DVSDK components:&lt;br /&gt;
Multimedia Package, DSP Package, and several demo applications for functionality demonstration and validation.&lt;br /&gt;
&lt;br /&gt;
Multimedia Package includes:&lt;br /&gt;
* Multimedia Framework Product (MFP)&lt;br /&gt;
** Codec Engine Framework&lt;br /&gt;
** Framework Components&lt;br /&gt;
** Linux Utils (CMEM)&lt;br /&gt;
** XDAIS (eXpress DSP Algorithm Interoperability Standard)&lt;br /&gt;
* Davinci Multimedia Application Interface (DMAI)&lt;br /&gt;
* DSP Optimized codecs&lt;br /&gt;
** Encoders: H.264, MPEG-4, JPEG, G711&lt;br /&gt;
** Decoders: H.264, MPEG-4, MPEG-2, AAC. JPEG, G711&lt;br /&gt;
* DSP accelerated Gstreamer TI plugin&lt;br /&gt;
&lt;br /&gt;
DSP Package includes:&lt;br /&gt;
* C6000 code generation tool chain&lt;br /&gt;
* DSP/BIOS Real Time Operating System&lt;br /&gt;
* DSPLink Inter Processor Communication&lt;br /&gt;
* C6Accel - easy access to DSP accelerated function libraries&lt;br /&gt;
* C6Run - tool to easily run C code on the DSP &lt;br /&gt;
&lt;br /&gt;
For custom Linux kernel build, the DVSDK must be re-built to avoid compatibility issues.&lt;br /&gt;
This section describes how to configure Linux kernel at boot time and run DVSDK demos.&lt;br /&gt;
For detailed DVSDK build instruction please refer to the [[CM-T3730:_Linux:_Building_images#Digital_Video_SDK|CM-T3730: Linux: Building images]] page.&lt;br /&gt;
&lt;br /&gt;
=== Kernel parameters ===&lt;br /&gt;
The framebuffer plains 1 and 2 must be enabled in the kernel command line for the GStreamer-TI package will work correctly:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vram=18M omapfb.vram=0:6M,1:6M,2:6M&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Additionally, DSP kernel modules require a memory &amp;quot;window&amp;quot; in the kernel memory to allocate a heap buffer of 73MB at 0x83700000.&lt;br /&gt;
This memory must not be used by any other module or process, so the following parameters must be added to the kernel command line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mem=55M@0x80000000 mem=128M@0x88000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|We do not recommend using DVSDK on CM-T3730 devices with less then 256MB of RAM.}}&lt;br /&gt;
&lt;br /&gt;
=== Running Demos ===&lt;br /&gt;
Current CM-T3730 Linux package contains pre-built and ready to run DVSDK functionality demo programs in a separate archive.&lt;br /&gt;
Extract {{filename|ti_dvsdk_demo.tar.bz2}} DVSDK demos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# cd /usr/share/ti/                 &lt;br /&gt;
root@cm-debian:/usr/share/ti# tar -xjpvf &amp;lt;path_to_dvsdsk_demos&amp;gt;/ti_dvsdk_demo.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For additional information about the DVSDK demos please refer to the&lt;br /&gt;
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/latest/exports/TMS320DM3730_Software_Developers_Guide.pdf DVSDK Software Developers Guide].&lt;br /&gt;
&lt;br /&gt;
==== DSPLink Examples ====&lt;br /&gt;
The DSPLink includes several sample application examples. Use the following example to run the demo applications on CM-T3730:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# cd /usr/share/ti/ti-dsplink-examples/&lt;br /&gt;
root@cm-debian:~#/usr/share/ti/ti-dsplink-examples# ./ti-dsplink-examples-run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== C6Accel Apps ====&lt;br /&gt;
The C6Accel package includes a small test application for benchmarking all the DSP kernel APIs for fixed point and floating point calculations.&lt;br /&gt;
To run the application, run the following commands on CM-T3730:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# cd /usr/share/ti/c6accel-apps/&lt;br /&gt;
root@cm-debian:~# ./c6accel_app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DMAI Apps ====&lt;br /&gt;
The Davinci Multimedia Application Interface (DMAI) includes small sample applications (and also source code).&lt;br /&gt;
Before running a DMAI sample application, copy sample media files found in the &lt;br /&gt;
[http://compulab.co.il/products/computer-on-modules/cm-t3730/#devres CM-T3730 Linux package] to the&lt;br /&gt;
device rootfs under the {{filename|/usr/share/ti}} location:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp	-r /path/to/cm-t3730-linux/extra/dvsdk_04_03_00_06/extra_files/data /path/to/cm-t3730/rootfs/usr/share/ti/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To run a DMAI sample application, make sure the current directory on CM-T3730 is {{filename|ti-dmai-apps}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-t3730:~# cd /usr/share/ti/ti-dmai-apps/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Decode Examples =====&lt;br /&gt;
To decode an H.264 BP encoded video to a YUV file execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:/usr/share/ti/ti-dmai-apps# ./video_decode_io2_dm3730.x470MV -c h264dec \&lt;br /&gt;
 -i /usr/share/ti/data/videos/davincieffect_480p30.264 -o h264_test_output.yuv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To decode a JPEG encoded image to a YUV file execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:/usr/share/ti/ti-dmai-apps# ./image_decode_io1_dm3730.x470MV -c jpegdec \&lt;br /&gt;
 -i /usr/share/ti/data/images/remi003_422i.jpg -o jpeg_test_output.yuv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To decode an AAC encoded audio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:/usr/share/ti/ti-dmai-apps# ./audio_decode_io1_dm3730.x470MV -c aachedec \&lt;br /&gt;
 -i /usr/share/ti/data/sounds/davincieffect_lc.aac -o aac_test_output.pcm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Encode Examples =====&lt;br /&gt;
To encode 100 frames of resolution 720x480 from a YUV file to an H.264 BP encoded file execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:/usr/share/ti/ti-dmai-apps# ./video_encode_io1_dm3730.x470MV -c h264enc \&lt;br /&gt;
 -i h264_test_output.yuv -o output.264 -r 720x480 -n 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To encode a YUV file to a JPEG encoded file execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:/usr/share/ti/ti-dmai-apps# ./image_encode_io1_dm3730.x470MV -c jpegenc -e encode \&lt;br /&gt;
 -i jpeg_test_output.yuv -o Output.jpeg -r 720x576 --iColorSpace 3 --oColorSpace 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphics SDK ===&lt;br /&gt;
The CM-T3730 Linux package contains pre-built and ready to run SGX functionality demo programs.&lt;br /&gt;
* The SGX configuration script must be run on CM-T3730 before '''first use''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# /etc/init.d/omap-demo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The SGX kernel modules must be loaded prior running the demos:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# /etc/init.d/rc.pvr start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Running Graphics SDK OpenGL ES1.x Demos ====&lt;br /&gt;
* To run OpenGL ES1.x demos, perform the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# cd /opt/gfxsdkdemos/ogles&lt;br /&gt;
root@cm-debian:/opt/gfxsdkdemos/ogles# ./OGLESEvilSkull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will execute the {{filename|OGLESEvilSkull}} demo. Press {{parameter|‘q’}} on the CM-T3730 console to stop the demo execution.&lt;br /&gt;
&lt;br /&gt;
==== Running Graphics SDK OpenGL ES2.0 Demos ====&lt;br /&gt;
* To run OpenGL ES2.x demos, perform the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cm-debian:~# cd /opt/gfxsdkdemos/ogles2&lt;br /&gt;
root@cm-debian:/opt/gfxsdkdemos/ogles2# ./OGLES2FilmTV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will execute the {{filename|OGLESFilmTV}} demo. Press {{parameter|‘q’}} on the CM-T3730 console to stop the demo&lt;br /&gt;
execution.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CM-T3730: Linux: Getting started]]&lt;br /&gt;
* [[CM-T3730: Linux: Angstrom]]&lt;br /&gt;
* [[CM-T3730: Linux: Kernel]]&lt;br /&gt;
* [[CM-T3730: Linux: Camera]]&lt;br /&gt;
* [[CM-T3730: Linux: Video Playback]]&lt;br /&gt;
* [[CM-T3730: Linux: Building images]]&lt;br /&gt;
* [[Linux: Development for ARM modules]]&lt;br /&gt;
* [[Linux: Debian: Minimal ARM filesystem]]&lt;br /&gt;
* [http://www.debian.org/doc/manuals/reference/index.en.html Debian Reference].&lt;br /&gt;
* [http://www.alsa-project.org ALSA project official website]&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_Calibration_Proccess_NLCP OMAP Wireless Connectivity Calibration Proccess NLCP]&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Display_Subsystem Display Subsystem]&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/DSS2_SYSFS_Examples DSS2 SYSFS Examples]&lt;br /&gt;
[[Category:Linux|Debian]]&lt;br /&gt;
[[Category:CM-T3730|Linux: Debian]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>