Skip to content

Aspire one med ubuntu, optimerad kärna och mobilt bredband

maj 24, 2009

Detta är en svensk version av ett inlägg jag skrev på forumet http://www.aspireoneuser.com/forum/. For an English version of this guide check out my forumpost at http://www.aspireoneuser.com/forum/viewtopic.php?f=28&t=12255&hilit=mobile+broadband&start=10#p90189

Mycket politik har det blivit på sista tiden. Nu ska jag skriva om något helt annat, något som antagligen är mindre intressant för de flesta, men personligen tycker jag att GNU/linux är världens bästa exempel på deltagarkultur. Egentligen är det helt fantastisk hur man tillsammans kan skapa ett fullt fungerande och i många fall överlägset de kommersiella operativsystemen.

Nu till saken, först och främst skriver jag nog detta mest för min egen del. För att komma ihåg och dokumentera hur jag gjorde helt enkelt. Är det någon annan som har nytta av detta, håll till godo och kom gärna med kommentarer och förbättringar. Det är så vi skapar GNU/linux, men nu predikar jag antagligen för kören, för alla som använder GNU/linux känner ju redan till detta.

I höstas köpte jag tillsammans med min fästmö en netbook, närmare bestämt en aspire one. Vi var lite missnöjda med det operativsystem som kom med den från början, Linpus linux lite, mest på grund av att det innehöll en massa fulhack och saknade ett vettigt sätt att hantera flera användare. Något som var nödvändigt då både jag och min fästmö ville turas om att använda netbooken. Istället installerade vi ubuntu på den. Tyvärr var standardinstallationen med skrivbordshanteraren gnome lite väl tung för den lilla netbooken. Efter lite pillande så avinstallerade vi gnome och bestämde oss för den betydligt lättviktigare skrivbordsmiljön LXDE och den funkar fortfrande utmärkt.

För ett tag sedan upptäckte jag också att det finns folk som skapat speciellt optimerade kärnor för aspier one. Själv kör jag med den senaste verisonen härifrån. Ladda ner och installera kärnan och den motsvarande ”header”-filen genom att klicka på filerna och välj att öppna med gdebi (förvalt). Nästa gång man startar om datorn så får man en avsevärd förbättring i starttid. Det tråkiga är att denna kärnan inte innehåller modulen för 3g-modem via usb (cdc-acm). Linuxkärnan är modulärt uppbyggd och vi slipper därför kompilera om hela kärnan om vi endast vill lägga till denna modulen. Processen kräver lite pill i terminalen, men egentligen är det inte så svårt (och betyligt mindre tidsödande än att kompilera om hela kärnan).

Nu kör vi, till att börja med behöver vi källkoden till modulen, modulen är en del av linuxkärnan så vi börjar med att ladda hem och packa upp källkoden till hela kärnan från http://kernel.org. Den senaste kärnan från sickboy var en 2.6.29-version, så det är den kärnan vi behöver. Den finns att hämta från http://www.kernel.org/pub/linux/kernel/v2.6/ (se till att välja gz-filen, jag hade problem med bz-filen, den var korrupt).

Öppna en terminal och gå till katalogen med den nedladdade kärnan. Packa upp filen med

tar -xzvf linux-2.6.29.4.tar.gz

Skapa en katalog för källfilerna till modulen

mkdir cdc-acm

Kopiera källkodsfilerna från kärnan till katalogen

cp linux-2.6.29.4/drivers/usb/class/cdc-acm.* cdc-acm/

För att kompilera modulen behöver vi en make-fil, eftersom modulen inkulderas i kärnan så finns det ingen ”egen” make-fil för modulen, så vi är tvugna att skriva en egen. Gå in katalogen och öppna en textfil

cd cdc-acm
vim Makefile

Självklart behöver man inte använda vim, vilken textredigerare som helst funkar fint (gedit,nano,mousepad etc.)
Kopiera in följande text i make-filen

obj-m = cdc-acm.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean

Spara filen och se till att du har kärnans header-filer installerade från http://www.ug.it.usyd.edu.au/~scole/releases/
Det saknas en katalog build i katalogen /lib/modules/2.6.29.1.20090414.sickboy/ så vi skapar den genom att skapa en symbolisk länk till katalogen /usr/src/linux-headers-2.6.29.1.20090414.sickboy/

sudo ln -s /usr/src/linux-headers-2.6.29.1.20090414.sickboy/ /lib/modules/2.6.29.1.20090414.sickboy/build

Nu kan vi kompilera modulen

make

När kompileringen är klar så kan vi testa vår modul med

sudo insmod cdc-acm.ko

För att kolla om den laddades kör

lsmod | grep cdc

och kolla efter cdc_acm. För att kolla så att alting fungerar som det ska, koppla in din telefon eller ditt modem och kör

dmesg

och kolla efter något i stil med

[13220.492463] cdc_acm 2-1:1.1: ttyACM0: USB ACM device
[13220.521328] cdc_acm 2-1:1.3: ttyACM1: USB ACM device

Om allting fungerade så kan vi nu anslute till internet med hjälp av valfri mjukvara. Jag använder gnomes nm-applet, högerklicka på ”appleten” och välj ”Edit Connections”, välj ”Mobile Broadband” och klicka på ”Add”. Det startas nu en guide som hjälper dig att ställa in din anslutning beroende på vilken operatör du har.

För att se till så att modulen laddas varje gång vi startar datorn så måste vi kopiera den till ”rätt” plats och säga till operativsystemet att ladda den vid varja omstart. Börja med att kopiera modulen till rätt plats med

sudo cp cdc-acm.ko /lib/modules/2.6.29.1.20090414.sickboy/kernel/drivers/usb/

Säg åt operativsystem att ladda modulen vid varje omstart genom att lägga till raden cdc-acm till filen /etc/modules

sudo vim /etc/modules

Nu ska vi bara kolla så att systemet hittar modulen på rätt plats. Börja med att ladda ur modulen

sudo rmmod cdc-acm

Uppdatera sedan modulernas beroenden och testa att ladd modulen igen med

sudo depmod -a
sudo modprobe cdc-acm

Om allt gick som det ska kan vi nu starta om vår dator och kolla så att allt fungerar. Nu kan vi vara mobila, hänga i parker och ändå vara uppkopplade i sommar. Glömt inte att skaffa ett bra mobilt bredbandsabonnemang, du vet väl att sommer 2009 är ”summer of sharing”.

Läs mer om att kompilera kärnmoduler på http://www.cyberciti.biz/tips/compiling-linux-kernel-module.html”

No comments yet

Tyck till!

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: