Saturday, August 25, 2007

Two weeks with Ubuntufied Oqo O2

I have now spent about 2 weeks with Oqo O2, and most of that time with Ubuntu installed, so I guess it is time for a status update. I'll focus on the Linux issues with the device as other people are raving about how great the Oqo is - like folks over on gottabemobile.com and other places. I agree with all the positive comments, and like to emphasize that it's truly a portable computer - I carry it with me to places I didn't brought my other computers in the past. Which was the main point of buying it.

As I wrote in the previous post on the topic, Ubuntu works on the Oqo O2, and it works great too. As I have mentioned in a previous post, it take some effort to get there, though, but it is worth it. There are also a few things that still does not work, which I will mention further down in the post. But let's start with the stuff that works.

  • Wireless network. Oqo O2 have an Atheros chipset for Wifi of the abg-kind. Ubuntu detects and set this up out of the box, using the ath_pci kernel driver. Remark that the restricted-modules kernel add-on must be installed, as the closed source firmware for the radio is in that package. Usually, reception seems to be on the bad side when looking at the bar-chart in the panel that indicates signal strength. But in practice I don't have any problem with the network connection. My guess is that power is turned down a bit to save the battery. But that is just a guess, and I don't know if it is possible to crank up the power in some way. And as I said, it has not been a problem so far.
  • Bluetooth works without any problem. It is some kind of chip set attached to the usb bus, it shows up in the output of lsusb -v. The bluetooth support on Linux is still not perfect, like when I wanted to attach the iGo stowaway keyboard, I needed to edit some config files (according to howtos found online) - there is room for improvement. Now, I like to edit those files so it is not a problem for me personally. But it is a problem when it comes to acceptance of Linux among Joe average user.
  • Keyboard. The Oqo O2 have quite a lot of special keys, which you get by using the Fn function key in combination with other keys. This includes screen brightness and volume adjustments and back lit keyboard. Most of these keys do work Linux. Some keys that don't work are screen rotation and zoom in/out buttons. I don't care much about those things anyway, but being able to remap the keys to something else would have been nice. So far, I haven't figured that out.
  • Power management. CPU frequency scaling works great in Linux, and so does the speed scaling for the fan. These mean that most of the time I can run on 25% CPU speed and have the fan running on a low speed causing very little noise. And when I need more juice, the system responds quite fast.
  • As far as I can tell, the Oqo O2 don't have a speaker. If it is there, I can't turn it on at least. But headphones can be plugged in to hear sound. I installed the audio driver for linux from www.viaarena.com (but not sure it is needed, as it took me a while to realize that I had to plug in headphones). I have not tested stereo bluetooth sound yet, as I don't own such headset yet. But I plan to aquire one such that I can test this - I think this will be a great plus in combination with thje Oqo.
  • For graphics, I have tested a few different drivers. I have tested the drivers from viaarena, the OpenChrome driver from openchrome.org, as well as the via-driver in both Ubuntu feisty and Ubuntu gutsy (still in alfa stage). I have so far ended up with the generic vesa driver. There is a description on the ubuntu site on how to install the experimental OpenChrome driver from source. Bottom line is that there are issues with all of them unfortunately. I have to go deeper into this in order to do a proper review - hopefully I can do a separate post on this topic in the near future. What I can say so far is that the vesa driver does not have any dual-head capabilities, the driver from viaarena has (the package even include an application that can be used to enable/disable different outputs like vga, hdmi/tv-out, and enable or disable Xinerama - this works ok). But the computer occasionally went into deep freeze when using the viaarena driver, and it was hard getting back from suspend. The OpenChrome things I tested up to now seems to be the worst of both worlds.
  • When it come to suspend/resume, I said in my first post that it works. I have to moderate that statement, unfortunately. Using the regular suspend on the log-off menu in Ubuntu, I can suspend and resume once. If I try to do it twice, the keyboard turn unresponsive, the fan goes to full speed, and the display stays on. Only solution is to press the power button for a while (10 seconds) in order to trigger a hard shutoff. From time to time, I also have to unload and reload the kernel modules for the wireless card to enable wifi after resume. A couple of times the computer also have went into freeze shortly after the first resume. So suspend/resume is really unusable in real life. Which is very very bad as this is very important for my intended use of the Oqo O2. I have had limited success with the s2disk from the uswsusp package (software suspend), which is a kind of hibernation. This only seems to be usable one time. The s2ram application for suspend to ram from the same package does not work on this computer. The hibernation option from the regular log-off menu in Ubuntu does not work either. So, there are a lot of room for improvement here.
  • Wacom digitizer does not work. I can not find the device for it and doesn't know whether it is usb based or serial. I have posted a question to support at oqo to see if I can get more information on this. On the other hand, I can live without the pen although I use it a lot on my Fujitsu P1520 (which have the plain touch screen). I get back to this if I make it work or get some information.
If we ignore the bad things for a while, the Oqo in Linux is usable as a small, carry around computer. I even booted it and did some work on a turbogears/mysql application in the waiting room at my doctor the other day, using 3G from my Nokia e61i over bluetooth as network connection. But the vesa driver for graphics mean that graphics probably take more power than it should (more work done in the main CPU), and refresh is sluggish when switching between virtual desktops which really is a must on such a small screen. And the suspend/resume issue is more or less a show stopper. Since it takes more than a minute to boot the thing, the opportunity to quickly catch up on email may have passed before I get online. So I have to solve this somehow.

Hope you got some answers to your questions. If not, please use the comments, and I will try to answer (and test if necessary). If you have suggestions for some of the issues, please feel free to post those to - I'm happy to test things out!

Take care!

10 comments:

Anonymous said...

This is the same experience I have had. The instructions on http://www.viaarena.com/ all fail for me (IDE/DMA support, hardware acceleration, et cetera). I plan to keep working on this. I hope to make it all work someday. It's a shame. A real god damn shame.

Anonymous said...

The wacom is connected to /dev/ttyS1 and works for me, I have to find out how to calibrate.

Åsmund Ødegård said...

Wow, it was that simple! First, the oqo-folks themself should have known this. Second, I should have searched more.

Thanks for the tip, now wacom is working fine!

Anonymous said...

The funny mouse start can be solved by not using /dev/input/mice. Just change it in /dev/input/mouse0. This seems to work for me.

Åsmund Ødegård said...

Anonymous said:
The funny mouse start can be solved by not using /dev/input/mice. Just change it in /dev/input/mouse0. This seems to work for me.


Thanks for the tip. That does not work for me, however. The internal mouse stopped working, and so did my bluetooth mouse as well. I tried to add both /dev/input/mouse1 and mouse2 in xorg.conf, but no luck. Maybe these are dynamically allocated devices that are recognized to late to be used in xorg.conf?

As it work for you, I just have to try a bit more :-)

Anonymous said...

I was wrong the problem with the mouse returned.
I have now tried to use the evdev driver for the mouse. Again it looks like it works.

My mouse sections in xorg.conf reads as follow:

Section "InputDevice"
Identifier "Configured Mouse"
Driver "evdev"
Option "Device" "/dev/input/event2"
EndSection

I hope this one will hold up.

Anonymous said...

New problem arises with evdev mouse. Emulate3buttons no longer works. So no middle mouse button.

Unknown said...

the wacom in the Oqo o2 is a serial wacom, and for some strange reason it is on /dev/ttyS1 (even as far as I know there is no ttyS0 present).

Anonymous said...

Any chance you (or the other posters) could post your xorg.conf file?

I just put Fedora Core 8 on my OQO 02, added Modeline, etc. from the other blog page, but X is still not starting.

Thanks.

Åsmund Ødegård said...

Hi,

I have posted my xorg.conf here:

http://tinyurl.com/25n8pq