From new user to kernel compilation to upstream fix
It is quite exciting when helping new users solve issues while migrating to the Linux operating system, and Ubuntu Linux in this case.
A couple of weeks ago, a new member at the Ubuntu-gr forum posted a question about a sound problem in an Ubuntu Linux installation.
Alsa Mixer
Here is the timeline
- An initial post was made with the relevant hardware information.
- More information was gathered that led to the PCI ID and subsystem ID of the sound card, which further led to the source of a patch for a quirk.
- The advice to recompile the full kernel (with the patch) was given. This process required over 10GB, which caused the distribution to crash. The user was fine to reinstall.
- A subsequent route was taken to simply compile Alsa (not the full kernel) and add the patch.
- This route was successful and the sound was now working.
- We want to post this patch upstream so that newer versions of the kernel contain the fix. In addition, all distributions will benefit as well.
- A bug report was submitted to the Alsa bugtracking #0004561. We now wait.
- Days are passing with no progress. A question at #alsa (Freenode) shows that the Alsa bugtracking is probably not used, so there is need to contact the developers through the mailing list.
- An e-mail is sent to the Alsa mailing list with the patch. The Alsa developer takes the patch and applies to his tree. We missed by several days the release of Linux 2.6.30; the patch should appear in 2.6.31.
The whole process took ten days. It is amazing how rewarding it is to follow the open-source processes and contribute the personal time to help make open-source better.
The patch was evidently elemental, however it required new testing to make sure it works, and that it applies to the current state of Alsa. There are many areas that you can contribute some of your time to make open-source better.
I would like to thank Theodora for going through the process, locating and verifying the patch, so that now it is pending inclusion in Linux 2.6.31.
Update 22Apr 2010: The change has been added to the Linux kernel
. It’s a tiny small change that anyone can do.
One-line hardware support (USB Wireless Adapter)
I got recently a USB Wireless Adaptor, produced by Aztech. It was a good buy for several reasons:
- It advertised Linux support
- It was affordable
- It had good quality casing; you can step on it and it won’t break
- It had the Penguin on the box and was really really cheap
When I plugged it in on my Linux system, it did not work out of the box. The kernel acknowledged that a USB device was inserted (two lines in /var/log/messages) but no driver claimed the device.
With the package came a CD which had drivers for several operating systems, including Linux. Apparently one would need to install the specific driver. I think the driver was available in both source code and as a binary package (for some kernel version).
The kernel module on the CD was called zd1211, so I checked whether my kernel had such a module installed. To my surprise, there was such a kernel module, called zd1211rw. I hope you have better chance with the URL because now the website appears to be down (Error 500).
Therefore, what was wrong with my zd1211rw kernel module? Reading the documentation of project website, I figured out that you have to report the ID (called the USB ID) of your adapter so that it is included in the kernel module, and when you plug in your device, it will be automatically detected.
You can find the USB ID by running the command lsusb. Then, it is a one-line patch for the zd1211rw driver to add support for the device,
— zd1211rw.linux2.6.20/zd_usb.c 2007-09-25 14:48:06.000000000
+0300
+++ zd1211rw/zd_usb.c 2007-09-28 11:35:51.000000000 +0300
@@ -64,6 +64,7 @@
{ USB_DEVICE(0x13b1, 0×0024), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0×0586, 0x340f), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0x0baf, 0×0121), .driver_info = DEVICE_ZD1211B },
+ { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B },
/* “Driverless” devices that need ejecting */
{ USB_DEVICE(0x0ace, 0×2011), .driver_info = DEVICE_INSTALLER },
{ USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER },
What Aztech should have done is to submit the USB ID to the developers of the zd1211rw driver. In this way, any Linux distribution that comes out with the updated kernel will have support for the device.
It is very important to get the manufacturers to change mentality. From offering a CD with “drivers”, for free and open-source software they should also work upstream with the device driver developers of the Linux kernel. The effort is small and the customer benefits huge.
Greek OLPC localisation status
The Greek OLPC localisation effort is ongoing and here is a report of the current status.
For discussions, reading discussion archives and commenting, please see the Greek OLPC Discussion Group.
We are localising two components, the UI (User Interface) and applications of the OLPC, and the main website at http://www.laptop.org/
The UI is currently being translated at the OLPC Wiki, at OLPC_Greece/Translation. At this page you can see the currently available packages, what is pending and which is the page that you also can help translate.
At this stage we need people with skills in music terminology to help out with the localisation of TamTam. In addition, there are more translations that need review and comments before they are sent upstream.
Moreover, if you find a typo and a better suggestion for a term in the submitted translations, feel free to tell us at the Greek OLPC Discussion Group.
The other project we are working on is the localisation of the Greek version of www.laptop.org. The pages are not 100% translated yet, so if you want to finish the difficult parts, see the Web translation page of laptop.org.
The translators that helped up to now have done an amazing job.
Βομβάη
Αυτή τη στιγμή βρίσκομαι στο αεροδρόμιο της Βομβάης και περιμένω την επόμενη μου πτήση. Αυτή τη φορά χρειάζεται να περιμένω μόνο 5 ώρες αντί των 10 ωρών την προηγούμενη φορά.
Τώρα μια τοπική εταιρία τηλεπικοινωνιών (Airtel) παρέχει δωρεάν σύνδεση στο διαδίκτυο στους ταξιδιώτες του αεροδρομίου. Για την ενεργοποίηση βάζετε το νούμερο του κινητού σας στο captive portal και σας στέλνει το όνομα χρήστη και κωδικό για τη σύνδεση.
Ένα πρόβλημα στην Ινδία έχει να κάνει με τις πρίζες· το τυπικό σύστημα είναι εντελώς ασύμβατο με σούκο (έχει 3 κυλινδρικές ακίδες αρκετά μεγαλύτερης διαμέτρου) ενώ ο τύπος πρίζας δίχως γείωση μοιάζει σχεδόν με τον ελληνικό, με τη διαφορά ότι η διάμετρος των ακίδων είναι πολύ λίγο μεταλύτερες. Αυτό έχει ως αποτέλεσμα να μην γίνεται καλή επαφή.
Έτσι, τώρα χρησιμοποιώ την μπαταρία
.
Η Ινδία είναι μια μεγάλη χώρα. Αναλογικά η αξιοποίηση του ελεύθερου λογισμικού στην οικονομία είναι πολύ μικρή. Υπάρχουν αξιόλογα άτομα που δουλεύουν στο ελεύθερο λογισμικό, ωστόσο όπως σε κάθε χώρα για να υπάρχει σημαντική επίπτωση στην οικονομία χρειάζεται πολύπλευρη στρατηγική.
Στα αριστερά μου υπάρχει ένα μαγαζάκι όπου μπορείς να πάρεις τηλέφωνο στην Ινδία και στο εξωτερικό. Υπάρχει μεγάλη πελατεία, και τώρα και τα 3 τηλέφωνα αξιοποιούνται. Στο αεροδρόμιο παρέχουν πολυθρόνες-ξαπλώστρες που είναι αρκετά άνετες. Δίπλα κοιμούνται/ξαπλώνουν 8 άτομα.
Για σύνδεση με το διαδίκτυο μέσω κινητό είναι τυπικό να γίνεται μέσω μιας εταιρίας που ονομάζεται Reliance, που βασίζεται σε CDMA (αντί του τυπικού GSM/GPRS/EDGE). Η εταιρία παρέχει οδηγούς για Linux αν και δεν έχει φροντίσει να πάνε upstream για ευκολότερη εγκατάσταση από τους πελάτες.
Πριν από λίγο, κάποιος με επίσημα ρούχα/name tag/κτλ με ρώτησε για που πετάω. Απάντησα. Αμέσως πρότεινε να πάω στο bussiness lounge για 1000 rupees ή 13 λίγες Αγγλίας, διότι θα περιμένω αρκετές ώρες, κτλ. Είναι η γνωστή τακτική του επιθετικού μάρκετινγκ και συμβαίνει συχνά στην Ασία.
Σε κάθε περίπτωση όμως, η Ινδία είναι ένα όμορφο μέρος με όμορφους ανθρώπους. Θα ήθελα να είχα την ευκαιρία να ταξιδέψω για μερικούς μήνες.
Using SVN for GNOME Translators
Update 3rd June 2009: This is a very old post when GNOME was using SVN for the VCS (now we use git). My blog theme does not show the year, so I am writing this in case you are confused by the post.
Now GNOME uses SVN to manage the development of the software.
To use SVN, the basic relevant commands are described at Getting the most out of Subversion in GNOME.
If you are a translator, the work is further simplified. You would normally new SVN to get a copy of the source code of a package so that you can extract the translation messages of the UI or the documentation. In addition, in some cases you can provide localised images and screenshots.
First of all, if you do not have an account on SVN yet, you need to connect using Anonymous access. You still have all access, however if you want to upload any translations would need to give them to someone else who has such an SVN account.
Furthermore, the source code of a package is often branched during a GNOME release so that when there is ongoing development, the released version of the package is not affected. Branches usually have a name similar to gnome-2-18. The not-branched branch is called trunk (or HEAD, in CVS lingo), where all cutting-edge development usually happens.
To checkout (here checkout means to obtain a copy) the source code of a package.
Checkout trunk as anonymous
svn checkout http://svn.gnome.org/svn/gnome-utils/trunk my-trunk-gnome-utils
Checkout trunk as simos
svn checkout svn+ssh://simos@svn.gnome.org/svn/gnome-utils/trunk my-trunk-gnome-utils
Checkout branch called “gnome-2-18″ as anonymous
svn checkout http://svn.gnome.org/svn/gnome-utils/branches/gnome-2-18/ gnome-utils-stable
Checkout branch called “gnome-2-18″ as simos
svn checkout svn+ssh://simos@svn.gnome.org/svn/gnome-utils/branches/gnome-2-18 gnome-utils-stable
To commit you changes means that you send your changes upstream to the project.
In order to commit, you enter the directory you checked out and you run
svn commit -m “Updated Greek translation”
The changes you make typically include updated your language’s LL.po file, and also updating the ChangeLog file.
You cannot commit in a anonymous checkout. The system knows that it’s you when you are commiting because the checkout command saved the username you used earlier.
In the SVN commands, you can abbreviate checkout with co, and commit with ci. Sometimes this leads to the most common newbie error; you tend to think that co is for commit. In practice you cannot make a mess though, as the command line parameters between the two actions are very different, and the command will fail.
Νέες προθεσμίες για τη μετάφραση του GNOME 2.18(.1)
Κατά το http://live.gnome.org/TwoPointSeventeen η προθεσμία για την υποβολή μεταφράσεων για το GNOME 2.18 έχει περάσει.
Τώρα επικεντρώνουμε την προσοχή μας στο GNOME 2.18.1 που θα γίνει διαθέσιμο στις αρχές Απριλίου. Θα προσπαθήσουμε να τελειώσουμε τη δουλειά νωρίτερα από τις αρχές Απριλίου.
Έχω την εντύπωση ότι οι διανομές Fedora και Ubuntu θα πάρουν από το 2.18.1.
Έτσι, για να έχουμε ολοκληρωμένο τον εξελληνισμό των διανομών Fedora και Ubuntu (+ΟpenSuse;, κτλ), βοηθούμε στη μετάφραση του GNOME. Είναι δε σημαντικό να μεταφραστεί και να διορθωθεί το GNOME διότι αυτό είναι που βλέπει ο τελικός χρήστης στην καθημερινή χρήση.
Από το http://l10n.gnome.org/languages/el/gnome-2-18 μεταφράζουμε από τη δεξιά στήλη.
Για να είμαστε σίγουροι ότι κάποιος άλλος δεν μεταφράζει το ίδιο
πρόγραμμα, το καταγράφουμε στη σελίδα
http://www.ubuntu-gr.org/Wiki/Community/Translation/Upstream/POReservation
Για τη μετάφραση μπορούμε να χρησιμοποιήσουμε KBabel (sudo apt-get
install kbabel). Για την ενεργοποίηση της ελληνικής ορθογραφίας δείτε
πρόσφατο γράμμα στη λίστα ubuntu-gr.
Το τελικό αρχείο μπορείτε να το στείλετε στο team ατ gnome τελεία gr.
Για περισσότερες τεχνικές πληροφορίες στη μετάφραση, δείτε και το γράμμα του Αθανάσιου Λευτέρη.
Αν χρησιμοποιείτε τη διανομή Fedora και ελληνικά, τότε είναι καλό να γραφτείτε στη λίστα συνδρομητών
https://www.redhat.com/mailman/listinfo/fedora-trans-el
Αν χρησιμοποιείτε τη διανομή Ubuntu και ελληνικά, τότε είναι καλό να γραφτείτε στη λίστα συνδρομητών
https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr
Translating the OLPC
In a previous post, we covered how to install fonts and enabling writing support on the OLPC. The OLPC contains a limited number of applications that are available to be translated. These applications include
- NetworkManager, part of the GNOME project (HEAD, extras)
- alsa-utils, ???
- aspell, external
- atk10, part of the GNOME project (GNOME 2.18, developer)
- chkconfig, part of the Fedora Project
- diffutils, external
- glib20, part of the GNOME project (GNOME 2.18, developer)
- gst-plugins-base-0.10, external
- gst-plugins-good-0.10, external
- gstreamer-0.10, external
- gtk20-properties, part of the GNOME project (GNOME 2.18, developer)
- gtk20, part of the GNOME project (GNOME 2.18, developer)
- hal, external
- initscripts, part of the Fedora Project
- libc, part of the Translation Project (reduced version?)
- libuser, part of the Fedora Project
- libwnck, part of the GNOME Project (GNOME 2.18, desktop)
- stardict, external
- vte, part of the GNOME Project (GNOME 2.18, desktop)
- wget, part of the Translation Project
The links provided point to the latest available version. The versions that the OLPC using are not the latest with the upstream project, therefore keep in mind that the translated files may differ. It would be good to establish the exact .PO files from the OLPC project (URL to source?).
Μετάφραση του WordPress στα ελληνικά (νέο έργο!)
Ξεκίνησε μια νέα προσπάθεια για τη υποβοήθηση των μεταφράσεων του WordPress στις τοπικές γλώσσες, όπου διάφοροι χρήστες μπορούν να συνεισφέρουν μέσω του Διαδικτύου.
Η μετάφραση γίνεται με τη βοήθεια μιας εφαρμογής Web· χρειάζεται να αποκτήσετε λογαριασμό στο http://www.wordpress.com/ για να μπορέσετε να συνδεθείτε στο http://translate.wordpress.com/.
Η εφαρμογή του Web επιτρέπει να γίνονται προτάσεις για μια μετάφραση και έπειτα να καθορίζονται ποιες είναι οι αποδεκτές, κατά του τρόπου που το Google μεταφράζει μέσω της κοινότητας το δικτυακό του τόπο.
Το επίπεδο μετάφρασης του WordPress στα ελληνικά είναι γύρω στο 75% (960 από 1294 μηνύματα), και όπως φαίνεται έχει ληφθεί η μετάφραση που είχε γίνει στο Pootle και που μετά είχε σταλθεί upstream. Είναι σημαντικό να στέλνεις υλικό upstream
.
Ευχαριστώ τον Unique Fish για το πινγκ.
Μιλήσαμε για τη μετάφραση του WordPress για πρώτη φορά πριν από ένα χρόνο.
Έργο εξελληνισμού της διανομής Fedora
Ο Δημήτρης κατέγραψε τα όσα έχουν γίνει και ποιες είναι οι εκρεμμότητες στο έργο εξελληνισμού της διανομής Fedora. Σε μερικούς μήνες θα έχουμε τη νέα έκδοση της διανομής Fedora, Fedora Core 6, και υπάρχουν μια σειρά από εργασίες για να κάνουμε τη διανομή να δουλέψει άψογα στα ελληνικά.
Αν και οι περισσότερες δουλειές εξελληνισμού γίνονται upstream στα επιμέρους έργο (π.χ. GNOME, KDE, Mozilla), υπάρχει ανάγκη ελέγχου των προεκδόσεων μιας διανομής για να είμαστε σίγουροι ότι ο τελικός χρήστης δεν θα έχει προβλήματα. Έτσι, θέματα όπως ποια είναι η βασική γραμματοσειρά συστήματος είναι ένα θέμα εξελληνισμού που για τώρα πρέπει να το επαναλαμβάνουμε για κάθε διανομή.
Διαβάστε λοιπόν την ενημέρωση του έργου εξελληνισμού της διανομής Fedora.
Ανατομία ενός γράμματος
Με ενδιαφέρον είδα μια συζήτηση (τίτλος upgrade σε ubuntu 5.10 = προβλήματα με τα ελληνικά) στη λίστα συνδρομητών Linux-greek-users για το θέμα της υποστήριξης γραφής ελληνικών σε ελεύθερο λογισμικό.
Ωστόσο, μετά από λίγα γράμματα, στάλθηκε
Διάθεση του X.org 7.0 (μορφή αρθρωτή)
Είναι διαθέσιμο το X.org 7.0 (modular).
Είναι πολύ σημαντικό νέο μιας και θα επιταχύνει την ανάπτυξη του XOrg.
Αυτή τη στιγμή γίνονται πολλές αλλαγές στα αρχεία του X.org με αποτέλεσμα να χρειάζεται έλεγχος ότι όλα λειτουργούν σωστά.
Αν είχατε πρόβλημα με τους τόνους, δείτε τη σχετική συζήτηση. Το ζήτημα αυτό δεν έχει διορθωθεί upstream. Αν μπορείτε, κάντε το.