CCG Home | People | Research | Publications | Paper of the Week | Resources | Contact

CharmIT Stuff




USB Input Devices
The Twiddler 2 can be attached to the CharmIT via a PS/2 to USB converter. As far as I know, any PS/2 to USB converter works (I've a Belkin and some other one sitting here that I used - if anybody finds differently, mail me and I'll make a note about it). Unfortunately, it does not get autodetected as a "USB keyboard and mouse", so you have to make sure everything's running yourself. Fortunately enough, this also works for regular keyboards and mice over USB, so it's the all-new dual-purpose guide..thingy.

There are a few prerequisites (as always) to getting this running.
/dev entries:
mknod /dev/input/mice c 13 63
mknod /dev/input/keyboard c 10 150

kernel 2.4.x:
CONFIG_INPUT
CONFIG_INPUT_KEYBDEV
CONFIG_INPUT_MOUSEDEV
CONFIG_USB
CONFIG_USB_DEVICEFS
CONFIG_USB_OHCI
CONFIG_USB_HID

kernel 2.2.x:
CONFIG_USB
CONFIG_USB_DEVICEFS
CONFIG_USB_OHCI
CONFIG_USB_HID

If you didn't build everything directly into the kernel (which I suggest; modules are your friend), you then need to load the nescessary modules:
mousedev
keybdev
hid
input
usb-ohci
usbcore

The keyboard will work as soon as the modules are loaded, it also doesn't require any sort of extra configuration. The mouse, on the other hand, needs just a little bit more.
Console:
gpm -t ps2 -m /dev/input/mice

XFree86-3.x:
Section "Pointer"
 Protocol "ImPS/2"
 Device "/dev/input/mice"
EndSection

XFree86-4.x:
Section "InputDevice"
 Identifier "Mouse0"
 Driver "mouse"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ImPS/2"
EndSection

XF86Config for the Chips & Technologies CT69000
Onboard video is provided by the Chips & Technologies CT69000. Xconfigurator and xf86config both should have entries for this card, but if you're like me and would prefer to hand-write the XF86Config, here are the entries nescessary. Also, do not probe for clocks; this fails miserably on almost all C&T cards.

XFree86-3.x:
Section "Device"
 Identifier "Chips & Technologies CT69000"
 VendorName "Chips & Technologies"
 BoardName "CT69000"
 Chipset "ct69000"
 VideoRam 2048
 Option "fast_dram" # For setting the memory clock. slow/med/fast
EndSection

XFree86-4.x:
Section "Device"
 Identifier "Chips & Technologies CT69000"
 VendorName "Chips & Technologies"
 BoardName "CT69000"
 Driver "chips"
 VideoRam 2048
 Option "fast_dram" # For setting the memory clock. slow/med/fast
EndSection

There are other options you can add, but are generally autodetected by X. They are: noaccel, no_bitblt, xaa_no_color_exp, xaa_benchmark, hw_cursor, sync_on_green, use_vclk1, nolinear, suspend_hack, STN, no_stretch, no_center, use_modeline, fix_panel_size.

Onboard Ethernet via the Intel 82559er
Also onboard the JumpTEC PC/104 board is an Intel 82559er ethernet adapter. Don't bother looking for it, it really doesn't exist. Instead, look up Pro/100 in the Intel site and you'll come up with the realization that the 8255x is all run by the same driver- the e100. The latest (2-august-2001) version of the e100 is 1.6.13 and can be found here.

Installation instructions are included with the file, so I won't bore you with that. Instead, I'll tell you that this version of the driver worked where the 1.3.14 (the previous "it'll work" driver) failed. So far it seems to compile just fine on the 2.2 and 2.4 series kernels; this just repeats what Intel has guaranteed with the driver.

To actually use your new driver, do a 'make install' (which convienently copies the module over to your kernel modules directory- no monolithic kernel support), and edit your /etc/conf.modules or /etc/modules.conf (I forget which is depricated) and add (or change) the line "alias eth0 e100". You can now set up the card in whatever fashion you choose (ifconfig/sysconfig/linuxconf).

Notes: RedHat 7.x seems to have a driver that detects and works with the 82559er; however I don't trust it to work quite as well as the Intel version. It's built into the 2.4 series kernel as eepro100, but is listed as experimental. As such.. Use the Intel driver.

Tuning your Toshiba MK1017GAP
The CharmIT uses the integrated ALi 15x3 for IDE support. Here's how to get the best performance out of it.

In the BIOS options:
Enable 32 Bit I/O on the Primary Master device.
Optional:
Enable PCI Write Combines in the Advanced I/O options.
Enable Fast Back-to-Back Transfers in the Advanced I/O options.

If you don't feel like recompiling your kernel, put this command in your startup scripts. This enables only some very basic options that should be on for optimal performance.
hdparm -m 16 -c 1 -d 1 /dev/hda

To avoid this, you can recompile these settings into the kernel by setting the following kernel options.
2.4.x:
CONFIG_EXPERIMENTAL
CONFIG_IDE
CONFIG_BLK_DEV_IDE
CONFIG_BLK_DEV_IDEDISK
CONFIG_IDEDISK_MULTI_MODE
CONFIG_BLK_DEV_IDEPCI
CONFIG_BLK_DEV_IDEDMA_PCI
CONFIG_IDEDMA_PCI_AUTO
CONFIG_BLK_DEV_ALI15X3

2.2.x:
CONFIG_EXPERIMENTAL
CONFIG_BLK_DEV_IDE
CONFIG_BLK_DEV_IDEDISK
CONFIG_BLK_DEV_IDEPCI
CONFIG_BLK_DEV_IDEDMA
CONFIG_IDEDMA_AUTO
CONFIG_BLK_DEV_ALI15X3

All of this results in about 50-51MB/sec buffer I/O and 13-15MB/sec disk I/O. This is up from the [everything] default of 50-51MB/sec buffer I/O and 5-6MB/sec disk I/O. So your performance gain is entirely in speed of disk read/writes. Enabling PCI Write Combines and Fast Back-to-Back is not absolutely nescessary unless you're planning on doing some very I/O heavy processing, and may make your system unstable in normal use. To test your own I/O speeds, run 'hdparm -tT /dev/hda'.

 
 
  


CCG Home | People | Research | Publications | Paper of the Week | Resources | Contact
[GVU Center] [College Of Computing] [Georgia Tech]