Difference between revisions of "CM-T335: Linux: Debian"
(→kernel) |
(→Example) |
||
Line 32: | Line 32: | ||
=== kernel === | === kernel === | ||
− | * {{filename|uImage-3.2.0-cm-t335- | + | * {{filename|uImage-3.2.0-cm-t335-2.bin}} - ready to run Linux kernel version 3.2.0-cm-t335-2 for CM-T335 |
− | * {{filename|linux-3.2.0-cm-t335- | + | * {{filename|linux-3.2.0-cm-t335-2.config}} - Linux kernel 3.2.0-cm-t335-2 configuration file |
− | * {{filename|linux-3.2.0-cm-t335- | + | * {{filename|linux-3.2.0-cm-t335-2.patch}} - patch vs. [http://arago-project.org/git/projects/?p=linux-am33x.git;a=commit;h=b81bf04091986fa3893f31955564594567be3b61 b81bf04091986fa3893f31955564594567be3b61] commit in the Linux Integration/Staging Tree for AM33x SoC by Arago progect with support for CM-T335 peripherals |
− | * {{filename|patches}} - ordered collection of patches, that form the single patch above ({{filename|linux-3.2.0-cm-t335- | + | * {{filename|patches}} - ordered collection of patches, that form the single patch above ({{filename|linux-3.2.0-cm-t335-2.patch}}) |
− | * {{filename|modules_3.2.0-cm-t335- | + | * {{filename|modules_3.2.0-cm-t335-2.tar.bz2}} - a modules tarball, that matches the ready to run Linux kernel ({{filename|uImage-3.2.0-cm-t335-2.bin}}) |
=== utilities === | === utilities === | ||
Line 89: | Line 89: | ||
The Debian Linux image for CM-T335 includes all the information required to use Debian package management utilities. | The Debian Linux image for CM-T335 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://debian-handbook.info/browse/wheezy/sect.manipulating-packages-with-dpkg.html dpkg] out of the box. | You can use [http://linux.die.net/man/8/apt-get apt-get] and [http://debian-handbook.info/browse/wheezy/sect.manipulating-packages-with-dpkg.html dpkg] out of the box. | ||
+ | |||
+ | === Touchscreen === | ||
+ | ==== Touchscreen calibration ==== | ||
+ | The supported touchscreen devices can be accessed through symbolic link {{filename|/dev/input/touchscreen}}. | ||
+ | The symlink is created by {{filename|udev}} rules defined in {{filename|/etc/udev/rules.d/10-touchscreen.rules}}.<br> | ||
+ | Calibration utilities require proper setting of {{parameter|TSLIB_TSDEVICE}} system variable (pointing to the touchscreen device special file). | ||
+ | This is done automatically by the {{filename|/etc/profile.d/tslib.sh}} script. | ||
+ | |||
+ | Touchscreen calibration can be performed with {{cmd|ts_calibrate}} utility available in package {{filename|libts-bin}}. | ||
+ | To calibrate the touchscreen: | ||
+ | * Make sure X Server is not running | ||
+ | * Run {{cmd|ts_calibrate}} 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. | ||
+ | The calibration results are saved to file {{filename|/etc/pointercal}}. | ||
+ | * Use {{cmd|ts_test}} utility to test the calibration results. | ||
+ | |||
+ | === Bluetooth === | ||
+ | |||
+ | CM-T335 features Bluetooth 4.0 interface. Following sections describe the initialization and simple use cases of Bluetooth device. | ||
+ | |||
+ | ==== Host Controller Interface (HCI) Initialization ==== | ||
+ | |||
+ | * Attach the ttyO1 serial port to the HCI Bluetooth subsystem: | ||
+ | <pre> | ||
+ | root@cm-debian:~# hciattach -s 115200 /dev/ttyO1 texas 3000000 | ||
+ | Found a Texas Instruments' chip! | ||
+ | Firmware file : /lib/firmware/TIInit_7.6.15.bts | ||
+ | Loaded BTS script version 1 | ||
+ | texas: changing baud rate to 3000000, flow control to 1 | ||
+ | Bluetooth: HCI UART driver ver 2.2 | ||
+ | Bluetooth: HCI H4 protocol initialized | ||
+ | Bluetooth: HCI BCSP protocol initialized | ||
+ | Bluetooth: HCILL protocol initialized | ||
+ | Device setup complete | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Run HCI device configuration utility to retrieve detailed information about the Bluetooth device: | ||
+ | <pre> | ||
+ | root@cm-debian:~# hciconfig -a | ||
+ | hci0: Type: BR/EDR Bus: UART | ||
+ | BD Address: C4:ED:BA:3E:86:42 ACL MTU: 1021:4 SCO MTU: 180:4 | ||
+ | UP RUNNING PSCAN | ||
+ | RX bytes:928 acl:0 sco:0 events:42 errors:0 | ||
+ | TX bytes:1452 acl:0 sco:0 commands:42 errors:0 | ||
+ | Features: 0xff 0xfe 0x2d 0xfe 0xdb 0xff 0x7b 0x87 | ||
+ | Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 | ||
+ | Link policy: RSWITCH HOLD SNIFF PARK | ||
+ | Link mode: SLAVE ACCEPT | ||
+ | Name: 'cm-debian-0' | ||
+ | Class: 0x4a0100 | ||
+ | Service Classes: Networking, Capturing, Telephony | ||
+ | Device Class: Computer, Uncategorized | ||
+ | HCI Version: 4.0 (0x6) Revision: 0x0 | ||
+ | LMP Version: 4.0 (0x6) Subversion: 0x1f29 | ||
+ | Manufacturer: Texas Instruments Inc. (13) | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | ==== A2DP Headphones ==== | ||
+ | |||
+ | * Scan for available devices to find out Headphones BT device address: | ||
+ | <pre> | ||
+ | root@cm-debian:~# hcitool scan | ||
+ | Scanning ... | ||
+ | 00:07:A4:F2:B3:CB Motorola HT820 | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Add new PCM device by editing {{filename|/etc/asound.conf}}: | ||
+ | |||
+ | <pre> | ||
+ | pcm.btheadphones { | ||
+ | type plug | ||
+ | slave { | ||
+ | pcm { | ||
+ | type bluetooth | ||
+ | device 00:07:A4:F2:B3:CB | ||
+ | profile "auto" | ||
+ | } | ||
+ | } | ||
+ | hint { | ||
+ | show on | ||
+ | description "BT Headphones" | ||
+ | } | ||
+ | } | ||
+ | ctl.btheadphones { | ||
+ | type bluetooth | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | * List device names to ensure correct settings in {{filename|/etc/asound.conf}}: | ||
+ | <pre> | ||
+ | root@cm-debian:~# aplay -L | ||
+ | null | ||
+ | Discard all samples (playback) or generate zero samples (capture) | ||
+ | btheadphones | ||
+ | BT Headphones | ||
+ | default:CARD=cmt335 | ||
+ | cm-t335, | ||
+ | Default Audio Device | ||
+ | sysdefault:CARD=cmt335 | ||
+ | cm-t335, | ||
+ | Default Audio Device | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Put the headphones in the pairing mode and launch {{filename|bluez-simple-agent}} application and provide device PIN code on request: | ||
+ | <pre> | ||
+ | root@cm-debian:~# bluez-simple-agent hci0 00:07:A4:F2:B3:CB | ||
+ | RequestPinCode (/org/bluez/1194/hci0/dev_00_07_A4_F2_B3_CB) | ||
+ | Enter PIN Code: 0000 | ||
+ | Release | ||
+ | New device (/org/bluez/1194/hci0/dev_00_07_A4_F2_B3_CB) | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Launch {{filename|aplay}} playback tool: | ||
+ | <pre> | ||
+ | root@cm-debian:~# aplay -D btheadphones <audio-file.wav> | ||
+ | </pre> | ||
+ | |||
+ | ==== Obex FTP service ==== | ||
+ | |||
+ | 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. | ||
+ | CM-T335 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. | ||
+ | |||
+ | * Enable bluetooth on the phone. On CM-T335, scan for available devices to find out phone's BT address: | ||
+ | <pre> | ||
+ | root@cm-debian:~# hcitool scan | ||
+ | Scanning ... | ||
+ | 00:15:2A:20:63:94 Nokia 6230i | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Ensure the phone supports Obex FTP service: | ||
+ | <pre> | ||
+ | root@cm-debian:~# sdptool search FTP | ||
+ | Inquiring ... | ||
+ | Searching for FTP on 00:15:2A:20:63:94 ... | ||
+ | Service Name: OBEX File Transfer | ||
+ | Service RecHandle: 0x100de | ||
+ | Service Class ID List: | ||
+ | "OBEX File Transfer" (0x1106) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | "RFCOMM" (0x0003) | ||
+ | Channel: 10 | ||
+ | "OBEX" (0x0008) | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | Profile Descriptor List: | ||
+ | "OBEX File Transfer" (0x1106) | ||
+ | Version: 0x0100 | ||
+ | |||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Pair the device - provide PIN code upon request and confirm permission request on the phone: | ||
+ | <pre> | ||
+ | root@cm-debian:~# bluez-simple-agent hci0 00:15:2A:20:63:94 | ||
+ | RequestPinCode (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94) | ||
+ | Enter PIN Code: 1937 | ||
+ | Release | ||
+ | New device (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94) | ||
+ | |||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | {{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.}} | ||
+ | |||
+ | * List phone's root folder: | ||
+ | <pre> | ||
+ | root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --list | ||
+ | Browsing 00:15:2A:20:63:94 ... | ||
+ | Connecting..\done | ||
+ | Tried to connect for 579ms | ||
+ | Receiving "(null)".../<?xml version="1.0"?> | ||
+ | <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd" | ||
+ | [ <!ATTLIST folder mem-type CDATA #IMPLIED> ]> | ||
+ | <folder-listing version="1.0"> | ||
+ | <folder name="EXTENTSION" user-perm="RW" mem-type="MMC"/> | ||
+ | <folder name="Images" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | <folder name="Video clips" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | <folder name="Music files" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | <folder name="Themes" created="19800101T000000" user-perm="RW" mem-type="DEV"/> | ||
+ | <folder name="Graphics" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | <folder name="Tones" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | <folder name="Recordings" created="19800101T000000" user-perm="R" mem-type="DEV"/> | ||
+ | </folder-listing> | ||
+ | done | ||
+ | Disconnecting..-done | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Transfer a file from CM-T335 to the phone: | ||
+ | <pre> | ||
+ | root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --put test_file.txt | ||
+ | Browsing 00:15:2A:20:63:94 ... | ||
+ | Connecting..\done | ||
+ | Tried to connect for 380ms | ||
+ | Sending "test_file.txt"...|done | ||
+ | Disconnecting../done | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
+ | |||
+ | * Retrieve a file from the phone to CM-T335: | ||
+ | <pre> | ||
+ | root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --get test_file.txt | ||
+ | Browsing 00:15:2A:20:63:94 ... | ||
+ | Connecting..\done | ||
+ | Tried to connect for 267ms | ||
+ | Receiving "test_file.txt".../done | ||
+ | Disconnecting..-done | ||
+ | root@cm-debian:~# | ||
+ | </pre> | ||
=== GPIO access === | === GPIO access === | ||
Line 101: | Line 318: | ||
echo 1 > /sys/class/gpio/gpio64/value | echo 1 > /sys/class/gpio/gpio64/value | ||
</pre> | </pre> | ||
− | {{Note|The above example assumes that the corresponding pin is set to mux {{parameter|mode 7}} and the GPIO 64 is {{parameter| | + | {{Note|The above example assumes that the corresponding pin is set to mux {{parameter|mode 7}} and the GPIO 64 is '''not''' requested in the Linux kernel.}} |
+ | |||
+ | === Graphics SDK === | ||
+ | The CM-T335 Linux package contains pre-built and ready to run SGX functionality demo programs. | ||
+ | * The SGX configuration script must be run on CM-T335 before '''first use''': | ||
+ | <pre> | ||
+ | root@cm-debian:~# /etc/init.d/335x-demo | ||
+ | </pre> | ||
+ | |||
+ | * The SGX kernel modules must be loaded prior running the demos: | ||
+ | <pre> | ||
+ | root@cm-debian:~# /etc/init.d/rc.pvr start | ||
+ | </pre> | ||
+ | |||
+ | ==== Running Graphics SDK OpenGL ES1.x Demos ==== | ||
+ | * To run OpenGL ES1.x demos, perform the following: | ||
+ | <pre> | ||
+ | root@cm-debian:~# cd /opt/gfxsdkdemos/ogles | ||
+ | root@cm-debian:/opt/gfxsdkdemos/ogles# ./OGLESEvilSkull | ||
+ | </pre> | ||
+ | This will execute the {{filename|OGLESEvilSkull}} demo. Press {{parameter|‘q’}} on the CM-T335 console to stop the demo execution. | ||
+ | |||
+ | ==== Running Graphics SDK OpenGL ES2.0 Demos ==== | ||
+ | * To run OpenGL ES2.x demos, perform the following: | ||
+ | <pre> | ||
+ | root@cm-debian:~# cd /opt/gfxsdkdemos/ogles2 | ||
+ | root@cm-debian:/opt/gfxsdkdemos/ogles2# ./OGLES2FilmTV | ||
+ | </pre> | ||
+ | This will execute the {{filename|OGLESFilmTV}} demo. Press {{parameter|‘q’}} on the CM-T335 console to stop the demo | ||
+ | execution. | ||
== See also == | == See also == |
Revision as of 07:27, 30 December 2013
Contents
Overview
The example run-time Linux filesystem image for CM-T335 is based on Debian GNU/Linux Sid. The CompuLab Linux package for CM-T335 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.
The default Debian Sid Linux image includes more than 400 software packages. Among them:
- Core system
- Debian package management system
- X11 Windowing System
- Enlightenment desktop manager
- Netsurf web browser
- Samba connectivity suite
- SSH and FTP server and client
- ALSA configuration and usage utilities
- CAN Bus utilities
- Bluetooth tools and daemons
The Getting started with Linux on CM-T335 page provides a brief introduction on how to install the run-time Linux image. This article describes package structure and peripheral device options specific to the CM-T335.
Package contents
version.txt
The contents of the version.txt identifies the package version.
images
- uImage-cm-t335 - ready to run Linux kernel image binary for CM-T335
- debian-image.tar.bz2 - archive of the Debian root file system
- kernel.img - Kernel image required for installation onto the NAND flash
- ramdisk.img - Ramdisk image required for installation onto the NAND flash
- bootscr.img - U-Boot script used for image installation
kernel
- uImage-3.2.0-cm-t335-2.bin - ready to run Linux kernel version 3.2.0-cm-t335-2 for CM-T335
- linux-3.2.0-cm-t335-2.config - Linux kernel 3.2.0-cm-t335-2 configuration file
- linux-3.2.0-cm-t335-2.patch - patch vs. b81bf04091986fa3893f31955564594567be3b61 commit in the Linux Integration/Staging Tree for AM33x SoC by Arago progect with support for CM-T335 peripherals
- patches - ordered collection of patches, that form the single patch above (linux-3.2.0-cm-t335-2.patch)
- modules_3.2.0-cm-t335-2.tar.bz2 - a modules tarball, that matches the ready to run Linux kernel (uImage-3.2.0-cm-t335-2.bin)
utilities
The utilities directory contains miscellaneous utilities useful for development
- tftpd32.zip - TFTP server for Windows users
- eeprom-util - CompuLab EEPROM utility for reading information found inside the EEPROM on CompuLab boards
- bootscr.src - U-Boot script source used for loading kernel and ramdisk images from MMC/SD card.
- debian-image.cfg - configuration file used by ubinize utility for debian-image.ubi generation. For more information about UBIFS images please refer to the Linux Development for ARM modules article.
Using Debian Linux on CM-T335
Connection and Logging In
Use the following usernames and passwords to login:
Account with administrative privileges:
User: root Password: 111111
Regular user account:
User: user Password: 111111
In addition to these accounts CM-T335 allows anonymous FTP access. To login into the Linux system, you may use a serial console (ttyO0) at 115200 bps, or connect through the network, or use a keyboard and DVI/LCD display (tty1, tty2, tty3, tty4).
Networking
To configure networking, edit /etc/network/interfaces, /etc/udev/rules.d/70-persistent-net.rules, /etc/resolv.conf, /etc/hostname and /etc/hosts. For more information about Debian Linux network configuration read Network setup chapter in the Debian Reference.
Consoles
The 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/LCD 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:
INIT: Id "T0" respawning too fast: disabled for 5 minutes
This is not an error message, it is just a warning that can be eliminated by editing /etc/inittab file.
X Windows system
The CompuLab distribution contains full featured X Windows system with Enlightenment 17 window manager. Before starting X Windows, connect USB mouse and keyboard to the system. You can run X Windows by typing startx.
Enlightenment 17 window manager has a built in configuration set up to work best with phones, tablets and similar devices. To activate the "touchscreen" profile, enter Main->Settings Panel->Settings->Profiles. Select the Touchscreen profile.
To switch back to the standard profile, please see the Known Issues article.
Software Management
The Debian Linux image for CM-T335 includes all the information required to use Debian package management utilities. You can use apt-get and dpkg out of the box.
Touchscreen
Touchscreen calibration
The supported touchscreen devices can be accessed through symbolic link /dev/input/touchscreen.
The symlink is created by udev rules defined in /etc/udev/rules.d/10-touchscreen.rules.
Calibration utilities require proper setting of TSLIB_TSDEVICE system variable (pointing to the touchscreen device special file).
This is done automatically by the /etc/profile.d/tslib.sh script.
Touchscreen calibration can be performed with ts_calibrate utility available in package libts-bin. To calibrate the touchscreen:
- Make sure X Server is not running
- Run ts_calibrate 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.
The calibration results are saved to file /etc/pointercal.
- Use ts_test utility to test the calibration results.
Bluetooth
CM-T335 features Bluetooth 4.0 interface. Following sections describe the initialization and simple use cases of Bluetooth device.
Host Controller Interface (HCI) Initialization
- Attach the ttyO1 serial port to the HCI Bluetooth subsystem:
root@cm-debian:~# hciattach -s 115200 /dev/ttyO1 texas 3000000 Found a Texas Instruments' chip! Firmware file : /lib/firmware/TIInit_7.6.15.bts Loaded BTS script version 1 texas: changing baud rate to 3000000, flow control to 1 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized Bluetooth: HCILL protocol initialized Device setup complete root@cm-debian:~#
- Run HCI device configuration utility to retrieve detailed information about the Bluetooth device:
root@cm-debian:~# hciconfig -a hci0: Type: BR/EDR Bus: UART BD Address: C4:ED:BA:3E:86:42 ACL MTU: 1021:4 SCO MTU: 180:4 UP RUNNING PSCAN RX bytes:928 acl:0 sco:0 events:42 errors:0 TX bytes:1452 acl:0 sco:0 commands:42 errors:0 Features: 0xff 0xfe 0x2d 0xfe 0xdb 0xff 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'cm-debian-0' Class: 0x4a0100 Service Classes: Networking, Capturing, Telephony Device Class: Computer, Uncategorized HCI Version: 4.0 (0x6) Revision: 0x0 LMP Version: 4.0 (0x6) Subversion: 0x1f29 Manufacturer: Texas Instruments Inc. (13) root@cm-debian:~#
A2DP Headphones
- Scan for available devices to find out Headphones BT device address:
root@cm-debian:~# hcitool scan Scanning ... 00:07:A4:F2:B3:CB Motorola HT820 root@cm-debian:~#
- Add new PCM device by editing /etc/asound.conf:
pcm.btheadphones { type plug slave { pcm { type bluetooth device 00:07:A4:F2:B3:CB profile "auto" } } hint { show on description "BT Headphones" } } ctl.btheadphones { type bluetooth }
- List device names to ensure correct settings in /etc/asound.conf:
root@cm-debian:~# aplay -L null Discard all samples (playback) or generate zero samples (capture) btheadphones BT Headphones default:CARD=cmt335 cm-t335, Default Audio Device sysdefault:CARD=cmt335 cm-t335, Default Audio Device root@cm-debian:~#
- Put the headphones in the pairing mode and launch bluez-simple-agent application and provide device PIN code on request:
root@cm-debian:~# bluez-simple-agent hci0 00:07:A4:F2:B3:CB RequestPinCode (/org/bluez/1194/hci0/dev_00_07_A4_F2_B3_CB) Enter PIN Code: 0000 Release New device (/org/bluez/1194/hci0/dev_00_07_A4_F2_B3_CB) root@cm-debian:~#
- Launch aplay playback tool:
root@cm-debian:~# aplay -D btheadphones <audio-file.wav>
Obex FTP service
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. CM-T335 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.
- Enable bluetooth on the phone. On CM-T335, scan for available devices to find out phone's BT address:
root@cm-debian:~# hcitool scan Scanning ... 00:15:2A:20:63:94 Nokia 6230i root@cm-debian:~#
- Ensure the phone supports Obex FTP service:
root@cm-debian:~# sdptool search FTP Inquiring ... Searching for FTP on 00:15:2A:20:63:94 ... Service Name: OBEX File Transfer Service RecHandle: 0x100de Service Class ID List: "OBEX File Transfer" (0x1106) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 10 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX File Transfer" (0x1106) Version: 0x0100 root@cm-debian:~#
- Pair the device - provide PIN code upon request and confirm permission request on the phone:
root@cm-debian:~# bluez-simple-agent hci0 00:15:2A:20:63:94 RequestPinCode (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94) Enter PIN Code: 1937 Release New device (/org/bluez/1285/hci0/dev_00_15_2A_20_63_94) root@cm-debian:~#
You can launch bluez-simple-agent with no parameters. The agent is tracking requests to all bluetooth devices and triggers pin code confirmation when needed. |
- List phone's root folder:
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --list Browsing 00:15:2A:20:63:94 ... Connecting..\done Tried to connect for 579ms Receiving "(null)".../<?xml version="1.0"?> <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd" [ <!ATTLIST folder mem-type CDATA #IMPLIED> ]> <folder-listing version="1.0"> <folder name="EXTENTSION" user-perm="RW" mem-type="MMC"/> <folder name="Images" created="19800101T000000" user-perm="R" mem-type="DEV"/> <folder name="Video clips" created="19800101T000000" user-perm="R" mem-type="DEV"/> <folder name="Music files" created="19800101T000000" user-perm="R" mem-type="DEV"/> <folder name="Themes" created="19800101T000000" user-perm="RW" mem-type="DEV"/> <folder name="Graphics" created="19800101T000000" user-perm="R" mem-type="DEV"/> <folder name="Tones" created="19800101T000000" user-perm="R" mem-type="DEV"/> <folder name="Recordings" created="19800101T000000" user-perm="R" mem-type="DEV"/> </folder-listing> done Disconnecting..-done root@cm-debian:~#
- Transfer a file from CM-T335 to the phone:
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --put test_file.txt Browsing 00:15:2A:20:63:94 ... Connecting..\done Tried to connect for 380ms Sending "test_file.txt"...|done Disconnecting../done root@cm-debian:~#
- Retrieve a file from the phone to CM-T335:
root@cm-debian:~# obexftp -b 00:15:2A:20:63:94 --get test_file.txt Browsing 00:15:2A:20:63:94 ... Connecting..\done Tried to connect for 267ms Receiving "test_file.txt".../done Disconnecting..-done root@cm-debian:~#
GPIO access
Linux provides simple and convenient GPIO access via sysfs interface. A GPIO should be exported using /sys/class/gpio/export. After the GPIO is exported it is possible to change its direction and value using /sys/class/gpio/gpioX/direction and /sys/class/gpio/gpioX/value attributes.
Example
The following example demonstrates how to configure GPIO 64 as output and set value to high:
echo 64 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio64/direction echo 1 > /sys/class/gpio/gpio64/value
The above example assumes that the corresponding pin is set to mux mode 7 and the GPIO 64 is not requested in the Linux kernel. |
Graphics SDK
The CM-T335 Linux package contains pre-built and ready to run SGX functionality demo programs.
- The SGX configuration script must be run on CM-T335 before first use:
root@cm-debian:~# /etc/init.d/335x-demo
- The SGX kernel modules must be loaded prior running the demos:
root@cm-debian:~# /etc/init.d/rc.pvr start
Running Graphics SDK OpenGL ES1.x Demos
- To run OpenGL ES1.x demos, perform the following:
root@cm-debian:~# cd /opt/gfxsdkdemos/ogles root@cm-debian:/opt/gfxsdkdemos/ogles# ./OGLESEvilSkull
This will execute the OGLESEvilSkull demo. Press ‘q’ on the CM-T335 console to stop the demo execution.
Running Graphics SDK OpenGL ES2.0 Demos
- To run OpenGL ES2.x demos, perform the following:
root@cm-debian:~# cd /opt/gfxsdkdemos/ogles2 root@cm-debian:/opt/gfxsdkdemos/ogles2# ./OGLES2FilmTV
This will execute the OGLESFilmTV demo. Press ‘q’ on the CM-T335 console to stop the demo execution.