Debian Linux for Xscale modules

From Compulab Mediawiki
Revision as of 08:55, 24 February 2008 by Mike (talk | contribs) (New page: == Overview == The Linux file system for CompuLab CM-X270 module is based on Debian GNU/Linux 3.1 (sarge) distribution and includes the following components: * Package manager (apt-get, dp...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

The Linux file system for CompuLab CM-X270 module is based on Debian GNU/Linux 3.1 (sarge) distribution and includes the following components:

  • Package manager (apt-get, dpkg …)
  • Telnet client
  • SSH server/client
  • FTP server/client
  • Web server thttpd
  • SAMBA
  • Editor – nano
  • PCMCIA card manager
  • Various Linux utilities (basic Debian set of utilities from debootstrap)
  • Madplay - command-line mp3 player
  • X Windows system with BlackBox window manager
  • Dillo (web browser), aterm – X Windows applications.

This package was designed specifically for CM-X270 module, but it was tested on CM-X255 module as well. Architectural differences are handled by kernel, therefore different kernel is provided per product. This package was tested with 2.6.12 and 2.6.16 kernels on X270 and with kernels 2.4.26, 2.6.7 and 2.6.12 on X255. Rest of the document refers only to X270, but the same instructions are also true for X255.

CM-X270 specific settings

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-X270 allows anonymous FTP access. To login into the Linux system, you may use a serial console at 38400 bps (ttySA0 for Linux 2.6.16 and ttyS0 for previous Linux versions), or connect through the network, or use a keyboard and VGA display (tty1, tty2, tty3).

IP Address

The IP addresses for both network interface are obtained automatically using DHCP. To configure networking, edit /etc/network/interfaces, /etc/resolv.conf, and /etc/hostname. For more information about Debian Linux network configuration read: [1] For kernel 2.6.12: Ethernet controller of CM-X270 is eth1; Ethernet controller of ATX or SB-X270 is eth0. For other kernels Ethernet controller of CM-X270 is eth0; Ethernet controller of ATX or SB-X270 is eth1.

Consoles

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 VGA 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 at such device the following or similar message will 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.

THTTPD Web Server

Use /etc/thttpd/thttpd.conf to configure THTTPD web server. The THTTP server is very sensitive to file permissions. In summary, data files should be mode 644 (rw-r--r--), directories should be 755 (rwxr-xr-x) if you want to allow indexing and 711 (rwx--x--x) to disallow it, and CGI programs should be mode 755 (rwxr-xr-x) or 711 (rwx--x--x). Try http://<your.target.ip.address>/users/thttpd.htm

PCMCIA Card Support

Several PCMCIA devices have been validated with the CM-X270 – ATA Flash Disk card, NE2000 compatible Ethernet. Their drivers are provided with the kernel. However, there should be no problems using other PCMCIA cards. You just have to compile the driver of the device as a kernel driver or as a module. If compiled as module, it should be placed in an appropriate folder under /lib/modules/ on the CM-X270.

X Windows system

CompuLab distribution contains small-footprint Kdrive based X Server optimized for embedded devices, and BlackBox window manager. Before starting X Windows, connect USB mouse and keyboard to the system. You can run X Windows by typing startx. To close the X Windows, type stopx.

X server contained in CompuLab distribution supports screen rotation by 90, 180 and 270 degrees. To change screen resolution or color depth, or to enable screen rotation append option -screen <XRes>x<YRes>@<angle>x<bpp> option to X Server invocation command. XRes and YRes are horizontal and vertical screen resolution and angle is desired rotation angle, and bpp is color depth in bits. Note, that color depth change is not fully supported on PXA frame buffer device.

The X Windows system on CM-X270W can utilize either CPU internal LCD controller or 2700G graphics accelerator. Therefore, to choose the device, the "startx" utility must be provided with one of two options:

  • -fb – to run X Server using CPU internal LCD controller
  • -2700G – to run X Server using 2700G graphics accelerator

There are some X applications in distribution:

  • Aterm (X terminal)
  • Dillo (Web browser)

Touchscreen support

The X Windows system provided with CompuLab Debian Linux package supports touchscreen interface using on UCB1400 controller. Touchscreen calibration can be performed with ts_calibrate utility. To calibrate the touchscreen make sure X Server is not running, load touchscreen driver and then type ts_calibrate:

modprobe snd-pxa2xx-ac97
modprobe ucb1x00-ts
cd /sys/class/input
name=""
for tsdir in *; do
    if [ -f $tsdir/name ] ; then
        name=`cat $tsdir/name`
    fi;
    echo $name | grep "Touchscreen panel" >& /dev/null
    if [ $? -eq 0 ] ; then
        name=`ls -1 $tsdir | grep event\[0-9\]`
        break;
    fi;
done;
export TSLIB_TSDEVICE=/dev/input/$name
ts_calibrate

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.

Wireless lan support

CompuLab Debian Linux package supports Wireless LAN on CM-X270L modules. To enable Wireless LAN interface:

modprobe bgw200

To specify ESSID during driver startup:

modprobe bgw200 essid=<essid>

To setup Wireless LAN parameters Linux standard ifconfig and iwconfig utilities can be used.

Using WEP with CM-X270L

The CM-X270L onboard Wireless LAN supports WEP (Wired Equivalency Privacy) security protocol. The following command sequence enables the WEP encryption on the CM-X270L:

modprobe bgw200 pu8SSID=0
iwconfig eth1 key restricted [1] <KEY>
iwconfig eth1 key restricted [1] 
iwconfig eth1 essid <ESSID> 

PC Card

The PC Card market confuses people with differences in terminology sometimes referring to 16-bit PCMCIA cards as CompactFlash, and sometimes calling 32-bit cards PCMCIA. CM-X270 uses completely different interfaces to access 16-bit and 32-bit cards, so here we make some clarifications about terminology we use, and restrictions on PC Card usage. The PXA270 internal PCMCIA controller is used to access all types of 16-bit cards. Therefore we call all 16-bit cards PCMCIA. On the other side, 32-bit cards are accessed through CardBus controller present on the ATXBase, therefore we call all the types of 32-bit cards CardBus.

Debian linux for CM-X270 tries to detect presence of the CardBus controller, and accrording to the detection results it loads an appropriate driver. Either pxa2xx-cs for PXA270 internal PCMCIA (16-bit) controller, or yenta_socket for external CardBus controller.

In general, the CardBus controller should also work with 16-bit cards, but currently this feature is not supported by our Linux kernel.

MMC/SD

The support for MMC/SD card on CM-X270 is available as loadable kernel module. You need to

modprobe mmc_block
modprobe pxamci

to enable these drivers.

Afterwards, to mount the memory card, monitor /proc/partitions to see what partitions were detected on the MMC/SD card. Next, if there's approptiate device node in /dev, you can directly mount it, otherwise you should create the device node first. For example, suppose MMC/SD partition you'like to mount is mmcblk0p1 then:

if [ ! -b /dev/mmcblk0p1 ]; then mknod /dev/mmcblk0p1 b 253 1; fi
mount /dev/mmcblk0p1 /mnt/mmc

NOTE: The MMC and PCMCIA slot B interfaces share card detection pin, so to use MMC/SD interface on SB-X270, you will need either disable PCMCIA driver, or modify it so it will use only Slot A.