Monday, November 17, 2008

Ubuntu on the Toshiba Satellite L305: Howto

EDIT: If you are having the problem with the omnibook module starting up your computer after shutdown, install the latest version of Ubuntu (9.04) and follow the directions in my newer post here.

I decided to upgrade from Ubuntu 8.10 32-bit to the 64-bit version on my Toshiba Satellite L305. While going with the 64-bit version came with its own set of difficulties, the need to reinstall made me realize one important thing about installing 8.10 (rather than the beta I did before) on this laptop: it no longer comes with the kernel modules needed to run the fan or the brightness buttons.

This is extremely important because if the fan doesn't work, the processor will overheat.

The problem stems from the fact that without the module, the fan will not change speeds as the computer heats up. When the computer first boots, the fan does not turn on immediately, causing the fan to never turn on. If you run the computer for a while and reboot, you will notice the fan running at full speed nonstop.

The following is a guide to installing what is needed to get your Ubuntu install running as it should on the Satellite L305.
Step 1: Download and install.

Download and install your desired flavor of Ubuntu (Ubuntu/Kubuntu/Xubuntu) in the 32 bit or 64 bit version (the 64 bit version takes a bit of work to get set up, so only use the 64 bit version if you are prepared for a little work,) EDIT: After beating my head against it for quite a while I would suggest against installing the 64 bit version. I ended up going back to the 32 bit version. If you have installed Ubuntu before you know the drill, if not, follow the prompts the installation gives you. And though it is less pretty, I recommend the alternate (non-graphical) install, because I have had less luck with the live cd install.

Step 2: Install omnibook module.

Older Toshiba laptops use their own proprietary bios that required the toshiba_acpi module to be compiled with the kernel. Toshiba now uses the Phoenix bios, which means that this has to be done another way, which is a bit deceptive. You have to download the omnibook module (Omnibook is actually an HP model laptop) which will allow these functions. You can download the module source package here: http://packages.kirya.net/debian/pool/main/o/omnibook/omnibook-source_2.20070211+svn20071217-1_all.deb Edit: The omnibook-source package has been updated, which broke the link. Updated versions of the omnibook-source can be found at http://packages.kirya.net/debian/pool/main/o/omnibook/
Install the source, extract it, install dependencies, and install the module in the terminal:

sudo dpkg -i omnibook-source_2.20070211+svn20071217-1_all.deb
cd /usr/src
tar -xvf omnibook-source_2.20070211+svn20071217-1_all.tar.bz2
cd modules/omnibook
sudo apt-get install build-essential linux-headers-`uname -r`
sudo make install


The install may say it lacks a few other dependencies which can be installed with apt-get. Once the source is installed, the module should be able to be loaded, however it needs a special argument when it is loaded or else it won't work.

sudo depmod -a
sudo modprobe omnibook ectype=11


If everything was set up correctly, you will most likely hear your fan kick on and the screen brightness change. You can now change the brightness with the function keys, and the fan will start up when you turn on the laptop. Make sure the module loads when you boot by adding "omnibook ectype=11" to the bottom of your /etc/modules file.

Step 3: Wireless
If you have the Atheros wireless card (I am not sure what other options the L305 can have) you can go about wireless two ways, madwifi drivers or ndiswrapper. Ndiswrapper is the required method if you go with 64 bit, so that is the method I went with, though I would recommend either madwifi for the 32 bit install. Install ndiswrapper:
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9 ndisgtk


Ndiswrapper is a wrapper application for windows networking drivers so that they can be used on Linux. This means that for it to work, you need to also get the windows drivers. The 64 bit drivers can be found at http://blakecmartin.googlepages.com/ar5007eg-64-0.2.tar.gz, or the 32 bit version can be found at http://blakecmartin.googlepages.com/ar5007eg-32-0.2.tar.gz. Unzip the files from the file and start ndisgtk from the terminal (open the terminal and type "sudo ndisgtk"). Click on "install new driver" and navigate to the folder where you unzipped the drivers. Select the file ending in .inf and then install it. Make sure ndiswrapper is loaded:

sudo modprobe ndiswrapper


You should also blacklist the module that tries to load for the wireless drivers by adding the following to /etc/modprobe.d/blacklst

blacklist ath_pci


You should now have wireless internet access. One caveat is that for reasons that are unknown to me, the module has trouble connecting sometimes on boot. If it keeps saying it is getting disconnected, or if it keeps asking for the passphrase when you know it is right, you need to remove and reload the module:

sudo rmmod ndiswrapper
sudo modprobe ndiswrapper


This should cause the wireless device to play nice and allow you to connect. For now, it is the best solution I have as I have yet to find a permanent fix.

23 comments:

Marcelo said...

with omnibook module the laptop turn on by itself, after i turn it off.

Swinky said...

Hi Marcelo,

I have had that problem too, and have spent a while trying to figure out how to fix it. I currently don't have the problem and I don't know why it is fixed.

When you install the omnibook source, one of the files it has you install is called dpatch, and in my experience I *think* that it is related to this package. Try removing dpatch (sudo apt-get remove dpatch), and see if it helps. I don't know if the omnibook module will continue to work after this, but give it a try.

Conor said...

Hi, The link for the source appears to be broken. Know anywhere else I can ge it?

Swinky said...

The link is broken because they update it from time to time, current releases can be found at http://packages.kirya.net/debian/pool/main/o/omnibook/

If you are following along with the guide, the file you want will be the omnibook-source, though if you are installing the 32-bit version, you could probably go ahead and install the omnibook-module.

lionel said...

Any chance to have a guide of using chroot and ndiswrapper to use a 32 bit wireless driver on a 64 bit kernel Ubuntu?
FYI, I have a USB Netgear WG111T which only works on linux 32bits but I want/need my server on 64 bits. I saw many people in the same situation on the web.
Any help would be very appreciated

Anonymous said...

Hi,
I have a Toshiba Satellite L300-1AM with an Insyde H2O BIOS not Phoenix BIOS. Is it possible to work with Omnibook module ?

Anonymous said...

Hi,

I just have installed this module on my Toshiba Satellite L300-1AM and I'm very happy to see that the fan is working properly and the Fn+Fx keys are working to set up the brightness. I did'nt restart yet, but all is working now.
Thank you very much !

Silvone said...

Hi,

I have the same problem as Marcelo , my laptop turn on by itself after I turn it off. Is a Toshiba Satellite L300-1AM. It's funny, a solved problem bring a new one ... How can I solve this ? I'm not so experienced in linux, so I don't know where to find the line which is responsible for this. I'm using Ubuntu 8.10 x386.
How can I uninstall this module if I cannot make it work in a proper way ?

Swinky said...

Hi Silvone,

Doing more research into the topic, I have found that only some laptops by Toshiba have this problem, whereas others seem just fine. Currently, I have no idea why that is or how to fix it. I have asked the Ubuntu forum community and it has stumped them as well. It is also not just a problem with Ubuntu, as I have tried a few other distros that have the same issue.

If you want to uninstall the omnibook module, first unload the module with "sudo rmmod omnibook" (without the quotes). Second, you have to find the name of the omnibook module package by typing "dpkg -l | grep omnibook" which should bring up the omnibook-source package as well as the compiled omnibook module (the exact name of which I forget). Then you can remove these with either "sudo dpkg -r [packages]" or "sudo apt-get remove [packages]", where [packages] are the names of the omnibook-source and the omnibook module. Just keep in mind that after uninstalling, you will be running without a fan, and your system may overheat!

Silvone said...

I was reading some posts on Ubuntu forum about omnibook module and I want to change the ectype from 11 to 14 or to other value, till I'll find a good one which is working better and my laptop will not turn on by itself. How can I do this ?

Yossi Beck said...

Hi Swinky,
I think there is a slip of the pen (keyboard...) in your installation instructions where you wrote:

tar -xvf omnibook-source_2.20070211+svn20071217-1_all.deb I think you meant:
tar -xvf omnibook.tar.bz2 didn't you?

Anyhow, thanks a million for this howto. It solved a problem I had been struggling with for months!
By the way, for Satellite A200 users - keep in mind that ectype is 12, not 11.

Swinky said...

Yes, I certainly did mean .tar.bz2, rather than .deb, thanks for the correction! I am glad to hear you got it working, and thanks for the tip about the Satellite A200!

Anonymous said...

It works fine with my Toshiba Satellite L 300.

I think in Step 2 the filename is not right.

Thank you for this how to

TV Window said...

Nice contents
i invite you to visit my blog
TV Window best wishes :)

kb said...

In openSuse 11.1 and Toshiba L305, the turn on problem exist.

Anyone knows the ectype for L305? Or where can i look it.

Thanks, my processor thanks!

mkoswell said...

Thanks ever so much, very useful article. If you do not mind, please visit my article related to travel to Pandeglang district in Banten, Indonesia at Kenali dan Kunjungi Objek Wisata di Pandeglang

Best regards

Ami said...

Hi,

I greatly enjoyed looking through your blog at "http://swinky-linuxblog.blogspot.com/2008/11/ubuntu-on-toshiba-satellite-l305-howto.html" and found an informative one for my theme related topics.I have also some dish tv,satellite tv,music related sites and blogs. So,I think it would be beneficial for both of us if we will join in a community and become link partners to each other which will help your blog/site in getting more Google values.If you are interested then please contact me at-
ami.roberts86@gmail.com

Thanks
Ami

Anonymous said...

I don’t know If I said it already, but this so good stuff keep up the good work. I read a lot of blogs on a daily basis and for the most part Belajar seo blogspot just wanted to make a quick comment to say I’m glad I found your blog. Thanks.

Best regards
Seo Motivation Oes tsetnoc

emuede said...

Does anyone have experience with the Toshiba Satellite L350-165 using this driver?
The fan is runnnig normal, i think, but it's getting more hot than under Windows Vista ;-(
Funktion-Keys are not working properly.

$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

Anonymous said...

same sort of approach has worked well on Satellite l-350d with 10.04 release (64bit version)

Viagra Online said...

Such a nice post.

David Ross said...

Hello,
Really Its great.... Amazing blog post. Thanks for the share....
Generic Viagra

website designing company said...

I am looking forward to reading more useful informations from your blog.I can’t wait for to read your more new artical.Must be very attractive.