Programmers Notes for PadOrbiter

From LinuxMCE
Revision as of 05:14, 22 November 2008 by Jimbodude (Talk | contribs)

Jump to: navigation, search

Contained on this page are my notes for the PadOrbiter. Particularly in regards to the various bits of glue software that make the user experience more convenient.

TabletCFG

TabletCFG is the Configuration program for setting network parameters on the PadOrbiter. It modifies various configuration files to configure network parameters for the PadOrbiter to function properly.

Network Configuration Snippets

TabletCfg needs to modify various files to configure network parameters for the wireless card. These files are overwritten completely each time the configuration changes.

WPA-PSK

WPA-PSK requires that a configuration file for /etc/wpa_supplicant.conf and /etc/network/interfaces be modified.

/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
#ap_scan=2

network={
       ssid="your_ssid"
       scan_ssid=1
       proto=WPA RSN
       key_mgmt=WPA-PSK
       pairwise=CCMP TKIP
       group=CCMP TKIP
       psk=your_psk
}

Note: Add needed changes for using AES256 WPA encryption.

/etc/network/interfaces
auto eth0
iface eth0 inet dhcp
pre-up wpa_supplicant -Bw -Dwext -ieth0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant

On-Screen Keyboard Notes

Due to the tablet nature of the PadOrbiter, an on-screen keyboard was necessary. It is embedded directly into the configuration window itself. I had tried various external keyboards, but was unsuccessful in finding a keyboard that was easy to use for this purpose.

The Keyboard merely appends the given letter to the cursor position (or removes it in the case of backspace) of the text field.

Method Snippets

In order for the xtest send fake key event function to work, it needs the active display. This can be gotten from this member function:

Display * QX11Info::display ()   [static]
Returns the default display for the application.
See also appScreen().


TODO: Find which ESSIDs are legal. Do I need to create an extended keyboard to support funky characters?

Todo

  • Finish TabletCFG (CRITICAL)
  • Replace bootscreen with LinuxMCE splash. (NICE TO HAVE)
  • Modify Orbiter to allow for automatic configuration without needing to create an orbiter in the web admin. (CRITICAL)
  • Optimize Boot process. (NICE TO HAVE)
  • Do Installer (SOON)

DT360

There are some differences between the DT336 and DT360, though they are very similar.

VIA 6656 WiFi Card

There is a Mini PCI Express Wifi card in the DT360. It's a VIA 6656 based card. The most recent drivers can be found at the VIA arena. There are several issues with this driver:

  • There are no packaged versions of the kernel module (vntwusb) because the license is ambiguous
  • The license in the code is "Proprietary", even though it uses GPL-only features, so it won't compile on newer kernels
  • To use WPA, it is necessary to compile a custom version of WPA Supplicant with the viawget wpa driver, which is not the most up to date version.
    • This custom wpa driver is NOT wext - this means TabletCFG needs to change the way it generates things

As of this writing, the most recent version was 1.18. This version does not compile due to the license setting in the code. (If this setting is changed, the code compiles and runs, but does not function.) It does work on the Debian Stale kernel.

Replacing the PCI-Ex card or using a USB WiFi adapter is the current workaround.

Touchscreen

The touchscreen is the same as the DT336, but the Y coordinates are inverted. Running penmount's gCalib fixes this. (Use the SUSE 11 package for the 9000 series touchscreen)

Geode Graphics

Graphics are provided by the geode xorg driver. The tablet also seems to require the video=ofonly kernel option with the standard Debian installation - without it, the display pulses white every few seconds.

Drive Size

The flash drive in the DT360 is slightly smaller than the DT366 - by about 26MB. This makes DD images not directly compatible between the two versions.