Friday, October 21, 2011

Installing Ubuntu 11.10 on Acer netbook AO722

Update: Ubuntu 14.04

Yeah, it has been a while. I didn't know when the wifi stopped working. But the kernel has long solved the Qualcomm (ethernet driver) vs Broadcom (wifi driver) conflict. I think Ubuntu even used and loaded a different driver. You don't need to do anything, just to undo the changes like I made. There's no need for blacklisting. You must not blacklist those drivers listed below. Delete the preferred driver version if you did that, not that it may matter. You don't need to do net boot first, just boot normally into harddisk or usb. I didn't change driver nor it's version because I think they use another one now.

Other than using the method to silence the annoying the speaker, you can also blacklist the speaker instead.

I tried the different video drivers again via system settings, software updates. All are about the same. 1080 HD on youtube is watchable. 1080 HD on local drive is watchable, but sound will be lost after a sec or two because sync cannot be maintained. FHD video seems to be in slow motion but watchable. But for lower bitrate 1080p videos, it could play normally except for wrong lip sync, such as animated movies. There's no suspend issues. It's a pity that the screen is better than the cheap acer chromebooks but they are much faster and play HD without a flinch.

 Update: wifi problems in 12.04

Firstly, the new broadcom wifi driver doesn't work.  You need to remove and reinstall the old version.

#sudo apt-get remove bcmwl-kernel-source
#sudo apt-get install bcmwl-kernel-source=
Then you need to stop the auto update:

#gksu gedit /etc/apt/preferences.d/bcmwl-kernel-source
and paste in the following lines to the file:
Package: bcmwl-kernel-source
Pin: version*
Pin-Priority: 1001 

Now for the AO722, you need to resolve the driver conflict with the Ethernet controller.  This method disable the Ethernet wired connection!

#gksu gedit /etc/modprobe.d/blacklist.conf

and add the following lines at the end of the file:

#incompatible wireles, just in case
#video, for an unrelated problem

Then you update the kernel before reboot.

#update-initramfs -u

If for any reason you need the Ethernet again, comment out atl1c in the above file, update kernel and reboot.

End of update

The AO722 came with full Windows 7 64-bit, clumsy IE, loaded with advertising demos.  It would be a great performance upgrade to switch to Ubuntu.

But you won't be able to watch Netflix.  And because of open source video driver or flash plug-in, 720p HD on youtube will be stuttering. 

I suggest to install via a USB flash drive.  It will also be the "recovery disk" when all else fails.  The alternative is to boot up Windows and install something to read the Linux disk formats.

For a fail safe install, plug in the Ethernet cable to your wireless router.  At least get a cable ready.  The wired driver has conflicts with the wireless Broadcom driver!

When installation is completed, the OS will suggest proprietary wireless and video drivers to install, as opposed to the bundled open source drive.  Don't.

The proprietary video driver will freeze after suspend.  It will not wake up.  So don't do it.  The default drivers are OK.  But either the driver or the flash plug-in isn't good enough.  You cannot not play 720p HD on youtube smoothly.  Playing local files or over the local network is OK, but I haven't tried HD and other codecs.

Other than that, the screen flickers a little during boot.

If the wireless driver works, connect automatically and ask you the encryption password, savour it.  Once it is working, it will not work again once you reboot it.  It will then be conflicting with the Ethernet driver.

There is no other way out but to disable the Ethernet driver.  Add the line:

blacklist atl1c

in the file /etc/modprobe.d/blacklist.conf.  Then run:
#update-initramfs -u

And remember to sudo.  If you don't update, rebooting do not update for you.  You can check with lsmod.

You can check by lsmod first.  If you see atl1c and wl in the output, you are most likely using the conflicting drivers.  They are the latest drivers.

A common fix is to change the boot order to network before the system disk drive.  This will give time for the Ethernet driver to settle before the wireless one.  But if you switch user after boot, the same thing will occur because the networking settings are per user.

If your wireless doesn't work, or you play around with the drivers until it doesn't work, it's expected.  You look around the blacklist files and you will understand.

The descriptions at Broadcom are good, but some instructions do not make sense.  On top of the network drivers' conflict, your wireless probably will fail changing from 11.04 to 11.10, not because of the AO722.

First check what you have by
#lshw -C network
You can see the Broadcom BM4313 hardware, and at the driver entry, wl.  If you see anything else, you need to reinstall the drivers.

Then you need to see if the kernel driver is compatible:

You should see wl in the list.  Typically, the driver will be selected for you during OS install, and will be affected by the old configurations.  Typically you have to remove the bcma driver and blacklist it as above:
#rmmod bcma

The other older drivers are already blacklisted.

If there are troubles and you need to reinstall the drivers, you should install synaptic package manager first.  You can search in the Ubuntu software center.  You can also find the drivers in the Ubuntu software center.  The problem is that after I installed it, it worked, and then I can't find the driver again in the center.  Also it don't show the version numbers.

In the package manager, you search for Broadcom or bcm.  What you need are two drivers:

You need to reboot and may need to reinstall them to get the right drivers.

Broadcom just updated their Linux wireless driver page.  But I think the drivers at Ubuntu depository are almost update.  But if you compile the updated Broadcom drivers on you own, you may solve the network interface conflicts.

But why you want this netbook?  It fits in the glove box of my vintage.  It don't cost that much if you shake it too much into disintegration.  It's a fully functional computer with full 64 bit OS.  At 11.6", the screen resolution of 13xx by 7xx is "bigger" than an old 17" desktop monitor.  So it looks really nice if you care to sit close to it, like in the car.  And you should be pleasant to read books too, and hold it like an open book if you sort out the center of gravity.  It's exactly the size of a letter paper.  It's so sexy that chicks finger me.  Not exactly.  They finger the screen as if it is an iPad, tablet, iPhone, or just point of sale check out machine.

 UPDATES: upgrading kernel is a big hassle as usual.  The non-compatible wireless driver came back which didn't work.  I have to bring back the ethernet driver and the cable.  Reinstall the working driver, and then blacklist the ethernet driver.  Also, tried if the propriety driver works for new kernel.  No.  Reinstall.

So my new blacklist comes to:
#video, just in case

Remember to update before reboot.

For the correct driver to install, you can just search for them in Ubuntu software center
For video:  xserver-xorg-video-radeon
For wireless:  bcmwl-kernel-source

Via lsmod, the drivers are radeon, wl.  You also have to remove the other wrong drivers first.  The order is totally important.


L. Easterly said...

Thanks for this; I was travelling and absolutely stumped by the freezing behavior; came to your page by way of google and found this; this plus changing the BIOS boot order (leaving netboot as the first option) seems to also offer some special magic on this issue.

I was ready to reload from the flash drive when you mentioned the quirky "first time" behavior of the wireless. Very much appreciated this article.

The Player said...

You are welcomed. This will work if you are the only user of the machine, applicable to 99% of the people. The same problem happens if you switch user after boot.

I wrote things down because, I will forget everything on next day. I'm the biggest user of my own blog when something comes up the second time.