I’m a satisfied owner of a Nexus One (loving Android Froyo 2.2) and today I decided to try a (volume based) 3G plan by CoopVoce.

There are 2 options available: either buy a 3G usb key or simply use 3G directly from your phone. In the former case (which I wasn’t interested in) the usb key works with Linux and you can even download a QT based dashboard which is supposed to set up the connection for you and it works on Ubuntu, Fedora, etc. While this definitely was a pleasant surprise, the lack of instructions to configure your phone wasn’t as pleasant. The website suggests to contact customer service so that they can provide you with the right configuration for your phone (but it seems that they’re not ready for Android phones). Long story short, I decided to download the dashboard instead and explore its contents hoping to find something useful to set up the APN myself. My research was successful and I thought I would share my findings with you.

Enter the “Settings” tool, then select “Wireless & network settings” -> “Mobile networks” -> “Access Point Names” and add a new profile with “New APN”.

Fill in the fields below as follows:

Name: CoopVoce
APN: web.coopvoce.it
MCC: 222 (set by default)
MNC: 01 (set by default)
Authentication type: PAP
APN type: default,supl

Note: I’m not really sure if MCC and MNC are actually useful.

Leave the rest unset. Save and select your new profile, then go back to the Mobile networks settings screen and select “Data enabled” to turn on your 3G connection.

Since this is mostly aimed at people who live in Italy, here’s the Italian translation:

Per configurare una connessione 3G con CoopVoce (web 500 mega nel mio caso) su di un telefonino con Android, entrare nel pannello delle impostazioni e scegliere la schermata di configurazione delle reti (“Wireless e reti”), poi quella per le “Reti mobili” e in seguito quella dei punti d’accesso (“Nomi punti di accesso”). Aggiungere un nuovo APN e riempire i campi come segue:

Nome: CoopVoce
APN: web.coopvoce.it
MCC: 222 (impostato di default)
MNC: 01 (impostato di default)
Tipo di Autenticazione: PAP
Tipo APN: default,supl

Nota: non sono sicuro dell’utilità di MCC e MNC.

Lasciare il resto non settato. Salvare e selezionare il nuovo profilo e infine tornare alla schermata di impostazione delle reti mobili e attivare la connessione 3G abilitando il traffico dati (opzione “Dati attivati”).

Posted by Alberto Milone | September 3, 2010 8:47 pm
Filed under: Daily routine, GNU/Linux, Planet, QT, Ubuntu
Comments (2) |


It’s been almost a month now since I started working for Canonical. I was hired as a “Sustaining Engineer (System)” in the Foundations team which, in turn, is part of the OEM Services team, whose offices are located in Lexington, Massachussets, USA (I work from home though).

I mainly do work on X.org related stuff (e.g. touchpads, graphics drivers, etc.) in order to solve problems such as the ones that Canonical’s customers report and to develop new things (I hope to be able to blog about my new projects).

I really like this job as it allows me to work on the things I’m passionate about in a very friendly and relaxed work environment. It means a lot to me.

I would like to thank all the people who made this possible, the ones who kept providing me with new challenges in Ubuntu which made me acquire experience that is proving extremely valuable in my job. I would also like to thank all the people who supported me and encouraged me to apply for this job at Canonical, my team mates and team manager(s) who helped me move my first steps at work and to feel at ease and deeply involved in the OEM team, and the impressive amount of people who congratulated me on IRC on my first day of work. It was a warm welcome that I’ll never forget.

It’s an honour to work with you and I hope we can all work together to fix bug #1.

I hope to see you at the next UDS in Barcelona in May.

Posted by Alberto Milone | March 29, 2009 3:35 pm
Filed under: GNU/Linux, Planet, Ubuntu
Comments (19) |


As promised in my previous posts, in this blog post I will deal with a project I’m working on which implements this blueprint.

Bryce Harrington (the mentor of this blueprint), Colin Watson (the approver) and I talked about this at the UDS in Prague. The blueprint is based on Bryce’s original idea to improve the Screen Resolution panel. The work was divided into 2 phases:

Phase 1 (which is a higher priority) is about providing the Screen Resolution panel with the capability to set the virtual resolution in the xorg.conf when, put simply, 2 or more screens don’t fit the framebuffer. Currently the Screen Resolution panel doesn’t succeed in such case since the drivers are not able to reallocate the framebuffer yet. A simple GUI should allow users to set the required virtual resolution and write the settings to the xorg.conf through PolicyKit.

Phase 2 is about adding an “Advanced settings” button to the Screen Resolution panel so as to allow advanced users to edit the xorg.conf through a simple GUI. The aim of such program is not to set up multiple screens layouts but only to make it easier for users to add, edit and remove options without having to know which section an option, say, DontZap, belongs to, or to switch to a different driver. A more detailed explanation of the use cases is available here.

In Prague we agreed that this project couldn’t become reality without an xorg.conf parser/writer and some other tools. For this reason I started the X-Kit project:

X-Kit

Components:

    * XorgParser: a simple, transparent and easy to extend xorg parser.
    * XorgValidator: a program which uses X-parser, tries to make sense of xorg.conf and operates accordingly.
    * Xorg Options Data Store: a program which translates the content of the manual of the xorg.conf into an XML file.
    * Xorg Options Editor GTK: a simple GTK GUI to the xorg.conf.
    * Xorg Options Editor KDE: a simple GTK GUI to the xorg.conf.

NOTE: all the code is in Python

Aim:

    * a desktop agnostic kit to manipulate the xorg.conf (and whatever will replace the xorg.conf in the future).

Advantages of XorgParser:

    * Simple API.
    * Easy to extend.

Current Status:

    * XorgParser: version 0.3 is available. You can get the code from my bazaar branch or from my PPA
    * XorgValidator: there is already some code in place which I haven’t released yet.
    * Xorg Options Data Store: the program is complete, works well and will be released soon.
    * Xorg Options Editor GTK (aka Phase 2): the program is almost complete and will be released soon. You can have a look at this screencast to see how it works.
    * Xorg Options Editor KDE: not started yet
    * Phase1: the Python part is complete and, as you can see in this screencast, it works well. The screencast, however, doesn’t reflect the current status of phase 1 but still gives an idea of how this will work in practice.

For further details on the project, please have a look at the wiki.

A special thanks to Bryce Harrington and Martin Pitt whose feedback on the parser was extremely important.

Posted by Alberto Milone | July 25, 2008 4:33 pm
Filed under: GNU/Linux, Planet, Python, UDS, Ubuntu
Comments (17) |


It took me some time to update the FGLRX and the NVIDIA driver in Ubuntu since I’m working on the drivers for Intrepid and on my new projects for Ubuntu. Furthermore driver 173.14.09 breaks the compatibility with realtime kernels and I didn’t want to upload something which would cause problems to a lot of users. For this reason I have written a patch (thanks to mizvekov from the NvNews forums for the tips) which will fix this problem while keeping the compatibility with non-realtime kernels.

Both the NVIDIA and the FGLRX contain a lot of fixes and I need your help to test the packages so that we can get them into hardy-updates (i.e. the stable repositories) soon. Please report your experience with the driver in this bugreport.

NOTE: the instructions to enable and use -proposed are in the bugreport (see Martin’s link)

Posted by Alberto Milone | July 8, 2008 8:52 am
Filed under: Envy, GNU/Linux, Planet, Ubuntu
Comments (14) |


Today, I’ve uploaded the latest release of the NVIDIA driver (173.14.05) to the the hardy-proposed repository (you should thank the Ubuntu-SRU and the MOTU-SRU teams for this). This is the bugreport containing the request for a SRU (Stable Release Update). Please test the new driver and post your comments there so that we know whether the driver works well for you too, and if it does, the update will be moved to the stable repository.

NOTE: this update won’t affect Ubuntu’s official linux-restricted-modules but only the linux-restricted-modules-envy so that nothing will break if you use the former.

Instructions:
All you have to do in order to test the new driver is enable the hardy-proposed repositories, refresh your list of packages and:
1) if you have already installed the driver through EnvyNG you should receive an update through Update manager
2) otherwise you will have to install and launch EnvyNG and select the “Manual selection of the driver” (since I haven’t had the time to update EnvyNG’s compatibility list for the automatic detection).

News:
I promised that I would blog about the projects I was assigned at the UDS and here’s the first news: I’ll maintain the NVIDIA driver for Ubuntu Intrepid together with Timo Aaltonen while Mario Limonciello will take care of the ATI (fglrx) driver. We’ll use DKMS for both drivers.

Stay tuned for more news and please help us testing the driver.

P.S. I’m working on the latest ATI driver too

Posted by Alberto Milone | June 11, 2008 9:00 pm
Filed under: Envy, GNU/Linux, Planet, Ubuntu
Comments (45) |


It’s been a month since my last blog post. EnvyNG was included in Hardy but it had a few problems and I have worked to fix them. I can’t upload such fixes since Hardy is a stable release. This means that all the updates will have to be tested before they are moved to the stable repositories. This is why I need your help. The more users test the fixes the sooner we can get them into stable.

Special Thanks:
All this wouldn’t have been possible without the amazing support of Martin Pitt, who guided me and helped me with the SRU (Stable Release Update). He has spent a lot of time on EnvyNG, gave me a lot of extremely useful suggestions, therefore I can say that you should really thank Martin for this release.

Timo Aaltonen brought bugs #212648, #186382, #118605 to my attention and suggested the solution. In case you don’t know it already, he’s one of the guys who take care of Ubuntu’s restricted modules. Keep up the good work, Timo!
(more…)

Posted by Alberto Milone | May 10, 2008 10:16 am
Filed under: Envy, GNU/Linux, Planet, Python, Ubuntu
Comments (65) |


I’m working on EnvyNG every day. I’m fixing as many bugs as possible. Here’s a list of what’s changed in EnvyNG and Envy Legacy:

Improvements in EnvyNG-core:
* New connection detection method (based on Network Manager)
* Update compatibility list
* Update translations
* Use unicode (utf-8) for the translators' names
* Use an additional xorg.conf parser in order to set the default colour depth

EnvyNG checks the availability of an Internet Connection either by asking Network Manager (through dbus) or (if you don’t use network manager) by using only Python’s “urllib2″. This solves Bug 211620.

The latest update of EnvyNG-core includes an additional xorg.conf parser which should finally solve the problem with ATI cards which don’t have a “defaultdepth” option set in xorg.conf. This made the Xserver crash (at times?) since the fglrx driver assumed that the default colour depth was 8bit.

Improvements in EnvyNG-qt:
* The links in the about dialog can be selected with the mouse cursor
* Fix complete dialog showed up when restart dialog should have
* About dialog can expand now
* Fix if both EnvyNG-qt and -gtk are installed, -qt should be the one which is launched on KDE

Improvements in EnvyNG-gtk:
* GTK filechooser points to /home by default

Bugfixes in Envy Legacy:
* Fix Bug #210392 in classes
* Catch exception in classes.restorenvfolder()
* Add "n/a" to dkms blacklist so the unofficially dkms is not installed
on Debian Lenny (Lenny is still unsupported)

Should you find other bugs, please report them to me.

Posted by Alberto Milone | April 9, 2008 3:15 pm
Filed under: Envy, GNU/Linux, Planet, Python, QT, Ubuntu
Comments (73) |


I’ve set up a new PPA repository for Hardy containing EnvyNG 1.1.0. The repository includes a new version of the three packages with a few bugfixes.

Add this line to your /etc/apt/sources.list so as to be sure to get always the latest release of EnvyNG :
deb http://ppa.launchpad.net/envyng-hardy/ubuntu hardy main

Update your list of packages:
sudo apt-get update

and then, for the textual installer, type:
sudo apt-get install envyng-core

or for the GTK GUI:
sudo apt-get install envyng-gtk

or for the QT4 GUI::
sudo apt-get install envyng-qt

I have followed your suggestions and I’ve fixed a few inconsistencies in the QT4 interface, therefore I need you help again with the translations for just 1 word (”Cancel”). I’ve tried to use what Rosetta suggested as alternative translations from other packages (i.e. firefox 3) therefore some translations will look like they are complete but please check that everything’s ok even in such case.

Thanks again.

P.S. please keep reporting bugs so that I can fix them ASAP.

EDIT: I had posted the wrong repository. Sorry for the inconvenience.

Posted by Alberto Milone | April 2, 2008 5:38 pm
Filed under: Envy, GNU/Linux, Planet, Python, QT, Ubuntu
Comments (35) |


Here is a new release of EnvyNG (which supports only Ubuntu Hardy). EnvyNG 1.1.0 is made up of 3 packages:

  • envyng-core (which contains the main program + the textual interface)
  • envyng-gtk (which contains the new GTK interface for GNOME, XFCE, etc. users)
  • envyng-qt (which contains the new QT4 interface for KDE users)

Brief Explanation
If you install only envyng-core you will have only the textual interface which (currently) has less features than the 2 GUIs.

If you want to install either envyng-gtk or envyng-qt you will have to install envyng-core first.

New Features
The 2 GUIs now enable you to:

1) Install and save the packages with the driver to a folder
2) simply download the packages without installing anything (this will be useful if you want to install such packages on a computer which is not connected to the Internet)

EnvyNG relies upon my PPA repository (the packages are no longer built locally), therefore every time a new driver is released I will only have to update my repository and you won’t have to install a new release of EnvyNG. You will receive the update via update manager. The packages use DKMS (i.e. you won’t have to reinstall the driver for each kernel you have since this is done automatically), do not conflict with Ubuntu’s linux-restricted-modules, do not cause problems during dist-upgrades since they can be overwritten by Ubuntu’s official packages (if they provide a driver which is newer than the ones in my repository or if the kernel is upgraded, say, from 2.6.24 to 2.6.25, ABI bumps won’t do anything).

Translations
There was a problem with Launchpad therefore I wasn’t able to upload all your translations in time (but I promise I will ASAP). Thanks again for your translations.

Instructions
Please read point A of the FAQ before you install EnvyNG (so that the old EnvyNG doesn’t conflict with version 1.1.0)

Testers
Please test the packages and let me know if there are problems.

Credits
As I said in the past, I would have never done all this alone. I would like to thank all the Ubuntu developers who helped me, all the artists who participated in the artwork contest, and the translators. And special thanks to Carlos Perelló Marín who helped me with Rosetta.

Posted by Alberto Milone | April 1, 2008 5:01 pm
Filed under: Envy, GNU/Linux, Planet, Python, QT, Ubuntu
Comments (50) |


I’m still trying to get over the stress of graduating, dreaming (every night!) of having yet to do exams in order to graduate doesn’t help though. I’m working on my projects at a slower pace, fixing a few bugs here and there before the release of EnvyNG. I have designed a new system for URandR and I hope to write some real code soon.

Today I have fixed a nasty bug in the old EnvyNG which affected automatic hardware detection with the following ATI cards:

['ATI FireGL V7300', 'ATI FireGL V7350', 'ATI FireGL V7350 Secondary', 'ATI FireGL V3400 Secondary', 'ATI FireGL V7300 Secondary', 'ATI FireGL V5200', 'ATI FireGL V3300 Secondary', 'ATI FireGL Z1 Secondary', 'ATI FireGL X3-256 Secondary', 'ATI FireGL X1 Secondary', 'ATI FireMV 2200 Secondary', 'ATI FireGL V3200', 'ATI FireGL X3-256', 'ATI FireGL Z1', 'ATI FireGL V5200 Secondary', 'ATI Mobility FireGL V5200', 'ATI FireGL X1', 'ATI FireMV 2200', 'ATI FireGL V3100', 'ATI FireGL V3300', 'ATI FireMV 2200 PCI', 'ATI FireMV 2200 PCI Secondary', 'ATI FireGL 8800', 'ATI Mobility FireGL V5000', 'ATI Mobility FireGL V5000', 'ATI Mobility FireGL V5250', 'ATI Mobility FireGL V7200', 'ATI FireGL V5100', 'ATI Mobility FireGL V3100', 'ATI Mobility FireGL V7100', 'ATI Mobility FireGL V3200', 'ATI FireGL V7200 Secondary', 'ATI FireGL T2 Secondary', 'ATI FireGL V7200 Secondary', 'ATI FireGL T2', 'ATI Mobility FireGL T2/T2e', 'ATI Mobility FireGL V5100', 'ATI FireGL V5100 Secondary', 'ATI FireGL V7100 Secondary', 'ATI FireGL V3100 Secondary', 'ATI FireGL X2-256/X2-256t Secondary', 'ATI FireGL V5000', 'ATI FireGL V3300', 'ATI FireGL V5000 Secondary', 'ATI FireGL V7200', 'ATI FireGL V3200 Secondary', 'ATI FireGL X2-256/X2-256t', 'ATI FireGL V7200', 'ATI FireGL V3400', 'ATI FireGL V7100']

It’s all fixed in EnvyNG’s new release.

As regards the translations for EnvyNG 1.1.0, you’re doing an amazing job. Thank you all. One thing that I’ve noticed though is that a few translators are having problems with the translation of the word “Main”, maybe because it’s a rather generic word which doesn’t make much sense out a context. Here is screenshot which hopefully will make things a bit clearer (”Main” is the label of the 1st tab):

Translating EnvyNG

Posted by Alberto Milone | March 29, 2008 2:37 pm
Filed under: Daily routine, Envy, GNU/Linux, Planet, Python, Ubuntu
Comments (3) |