Sunday, 12 December 2010

Supporting the Harmony 300 on Linux

Today, I bought a Logitech Harmony 300 universal remote. At about 60$ CAD, it's really a bargain, and despite it's limited feature set compared to other Harmony remotes (I also have the Harmony 670, which has selectable "tasks"), it fits the use I want to make of it.

I had to use Windows. There is just no way this could be done under Linux, due to a variety of factors including lack of support in my favorite project, Concordance, and Logitech's choice to use a SilverLight application to handle configuration and authentication.

I'm pretty sad of the choices made by Logitech on this. Where all they had been doing to support a Linux community around their devices was to keep an old website working (and to this day, it's still working and fine for a large majority of the Harmony devices, usable with Concordance to configure remotes such as the 525, the 700, the 900, etc.), they chose to support this model with the new myharmony.com website which doesn't appear to expose the same level of control, and definitely complicates use in Linux. I don't think keeping the same old methods would have really meant such an investment to them, and I doubt exposing the possibility of downloading the same old EzHex files for programming would have been a cause for concern for intellectual property rights re. other manufacturers and systems designs.

Lack of understanding and basic support of Linux users by large corporations such as Logitech remains, I think, one of the key reasons why Linux has yet to reach and "stick" to a majority of everyday users. I believe that omitting to give alternative options to users who choose to work with a different operating system is not only causing harm to the Linux community, but also causing Logitech (just as an example, other companies are in the same boat) to lose potential customers. After all, wouldn't it be normal for the standard target users for home automation and function aggregation devices to be pretty close to the same group of "early adopters" as currently targetted by the Linux ecosystem?

Please, Logitech, get your act together. I've contacted you on this subject again. I'm sure others have as well. I think we understand you might not want to bother, but at least give us enough information so that we could still send you money through buying your hardware, but do our own support if you don't want to take care of it. The Concordance community will be happy, and I'm certain other groups of users of your hardware will, too. I doubt this always means going as far as sharing system schematics, full hardware specs or whatnot. It just means letting us know what we need to know to use the devices to their full potential.

Logitech and others currently have a great opportunity in doing a stellar job at fostering communities of users based around their products, which would not only serve as to possibly have more users, but also as a great example on how a company can succeed by leveraging not just the buying power of users, but also their willingness to support each other directly. Am I dreaming or at the very least, this could me relatively fewer expenses on support, with very little effort in sharing some information?

As for current solutions to accessing the website, Moonlight could have been a possibility, but under Ubuntu Natty I didn't even have that choice. I think the website bailed out just because I run Firefox 4.

Tuesday, 12 October 2010

Booting to ISO images from a USB key

I'm pretty sure this has been done before (I recall seeing a blog post about it... if you're the one who posted on Planet Ubuntu with a similar howto, let me know as I want to talk to you, at least to say thanks), but here it is anyway:

A couple of days ago I wrote this quick script to generate a roughly correct grub.cfg from the contents of a directory filled with .iso files. The goal: generate a USB bootable key that runs GRUB and allows you to choose which ISO to boot. It could be Ubuntu desktop, netbook, etc, doesn't matter, as long as you have enough room on the key.

This is done by leveraging the loopback grub command and the isoscan parameter. But first, setting it up...

You'll need (to):

  • one free USB key, formatted to vfat (mkfs.vfat -F 32 /dev/sdX1) the more space the better
  • create a directory called "iso" on it
  • install grub on it:
    grub-install --root-directory=/media/MOUNTPOINT /dev/sdX
    • this will create the boot/grub directories and install everything grub needs
  • copy iso files to the iso/ directory
  • run update-grub.py (available in bzr branch: lp:~mathieu-tl/+junk/bootable-iso-usb) from the key's mountpoint 
    • Careful: it's only quickly tested, and overwrites boot/grub/grub.cfg from the current working directory.
Sorry for the unimaginative naming of the script.

In short, this script attempts to guess what kind of distribution is in the ISO file. I've tested desktop and alternate with success, both seem to boot and properly get you to an install (or for desktop, "maybe-ubiquity", which means you'll get a prompt for whether you want to run the live session or just ubiquity to install). All this needed was to make use of the iso naming scheme and more importantly of the contents of the ISO files, as read by isoinfo (from the genisoimage package).

Even if it never ends up being of any use, it was at least a fun little thing to write.

Tuesday, 28 September 2010

Videotron Huawei E1381 USB 3G dongle

I've been fortunate enough today to be lended a Huawei E1381 3G USB modem. I'm happy to report all I had to do was to plug it in to my Aspire One running Maverick UNE and confirm it was immediately recognized and available in NetworkManager.

What's more, Videotron's new 3G offering is already available from the mobile-broadband-provider-info package, so you can already plug in such a key, create a new 3G connection in NM and select Videotron as the ISP to quickly get online!

Needless to say, this is pretty good news knowing the current developments in 3G offerings in the province of Quebec; so thanks to all those involved to make this available :)

As I side note, I'll be going to UDS-N in October, and I'm very interested to know about your success stories or even failure stories about 3G modems. I can't promise anything, but I *do* think it would be great to get a good grasp of what 3G devices are supported or not. So if you own a 3G USB dongle which still doesn't work in Maverick and you are going to UDS, don't hesitate to ping me on IRC or stop me IRL so we can look into it.

I may write up a wiki page with devices which are known to work (or not to work), so stay tuned for an update on this subject.

Tuesday, 14 September 2010

Looking back over the past few months...

I'm pretty new as a Canonical employee overall, only having been with the company for about 7 months, but I must say I'm really thrilled to be part of a large gang of people so involved in making Ubuntu great; with so much pride in all the work accomplished. If there's one thing that has been constantly motivating me, it has to be the prospect of working every day with the community and with other Canonical employees on making Ubuntu better.

Certifying hardware

In the past seven months, I've been working as a Hardware Certification Engineer in the Montreal office. What does that mean? Well it's pretty simple: testing, testing, testing, automation, testing.

Yup. Testing. The hardware certification team is pretty much the group bringing you your daily Dell deals from behind the scenes, driving the testing efforts to make sure you can get systems available from large manufacturers such as Toshiba, Dell, HP, no matter if they are desktops, laptops or server. Getting the Big Orange Stamp of Approval(tm) on these systems so that you can get them with Ubuntu pre-installed, and truly get support from our excellent Support team (many of them working from Montreal too!).

What this truly meant for me was tons and tons of learning, with lots of experience gained. I've been identifying a lot of kernel bugs, installer issues, etc. I've learned way more about casper than I had ever dreamed :)

There was obviously not just testing involved, as there were some times where I needed to track down the location of systems, deal with manufacturers on how to get a new system from them to our labs, or quickly work with the OEM teams to get new offerings (and for that, new certified systems) out of the door. We've been privileged enough to have lots of systems shipped to us, which has always been one of the most valuable things manufacturers and distributors could do to help the Ubuntu community. I hope we still get so keen support for years to come.

On top of it all was automation of various testing efforts, one of which being maintenance of the amazing piece of work Marc Tardif started with checkbox and the kickstart / preseed systems that make daily testing possible for the many systems in the Canonical certification labs.

When you look for a cool new computer to run Ubuntu on next time, make sure you take a look at the Certification website: webapps.ubuntu.com/certification. You'll undoubtedly be happy you did.

On the side

I haven't only ever been doing certification testing. Part of the real cool things about Canonical is the fact that being involved in a lot of things, being passionate about what we do, is truly encouraged. In fact, it really couldn't be otherwise.

I've done as much as I could to help with the ISO testing efforts whenever there was some free time. This has been truly a lot of fun as well, and certainly of use, since I do have an ESX server accessible for testing Server images (especially JeOS installs), some systems on which to try out Wubi, and a lot of interest in EC2 and cloud computing.

My work day rarely ever stopped when I got out of the office. Part of why I joined Canonical may have been my involvement in the Ubuntu Quebec LoCo team, organizing events and trying to motivate people to contribute to Ubuntu. I'm still as involved in the LoCo team as ever, and I'm always very happy to help people with their issues on IRC as much as on the ubuntu-qc mailing list, or even in person at the various events Ubuntu-Quebec or other Linux user groups have organized in Montreal. I've even started an Ubuntu Hour gathering in Longueuil, though to my chagrin, I've rarely had much company. I'm at least happy to have been able to use that time to get stuff done on other projects and to answer mailing list postings.

I've also been reasonably active in the Debian community, and still working towards becoming an official Debian developer (if you are a DD and would be so kind as to sign my GPG key, please ping me on IRC :). I've been maintaining concordance and congruity, two applications to control and program Logitech Harmony remotes (one CLI, one GUI), the GNU Accounting Utilities (acct), the Ethos libary (a plugin framework), as well as the Emerillon map viewer for GNOME (with the help of the Debian GNOME team. Thanks!).

And now

Those who know me well know how strong I feel about one of my favorite projects: NetworkManager. In order to further my involvement in Ubuntu and help out NetworkManager, but also other projects, and truly help making Ubuntu rock yet even more, I've just started in the Canonical Desktop team. I'm thrilled to join the others who bring you cool new toys and two (and more) awesome desktop environments with every new release.

For the future

My task won't only be to maintain NetworkManager, but also to work on maintaining ConnMan and making sure it's truly usable and useful for Ubuntu users. The rest of the stack underlying these two beasts won't be spared: I look forward to help bringing the hot new features of wpasupplicant, mobile-broadband-provider-info, isc-dhcp (version 4, nothing less!) to Ubuntu, as well as ensuring all of these won't descend in bug hell.

Another aspect of it will be helping out on the maintenance of Firefox and Chromium.

There isn't a whole lot more I can add about this, but I'm very happy I can lend a hand to Chris Coulson and the others from the Canonical Desktop Team but also everyone in the community contributing to and working on the above products. It's truly a daunting task to maintain all of these systems with so many moving parts, but I wake up every day looking forward to what I'll be doing, and certain I'll enjoy every part of it.

Friday, 10 September 2010

Broadcom driver now open source

This has been brought to my attention today. I see this as a huge win for Ubuntu, since, let's face it, Broadcom devices are a large part of the WiFi device ecosystem. I'm happy to see Broadcom finally publishing some of their source code, and through this helping out Linux users of all distributions get better working WiFi. I see this as a win for Ubuntu in general because it will always make me happier to see people having fewer issues with wireless devices. This also translates to less wheel-spinning with broken drivers we could not possibly fix (since they are closed source), towards more productive work on other aspects of Ubuntu... or just a better chance of fixing driver issues :)

Of course, this is a work in progress and not all Broadcom devices are currently supported by this driver, but I believe that in due time, Broadcom could become one of the golden examples we can give to hardware manufacturers on how to provide the best kind of support they can to the Linux community.

Read more about this on Slashdot, OSNews, or read the annoucement on the Linux Wireless mailing list.

Thanks Broadcom!

Wednesday, 25 August 2010

Ubuntu Global Jam in Montreal: help testing and fixing bugs in Maverick

We're doing it again!

Here in Montreal we're just about ready to start jamming this weekend. Rooms have been confirmed, and we already have a fair amount of interest from what I can see in the LoCo directory event listing! We're also happy to have been sharing ideas and plans with txwikinger who's been organizing the Global Jam event in the Waterloo/Kitchener area in Ontario.

Do you want to help make Ubuntu better?
Do you look forward to meeting some of the people who do testing, triaging and bug fixing on Ubuntu in Montreal, and maybe ask them to look at your own little pet-peeve bugs?

Then come join us at the SupInfo Montréal offices this Saturday, starting from 9am! All you need to bring is a computer and willingness to participate. :)


SupInfo Montréal

752 Rue Sherbrooke Ouest

Montreal

Canada

http://www.supinfo.com/en/News0eaaf665-d9bf-4563-befb-ac97f8b035c2.aspx


If you choose to pass by, please let us know by registering for the event on the LoCo Directory... just so we know roughly how many people to expect.

You can get all of the information about our event on the QuebecTeam wiki: QuebecTeam/GlobalJam.

As a side note, we should have a local archive mirror, and copies of maverick and lucid ISO images. I've spent the past weeks preparing it on a portable USB hard drive, after getting some help in starting from Dustin Kirkland. Thanks Dustin!

Monday, 28 June 2010

Wubi: installing Ubuntu inside Windows

Do you know about Wubi?

Wubi is a very nice tool if you want to try out Ubuntu for the first time. It allows you to install Ubuntu alongside Windows, without re-partitioning your hard-drive. All this from the CD-ROM if you load it in computer while Windows is running, or downloadable as a standalone app.

The Ubuntu QA team is always looking for help to test installing Ubuntu using Wubi. It's both a great way to try Ubuntu if you really still need to run Windows on your computer and want to help out with testing Ubuntu, or as any kind of first jump into testing and QA. Testing efforts are being tracked on the Ubuntu ISO Tracker. If you want to help, please read the documentation first.

So if you chose to download Wubi's standalone application, double-click on its icon, or load in the Ubuntu CD-ROM you may have just burned (or received from shipit or your LoCo team).

If you're using a CD-ROM, Wubi should start automatically (or in Windows 7, you should see an autorun dialog).










The install application gives you three choices. The first one being to reboot your system and use the CD-ROM directly to demo and install Ubuntu, the third sends you to the Ubuntu website.

For the purpose of this post I will instead walk you through option 2, which is to install Ubuntu alongside Windows, from within Windows.

You will then be presented with all the questions that make sure the installer knows everything it needs to know about the installation of Ubuntu you want to do. Choose your username, password, and where you want to install Ubuntu (which Windows harddrive, C:, D:, or whatever), what language you want to see Ubuntu in, etc.


If you're using the standalone Wubi app, you will need to wait a bit while the Ubuntu CD ISO image is being downloaded. The image is necessary, as the standalone app does not contain the required packages for the install.




Wubi will then proceed to the next part of the installation, which is to copy everything it needs to your hard drive in a ubuntu folder on the hard drive you selected in the preceeding screen.





Once the first part of the installation is over, select what you want to do... my preference is to reboot right away and carry on with the rest of the installation procedure.





Once your computer has booted, you will be presented with a menu. That menu will time out and default to Windows after a few seconds. Choose Ubuntu to continue with the installation.




You are now booting into the real thing: at this point you are in Ubuntu, but the installation isn't quite done yet, so grab a (quick) coffee while the last tidbits get copied and configured.





At the end of the second part of the installation, your computer will reboot again, present you again with the first menu where you will want to choose Ubuntu, and show an additional menu where you can choose to start Ubuntu in recovery mode, should you need to fix a broken installation. From there, you can also go back to Windows.


Voilà, the installation is done. At this point, all that is left to do is click on your username in the lis and enter the password you chose back in Windows during the first phase of the installation to get to the Ubuntu desktop.