It's a very little, full featured PC.
Download OQO 01 Drivers 63. Graveyard of OQO drivers, patches, etc. Originally publicly available. lentinj/oqo-graveyard. Free drivers for OQO model 01+. Please select the driver to download. Additionally, you can choose Operating System to see the drivers that will be compatible with your OS.
The following page details some of the weirder bits you'd encounterwhilst installing Debian (or another linux) on the OQO. If you need amore general guide on installing Debian, then I suggest goingelsewhere first and come back for specifics.
↑Hardware
Replacing HDD
The HDD is a 1.8' Toshiba PATA disk, the same used in larger iPods.The connector is a Toshiba-specific 50-pin connector, as pictured onthe left-hand side here. NB: It isnot a ZIF connector, nor is it of the type in IBM X-series thinkpads.Removing these terms from ebay searches is quite useful.
- IDE/Compactflash adapter & CF Card (what I did). Adaptor listed as'SSD CF TO 50 PIN IDE Adapter Card W/ 1.8 box' on ebay NB: Most CFcards dont bother with (U)DMA in AT disk mode. Sandisk Ultra IV'sdefinitely do, but at a price.
- PATA 1.8' SSD: Pricey, rare, but exist.
The operation itself is reasonably simple:-
Oqo Wifi Radio free download - WiFi Hotspot, Wifi Hacker, Virtual WiFi Router, and many more programs. Atheros AR5007 802.11b/g WiFi Adapter OQO Bluetooth Radio. Rate, Share and Subscribe! Like us on Facebook: Car Crash Community: Google+: http://www.gplu.
- Ensure all BIOS HDD performance options (transfer mode, etc) areturned down to standard. Mileage may vary, but some CF cards will notbe detected, or the OQO will refuse to boot with, e.g. DMA on. Linuxwill renegotiate properly anyway so not worth the hassle.
- Remove battery & stylus, undo three torx screws (including warrantystickered one) with T6 driver. Cover should wiggle off.
- Unwrap blue rubber protector from HDD.
- Gently pull HDD from connector.
BIOS Setup
To enter the BIOS, press F2 (this is Fn then 2). Not much setup to do,although you have to tweak the boot order to be able to boot off USBkey and install.
You can also switch which of the antennae (the lumps on the side ofthe case) is active.
↑Installation
Booting
The only tricky part of getting the install process going is bootingthe device, since it's PC-BIOS and no handy CD drive.
- via. USB key: Put 'CD-ROM'(sic) early in BIOS' boot order, andattach a bootable USB stick
- PXE Booting: This should be possible usng the docking cable ethernettoo, not tried myself.
Any other steps will be the same as a normal computer.
Kernel
I'm using the mainline kernel (as of writing 2.6.30), various patchesand config options are mentioned below, but this is the full .config, and all the patches can be found here. Hopefully in time most will become irrelevant.
GRUB
Whilst it works out of the box fine, I'd suggest making the defaultitem in the list 'Turn off again' so if the power button gets whackedin your pocket, no harm should be done. GRUB cannot turn the deviceoff, so use Linux:
↑Graphics configuration
Xorg - siliconmotion
xserver-xorg-video-siliconmotion version 1.7.1 fully supports thedevice, including dualheading & rotation. Try the following config:
xrandr should provide you with rotation and dualheading, I have thefollowing script attached to my 'video' key, screenrotate, whichswitches orientation as well as switching jogwheel direction and wacomrotation at the same time:-
Linux console
No native framebuffer driver for the siliconmotion chip, so it'd haveto be a VESA driver. This I haven't tried, however you can get a textconsole filling the screen with the following kernel option:-
↑Powersaving/ACPI configuration
CPU Frequency Scaling
Transmeta chips do this using their LongRun feature. Unlike otherchips the frequency variation happens automatically---you choose aminimum & maximum frequency which the crusoe will jump betweenaccording to workload. The range can be set via. sysfs:-
Halving the maximum frequency will result in the device running a lotcooler. For more info, and to change the frequency profile, use thelongrun userspace tool.
Sleep States
As of 2.6.28.8, S3 works fine. Earlier versions would crashrepeatedly, and then sometimes sleep. Do:-
uswsusp also works fine with recent kernels. Since the HDD isrelatively slow, setting the image to be as small as possibleincreases hibernate speed dramatically. In /etc/uswsup.conf:-
Kernels < 2.6.30 couldnt halt the device, see bug 13041. The EC accesswithin the OQO DSDT's _GTS method has no hope of working, but windowsdoesn't test this. Newer kernels no longer call _GTS by default.
↑Input devices
Keyboard
The keyboard tries to be a standard PS/2 keyboard, but fails inseveral places.
The Video/Mute/WiFi keys report a different scancode when they mean tosay the key is being released---this is fixed by this patch which is found in2.6.32 onwards.
PgUp/PgDn/Home/End are mapped to numeric keypad keys, not PgUp, etc.This generally works fine, but shift-PgUp results in '9', rather thanscrolling upwards in an xterm/console/whatever. The keymap oqo.kbdmap can be applied to help both the above using input-kbd(aptitude install input-utils). I trigger the running using udev andthe following rule:-
Unmarked firmware key-combinations
The OQO firmware also recognises a pile extra Fn-Ctrl commands, asmentioned here and here. NB: an OQO 01+needs Ctrl pressed as well as Fn for most of these to work.
Trackpoint and Jog-wheel
The trackpoint & jogwheel works either with the trackpoint driver orthe generic wheel mouse driver. The former gives you press-to-selectand other trackpoint-specifics, the latter wheel events. Linux loadstrackpoint by default, to suppress this edit / create a/etc/modprobe.d/oqo_hw.conf containing :-
NB: Initalising wheel mouse mode, then trackpoint mode results ina confused driver. It's possible that this would give full trackpointsupport, but would mean a lot of changes to linuxes trackpoint driver.
Touchscreen
The touchscreen is a Wacom tablet sitting on /dev/ttyS0. This can beaccessed via X11 using the following config:-
The touchscreen will also support erasers, etc., but the default pendoesn't have them. Config would be the same as any wacom tablet if youwanted it.
Drivers Qudong
To calibrate, you need to provide values for the screen corners.Outside X11, use wacdump -f tpc /dev/ttyS0
to get X/Y co-ordinatesfor the screen corners, and add to the tablet section thus:-
Accelerometer
According to OQOTalk, this isa 'STMicroelectronics LIS3L02AQ Inertial Sensor ('LIS3L02AQ','HAAAH1N','KOR 434','E AFAF')'. It seems to be attached to the ADC inputs ofthe embedded controller. Apply ec_dump.patch and you will see 4 bytesat 0x20 changing as you wobble the device, possibly 0x2A and 0x2B too.According to the EC datasheet, the ADC measures in 10-bit resolution.
↑Network configuration
Bluetooth
The bluetooth behaves like a regular USB dongle attached to theinternal USB bus---should just work out of the box.
Firewire
Again, nothing unusual, just works.
Wi-fi - non WPA
The Wi-Fi is an Amtel 505a on an internal USB bus. There are currently3 drivers available for it
To use at76c50x-usb, you will also need some firmware. install thenon-free atmel-firmware package or go tohttp://thekelleys.org.uk/atmel/.Given this, it should largely work out of the box.
Wi-fi - WPA
In theory, at76c50x-usb should be able to do WPA encryption insoftware. However, the driver stops receiving frames at the Group keyexchange stage. Is the firmware expecting to be able to decrypt them,and since it can't, ignoring them?
The official Atmel driver contains firmware (the 1.3 versions) in .hfiles that can do WPA in hardware. Experimental supportfor these firmwares was added to at76_usb, ported to at76c50x-usbwithout success. The port was also untested on a 505a anyway, so mayneed more work.
↑Other bits
Real-Time Clock
The realtime clock will currently not work via the kernel, you need touse the --directisa option (add to HWCLOCKPARS in/etc/init.d/hwclock*)
This may be a result of ` HPET/RTC <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=277298>`__ fights. Disabling HPET supportshouldn't be harmful since there isn't one.
TSC clocksource
Drivers Quantum
There is no HPET timer on the device (a fact that powertop whinesabout profusely), however the following patch seems to give you astable TSC to use. I'm not sure how useful this is in comparison toHPET, or how safe it is.
Hardware watchdog
The M7101 PMU has a built-in hardware watchdog---its the same chip asused in the Sun Netra T1. What use it is on the OQO, I've no idea. Butthats not the point :)
↑OQO Internals
Back in the day there was an OQOTalk post on the IC's used in the device. Itsaid:
Anyway, I've managed to identify most of the parts I wasinterested in so I thought I'd list them here in case anyone else isinterested, now or in the future. Note that this is a model 01+. Someof these markings are very small and/or faint, so it is possible thatI misread some characters. The Bluetooth is provided by a CSR(www.csr.com) chip with the markings 'BC219', '159BL','447AB'. Thereseem to be two supporting chips. One appears to be marked 'LW083A','TI4AW','210L' and the other 'SH1202','3c096' (with the 'c' circledmaking a copyright symbol),'4304'. The mainboard is marked'PCB-9051-03-rev01'. A few components are mounted on the back of theboard, but they are only visible after the WLAN board and fan assemblyare removed. Right behind the scroll wheel is a CY22393 (marked'CY22393FC','0531 A 02','636095'), which is a 'Three-PLL Serial-Programmable Flash-Programmable Clock Generator' capable of generatingclock signals up to 200MHz. Near that is an ICS-branded chip marked'CN420744A','0446','9248AG-192' and then the NEC µPD720101 USB 2.0host controller (markings: 'D720101F1','0529PUA08'). The TransmetaCrusoe CPU is also on this side of the board. Its markings are'5800N100021','301251','101568','0515','6507F -3','D10128.99'. Partsvisible once the panel under the screen is removed include the ALiM1535+ ('M1535+ A1','0444 TH07','XHH2QY00000F'), The Lynx3DM8+('SM722G8 AB 0436','MHL07 AF3FS','L F6DC'), and a NationalSemiconductor PC87591E ('2S442AB','cmNSC2000C2','PC87591E-VLB') LPCMobile Embedded Controller. There is also an STMicroelectronicsLIS3L02AQ Inertial Sensor ('LIS3L02AQ','HAAAH 1N','KOR 434','E AFAF'),which I assume is how the OQO detects 'freefall' so it can shut offthe hard drive. Finally, the battery that keeps the clock running is aSanyo ML614 (3V 3.4mAh rechargeable Lithium, 1.4mm high, 6.8mmdiameter).
↑Link-o-rama
Drivers Equipment Charleston Vt
- OQO 01+ graveyard: Sincethis is pretty much the only OQO site left, I've archived a bunch ofstuff found in my old work directoies here.
Drivers Quotes
Pretty much all of these links are dead now: