Twitter

Taggmoln

2009 Android användarnamn asus blogg Bloggen bugg Cyanogen eee eee pc fel firefox fullskärm gmail gnome google google calendar google wave hsupa htc htc magic ie internet explorer iphone ipod ipod touch jaunty jackalope laptop Linux mail maximera microsoft netbook notifyosd nsg nytt år server spotify storlek touch ubuntu wave windows windows 7 wordpress

Kategorimoln

Android Bloggar Bloggen Humor Internet Linux Media Personligt Politik Rymden Tankar Teknik TV/Film Uncategorized Webben

Aktuellt på bloggar

Visar inlägg postade under Linux

Android, Cyanogenmod och öppen källkod

Postat 2009-09-27 under Android, Linux, Teknik Taggar: , , , ,

cyanogenlogo

Som du kanske redan vet är Android öppen källkod, men vad du kanske inte vet är exakt vad som är det, och mer viktigt vad som inte är det.

För nu två dagar sedan så fick Steve Kondik, mer känd som cyanogen som utvecklar cyanogenmod som är en variant av Android (som jag använder) ett brev från Googles juridiska avdelning. Dom krävde att han skulle ta bort mjukvara som Google äger och han inte hade rätten att publicera. Mjukvaran i fråga är saker som Gmail, Maps, Gtalk, Market och nästan “allt google”. Ett dåligt drag för Google, och ett tråkigt drag för oss användare.

Åt ena sidan förstår jag Google, det är deras program som dom har rätten att göra vad som vill med och jag kan förstår att dom vill ha kvar kontrollen över dem, över vilka versioner som installeras var, och när. Men samtidigt är det ett mycket dåligt drag av Google för på sikt kommer det bara motivera folk att utveckla alternativa lösningar (program). Det här kommer bara motivera utvecklandet av öppna program men nu i glappet kan det bli lite jobbigt.android logo bot

Gmail, Maps, GTalk, YouTube… är alla program som går att byta ut, det finns publika API:er från Google som man kan använda för att få samma, eller nästan samma funktionalitet. Problemet är dock Market, då market är en betallösning och förmodligen innehåller en del DRM så gissar jag på att det kommer bli svårt (om ens lagligt) ett skriva ett program som ansluter till samma databas. Alternativet är att utveckla en helt egen separat lösning. Det är dock inget som är bra för plattformen programmen kommer spridas ut över de olika marknadsplatserna, ingen utvecklare kommer orka publicera sin applikation på alla och ingen användare kommer orka leta på alla. Sedan det där med betalningar, jag litar på att Google hanterar mitt kreditkort korrekt men något litet okänt företag? Nej.

Cyanogen har sagt att han har varit i kontakt med Google och tagit reda på vad exakt som måste bort, det ser ut som att vi kommer ha ett system som startar och går att använda som en telefon (samtal, sms, m.m.) efter att han har tagit bort Googles applikationer. Dock blir det ingen rolig telefon längre så han tänker utveckla en lösning. Programmen som du hade på din telefon när du köpte den har du rätten till, så vad han kommer göra är ett program för att göra en kopia av dem för att sedan återställa dem efter att du har installerat cyanogenmod. Ingen jättebra lösning då vi förlorar framtida uppdateringar på de programmen men vi får åtminstone tills vidare en telefon i det skicket vi vill ha den.

Det ser ut att bli lite mer pyssel i framtiden för att lagligt installera en alternativ ROM på en Android-telefon.

För den intresserade så är en lista publicerad på pastebin över vad som ska bort.

system/lib/libgtalk_jni.so
system/lib/libloc_api.so
system/lib/libpdfreader.so
system/lib/libt9.so
system/framework/com.google.android.gtalkservice.jar
system/framework/com.google.android.maps.jar
system/framework/com.htc.framework.jar
system/framework/com.htc.resources.apk
system/etc/permissions/com.google.android.gtalkservice.xml
system/etc/permissions/com.google.android.maps.xml
system/app/BugReport.apk
system/app/Clicker.apk
system/app/com.amazon.mp3.apk
system/app/FilePicker.apk
system/app/Gmail.apk
system/app/GmailProvider.apk
system/app/GoogleApps.apk
system/app/GoogleCheckin.apk
system/app/GoogleSettingsProvider.apk
system/app/gtalkservice.apk
system/app/ImProvider.apk
system/app/Mail.apk
system/app/Maps.apk
system/app/MarketUpdater.apk
system/app/MediaUploader.apk
system/app/NetworkLocation.apk
system/app/PDFViewer.apk
system/app/SetupWizard.apk
system/app/Street.apk
system/app/Talk.apk
system/app/TmoImPlugin.apk
system/app/Vending.apk
system/app/VoiceSearch.apk
system/app/YouTube.apk
data/app/HTC_IME.apk
data/app/teeter.apk

Bloggar om: , , , ,

Inga kommentarer

Äntligen iptables i kärnan på en skandinavisk 32A android-telefon

Postat 2009-08-23 under Android, Linux, Teknik Taggar: , , , , ,

En av orsakerna att köpa min telefon var att jag skulle kunna ersätta mitt mobila bredband, jag har kört med Azilink hittils för att uppfylla det och det har funkat även om det har varit lite buggigt. I bland har den kopplat ifrån och jag har varit tvungen att starta om azilink, och så har telefonen förvandlats till en sladdtelefon när jag kom hem (då den satt fast i datorn med USB-kabeln).

Du kan läsa minna två tidigare inlägg om ämnet:
Använd din android/HTC magic som modem
Anslut automatiskt med AziLink och Android

Jag har länge väntat på att HTC ska släppa sin modifierade kärnas källkod så folk själv kunde kompilera egna kärnor som bootade på våra 32A-telefoner. Källkoden som kommer från Google, d.v.s. ren Android hänger sig när man försöker boota den på en 32A. Har man dock en 32B som säljs i USA, stora delar av Europa och övriga världen så var det inget problem då den körde ren Android utan problem.

Det som hände i stället var att en person på forumet xda-developers listade ut vad skillnaden var och byggde en kärna som bootade. Koden har nu börjat spridas och hemmabyggda ROM:ar (installationer av Android) har börjat dyka upp. Jag provade en ROM som heter Cyanogen som innehåll mycket intressant, förutom den nya kärnan så har den massa förbättringar som kommer från Donut, d.v.s. nästa version av Android som inte är släppt än.

Vill du prova Cyanogen på en telefon av typen 32A, gå till den här länken:
http://www.swedroid.se/forum/showthread.php?t=1414

Där hittar du en fil som heter signed-cyanm-4.0.1_gbo-32a.zip, notera “gbo”. Det är den som innehåller den nya kärnan.

Vill du prova? Du hittar bra guider på Swedroids wiki, notera att du INTE behöver röra SPL:en för att lägga in den här ROM:en då den är signerad.

För ett tag sedan provade jag den nya kärnan med android-wifi-tether, allt funkade perfekt. Ett trådlöst nätverk skapades som det bara var att ansluta till, det kan inte vara enklare. Nu kan jag använda min telefon som modem så länge den är i lägenheten, jag kan svara, går runt med den och prata, sitta och leka med den utan att sladden är i vägen o.s.v. … en enorm förbättring. Att det sedan inte kräver någon konfiguration på datorn gör att man enkelt kan starta ett wlan någon annan stans och dela med sig till någon kompis om man skulle vilja.

Nu väntar jag bara på skype, en bra twitterklient (inte hittat någon som funkar som jag vill) och en bra facebook-applikation (som funkar som jag vill) så är jag nöjd (ett litet tag) :)

Bloggar om: , , , , ,

Inga kommentarer

Anslut automatiskt med AziLink och Android

Postat 2009-08-02 under Android, Linux, Teknik Taggar: , , , ,

android-shotI mitt förra inlägg “Använd din android/HTC magic som modem” skrev jag hur du konfigurerade och satte upp en lösning för att använda en skandinavisk android-telefon som modem, jag sa att jag skulle bygga en lösning för att förenkla saker, och här kommer det.

Jag har skrivit ett par små skript som heter Azid, de reagerar när du kopplar in telefonen och gör att nödvändigt för att du ska bli uppkopplad (föresatt att AziLink körs på telefonen). Skripten har ingen ting med installationen att göra utan är för att förenkla vardagen när du väl har konfigurerar upp saker.

SNotify

Som du ser på bilden så använder jag mig av notifikationssystemet för att meddela händelser, då skriptet bitvis körs av systemet som root så har jag skrivit att litet hjälpskript som heter snotify för att arbeta mig runt lite problem, azid använder det mycket så du behöver ha det installerat. Du kan ladda ner det här: snotif, jag föresätter att det ligger i katalogen  /opt/snotify men det går att placera på andra ställen, du kan dock behöva ändra lite sökvägar.

För att göra ovanstående, skriv:

sudo mkdir /opt/snotify
sudo wget http://nsg.cc/wp-content/uploads/2009/08/snotify -O /opt/snotify/snotify
sudo chmod +x /opt/snotify/snotify

SNotify behöver även en konfgurationsfil, den ligger under /etc och kan laddas ner här: snotif och ska heta snotify.

För att göra ovanstående, skriv:

sudo wget http://nsg.cc/wp-content/uploads/2009/08/snotify1 -O /etc/snotify

Konfigurationsfilen föresätter att du kör Gnome och att du är den enda användaren som är inloggad grafiskt. Med största sannolikhet är du det, och övriga inställningar behöver du förmodligen inte ändra.

För att skriptet ovan ska funka behöver du installera ett litet program som heter libnotify-bin

sudo apt-get install libnotify-bin

Azid

Nu är det dax att installera Azid, tekniken är den samma som med SNotify. Skillnaden är att det är flera filer i /opt/azid så jag har packat ihop dem i ett paket, du kan ladda ner det här: azid.tar.
Konfigurationsfilen finns här: azid

För att göra ovanstående, skriv:

wget http://nsg.cc/wp-content/uploads/2009/08/azid.tar
sudo tar xf azid.tar -C /
sudo chmod +x /opt/azid/azi
sudo chmod +x /opt/azid/azid
sudo wget http://nsg.cc/wp-content/uploads/2009/08/azid -O /etc/azid

Du kan kolla i konfigurationsfilen (/etc/azid) om det är några inställningar du behöver göra, inställningarna som de är bör funka fint. Två saker som du kanske vill ändra på är DNS_TYPE, nu är opendns satt då jag tyckte att operatörens DNS:er var långsamma, för att köra de vanliga ändra den till default. Den andra är START_AZID, när azid inte får kontakt med telefonen så varnar den 1 gång/minut. Det är så jag vill ha det, irriterar det dig så stäng av det genom att sätta den till false.

Få allt att köras

Nu är det bara att få saker att köras automatiskt när du stoppar in telefonen kvar, det gör du genom att ändra lite på udev-regeln vi skriv i mitt tidigare inlägg, ändra den till:

SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c02″,SYMLINK+=”android_adb”,MODE=”0666″,RUN+=”/opt/azid/azi”
SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c01″,SYMLINK+=”android_fastboot”,MODE=”0666″

Skillnaden är ,RUN+=”/opt/azid/azi” i slutet på första raden.

Slutligen

azilink-shot

Nu bör saker köras när du stoppar in telefonen, du bör se första bilden nästan direkt när du stoppat in sladden och efter några sekunder en bild liknande den här bredvid (dock inte samma text, jag har ändrat den).

Funkar det inte så hör av dig, chansen är ganska stor att något fel har smugit sig ner då koden inte är så testad. Glöm inte att stätta på AziLink på telefonen först innan du börjar.

Jag har märkt att ibland hakar saker upp sig, det är inget jag har kontroll över från datorn utan felet ligger i android eller AziLink, du kan prova att dra ut och sätta in USB-kabeln igen, och/eller starta om AziLink. Oftast räcker det med kabeln.

Även om det är ganska smidigt som det är nu så vill jag mycket hellre dela med mig av uppkopplingen via det trådlösa nätverket, i det här inlägget på xda-developers så har en haft kontakt med HTC, enligt dem skulle deras modifierade kärna vara ute vid slutet av månaden (i förrgår), så kanske snart så :)

Bloggar om: , , , ,

1 kommentar

Använd din android/HTC magic som modem

Postat 2009-07-22 under Android, Internet, Linux, Teknik Taggar: , , ,

Som jag skrev i förra inlägget så tänkte jag låta min telefon ersätta mitt mobila bredband, och nu när den har kommit så kommer en guide hur man gör för att komma igång under Ubuntu Linux.

Det kräver att du har lite koll på datorer och Linux för att kunna följa med, har du frågor så skriv en kommentar så hjälper jag till.

Jag har en HTC Magic som är köpt i Sverige, något som de nordiska telefonerna har gemensamt är att HTC har varit och ändrar lite på koden i Android. Vissa förbättringar, och vissa försämringar. En av de sämre är att dom har tagit bort stöd för att kunna använda iptables. Iptables är det som används i Linux för att begränsa och skicka vidare trafik, precis vad en vanlig router gör. Tyvärr innebär det att du inte har lika mycket htc-magic-2möjligheter, det finns dock en lösning och den heter AziLink och kräver att du har USB-sladden i.

Har du en icke-nordisk Magic eller någon annan modell så kanske du har stödj för iptables, i så fall rekommenderar jag att du kollar upp andra alternativ då du med dem kan använda wlan:et eller blåtand för att koppla ihop telefonen med din dator. Den nordiska Magic identifieras med att det står “HTC” på baksidan (inte Google).

Förbereda

Innan du börjar måste du installera lite saker på datorn, så glöm inte att förbereda det först innan kopplar bort din vanlig uppkoppling för att prova.

Konfigurera

Nu har du laddat ner allt du behöver, börja med att gå in i telefonen under Settings > Applications > Unknown sources och välj den så att du kan installera azilink.apk på din telefon. På nästan samma ställe under Settings > Applications > Development > USB debugging slår du på den.

Öppna nu en terminal om du inte redan har en öppen.

Nu behöver du skapa en fil för att Linux ska hantera telefonen på rätt sätt, döp filen till 51-android.rules och lägg den i /etc/udev/rules.d/, för att göra det med ett kommando skriv:

gksudo gedit /etc/udev/rules.d/51-android.rules

Filen ska innehålla:

SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c02″,SYMLINK+=”android_adb”,MODE=”0666″,OWNER=”USERNAME”
SUBSYSTEM==”usb”,SYSFS{idVendor}==”0bb4″,ATTR{idProduct}==”0c01″,SYMLINK+=”android_fastboot”,MODE=”0666″,OWNER=”USERNAME”

(Notera USERNAME, byt ut det mot ditt användarnamn)

Ändra filen /etc/resolv.conf med:

gksudo gedit /etc/resolv.conf

Den ska innehålla

domain lan
search lan
nameserver 192.168.56.1

Stoppa nu in USB-kabeln till telefonen (sitter den redan i, ta ur den och sätt i den igen).

Gå nu in i katalogen tools med en terminal, du hittar katalogen i Androids SDK som du packade upp tidigare. I den ligger ett program som heter adb som vi kommer använda (eventuellt går det att kopiera adb och ta bort resten av SDK:n, inget jag provat själv).

Prova nu om adb hittar din telefon med ./adb devices, du bör få tillbaka en träff som liknar “HT85FKF11362  device“.

Installera

För att installera azilink.apk på din telefon skriv ./adb install sökväg_till_apk_fil, t.ex. om filen ligger i tools-katalogen:

./adb install azilink.apk

Om allt har gått bra så är nu AziLink installerad på din telefon, starta nu programmet på telefonen och välj “Service Active”. Du kan hålla ett öga på status i programmet längre fram om du vill.

Anslut

Då jag inte använder NetworkManager så stäng av den med:

sudo /etc/init.d/NetworkManager stop

För att ansluta börja med att skapa en anslutning mellan telefonen och din dator med:

./adb forward tcp:41927 tcp:41927

För att sedan starta OpenVPN med konfigurationsfilen du laddade ner tidigare. sudo openvpn --config sökväg_till_azilink.ovpn, t.ex om azilink.ovpn ligger i tools:

sudo openvpn --config azilink.ovpn

Massa text kommer komma upp, efter ett tag bör du se “Initialization Sequence Completed” och det bör stå “Connected to host” under status på telefonen. Prova nu att surfa på nätet.

Avbryt och återanslut

För att avbryta, tryck control-c i terminalen. För att sedan ansluta vid ett senare tillfälle så så måste du köra följande kommandon:

  • sudo /etc/init.d/NetworkManager stop (bara om du har startat den igen, eller startat om datorn)
  • Aktivera AziLink på telefonen (om den inte är aktiverad längre).
  • ./adb forward tcp:41927 tcp:41927 (bara om du har loggat ut eller startat om datorn)
  • sudo openvpn --config azilink.ovpn

Återställ NetworkManager

Vill du få tillbaka NetworkManager igen så skriv bara:

sudo /etc/init.d/NetworkManager start

(eller starta om datorn)

Slutsats

När jag fick ner alla steg på svart och vitt så insåg jag att det blev ett par steg, eventuellt kan jag hacka ihop några skript för att förenkla installationen och hanteringen längre fram. Någon som känner att dom har nytta av det så säg till. Jag kommer nog dock för min egen skull skiva nått som gör det enklare (automatiskt) att använda när saker redan är konfigurerade.

Bloggar om: , , ,

4 kommentarer

  • Bloggar om jag rekommenderar

  • Feed

    Här hittar du bloggens olika feeds, är du osäker på vad du ska välja så välj Alla poster. Om du bara är intresserad av en speciell kategori så välj den i stället.

    Om

    Bloggen (nsg.cc) drivs av Stefan Berggren, jag skriver för mitt eget nöjes skull och håller mig mest till film/tv, teknik och saker som rör internet.