Ubuntu 10.10 Maverick on Lenovo Q150



New related post Ubuntu 12.04 on Lenovo Q150 with OCZ SSD and 4Gb of Memory.

The Lenovo Q150 comes Atom D510 and the nvidia Ion gfx, 2GB of ram and a 250 GB HD.
I decided to install the 32 bit version of Ubuntu since flash more stable under 32 bit linux. I also installed:
  • ubuntu tweak
  • xbmc
  • miro
  • minitube (youtube player, faster than flash)
  • huludesktop
  • boxee
  • skype
  • cooliris
  • chromium
  • shotwell

The latest version of Ubuntu contains updates to the kernel, alsa and nouveau nvidia drivers. The new opensource drivers seems as fast as the proprietary drivers when playing video and this is great. It also detects the nvidia HDMI sound card out of the box.
So the biggest difference compared to 10.04 is that using the opensource drivers you can play video at 1080p full-screen without problems and HDMI sound card works.

- Basic installation from a USB key works fine.
- HDMI/VGA and sound out, little USB keyboard/mouse works fine.
- Dual boot with Windows 7 works fine.
- Detects the nvidia HDMI sound card.
- The open source nvidia ubuntu drivers, NVidia proprietary drivers, and the new drivers from nvidia web site work fine.
- Video acceleration at 1080p works great for Miro, mplayer, minitube, vlc, xbmc with the opensource drivers. You don't need to install nvidia proprietary drivers, unless you want 3D and HDMI sound. Flash is as fast with opensource drivers as the nvidia proprietary drivers.



- Hulu desktop plays fullscreen in high quality, with the opensource drivers and the proprietary drivers but you need to right click and select quality low on the context menu of hulu desktop. I thinks this use a decompress routine that is less CPU intensive (see the picture).
- When playing hulu, boxee, cooliris, youtube in full-screen it uses 100% of all CPUs. You can play youtube videos up to 720p without full screen with a good frame rate, but youtube 1080p is slow even in a small window.

Problems I found:

- Wireless card works, but requires compiling some code for now.
- Flash video acceleration does not work as fast as in windows, it uses more CPU, I think this is because flash on linuc does not have gfx acceleration.
- HDMI sound card requires nvidia video drivers and some tweaking see below.

XBMC install:


Add key on command line:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x6d975c4791e7ee5e
Adding the XBMC Repo

  • Adding the XBMC Repo tells your system where to look for xbmc for installation and future updates
  • From the Desktop, click System -> Administration -> Software Sources.
  • Click the "Third Party Sofware" tab.
  • Click "Add" for each of the following. For the Apt line type the following:
deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu lucid main

HDMI sound instructions

sudo apt-get install alsa-utils
on alsamixer press F6 to select the nvidia card enable all s/PDIF devices
# list the devices
aplay -l
# my sound gets enabled when I play on device speaker-test -D plughw:1,9 -r 44100, after that the sounds starts to work. It's important to use the -r 44100 since the drivers are not setting up the correct frequency.
speaker-test -D plughw:1,3 -r 44100
speaker-test -D plughw:1,7 -r 44100
speaker-test -D plughw:1,8 -r 44100
speaker-test -D plughw:1,9 -r 44100


In case you want to make a permanent change for the hdmi sound as the deafult card you can update /usr/share/alsa/alsa.conf and change these lines:

defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0

to this:

defaults.ctl.card NVidia
defaults.pcm.card Nvidia
defaults.pcm.device 9

Wireless driver

Q150 uses a Realtek USB RTL8191SU 802.11n USB 2.0 wireless card.

There are 2 drivers for the wireless card, instructions described below:
Download the RTL8191SU driver from Realtek:
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false

The one I got was dated 2010/6/30. Unzip the file.
Go into the "driver" sub directory:

cd rtl8712_8188_8191_8192SU_usb_linux_v2.6.0006.20100625/driver

Extract the driver:

tar -zxf rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20100625.tar.gz

Add this line:

{USB_DEVICE(0x13D3, 0x3323)},
to rtl8712_8188_8191_8192SU_usb_linux_v2.6.0006.20100625/os_intf/linux/usb_intf.c at line 96 or so.

This adds the vendor / product ID for the adapter the Q150 uses. I found out the correct numbers by doing a sudo lsusb -v and looking for the network device.

# download compiler and kernel source
sudo apt-get install build-essential linux-source linux-headers-generic
cd /usr/src
sudo tar -xvjf linux-source-2.6.35.tar.bz2
sudo ln -s /usr/src/linux-source-2.6.35 /usr/src/linux

# get a root shell
sudo bash
./clean
make
make install
modprobe 8712u
/etc/init.d/NetworkManager restart
exit
Note: these instructions where provided by Doug S.

Another driver you can use is r8192s_usb non stable driver, instructions below:
# get the realtek firmware
sudo apt-get install linux-firmware
wget http://svn.debian.org/wsvn/kernel/dists/trunk/firmware-nonfree/realtek/RTL8192SU/rtl8192sfw.bin
sudo mkdir /lib/firmware/RTL8192SU
sudo cp rtl8192sfw.bin /lib/firmware/RTL8192SU
# load the driver
sudo modprobe -v r8192s_usb
# the device should show up on network applet
# you can run dmesg|less and look for r8192s_usb to see if the driver loaded correctly.

Some other references for the wireless card:


http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false

Dlink DWA-131 usb wireless chipset use a similar chipset as the Q150, some guides on the DWA-131 available here:

Wake up from usb wireless keyboard

You need to enabled USB wake up, in /proc/acpi/wakeup
# cat /proc/acpi/wakeup
sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB1 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
echo USB3 > /proc/acpi/wakeup
echo EUSB > /proc/acpi/wakeup

This will allow you to suspend the machine use the wireless usb keyboard to wake up.

Wake up from at certain time
# Check alarm is not step
cat /proc/driver/rtc
# clear alarm, is need before setting
sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
# Set alarm
sudo sh -c "echo `date -u --date "Aug 9, 2010 00:05:00" +%s` > /sys/class/rtc/rtc0/wakealarm"

# Check alarm time
cat /sys/class/rtc/rtc0/wakealarm
cat /proc/driver/rtc

Reference for timed wake:


Comments

  1. What wireless card does it use? I can't find that information anywhere.

    ReplyDelete
  2. it uses a Realtek USB RTL8191SU 802.11n USB 2.0.

    ReplyDelete
  3. Did you get wireless to work in linux
    (maverick)? I found this driver but I can't do much with it. (http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true)

    ReplyDelete
  4. Also I found this:
    http://phlogma.com/linux/?p=8
    but it doesn't seem like a good idea. since it apparently hasn't been working out too well.

    ReplyDelete
  5. I did not spend any time looking at the support for RTL8191SU usb wireless card.
    I may look into that later, if I figure it out I'll update the post.

    ReplyDelete
  6. By the way, thanks for your posts in general. They are the best posts I can find about the Q150 on the internet. Great photos and good information that is to the point. I haven't had such good luck with linux on the box as it appears that you have. But it has still been interesting. Have you had issues with the gstreamer-plugins-bad (writing this from memory so that is probably wrong) it was a package required by miro and minitube but it has been deprecated in maverick and therefore I couldn't test those.

    ReplyDelete
  7. Hey david.

    Take a look here and see if works, you might just be missing the firmware.
    The driver might already be available in maverick.
    https://bugs.launchpad.net/ubuntu/maverick/+source/linux-firmware/+bug/595455

    ReplyDelete
  8. Hi David,
    I got some time today and updated the blog post with instructions to make the wireless card work.
    Instructions should work for Lucid or Maverick. Take a look and let me know.

    ReplyDelete
  9. For some reason I got a make error of "no rule for config". So I followed these instructions (http://samiux.blogspot.com/2010/05/howto-realtek-8192su-usb-dongle.html) and then added the id you specified and then it all worked. Hurray! although I had to use "sudo /etc/init.d/networking restart" instead of restarting network manager.

    ReplyDelete
  10. I got the hdmi sound to work, see the update blog post for instructions.

    ReplyDelete
  11. Many thanks for that post about drivers and stuff!

    Have you experienced any wired networking issues after applying the lastet Ubuntu updates? It somehow breaks eth0 with e100 nic installed in the Q150. ifconfig eth0 up tells Ressource temporarily unavailable... Just curious if this affects others, too

    ReplyDelete
  12. I also saw the eh0 problem sometimes, I did not figure out why that was happening,
    Sometimes the eth0 just works fine. Try rebooting it with the cable connected. But I'm not sure what I did to make it work.

    ReplyDelete
  13. cable is connected all the time. i am going to reinstall tonight and enable wireless first before upgrading to the latest patch level. btw: eth0 breaks on both x64 and x86 releases after updating. there's something about an e100 bug from 2009, but i am not sure if this is fixed already

    ReplyDelete
  14. Try booting into windows and enable the wired connection and then reboot into ubuntu without powering off the machine, to see if it is related with firmware issues.

    Also try removing the power adapter for a few minutes to reset firmware and load ubuntu without loading windows.

    But this is just guessing work since I saw the same problem. When I have some free time I'll reboot the box to figure out if why it works sometimes and not others.

    ReplyDelete
  15. I fixed it ;-)

    During installation i needed to setup wired networking manually (no dhcp and wireless needs additional sources as described in your post), so I modified /etc/resolv.conf, /etc/network/interfaces and set a default route.

    Somehow network-manager took to long to setup eth0 and I was like "ok, just don't use n-m..." ;-)

    After cleaning up my conf files network-manager now works for wireless and wired connections as expected, even with latest ubuntu patches.

    Nevertheless thank you for your tips!

    Kind Regards
    Markus

    ReplyDelete
  16. @lafa - thanks for the hdmi audio info, followed your instructions and i'm finally getting somewhere on my xbmc dharma rc1 install. i get full menu sounds, however when i try streaming it states "failed to initialize audio device" - any ideas?

    ReplyDelete
  17. Try playing sound with another tool under gnome, we that is working configure xmbc to use pulseaudio and you should be set.

    ReplyDelete
  18. Do you have the WIFI connection working on Ubuntu 10.10?

    I have tried both methods, but:

    Method 1: WHOLE system freezes when loading the module.

    Method 2: Nothing happens.

    Thanks for this fantastic post!!

    Fran

    ReplyDelete
  19. I am trying to boot it from a USB device, but don't seem to be able to change the BIOS boot order setting. How did you make it boot off USB stick?

    ReplyDelete
  20. pacodani make sure you get the firmware on the correct folder, use dmesg, of scan /var/log/messages to see the driver log messages, when you load and unload the module.
    with modprobe command line tool.

    ReplyDelete
  21. @agathpher without booting the device I don't remenber, but it is the usual lenovo keys. Try Esc, Delete, F2, F1, F8, F10. One of these will show you the Bios or Boot device selection.

    ReplyDelete
  22. Hi - first off thanks for this! I followed this guide to get XBMC installed on my Q150 including suspend/resume via IR.

    However, I'm also having HDMI audio issues and was going to try re-installing from scratch since I've made so many 'tweaks' at this point I don't know where to begin.

    My question to you is - how can I test HDMI audio in gnome? Is there some command-line tools I can use? I'm not much of a Linux guy so an example would really be helpful.

    Also, how can I configure XBMC to use pulseaudio?

    I'd really love to be able to make sure HDMI audio works without having to switch back to XBMC, change settings, play a video - only to see the 'failed to initialize audio device' error.. then repeat again.

    Finally, what are you using as audio settings in XBMC? I don't understand all of the choices (hdmi,lecXXX,etc) here.

    Sorry for all of the questions.. this is my best hope for finally being able to *use* XBMC instead of configure it..

    thanks
    joe

    ReplyDelete
  23. Hi Joe,

    How can I test HDMI audio in gnome?
    just follow (HDMI sound instructions), from the blog post.
    click on the sound preferences next to the date and time and select "High Definition Audio Controller". This will make sound work on gnome.

    If sound is working on gnome the default settings for XBMC will use the same settings, just change the sounds settings back to default.

    ReplyDelete
  24. Hi Joe,

    How can I test HDMI audio in gnome?
    just follow (HDMI sound instructions), from the blog post.
    click on the sound preferences next to the date and time and select "High Definition Audio Controller". This will make sound work on gnome.

    If sound is working on gnome the default settings for XBMC will use the same settings, just change the sounds settings back to default.

    ReplyDelete

Post a Comment