New Kernel, Wireless Drivers, and Ubuntu Natty beta.

Decided to do yet another update to all the images, including updating the Kernel to 2.6.38.2. This kernel as well as some multitasking responsiveness improvements brings a fix to the EFI framebuffer that solves the palette corruption issue. Now all the distribution’s fancy bootscreens work as they should. I also built a DKMS package with the vendor wireless drivers, after reports from users it gives better stability and wireless N support.

As an added bonus, I also include a download to an Ubuntu Natty beta image. Note that it’s preset to the “classic” desktop. You can log out and then log back in with “Unity 2D” to see one of the newer interfaces, but it still seemed somewhat buggy here. Unity 3D does not work with the current EMGD drivers however.

    Changes include:

  • Updated Kernel to 2.6.38.2 – Includes fix for EFI framebuffer palette bug, so graphical boots now look right
  • Packaged vendor wireless driver due to reports of improved stability and better wireless N support
  • Beta version of Ubuntu Natty image for testing

New versions of all Linux images (again)

Another update for all images. Sorry to do one so soon after the last (It has been a lot of work this weekend – after this i’m having a rest!). There were some stability concerns with the last images, and I have done some tweaks and performance improvements. The latest images work well for me in testing so far, and fingers crossed they will work for you too.

    Changes include:

  • Use NOOP io scheduler by default that should be faster on USB flash devices
  • Shutdown/Reboot should be more reliable
  • Use text splash screens on boot
  • Updated firmware for the wireless card

New versions of all Linux images, including Joli OS 1.2

The Jolicloud OS has been renamed to Joli OS, to avoid confusion with their online desktop app. With this change, the new 1.2 version was also released bringing new functionality and performance – see http://www.jolicloud.com/blog/2011/03/09/welcome-to-the-new-jolicloud/. The 1.2 version has now been adapted for the Joggler and can be downloaded from the Jolicloud page.

Ubuntu Maverick and Linux Mint have also been updated. Changes include an updated kernel (2.6.37.3) and a new btrfs with the much faster lzo compression.

Updates for all distributions

All distributions have been updated to include XBMC, the latest Squeezeplay and a build of mplayer (in /usr/local/bin) with VA-API support for hardware accelerated video playback. For this reason they are a little bigger, but it’s quite easy to slim them down by removing applications you don’t use.

XBMC comes preinstalled with the iPlayer plugin (http://code.google.com/p/xbmc-iplayerv2/ as well as a skin developed for the joggler that can be enabled from the settings. Please note that music visualisers are not currently working, so you will need to disable them from within xbmc if they have not already been.

If you already have the last version, you may wish to just install xbmc yourself from my Joggler PPA. Instructions to do this are on the relevant distribution pages.

XBMC now available

The popular media player XBMC is now available for the Joggler on Ubuntu Maverick, Jolicloud, and Linux Mint 10. To install XBMC please make sure you have the latest image and run the following commands from a terminal.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xbmc

You can then run it from a terminal by typing “xbmc” or load it from the normal Ubuntu/Linux Mint menus. On Jolicloud you can add it to “Local Apps” to run it from the main interface. Please note that the music visualisers do not currently work, so before playing music the visualiser needs to be set to “none” from within the xbmc settings.

XBMC will be included by default in the next update to the distributions.

Magento Connect/Pear channel not updated ?

We manage our Magento shops in source control, but upgrade extensions as needed via Pear and Magento’s channels. However since mid December 2009, no upgrades have been showing up. Looking at the pages on the Magento site, there are upgrades available for some of the extensions we are running, but they are no longer being shown. I wonder if some meta data for the pear channel is not being updated correctly?


$ ./pear list-upgrades
Channel connect.magentocommerce.com/community: No upgrades available
Channel connect.magentocommerce.com/core: No upgrades available

I am not the only one with this problem, as someone posted to the Magento Connect forum (http://www.magentocommerce.com/boards/viewthread/73424/). This isn’t my normal kind of post, but I’m hoping someone with the power to fix this will notice.

Sorry for the lack of posts here. I have not been working with Magento that much in recent months. I do have some other short articles  planned though. If you need any development work feel free to contact me (jools [at] oxfordinspire.co.uk).

Setting default options for configurable products

We are using the configurable products feature of Magento to group together some of our products that differ for example only by colour or number of items in a pack. In our case there is just a single “option” for the product and we wanted it to default to the “first” option in the dropdown, rather than the Magento default of forcing the user to choose an option.

As the dropdown for a configurable product is filled in on the client side with javascript this required some javascript code to “switch” to the first option and then reload the price. Here is the javascript we used to do this . This is a diff file to be applied against the /design/frontend/default/default/template/catalog/product/view/type/options/configurable.phtml file. This path will differ when you are using your own skin.

Index: view/type/options/configurable.phtml
===================================================================
--- view/type/options/configurable.phtml	(revision 73)
+++ view/type/options/configurable.phtml	(revision 74)
@@ -42,5 +42,10 @@
     </dl>
     <script type="text/javascript">
         var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
+        // set the defaults to the first option
+        for(var i=spConfig.settings.length-1;i>=0;i--) {
+          spConfig.settings[i].selectedIndex = 1;
+        }
+        spConfig.reloadPrice();
     </script>
 <?php endif;?>

*Update*

Unfortunately the code doesn’t work as expected on IE due to http://support.microsoft.com/kb/927917 “Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)”.  My fix was to just disable this for now for IE by wrapping the changes in

if ( ! Prototype.Browser.IE ) {
...
}

If anyone knows a workaround for this, please let me know! Did I mention how much I hate IE? !