Difference between revisions of "VIA CX700"

From Bashlinux
Jump to: navigation, search
 
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
== How to setup the BIOS ==
+
Before start the Linux installation on this kind of terminal is necessary to check the BIOS version must be <tt>500cx_0.00.05_T1</tt> which is provided by the image <tt>DB2024 500CX.ROM</tt>
  
Before start the linux installation on this kind of terminal is necessary to check the BIOS version must be 500cx_0.00.05_T1.
+
== Boot flag ==
 +
Terminals with this SoC use a flash memory as hard drive, but when the installation is done it won't boot into the Linux OS. To fix turn off the boot flag on HD device.
  
if the Bios doesn't match it can be upgraded or downgraded depending which Bios version the terminal already has.
+
=== How to turn off the boot flag after installation ===
 +
* Boot up using PXE
 +
* Select any client, remove the kickstart string and change <code>rescue</code> instead <code>text</code>, then press <ENTER>
 +
* When boot into the system in rescue mode type <code>fdisk /dev/hdc</code>
 +
* Press <code>a</code> to turn off boot flag
 +
* Press <code>1</code> to select partition 1
 +
* Press <code>w</code> to write to the disk the changes
 +
* Type <code>exit</code> to reboot the system
  
'''Setting up the Bios:'''
+
=== Turn off boot flag at installation time ===
# Boot up using PXE and select in cobbler menu `DOS (Upgrade DT515 Bios)`
+
* Add to the kickstar packages list parted
# Run `DB2024 500CX.ROM`
+
* Add in the <code>%post</code> section the line
# When finishes it will display a successful message
 
# Restart and press `<F2>` on boot to check the new Bios version
 
 
 
== How to boot up from HD ==
 
 
 
This terminal uses a flash memory as hard drive, but when the installation finishes and reboot it cannot boot into the Linux OS.  To fix turn off the boot flag on HD device.
 
 
 
''' Turn off boot flag after installation '''
 
 
 
# Boot up using PXE
 
# Select any client, remove the kickstart string and change `rescue` instead `text`, then press <ENTER>
 
# When boot into the system in rescue mode type `fdisk /dev/hdc`
 
# Press `a` to turn off boot flag
 
# Press `1` to select partition 1
 
# Press `w` to write to the disk the changes
 
# Type `exit` to reboot the system
 
 
 
''' Turn off boot flag at installation time '''
 
 
 
# Add to the kickstar packages list parted
 
# Add in the `%post` section the line
 
 
<pre><nowiki>
 
 
  /sbin/parted /dev/hdc set 1 boot off
 
  /sbin/parted /dev/hdc set 1 boot off
</nowiki></pre>
 
 
  
== How to setup the wireless NIC ==
+
== Devices ==
 
+
=== How to setup the wireless NIC ===
The NIC installed on this terminal described by `lspci` command is:
+
The NIC installed on this terminal described by <tt>lspci</tt> command is:
 
<pre><nowiki>
 
 
  03:05.0 Ethernet controller: Atheros Communications, Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
 
  03:05.0 Ethernet controller: Atheros Communications, Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
</nowiki></pre>
 
  
The driver is provided by ''madwifi'' in the rpm with the same name.  Also, in order to setup it using WPA is necessary to install ''wpa_supplicant'' rpm
+
The driver is provided by "madwifi" in the rpm with the same name.  Also, in order to setup it using WPA is necessary to install <tt>wpa_supplicant</tt> rpm
  
'''Setup'''
+
* Install Madwifi Driver and WPA supplicant
# Install Madwifi Driver and WPA supplicant
 
 
<pre><nowiki>
 
 
  # yum install madwifi wpa_supplicant
 
  # yum install madwifi wpa_supplicant
</nowiki></pre>
+
* Fix the wireless interface, the real working interface is ath0
 
 
# Fix wirless interface, the real working interface is ath0
 
 
<pre><nowiki>
 
 
  # mv /etc/sysconfig/network-scripts/ifcfg-wifi0 /etc/sysconfig/network-scripts/ifcfg-ath0
 
  # mv /etc/sysconfig/network-scripts/ifcfg-wifi0 /etc/sysconfig/network-scripts/ifcfg-ath0
 
  # perl -pi -e 's/wifi0/ath0/' /etc/sysconfig/network-scripts/ifcfg-ath0
 
  # perl -pi -e 's/wifi0/ath0/' /etc/sysconfig/network-scripts/ifcfg-ath0
</nowiki></pre>
+
* Setup secret on wap network
 
 
# Setup secret on wap network
 
 
<pre><nowiki>
 
 
  # wpa_passphrase "network_ssid" "secret_wpa_key" > /etc/wpa_supplicant/wpa_supplicant.conf
 
  # wpa_passphrase "network_ssid" "secret_wpa_key" > /etc/wpa_supplicant/wpa_supplicant.conf
</nowiki></pre>
+
* Change wpa_supplicant driver options
 
 
# Change wpa_supplicant driver options
 
 
<pre><nowiki>
 
 
  # perl -pi -e '$_="INTERFACES=\"-iath0\"\n" if m/^INTERFACES/' /etc/sysconfig/wpa_supplicant
 
  # perl -pi -e '$_="INTERFACES=\"-iath0\"\n" if m/^INTERFACES/' /etc/sysconfig/wpa_supplicant
 
  # perl -pi -e '$_="DRIVERS=\"-Dmadwifi\"\n" if m/^DRIVERS/' /etc/sysconfig/wpa_supplicant
 
  # perl -pi -e '$_="DRIVERS=\"-Dmadwifi\"\n" if m/^DRIVERS/' /etc/sysconfig/wpa_supplicant
</nowiki></pre>
+
* Turn on service
 
 
# Turn on service
 
 
<pre><nowiki>
 
 
  # perl -pi -e 's/12/09/ if m/chkconfig/' /etc/init.d/wpa_supplicant
 
  # perl -pi -e 's/12/09/ if m/chkconfig/' /etc/init.d/wpa_supplicant
 
  # chkconfig wpa_supplicant on
 
  # chkconfig wpa_supplicant on
 
  # service wpa_supplicant start
 
  # service wpa_supplicant start
</nowiki></pre>
+
* Restart the network
 
 
# Restart the network
 
 
<pre><nowiki>
 
 
  # service network restart
 
  # service network restart
</nowiki></pre>
 
 
 
== How to setup the audio card ==
 
  
 +
=== How to setup the audio card ===
 
The default volume on CentOS is not enough for DT terminals, in order to setup the value use amixer to set the volume value, the range is 0 to 255 (0x00-0xFF).
 
The default volume on CentOS is not enough for DT terminals, in order to setup the value use amixer to set the volume value, the range is 0 to 255 (0x00-0xFF).
  
 
To set the maximum volume value run:
 
To set the maximum volume value run:
  <code><nowiki># amixer sset <Control Name> 255 </nowiki></code>
+
  # amixer sset <Control Name> 255
where `<Control Name>` is any of the names returned by the command:
+
where <code><Control Name></code> is any of the names returned by the command:
  <code><nowiki># amixer | grep Simple</nowiki></code>
+
  # amixer | grep Simple
 
 
== How to setup the touchscreen ==
 
  
 +
=== How to setup the touchscreen ===
 
The terminal has a resistive touchscreen.
 
The terminal has a resistive touchscreen.
  
''' IRTouch driver '''
+
''' IRTouch driver '''<br>
 
 
 
Linux distributions with older version of Xorg, the driver is a special irtouch driver which must be build and compiled from scratch.
 
Linux distributions with older version of Xorg, the driver is a special irtouch driver which must be build and compiled from scratch.
  
''' elographics driver '''
+
''' elographics driver '''<br>
 +
Linux distributions with newer version of Xorg, the irtouch driver doesn't work but elographics does.  The driver is available in the base repository of the distro as <code>xorg-x11-drv-elographics</code> and also in the fedora-extras repository has been placed the configuration tool <code>touchcal</code>.
  
Linux distributions with newer version of Xorg, the irtouch driver doesn't work but elographics does.  The driver is available in the base repository of the distro as `xorg-x11-drv-elographics` and also in the fedora-extras repository has been placed the configuration tool touchcal.
+
=== How to setup the Magnetic Stripe Reader (MSR) ===
 +
The MSR is a serial device attached to <tt>/dev/ttyS3</tt> and is encoded with old ASCII format of 7 bits with a baud rate of 9600. to get the data from it is necessary to open the communication with such port and get the data bytes one by one, then remove the high-order bit, this is because the ASCII code in the new systems is read as 8 bits char and the data send by the device is in 7 bits format.
  
== How to setup the Magnetic Stripe Reader (MSR) ==
+
In C/Java the function <code>toascii()</code> does the work.
 
 
The MSR is a serial device attached to `/dev/ttyS3` and is encoded with old ASCII format of 7 bits with a baud rate of 9600. to get the data from it is necessary to open the communication with such port and get the data bytes one by one, then remove the high-order bit, this is because the ASCII code in the new systems is read as 8 bits char and the data send by the device is in 7 bits format.
 
 
 
In C/Java the `toascii()` function does the work.
 
 
 
''' Keyboard emulation '''
 
  
 +
''' Keyboard emulation '''<br>
 
Since this is a regular serial device, what we need is a user space application that converts a char string in keystrokes and a kernel modules that passes the keystroke to the system.
 
Since this is a regular serial device, what we need is a user space application that converts a char string in keystrokes and a kernel modules that passes the keystroke to the system.
  
The project ''kbde'' provides both so we can use the libraries to convert the MSR input in keystrokes and then send to the kernel module. The user space application and the kernel module are called `kbde` and `kbde-driver` respectively.
+
The project [[kbde]] provides both a library and a kernel module so we can use the libraries to convert the MSR input in keystrokes and then send them to the kernel module. The user space application and the kernel module are called <code>kbde</code> and <code>kbde-driver</code> respectively.
  
== How to setup VIA Openchrome on Fedora 10 ==
+
=== How to setup VIA Openchrome on Fedora 10 ===
 
+
The original driver has bug that doesn't allow come back from the console to GUI, but this has been solved on <code>xorg-x11-drv-openchrome-0.2.903-5.fc10</code> which is available on testing repository.
The original driver has bug that doesn't allow come back from the console to GUI, but this has been solved on '''xorg-x11-drv-openchrome-0.2.903-5.fc10''' which is available on testing repository.
 
 
<pre><nowiki>
 
 
  yum --enablerepo=updates-testing update xorg-x11-drv-openchrome
 
  yum --enablerepo=updates-testing update xorg-x11-drv-openchrome
</nowiki></pre>
 
  
Ref: [https://bugzilla.redhat.com/show_bug.cgi?id=469504]
+
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=469504
  
''' Xorg settings on Fedora '''
+
''' Xorg settings on Fedora '''<br>
 +
Xorg setup need to be fixed in order to allow get the proper settings for <code>openchrome</code> graphic card driver and mouse pointer issues.
  
Xorg setup need to be fixed in order to allow get the proper settings for `openchrome` graphic card driver and mouse pointer issues.
+
On system copy the <tt>xorg.conf</tt> from DT terminal with Centos and made the following changes
 
+
# Go to <code>Section "Device"</code> and set the driver <code>openchrome</code> instead <code>via</code>
On system copy the `xorg.conf` from DT terminal with Centos and made the following changes
 
# Go to `Section "Device"` and set the driver `"openchrome"` instead `"via"`
 
 
<pre><nowiki>
 
 
  Driver "openchrome"
 
  Driver "openchrome"
</nowiki></pre>
 
 
 
# Enable software cursor by adding the option to the same device:
 
# Enable software cursor by adding the option to the same device:
 
<pre><nowiki>
 
 
  Option "SWCursor" "TRUE"
 
  Option "SWCursor" "TRUE"
</nowiki></pre>
 

Latest revision as of 00:17, 13 June 2015

Before start the Linux installation on this kind of terminal is necessary to check the BIOS version must be 500cx_0.00.05_T1 which is provided by the image DB2024 500CX.ROM

Boot flag

Terminals with this SoC use a flash memory as hard drive, but when the installation is done it won't boot into the Linux OS. To fix turn off the boot flag on HD device.

How to turn off the boot flag after installation

  • Boot up using PXE
  • Select any client, remove the kickstart string and change rescue instead text, then press <ENTER>
  • When boot into the system in rescue mode type fdisk /dev/hdc
  • Press a to turn off boot flag
  • Press 1 to select partition 1
  • Press w to write to the disk the changes
  • Type exit to reboot the system

Turn off boot flag at installation time

  • Add to the kickstar packages list parted
  • Add in the %post section the line
/sbin/parted /dev/hdc set 1 boot off

Devices

How to setup the wireless NIC

The NIC installed on this terminal described by lspci command is:

03:05.0 Ethernet controller: Atheros Communications, Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)

The driver is provided by "madwifi" in the rpm with the same name. Also, in order to setup it using WPA is necessary to install wpa_supplicant rpm

  • Install Madwifi Driver and WPA supplicant
# yum install madwifi wpa_supplicant
  • Fix the wireless interface, the real working interface is ath0
# mv /etc/sysconfig/network-scripts/ifcfg-wifi0 /etc/sysconfig/network-scripts/ifcfg-ath0
# perl -pi -e 's/wifi0/ath0/' /etc/sysconfig/network-scripts/ifcfg-ath0
  • Setup secret on wap network
# wpa_passphrase "network_ssid" "secret_wpa_key" > /etc/wpa_supplicant/wpa_supplicant.conf
  • Change wpa_supplicant driver options
# perl -pi -e '$_="INTERFACES=\"-iath0\"\n" if m/^INTERFACES/' /etc/sysconfig/wpa_supplicant
# perl -pi -e '$_="DRIVERS=\"-Dmadwifi\"\n" if m/^DRIVERS/' /etc/sysconfig/wpa_supplicant
  • Turn on service
# perl -pi -e 's/12/09/ if m/chkconfig/' /etc/init.d/wpa_supplicant
# chkconfig wpa_supplicant on
# service wpa_supplicant start
  • Restart the network
# service network restart

How to setup the audio card

The default volume on CentOS is not enough for DT terminals, in order to setup the value use amixer to set the volume value, the range is 0 to 255 (0x00-0xFF).

To set the maximum volume value run:

# amixer sset <Control Name> 255

where <Control Name> is any of the names returned by the command:

# amixer | grep Simple

How to setup the touchscreen

The terminal has a resistive touchscreen.

IRTouch driver
Linux distributions with older version of Xorg, the driver is a special irtouch driver which must be build and compiled from scratch.

elographics driver
Linux distributions with newer version of Xorg, the irtouch driver doesn't work but elographics does. The driver is available in the base repository of the distro as xorg-x11-drv-elographics and also in the fedora-extras repository has been placed the configuration tool touchcal.

How to setup the Magnetic Stripe Reader (MSR)

The MSR is a serial device attached to /dev/ttyS3 and is encoded with old ASCII format of 7 bits with a baud rate of 9600. to get the data from it is necessary to open the communication with such port and get the data bytes one by one, then remove the high-order bit, this is because the ASCII code in the new systems is read as 8 bits char and the data send by the device is in 7 bits format.

In C/Java the function toascii() does the work.

Keyboard emulation
Since this is a regular serial device, what we need is a user space application that converts a char string in keystrokes and a kernel modules that passes the keystroke to the system.

The project kbde provides both a library and a kernel module so we can use the libraries to convert the MSR input in keystrokes and then send them to the kernel module. The user space application and the kernel module are called kbde and kbde-driver respectively.

How to setup VIA Openchrome on Fedora 10

The original driver has bug that doesn't allow come back from the console to GUI, but this has been solved on xorg-x11-drv-openchrome-0.2.903-5.fc10 which is available on testing repository.

yum --enablerepo=updates-testing update xorg-x11-drv-openchrome

Reference: https://bugzilla.redhat.com/show_bug.cgi?id=469504

Xorg settings on Fedora
Xorg setup need to be fixed in order to allow get the proper settings for openchrome graphic card driver and mouse pointer issues.

On system copy the xorg.conf from DT terminal with Centos and made the following changes

  1. Go to Section "Device" and set the driver openchrome instead via
Driver "openchrome"
  1. Enable software cursor by adding the option to the same device:
Option "SWCursor" "TRUE"