FAQ General: Difference between revisions

From Wiki-DB
Jump to navigationJump to search
Line 38: Line 38:


=== GPIOs ===
=== GPIOs ===
==== ''How to use the GPIO sysfs?'' ====
export
echo <GPIO#> >/sys/class/gpio/export
: '''Remark:''' Have a look into <tt> /sys/class/gpio/ </tt> for already configured gpios.
Set direction
echo in >/sys/class/gpio/gpio<GPIO#>/direction
echo out >/sys/class/gpio/gpio<GPIO#>/direction
Set state
echo 0 >/sys/class/gpio/gpio<GPIO#>/value
echo 1 >/sys/class/gpio/gpio<GPIO#>/value
unexport
echo <GPIO#> >/sys/class/gpio/unexport
==== ''I want to use GPIO buttons/keys.'' ====
==== ''I want to use GPIO buttons/keys.'' ====
We recommend to add a gpio-keys section to the devicetree of your board. For example:
We recommend to add a gpio-keys section to the devicetree of your board. For example:

Revision as of 12:04, 24 July 2015

General

Do the DHCOM modules have a serial numbers included? If yes, how is it accessible?

The serial number of a DHCOM module is stored inside the bootloader environment. It can be retrieved by u-boot commands like printenv or by Linux commands like “fw_printenv”.

Bootloader

How can I access the bootloader u-boot console?

It is not possible to enter to the bootloader console by pressing a various key (e.g. "Enter") on your keyboard. You have to send "DEL" (ASCII 0x7F) to the device. We recommend you to use the terminal program teraterm if you are working on windows and to use kermit or minicom if you use a linux operating system on your pc.

  • You can configure teraterm to send "DEL" when the delete key or the backspace key is pressed by clicking through the menu to Setup->Keyboard-Setup and enable the required checkbox.
  • Kermit is sending a "DEL" if you hit the backspace key.
  • Minicom is able to send "DEL" when you hit the backspace key if you configure minicom to do that within a terminal window: run $ minicom -s and navigate to Screen and keyboard press "B"

The automatic update is not executed before the operating system boots!

Check if the command update auto is included in the bootloader environment variable bootcmd or in a script-variable which is called within bootcmd before bootm .

The automatic update does not work with my desired update-media!

The command update auto can be configured with flags within the DHCOM settings.bin block. It is possible to disable a interface for the update mechanism. You can run a update from a disabled interface if you use the command update without the argument auto .

Which USB Port should i use to run updates with the bootloader?

Our systems are designed to run updates via the DHCOM USB Host 1 interface. We can support additional usb nterfaces on request.

My usb stick (flash memory) device is not recognized by the bootloader!

The are limitations when you use usb flash memory devices with u-boot. Please check that a master boot record is available and that a FAT32 filesystem is used on the first primary partition of the device. Please use gparted to format the device.

Linux

NAND

We would like to use UBIFS for the root filesystem volume.

UBI/UBIFS is the standard file system for DHCOM systems with NAND flash storage.

We have the need for additional UBI/UBIFS volumens (partitions).

It shouldn't be necessary to make changes in the Bootloader u-boot, the Linux kernel, or devicetree. We recommend to use the available NAND Flash storage as a single UBI partition and create if needed multiple UBIFS volumes on it.

We want to backup the root filesystem from the NAND-Flash of the target.

You can use the DHCOM Update Mechanism of root filesystem of the bootloader for the rootfs in the backup mode. This feature is available on i.MX25 and AM35x DHCOMs. Further information at: DHCOM Update: Linux Root Filesystem

GPIOs

How to use the GPIO sysfs?

export

echo <GPIO#> >/sys/class/gpio/export
Remark: Have a look into /sys/class/gpio/ for already configured gpios.

Set direction

echo in >/sys/class/gpio/gpio<GPIO#>/direction
echo out >/sys/class/gpio/gpio<GPIO#>/direction

Set state

echo 0 >/sys/class/gpio/gpio<GPIO#>/value
echo 1 >/sys/class/gpio/gpio<GPIO#>/value

unexport

echo <GPIO#> >/sys/class/gpio/unexport

I want to use GPIO buttons/keys.

We recommend to add a gpio-keys section to the devicetree of your board. For example:

gpio-keys {
	compatible = "gpio-keys";

	volume-up {
		label = "Volume Up";
		gpios = <&gpio1 4 0>;
		gpio-key,wakeup;
		linux,code = <115>; /* KEY_VOLUMEUP */
	};

	volume-down {
		label = "Volume Down";
		gpios = <&gpio1 5 0>;
		gpio-key,wakeup;
		linux,code = <114>; /* KEY_VOLUMEDOWN */
	};
};

Please check for the "input/gpio-keys.c" driver to be enabled. For further details how to customize the device tree please refer to www.kernel.org.

You should get a device /dev/input/eventX which provides the key events. Validate your configuration with cat /dev/input/eventX or use "evtest" which is available on debian .

How to cleanly shutdown the target using a GPIO?

A common solution is to define a gpio key "KEY_POWER" in the devicetree of your target. Please have a look on the following example:

gpio-keys {
   compatible = "gpio-keys";
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_gpiopowerkey>;
   power {
           label = "Power-Key";
           gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
           linux,code = <KEY_POWER>;
           debounce-interval = <5>;
   };
};

Depending on your root filesystem configuration you have to add a daemon which handles the event. Please have a look at "esekeyd" or "triggerhappy". There are Debian Packages available (esekeydtriggerhappy ). Alternative it is possible to use a udev rule (e.g. /etc/udev/rules.d/..).

The target should power off ifself after a shutdown.

To switch off the power after shutdown you can use a GPIO. Keep in mind that the hardware design of you baseboard has to support this feature (The Premium Developer Kit does not). The Linux Kernel provides a specific GPIO power-off driver to handle this requirement. It has to be enabled with CONFIG_POWER_RESET_GPIO in the kernel configuration. Add a gpio-poweroff section to the device-tree of your board:

gpio-poweroff {
    compatible = "gpio-poweroff";
    gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
};

Use the poweroff command to power-off the system

# poweroff

For further details please have a look at www.kernel.org

Features

We want to capture the screen content.

The VLC media player provides the necessary features: Capture Sceen Content with VLC media player: http://www.howtogeek.com A x-window-system is required. Have a look at our Yocto tutorial: Building Chromium, VLC and X11VNC using Yocto

View and interact (mouse, keyboard) with a target running the x window system.

Install x11vnc and execute on the target. You can use ssvnc to connect via SSH. See ' Building Chromium, VLC and X11VNC using Yocto' and 'SSVNC (SSL/SSH VNC viewer): http://www.karlrunge.com/x11vnc/ssvnc.html'