tag:blogger.com,1999:blog-86485419287392230252024-03-13T10:38:00.573-07:00muthusubaMuthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-8648541928739223025.post-73456150872912566742017-06-15T10:44:00.002-07:002017-06-15T10:47:19.044-07:00Compiling Device Driver for Android (e.g. new wireless driver)<div dir="ltr" style="text-align: left;" trbidi="on">
This is a quick tutorial on compiling a device driver / kernel module for Android. For the purpose of the tutorial, I'll be using a wireless driver (mt7601u) and android-x86 as an example. But the steps should work with the standard/arm version as well. Just make sure to use the correct compiler/gnu tool chain.<br />
<br />
I had a USB wifi adapter like the one below which was mediatek's mt7601u based.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://ae01.alicdn.com/kf/HTB1I1EqRXXXXXcJXpXXq6xXFXXXZ/AT-Mini-font-b-USB-b-font-font-b-WIFI-b-font-Adapter-802-11n-g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="800" height="200" src="https://ae01.alicdn.com/kf/HTB1I1EqRXXXXXcJXpXXq6xXFXXXZ/AT-Mini-font-b-USB-b-font-font-b-WIFI-b-font-Adapter-802-11n-g.jpg" width="200" /></a></div>
Googling around I found that the support for this is present from version 4.2+ (Reference: <a href="https://groenholdt.net/Computers/RaspberryPi/MediaTek-MT7601-USB-WIFI-on-the-Raspberry-Pi/MediaTek-MT7601-USB-WIFI-on-the-Raspberry-Pi.html" target="_blank">MediaTek MT7601 USB WIFI on the Raspberry Pi</a> ). I also found multiple drivers for the same like, <a href="https://github.com/imZack/mt7601">https://github.com/imZack/mt7601</a> and <a href="https://github.com/kuba-moo/mt7601u">https://github.com/kuba-moo/mt7601u</a> . Since the kernel that I was using was 4.0.x, the later worked. We'll be using that going forward.<br />
<br />
There are two ways to get the kernel headers to compile the driver. The fool proof way is to compile the kernel that we are going to use with Android either just the kernel or the entire Android. Both methods has its own advantages. Another hackish way is to find the kernel headers closest to the kernel that we'd like to compile against. This should work mostly, but then...<br />
<br />
What I did was to get the Android-x86 entirely - in my case I wanted to get an entire custom android build. Follow instructions on <a href="http://www.android-x86.org/getsourcecode" target="_blank">Android-x86 - Get Source</a><br />
<br />
Once compiled clone the repo <a href="https://github.com/kuba-moo/mt7601u">https://github.com/kuba-moo/mt7601u</a>. You could try compiling on native linux for testing. Post that, edit the Makefile to force the path:<br />
<br />
<blockquote class="tr_bq">
KDIR = /home/muthu/android-x86/out/target/product/x86/obj/kernel</blockquote>
<br />
run (after making sure you are using the correct gnu tool chain if you are cross compiling for arm)<br />
<blockquote class="tr_bq">
make clean<br />
make</blockquote>
<br />
you have the required mt7601u.ko file. Push that to Android (which is rooted), and push also the firmware bin file (e.g. you can get it from <a href="https://github.com/imZack/mt7601/blob/master/src/mcu/bin/MT7601.bin">https://github.com/imZack/mt7601/blob/master/src/mcu/bin/MT7601.bin</a>) to<br />
<br />
<blockquote class="tr_bq">
/lib/firmware/mt7601u.bin</blockquote>
<br />
After which load the drivers (mt7601u depends on mac80211)<br />
<blockquote class="tr_bq">
modprobe mac80211<br />
insmod mt7601u.ko</blockquote>
<br />
Then insert the usb dongle to check if the wifi is working.<br />
<blockquote class="tr_bq">
ip addr<br />
ifconfig</blockquote>
<br />
<br />
<br />
<br /></div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com1tag:blogger.com,1999:blog-8648541928739223025.post-76916936219317057952017-06-04T21:34:00.000-07:002017-06-04T21:34:00.186-07:00Creating a custom data image / userdata.img for Android<div dir="ltr" style="text-align: left;" trbidi="on">
This is a small description / tutorial on how to create a custom data image for flashing along with Android files. This is usually done to preload settings (if you created one e.g. from <a href="http://muthusuba.blogspot.in/2017/06/customizing-changing-android-dpi.html">Customizing / Changing Android DPI settings</a> or would like to load other data related files / information)<br />
<br />
Get the required tools:<br />
<ul style="text-align: left;">
<li>Linux (easiest, if not get the necessary tools for Windows)</li>
<li>simg2img (from, e.g. <a href="https://github.com/anestisb/android-simg2img">https://github.com/anestisb/android-simg2img</a>)</li>
</ul>
<br />
<br />
Create an ext4 img file (in the example ~10GB)<br />
<blockquote class="tr_bq">
dd if=/dev/zero of=data.img bs=1M count=10240<br />
mkfs.ext4 data.img</blockquote>
<br />
Populate the data (sudo might be required)<br />
<blockquote class="tr_bq">
mount -o loop data1.img mnt<br />
// copy files to mnt<br />
umount mnt </blockquote>
<br />
Convert to simg<br />
<blockquote class="tr_bq">
img2simg data.img userdata.img</blockquote>
<br />
You can now use userdata.img to flash with fastboot and other flashers/installers.</div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-54002988995457390882017-06-04T07:55:00.001-07:002017-06-04T07:55:55.072-07:00Customizing / Changing Android DPI settings<div dir="ltr" style="text-align: left;" trbidi="on">
There are multiple ways in which the Android DPI Settings and other window manager settings can be changed.One common method is to use the wm helper, for example: <br />
<blockquote class="tr_bq">
wm density 160 </blockquote>
<br />
Another common method is to modify dpi settings using the prop file (/system/build.prop). This is mostly done by adding/modifying the following line<br />
<blockquote class="tr_bq">
ro.sf.lcd_density=160</blockquote>
<br />
in the build.prop file by editing it via fastboot, root, or helper apps.<br />
<br />
Both these have limitations, the first method may not work on all platforms and the second method doesn't work in newer android verified boot (verity).<br />
<br />
Given that the first method is preferable, because of its 'setting' kind of behavior and doesn't touch unnecessary system files. I am writing about a method of directly modifying the settings database to achieve the same result. There are many such android settings that can be edited / modified similarly. In any case, wm and similar tools help with editing the settings.<br />
<br />
The file that we are interested in is:<br />
<blockquote class="tr_bq">
/data/data/com.android.providers.settings/databases/settings.db</blockquote>
<br />
Pull this with various tools like fastboot. If Android is booted, one might need it rooted to access this file. [ Articles like <a href="http://highonandroid.com/android-roms/how-to-copy-files-over-to-your-android-in-a-bootloop-with-no-os-using-adb/" target="_blank">How to Copy Files Over to your Android In a Bootloop with No OS using ADB!</a> and <a href="http://lifehacker.com/the-most-useful-things-you-can-do-with-adb-and-fastboot-1590337225" target="_blank">The Most Useful Things You Can Do with ADB and Fastboot on Android</a> might help for this ]<br />
<br />
<div style="text-align: left;">
Insert / Update the dpi in settings - for this we'll use sqlite3. 'global' is the table that we are interested there, since this is part of the global settings in android.</div>
<br />
<blockquote class="tr_bq">
sqlite3 settings.db<br />
insert or replace into global values(null, 'display_density_forced', 160);<br />
.quit</blockquote>
<br />
Push the file to the same location where we picked it from and we are done.<br />
<br />
<br />
<br />
<br />
<br /></div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-40103018931203739542016-08-28T10:27:00.002-07:002016-08-28T10:28:52.440-07:00Make USB storage as a GRUB bootable device<div dir="ltr" style="text-align: left;" trbidi="on">
I normally have multiple operating systems on my machine. I thought I'd remove my old Ubuntu installation and use the partitions for other purposes. I knew I'd have GRUB issues, but thought it'd be relatively easy to find how to make a bootable USB pendrive. But, I was wrong!<br />
<br />
Seems like most installers use syslinux based boot loaders and grub kicks in later. So, getting hold off one wasn't easy. After searching and reading, I found some useful information (I'm missing exact links though :( ). But here's the brief steps to get a plain grub bootable device.<br />
<br />
(This is assuming you have access to some other Linux/GRUB based system)<br />
<br />
Assuming /dev/sdb1 is your usb (FAT32 or otherwise) device - BE CAREFUL TO PICK THE RIGHT DEVICE!<br />
<br />
[ Run as root / sudo as required ]<br />
<br />
[ Mount the device ]<br />
$ <b>mount /dev/sdb1 /media</b><br />
<br />
[ Create folders ]<br />
$ <b>mkdir -p /media/boot/grub</b><br />
<br />
[ Next copy stage1, stage2 files ]<br />
$ <b>cp /boot/grub/stage* /media/boot/grub/</b><br />
<br />
[ Start grub ]<br />
$ <b>grub</b><br />
<br />
[ Change grub root device - normally hd0 => sda and hd1 => sdb and so on...again be careful! ]<br />
grub> <b>root (hd1, 0)</b><br />
<br />
[ Setup as boot device ]<br />
grub> <b>setup (hd1)</b><br />
<br />
....some messages, statuses, warnings, etc...<br />
<br />
[ Quit ]<br />
grub> <b>quit</b><br />
<br />
It should be a bootable device now and should give the grub boot prompt...you can use that to boot Windows e.g.<br />
[ Again, use the correct number - it depends on your boot order ]<br />
<b>rootnoverify (hd1,0)</b><br />
<b>chainloader +1</b><br />
<b>boot</b></div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-57489569026568819012015-10-25T03:13:00.000-07:002015-10-25T03:13:37.473-07:00LibreOffice Conference 2015 (Aarhus)<div dir="ltr" style="text-align: left;" trbidi="on">
This year's <a href="https://conference.libreoffice.org/2015/the-program/" target="_blank">LibreOffice conference</a> was at <a href="https://en.wikipedia.org/wiki/Aarhus" target="_blank">Aarhus</a>, a growing beautiful city. I <a href="https://conference.libreoffice.org/2015/the-program/talks/development/#Interesting missing features in Impress" target="_blank">presented</a> around the ongoing work (specifically in Impress) and at Ericsson (EGI). Yes, my travel this year to the conference was sponsored by <a href="https://www.documentfoundation.org/" target="_blank">TDF</a>.<br />
<br />
<h3 style="text-align: left;">
Networking</h3>
A lot of interesting developers, translators, QA and other contributors to LibreOffice project made it to this year's conference (Credits to Sophie & TDF for making the additional efforts). This was something nicer.<br />
<br />
Of course, I was able to network with the new people as well as my friends from the project.<br />
<br />
<h3 style="text-align: left;">
Presentations</h3>
There were some interesting presentations around LibreOffice in the <a href="https://conference.libreoffice.org/2015/the-program/talks/development/#LibreOffice On-Line server" target="_blank">cloud</a> and Android - seemed like most were from <a href="https://libreoffice-from-collabora.com/" target="_blank">Collabora</a>.<br />
Missed the <a href="https://conference.libreoffice.org/2015/the-program/talks/development/#Upcoming PyUNO improvements in LibreOffice 5.1" target="_blank">PyUNO talk</a> :( just heard the last part, it was supposedly quite good - so waiting for the videos to watch it.<br />
Of course, the talks by RedHat, CIB and the others were really good as well.<br />
<br />
Other than the development talks, I enjoyed some talks about efforts around LibreOffice for government and migrations. And the celebrations around success at the <a href="http://www.libreitalia.it/" target="_blank">LibreItalia</a> (specifically around LibreOffice for the army in Italy) was really nice to know.<br />
<br />
I also enjoyed talks about language translations and support for LibreOffice. Though I couldn't attend many of these (because the simultaneous tracks), I'm hoping to catch these up from the video recordings.<br />
<br />
<h3 style="text-align: left;">
Pictures</h3>
Some pictures for your enjoyment.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-gHkbdLRn3Og/ViyqN4iP6GI/AAAAAAAABbI/ibb6oV73xIY/s1600/IMG_20150925_183817.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="237" src="http://4.bp.blogspot.com/-gHkbdLRn3Og/ViyqN4iP6GI/AAAAAAAABbI/ibb6oV73xIY/s320/IMG_20150925_183817.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OFKIdAh7sj4/Viyq1mTcPuI/AAAAAAAABbQ/p5r22fQiFiU/s1600/IMG_20150923_190205.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-OFKIdAh7sj4/Viyq1mTcPuI/AAAAAAAABbQ/p5r22fQiFiU/s320/IMG_20150923_190205.jpg" width="237" /></a></div>
</div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-38601662278545802702015-10-03T05:34:00.002-07:002015-10-03T05:35:18.876-07:00Solving "Unfortunately the process com.android.phone has stopped" problem (on Android Emulator)<div dir="ltr" style="text-align: left;" trbidi="on">
Not sure why, but, suddenly one of my Android Emulators started throwing out the "...com.android.phone has stopped..." message. Unfortunately, it continuously throws that popup over and over again...<br />
<br />
While googling around for the solutions - it seemed like there is some problem with the sqlite database of one of the telephony applications.<br />
<br />
Logcat shows something like:<br />
<blockquote class="tr_bq">
E/AndroidRuntime( 1293): android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 327686 to 393222: /data/data/com.android.providers.telephony/databases/telephony.db</blockquote>
<br />
To solve this some posts suggested clearing cache, unfortunately navigating to the menu was troublesome (and didn't really work for me), so I instead used:<br />
<blockquote class="tr_bq">
$ adb shell</blockquote>
<blockquote class="tr_bq">
$ pm clear com.android.phone</blockquote>
<blockquote class="tr_bq">
$ rm /data/data/com.android.providers.telephony/databases/telephony.db</blockquote>
<blockquote class="tr_bq">
(I guess, pm clear com.android.providers.telephony should work as well instead of the last command) </blockquote>
<br />
<br />
References:<br />
<blockquote class="tr_bq">
<a href="http://www.redips.net/android/emulator-phone-stopped-unexpectedly/">http://www.redips.net/android/emulator-phone-stopped-unexpectedly/</a> </blockquote>
<blockquote class="tr_bq">
<a href="http://www.redips.net/android/emulator-phone-stopped-unexpectedly/"></a><a href="http://stackoverflow.com/questions/16879346/the-process-com-android-phone-has-stopped-unexpectedly-please-try-again">http://stackoverflow.com/questions/16879346/the-process-com-android-phone-has-stopped-unexpectedly-please-try-again</a></blockquote>
</div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-83805508465216406672012-01-30T05:23:00.000-08:002012-01-30T05:27:34.600-08:00Ultimate PDF Converter (on Cloud)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">Introduction</span> <br />
<br />
I wrote an android app and related server scripts for converting documents to pdf for viewing on the phone. The app can be downloaded <a href="https://market.android.com/details?id=com.muthusuba.updfconv" target="_blank">here</a>.<br />
I wrote this for a few reasons including experimenting with AdMob, so caution: the app is an adware.<br />
<br />
I have cleaned up the sources and uploaded it to google code.<br />
The server scripts can be found <a href="http://code.google.com/p/updf-server/" target="_blank">here</a><br />
and the android application can be found <a href="http://code.google.com/p/updf-android/" target="_blank">here</a><br />
<br />
<span style="font-size: large;">Some Technical Details</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-NuzmaW8_R3Y/TyaXtVLhBMI/AAAAAAAAAUc/VxfUfGzVK_A/s1600/updf-android.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="340" src="http://1.bp.blogspot.com/-NuzmaW8_R3Y/TyaXtVLhBMI/AAAAAAAAAUc/VxfUfGzVK_A/s400/updf-android.jpg" width="400" /></a></div>
The flow is normally like the following:<br />
<ol style="text-align: left;">
<li>Android Application sends the file to the server using the upload.php script</li>
<li>upload.php generates a unique key for this file and passes on the information to the app as well as updates the database</li>
<li>The python converter polls this database and calls the converters (libreoffice/openoffice) and updates the database with success/failure</li>
<li> The app now queries the getfile.php to get the file or the queue number it is in.</li>
<li>The file (converted pdf file) is then downloaded to /sdcard </li>
</ol>
<span style="font-size: large;">TODOs</span><br />
<ol style="text-align: left;">
<li>Change the irritating 'open with' to may be 'share with' rather </li>
<li>Conversion of pdfs into maybe images for directly viewing from the app rather than opening it with another pdf viewer.</li>
<li>Conversion of other files: e.g. audio files into wave screenshots or something (?)</li>
<li>Robustness of the scripts and app needs improvement</li>
</ol>
Any contributors, please? </div>Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com1tag:blogger.com,1999:blog-8648541928739223025.post-53593883564212174362011-10-10T08:56:00.000-07:002011-10-10T08:56:23.639-07:00GUI Based Builder for LibreOffice<div dir="ltr" style="text-align: left;" trbidi="on">
I have always found building LibreOffice to be tricky - especially on cygwin/Windows. I always felt having a GUI based tool for detecting build environment, downloading dependencies, cloning source and building it would reduce the pain in looking for the <i>howto</i> documentations. This will also reduce the barrier for a lot of people to contribute - specifically for the Windows platforms.<br />
<br />
This being on my todo list for a long time, I, as a <i>consultant</i> with <a href="http://www.suse.com/">SUSE</a>, got an opportunity during SUSE's hackweek to work on this. I wanted to make it cross platform and also learn something new in that process. All put together, I picked: Python (I already know python scripting) and pygtk (for the UI) + glade.<br />
Here's the first version: <a href="https://github.com/muthusuba/libobuilder">https://github.com/muthusuba/libobuilder</a><br />
<br />
Note that, it requires loads of work before it becomes usable. Right now, default config parameters, cloning and building works. Major part of dependency checking & installing needs to be written, which would depend upon one single word - <i>contributions</i> - in whatever form - code, review, comments....Even just editing the UI XML with <a href="http://glade.gnome.org/">Glade</a> and making it better is appreciated.</div>
Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-91192692651356246692011-07-11T03:29:00.000-07:002011-07-15T23:32:49.986-07:00SMS Based chat (anonymous, free and IRC types)This is a log of the application that I created as part of the <a href="http://www.txtweb.com/">txtweb</a>'s App2Fame contest. txtweb is an application platform based on the SMS technology. So, all phones irrespective of whether being smart or not can access all the apps and their features and hence become smart. The only down side being that the features are dependent on what txtweb's applications provide.<br /><br />For submitting to that contest, I was cracking my brains for some ideas to submit, when I thought of google maps helper app (<a href="http://www.txtweb.com/index.php?option=com_myblog&blogtype=application&blogid=5949&show=5949.html&Itemid=42&fromDetail=true"><span style="font-style: italic;">@gmaps</span></a>) , which I created in one day and submitted. But, later I endedup finding out that there was a similar app <span style="font-style: italic;">@route</span> which was already submitted and in use for a long time.<br /><br />Well, then I thought of a chat application, this time I wanted to first search the apps present there (- found out that the search feature of txtweb could have been a lot better, thou). I found a few apps, but they really don't do much. Just dummy apps created with some text and doing really nothing. So, here it goes, another day and submitted it just before the deadline (<a style="font-style: italic;" href="http://www.txtweb.com/index.php?option=com_myblog&blogtype=application&blogid=6197&show=6197.html&Itemid=42&fromDetail=true">@sirc</a>).<br /><span style="font-size:180%;"><br />Key Features:</span><br />1. Very similar to an IRC client/server. Only that there is only one server.<br />2. Supports <span style="font-style: italic;">channels</span> concept.<br />3. Use nicks rather than phone numbers - makes in anonymous, just like the irc.<br />4. Chat with multiple people<br />5. Private chat with a single person (based on nick)<br />6. Create private channels - these are starting with a '.' (dot) and will not be listed publicly.<br /><br /><br /><span style="font-size:180%;">So, here's how to use it:</span><br />SMS these '<span style="font-weight: bold;">bold</span>' text to +91 92433 42000 (India)<br /><strong>@sirc @join [channel] <channel></channel></strong> - E.g. @sirc @join bangalore<br />Joins a channel (and leave your current channel). This will create a channel if there is none found.<strong><br /><br />@sirc @nick [nick] <newnick></newnick></strong> - E.g. @sirc @nick superman<br />Choose a nick for yourself.<strong><br /><br />@sirc @leave</strong><span style="font-weight: bold;"><br /></span>Leave a channel - Stops messages from this app as well until you join another channel or someone private messages you.<strong><br /><br />@sirc @[nick] [msg] <message></message></strong> - E.g. @sirc @superman come and help!<br />Send a private message to @nick<strong><br /><br />@sirc @listpeople</strong><span style="font-weight: bold;"><br /></span>Lists the people currently your present channel (provides all the nicks).<strong><br /><br />@sirc @list</strong><span style="font-weight: bold;"><br /></span>Lists all the channels present (Does not list channels starting with a dot (.)<br />Channels starting with a dot are private channels.<br /><br /><strong>@sirc @help<br /><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></strong>Shows the help. Mostly the contents here ;)<br /><strong><br />@sirc <message style="font-weight: bold;"> </message></strong><span style="font-weight: bold;">[msg]</span> - E.g. @sirc anybody knows kannada?<br />Sends a message to everybody on the channel. You need to join one first using @sirc @join <chan><br /><br /><span style="font-size:180%;">Try it out today!!!</span><br /><br /></chan>Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-74908388209422518682011-03-25T07:40:00.000-07:002011-04-01T03:37:24.577-07:00The so called Hidden Features of LibreOffice 3.3There are quite a few non-noticeable features in LibreOffice 3.3.x. I thought of sharing a few here...<br /><br /><span style="font-weight: bold;font-size:130%;" >Batch conversion</span><br />Especially useful when you want to work with command line or invoke conversion from another program or convert set of files to a given format (batch process).<br /><br />Equivalent commands: <span style="font-weight: bold; font-style: italic;">oocalc</span> (and its set), <span style="font-weight: bold; font-style: italic;">localc</span> (and its set), <span style="font-weight: bold; font-style: italic;">soffice.bin</span><br />Assuming the current working directory is the libreoffice installation directory<br /><br />The following command would convert all the *.doc files to *.pdf files<br /><span style="font-style: italic;">./soffice.bin -convert-to pdf:writer_pdf_Export -outdir /home/user/output /inputfiles/*.doc</span><br /><br />[PS: wildcards wouldn't work correctly on windows specify the file names (list) instead.]<br /><br /><span style="font-weight: bold;font-size:130%;" >Forcing input filter while opening via command line</span><br />Whenever we open a file using the command line, we woul<span style="font-size:100%;">d</span>n't generally have a choice to select the input file type (e.g. xlsx MSO 2007 or xlsx MSO 2010 or anyother). We would be at the mercy of the program to auto detect correctly. Use the following option to force opening the file with a given filter.<br /><span style="font-style: italic;">./soffice.bin -infilter="Calc Office Open XML" file.xlsx</span><br /><br /><span style="font-weight: bold;font-size:130%;" >Combining the above two</span><br />oh well...I guess by now it should be easy ;)<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br /><span style="font-style: italic;">./soffice.bin -help</span><br />List of output filters: <a href="http://opengrok.libreoffice.org/xref/filters/filter/source/config/fragments/fcfg_writer.mk">http://opengrok.libreoffice.org/xref/filters/filter/source/config/fragments/fcfg_writer.mk</a><br />List of input filters: Search with the above example filter or <a href="http://opengrok.libreoffice.org/search?q=PreferredFilter&project=filters">http://opengrok.libreoffice.org/search?q=PreferredFilter&project=filters </a><br /><br />Watch out for more such features...Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com4tag:blogger.com,1999:blog-8648541928739223025.post-11723377882673367782009-06-30T02:09:00.000-07:002009-06-30T06:24:47.952-07:00BSD, Linux, OpenSolaris Filesystem Encryption - FSESimilar to my <a href="http://muthusuba.blogspot.com/2009/06/dvd-catalog-cddvd-management-software.html">DVD Catalog project</a> ( :) ), I have been searching for a good (transparent) filesystem encryption for my open source operating system(s).<br /><br /><a href="http://en.wikipedia.org/wiki/ZFS">ZFS </a>is a very good option but the encryption module is currently in beta. (And ofcourse, with the usual license problems)<br /><br /><br />So, I am planning to write a transparent filesystem encryption module for using with any exisiting filesystems and OSes (Unix-based).<br /><br /><strong><span style="font-size:130%;">== The Design ==</span></strong><br /><br /><strong>User view:</strong><br />The user mounts a harddrive (say, /dev/sda1) as an encrypted drive (say, /dev/esda1). And will use any of the exisiting filesystems to format and mount this /dev/esda1 onto a mount-point.<br /><br /><br /><strong>Developer's view:</strong><br /><a href="http://4.bp.blogspot.com/_PI7uyL6gGd0/SkoOxRyWQlI/AAAAAAAAAFU/7yYfm1-ZfQ8/s1600-h/fse.JPG"><img id="BLOGGER_PHOTO_ID_5353107346834211410" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 101px" alt="" src="http://4.bp.blogspot.com/_PI7uyL6gGd0/SkoOxRyWQlI/AAAAAAAAAFU/7yYfm1-ZfQ8/s320/fse.JPG" border="0" /></a><br />The module reads/writes from the actual harddrive (or another loopback FS) by encrypting/decrypting the data. For data I/O the module exports a device, say, /dev/esda1. Which is emulated as a harddisk for the existing filesystem modules.<br /><br /><br />This would be very similar to a loop-back filesystem with encrpytion.<br /><br /><br /><br /><span style="font-size:130%;"><strong>== But, Before I start ==</strong></span><br />Unlike DVD Catalog project, I would like to get options and opinions before starting this project.<br /><br />1) Are there any exisiting projects like this or very similar to this?<br />2) Are there any other alternatives/file systems?<br />3) Are there any other better designs?Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-83941700793552164652009-06-21T09:11:00.000-07:002009-06-21T10:03:41.146-07:00Financial Statements Analysis of MindTree Limited.<span style="font-weight: bold;font-size:130%;" >Brief on MindTree</span><br />MindTree is a global IT Solutions Company specializing in IT Services, Product Engineering, Infrastructure Management and Technical Support (IMTS), Independent Testing and Knowledge Services that was started in 1999. (Source: <a href="http://en.wikipedia.org/wiki/MindTree">http://en.wikipedia.org/wiki/MindTree</a>)<br /><br />MindTree's key development centers are in Bangalore, Chennai and Pune. It has offices in over 15 locations spread around the world. MindTree crossed USD 100 million in revenues in April 2006<sup id="cite_ref-0" class="reference"><a href="http://en.wikipedia.org/wiki/MindTree#cite_note-0"><span></span><span></span></a></sup>; the fastest Indian IT company to achieve the target.<br /><br /><br /><span style="font-weight: bold;">Few Strategies (listed in Annual Report)</span>,<br />* New service offerings<br />* Leveraging existing client relationships<br />* Targeting large clients & expansion in non-US markets<br />* Innovations and new technologies<br />* Leverage both organic and in-organic growth<br />* Strengthen "MindTree" brand<br /><br />A long list of good initiatives to defend (or attack) the recession. This could be the 2nd major recession MindTree is facing - the first one being the dotcom burst (~2001).<br /><br /><br /><span style="font-weight: bold;font-size:130%;" >FSAS</span><br />MindTree's stock has been on a rise since the announcement of results. It was volatile till a few days back and has started tracking NSE/BSE index movements very closely recently.<br /><br />This saturday & sunday I decided to analyze MindTree's Annual Report to know if I should invest now or wait. Here's the report: <a href="http://muthusuba.0fees.net/downloads/mindtree-08-09.pdf">My website </a>or <a href="http://www.docstoc.com/docs/7532644/Financial-Statement-Analysis-of-MindTree-Limited-%282008-09%29">docstoc<span style="text-decoration: underline;"> </span></a>or <a href="http://www.scribd.com/doc/16636303/mindtree0809">scribd</a><br /><br /><span style="font-weight: bold;font-size:130%;" >In brief</span><br /><br />Current market price: <span style="color: rgb(255, 0, 0); font-weight: bold;">425</span><br />Target price: <span style="color: rgb(255, 0, 0); font-weight: bold;">~200</span><br />Trade Call: <span style="color: rgb(255, 0, 0); font-weight: bold;">Sell</span><br />Investment Risk Level: <span style="color: rgb(255, 0, 0); font-weight: bold;">High Risk</span><br />P/E: <span style="color: rgb(255, 0, 0); font-weight: bold;">~53</span><br />Gross margins: <span style="color: rgb(0, 153, 0); font-weight: bold;">32.54%</span><br />Net margins: <span style="color: rgb(255, 0, 0); font-weight: bold;">3.55%</span><br />ROE: <span style="color: rgb(255, 0, 0); font-weight: bold;">6%</span><br /><br /><br />For details refer the <a href="http://www.docstoc.com/docs/7532644/Financial-Statement-Analysis-of-MindTree-Limited-%282008-09%29">report</a>.<br /><br />Please let me know your opinion, suggestions, advices, ...in the comments section of this post. Thank you.<br /><br />PS: If you want to re-publish the report contact me :)Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com2tag:blogger.com,1999:blog-8648541928739223025.post-25288608593305809092009-06-10T02:56:00.001-07:002009-06-10T03:36:42.981-07:00DVD Catalog - A CD/DVD Management SoftwareI was looking for an open source CD/DVD Management software for a long time. Didn't really find one - either I was looking at wrong places or searching for wrong key worlds (I guess this should be evident from the way I have named my creation :P).<br /><br />I also wanted to see how good/bad <a id="aptureLink_Pt3lWpOOTb" href="http://en.wikipedia.org/wiki/Qt%20%28toolkit%29">QT SDK/framework</a> is - heard its like write once and compile/run everywhere types.<br /><br />So, I combined these two wishes and this summer I finally decided that I would start this project (that would be some 2 or 3 weeks back) and put in a few days of effort on it. Since my initial experiences with SQLite3 were <span style="font-style: italic;">really</span> good, I chose to use it for this project as well. Last weekend I got it working with basic features up and running (like index a directory and search the database).<br /><br />Try it out @ <a id="aptureLink_fyNGZshYiU" href="http://code.google.com/p/dvd-catalog">http://code.google.com/p/dvd-catalog</a> Just extract and run the dvd-catalog.exe file<br />I only have win32 (Windows 32bit/64bit environments) binaries. I will be adding the Linux binaries in a few days, but I sure need help for adding the OS X binaries - I don't have an Apple MAC to build it on.<br />You can also download the source code there - I have released them as GPLv3. Don't complain on the code quality - its <span style="font-style: italic;">learning qt</span> types :)<br />There are, of course, NO 'security-layer' or 'sql sanity checks' done. Hopefully I will do a few data sanity checks, but security layer, I guess is not required - since this is supposed to be a "personal" CD/DVD Management software.<br /><br />Do comment on the improvements, code, ideas, ...I will sure consider them for implementation/correction/...<br /><br />I guess, I need a few more features like:<br />0. Few improvements - like commit() only after all the entries are added to the database. I guess even though I am <span style="font-style: italic;">actually</span> doing this, I see commit happening after ever add of the file. This would be a high priority.<br />1. Adding a single line entry (will be useful to add DVD Movies) into the database<br />2. Changing ratings<br />3. Indexing only directories (i.e directory names and not files)<br />Further,<br />4. Viewing reviews from internet (say imdb or wikipedia or software/games reviews) for a particular file/file type.<br /><br />Also, let me know if you want to contribute to this project - I can add you to the list.<br /><br /><br />Few Screenshots:<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PI7uyL6gGd0/Si-I0iI21eI/AAAAAAAAAFM/zLlHz5fFJ6Y/s1600-h/dvd2.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 283px; height: 320px;" src="http://2.bp.blogspot.com/_PI7uyL6gGd0/Si-I0iI21eI/AAAAAAAAAFM/zLlHz5fFJ6Y/s320/dvd2.JPG" alt="" id="BLOGGER_PHOTO_ID_5345641718810596834" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PI7uyL6gGd0/Si-I0VeZ4WI/AAAAAAAAAFE/L_U8iEYVkIE/s1600-h/dvd1.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 283px; height: 320px;" src="http://4.bp.blogspot.com/_PI7uyL6gGd0/Si-I0VeZ4WI/AAAAAAAAAFE/L_U8iEYVkIE/s320/dvd1.JPG" alt="" id="BLOGGER_PHOTO_ID_5345641715411312994" border="0" /></a>Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com1tag:blogger.com,1999:blog-8648541928739223025.post-59158771715386158872009-06-01T23:26:00.000-07:002009-06-03T03:31:50.102-07:00Logical AND & OR confusionsI have seen many people getting confused with logical AND and logical OR - especially when writing programs. This used to happen to me during my initial learning days with C programming.<br /><br />Debug this:<br />if(string!=NULL || string != empty)<br />{<br /> /* Use the string to do some work, say */<br /> print(string);<br />}<br /><br />The above condition will always execute - beware it might also cause an application crash.<br /><br />What most programmers expect to do is:<br />if(string==NULL || string == empty)<br />{<br /> /* Skip the operations */<br />}<br />else<br />{<br /> /* Use the string to do some work, say */<br /> print(string);<br />}<br /><br />Which actually should have translated to:<br />if(!(string == NULL || string == empty))<br />{<br /> /* Use the string to do some work, say */<br /> print(string);<br />}<br /><br />Which can be coded as:<br />if(string != NULL <span style="font-weight: bold;">&&</span> string != empty)<br />{<br /> /* Use the string to do some work, say */<br /> print(string);<br />}<br /><br />Note the logical AND.<br /><br />If you think you get confused with AND/OR, don't worry you are not alone.<br /><br />PS: This is similar to the rule ~(p or q) == (~p and ~q)Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-41115320463217466292009-05-26T01:23:00.000-07:002009-05-26T05:58:44.959-07:00Linux and GPL...Move to OpenSolaris, FreeBSD and/or OpenBSD?I know this topic is discussed over and over again. [But clarifications and hence a kind-of detailed reasons listed on (say) kernel.org would be helpful, I think.] Anyways,<br /><br />I read<br /><a id="aptureLink_Qdw5VnZrM8" href="http://www.kernel.org/pub/linux/docs/lkml/#s1-19">http://www.kernel.org/pub/linux/docs/lkml/#s1-19</a><br />(note: The link to the message wasn't working - I am guessing its the normal licensing.txt or might be <a id="aptureLink_brcg5uL7Vh" href="http://www.atnf.csiro.au/people/rgooch/linux/docs/licensing.txt">this</a>)<br />and<br /><a id="aptureLink_nit5fTxQ8M" href="http://kerneltrap.org/Linux/NDISwrapper_and_the_GPL">http://kerneltrap.org/Linux/NDISwrapper_and_the_GPL</a><br /><br /><br />I have a lot of confusions over the reasons for why a GPLONLY API needs to be there. Use of GPLONLY define implies some kind of differentiation between kernel modules which are GPL and "other"licenses.<br /><br />[Just for the sake of argument, what prevents the same kind<br />of extension (of differentiation) to GPL programs/applications<br />and other programs?]<br /><br />Linus, himself says it is not good to <span style="font-style: italic;">prevent </span>non-GPL driver code in Linux. There is a nice argument <a id="aptureLink_YKjnnpisFl" href="http://thread.gmane.org/gmane.linux.kernel/475654/focus=475796">here</a>, <a id="aptureLink_qG0odYMcuL" href="http://technocrat.net/d/2006/12/13/12143/">here</a> and of course <a id="aptureLink_5Qs543rFr2" href="http://www.atnf.csiro.au/people/rgooch/linux/docs/licensing.txt">here</a>.<br /><br /><blockquote><pre>I think you really just disagree on what is derived, and what is not.<br />Richard is very extreme: _anything_ that links is derived, regardless of<br />what the arguments against it are. I'm less extreme, and I bet you're even<br />less so (at least you might like to argue so).<br /></pre></blockquote><blockquote></blockquote>I liked this argument of Linus,<br /><br /><blockquote><pre>The silly thing is, the people who tend to push most for this are the<br />exact SAME people who say that the RIAA etc should not be able to tell<br />people what to do with the music copyrights that they own, and that the<br />DMCA is bad because it puts technical limits over the rights expressly<br />granted by copyright law.<br /><br />Doesn't anybody else see that as being hypocritical?<br /><br />So it's ok when we do it, but bad when other people do it? Somehow I'm not<br />surprised, but I still think it's sad how you guys are showing a marked<br />two-facedness about this.<br /></pre></blockquote><br />This is exactly what I feel about GPLONLY symbols too.<br /><br />If Linus was convinced by his fellow-team-mates (so called) to add such a define, why shouldn't some one convince him to make GPLONLY system calls for user space programs as well? The reason given in the <a id="aptureLink_0msOen6IkC" href="http://www.kernel.org/pub/linux/docs/lkml/#s1-19">FAQ</a> is:<br /><br /><blockquote>To allow choice for developers who wish, for their own reasons, to contribute code which cannot be used by proprietary modules. Just as a developer has the right to distribute code under a proprietary licence, so too may a developer distribute code under an anti-proprietary licence (i.e. strict GPL). </blockquote>Choice?<br /><br /><br />Many people, including me, like freedom without any frills. GPL license adds too many frills to it. GPL (as an extreme example) is like saying: take these seeds (for free) do what ever you want with it, but if you grow a tree using it (with whatever hard work it might take) you need to give it back to others (for whatever reason they might need it for) - for free, as in freedom, of course.<br /><br /><br />Whatever it (the reasons) might be, what's the guarantee that, the so called exceptions (like the one that allows non-GPL code running in user space) be taken out by our Linux kernel friends? Or for that matter limited to a few legacy APIs only?<br />What is the guarantee that GPLONLY define will not be put all over the kernel? Maybe that's the idea...<br /><br />Unless a standardized API (for drivers i.e.) is published and maintained (20yrs of kernel developement and not a hint towards it), there probably is no guarantee...We just have to hope (and pray), Linus is not hijacked!<br />Note: I am not saying it should never change, but it should be more or less standard across minor version changes. And if it can be done with GPL drivers (not extenstion of the kernel) then it should be possible with non-GPL drivers.<br /><br />At least wrappers, like the one use by nVidia drivers, will go away.<br /><br /><br />Because of all the above reasons (and more), I am seriously contemplating on moving to <a id="aptureLink_OSiSR9s9Lk" href="http://en.wikipedia.org/wiki/OpenSolaris">OpenSolaris</a>, <a id="aptureLink_d9DoLvRLF3" href="http://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a> and/or <a id="aptureLink_XeKpLqbQCF" href="http://en.wikipedia.org/wiki/OpenBSD">OpenBSD</a>.<br /><br />I have already registered for a <a id="aptureLink_UlAB0uQ0ti" href="http://www.opensolaris.org/os/TryOpenSolaris/">free CD</a> of OpenSolaris and will be downloading FreeBSD and OpenBSD. Read on for updates on my experiences with those...<br /><br />-----<br /><br />In comparison to GPL, LGPL is far better, BSD licenses are too weak (but in some sense the best), do we have something in between? Can't I ask for both pista as well as strawberry milkshakes? Is that the reason why I like <a id="aptureLink_xZ5yx3debS" href="http://mall.coimbatore.com/icecreams/sp_casataball.jpg">cassata ice creams</a>?<br /><br /><br />PS: I am not anti-GPL.<br /><br /><br /><blockquote></blockquote>Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com3tag:blogger.com,1999:blog-8648541928739223025.post-17195917088104736702009-05-10T23:17:00.000-07:002009-06-03T03:33:14.889-07:00Financial Statements Analysis of Sun Microsystems, Inc.A long weekend (May 1 to 4) spent on the analysis and report making of the financial statements of Sun - Here's the <a href="http://muthusuba.0fees.net/downloads/sunmicrosystems.pdf">report</a>.<br /><br />What I found was, <a href="http://www.sun.com/">Sun</a> is quiet a good company - except that we cannot say what would happen in the recession! Sun's major weaknesses "not enough R&D" (not that they are not spending enough, but there are no major outcomes) and "many (already established) competitors" (especially in the newer segments in which they have entered).<br />They do have an "open source" edge and of course the myriad products/services they can offer.<br /><br />We have to see what would happen in the new <a href="http://www.sun.com/third-party/global/oracle/">Oracle-Sun merger</a>, how many of these open source products would Oracle want to maintain? Does oracle even care about them (even though oracle has <a href="http://oss.oracle.com/">its own</a> open source projects)? Lets wait and watch...<br /><br /><br />[Forgive me for too many brackets :) ]Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com2tag:blogger.com,1999:blog-8648541928739223025.post-7144746618142385852008-12-30T02:12:00.000-08:002008-12-30T02:27:32.075-08:00WeatherizationWas reading a <a href="http://www.nytimes.com/2008/12/30/us/30weatherize.html">news article</a> on <a href="http://en.wikipedia.org/wiki/Weatherization">weatherization. </a>It talks about how weatherproofing the houses could save a lot of energy costs and also create lot of jobs! I do agree on the part that it would create jobs and save energy, but I am confused on how it will save money.<br />Think about it, we go and fix our houses for weatherproofing by spending lot of money (<span style="font-style: italic;">finding</span> charges, <span style="font-style: italic;">service</span> charges and <span style="font-style: italic;">fixing</span> charges!) and then how long will it stay 'weatherproofed'? For a day, a week, a month? The article says if you spend $4000 you could save <span style="font-style: italic;">up to</span> $1000 a year on energy costs. It of course does not talk about the rate at which you might want to recheck/re-weatherproof!<br />I think, as an economics student, it really does not make economic sense to spend money for weatherproofing (- unless you have a very old house in the first place, in which case weatherproofing would actually be cheaper in a way).<br /><br />BUT, it sure makes an environment sense!<br /><br />PS: My personal view anyway :)Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-10172030349350771092008-09-18T05:11:00.000-07:002008-09-18T05:18:48.202-07:00QtopiaI updated 2007.2 version of the openmoko software. But then, I started facing lot of issues with the phone, like:<br />1. Wasn't displaying incoming call (just rings and vibrates)<br />2. When it displays the incoming call window - pressing pick-up button would do nothing!<br />3. No proper suspend, etc...<br /><br />I then gave FSO (and 2008.8) a try - it was cool to use, except that I still had the problem no. 2! So, I moved to qtopia...in one word, it is just awesome. Many applications in one single package and no problems as of now. I have used it for a couple of days now and it works just great! Media player works off the shelf and I have 3 games now :)<br /><br />Every one having a Neo/Freerunner should give qtopia a try...you will sure love it!Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-10585071820973139572008-08-25T07:30:00.000-07:002015-10-25T03:16:08.370-07:00WiFi issue when I updated OpenSuSE 10.3 to OpenSuSE 11:<br />The NetworkManager used to connect and immediately disconnect the network link, the solution (taken from one of the comments in other blogs) was to replace the dhclient.conf with the updated one (dhclient.conf.rpmnew)! How dumb!<br /><br />NeoFreerunner:<br />1. MediaPlayer works fine now - doesn't get locked and the sound works even after standby.<br />The soultion:<br />2. New problem, since I had to move to the old version of the neod, neod is not working properly: doesn't allow me to pick up calls sometimes and I end up restarting X.<br /><br /><br />Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-17620497785946643952008-08-08T01:33:00.000-07:002008-08-08T01:44:30.190-07:00Neo Freerunner continued...More experiments with the Neo.<br /><br />Finally got to know how to increase the volume in the media player (the currently available theme).<br />The volume control is not-at-all intuitive. (For the benefit of people who don't know: Use you finger on/near the 'speaker' icon to move up(as in repeatedly) to increase and down to decrease). This could have been better if it was horizontal (because the icon looks that way - at least i could have found that out 'accidentally').<br /><br />GPS is installed - but is still not working (see: <a href="http://wiki.openmoko.org/wiki/GPS_Problems">http://wiki.openmoko.org/wiki/GPS_Problems</a>). I need to experiment more on it.<br /><br />The other problem is that the 'ring tone' vanishes when it goes into standy - so the phone just vibrates when there is a new call. To make it clearer: The first time the phone goes into standy - it turns off the ring tone and the screen click sound.<br /><br />Installed the gallery (photo viewer) - the screen is just too good for a phone. I like it! *grin*<br /><br />Next: Check if there is a good text editor or viewer. Since file-manager is good enough - why use a editor like 'vi' to view the text/code files? Some gui based text editor would be good to have!<br /><br />College:<br />College is going on smooth - with assignments and different kind of people to work with :)<br />Teachers are just marvelous. But I sure have lot of reading to do...lets see how it goes...Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com0tag:blogger.com,1999:blog-8648541928739223025.post-15765099509089579862008-08-07T01:12:00.000-07:002008-08-20T05:42:15.318-07:00Openmoko Neo Freerunner reviewI am reviewing the phone as a 'developer edition' phone rather than a 'mass market' phone.<br />28th July 2008: Received my Neo Freerunner<br /><br />Awesome phone.<br /><br />It had only the basic installations - phone, contacts and messenger. I luckily had OpenSuSE 10.3 on my hp tablet. Connected it to laptop and bang I had the usb-ethernet up and running. Hmm, the package didn't have any kind of manual! (Supposed to be a developer's edition - expects people to have an internet connection). But, since I joined TAPMI (MBA college) and I was just settling down, I had no internet connection.<br /><br />I then somehow managed partial net connectivity (I could access net from the Labs at college) - but couldn't use the phone and internet together. I read through the <a href="http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner">Getting Started</a> pages.<br /><br />Connecting thru USB (in brief):<br />1. Connect the usb cable to the phone.<br />2. Change laptop (or host) ip to 192.168.0.x (where x not equal to 202 or 0 eg. 192.168.0.1)<br />3. ssh to phone (IP of phone: 192.168.0.202): ssh root@192.168.0.202<br />4. Password: None (just press enter)<br />5. Done!<br /><br />One of the first problems that I had: The phone moves to standby even when on call after about 5min! I haven't yet found a work around (except to remember to touch the screen every < 5min).<br />The next problem was to increase the volume of the mic - People complained about the volume when I called them.<br />Changing volume (in brief):<br />1. Edit the .state files in /usr/share/openmoko/scenarios/<br />2. Find Mic2 - change its volume level to 2 or 3 (I am using 3 - I don't have to struggle to speak :) )<br />3. Or run: alsamixer<br />3.1 Use left/right arrows to move to Mic2 and use up/down arrows to increase/decrease the volume.<br />3.2 (May have to re-set the volume levels every now and then, if used alsamixer) or I am doing something wrong!<br /><br />I then download the packages from http://buildhost.automated.it/OM2007.2/packages/armv4t/<br />and started installing media player, gps, filemanager, calendar (dates), calculator, debug tool...<br />Some packages like gpe-icons, gpsd-conf are missing. I had to download those from the dailybuild directories (eg. http://buildhost.openmoko.org/daily-feed/om-gta02/ ).<br /><br />Installing packages:<br />1. (host) scp *.ipk root@192.168.0.202:~/<br /> Or to the card: root@192.168.0.202:/media/card/<br />2. (phone) opkg install *.ipk<br />3. Any error: You may have to download more ipks :)<br /><br /><br />Problems - not yet solved:<br />1. Mediaplayer volume is too low.<br />2. GPS is still not up (gpds-conf - yet to be installed)<br />3. Phone goes into standby even while on call.<br /><br /><br />The phone on the whole is a very good development/experimental platform. Has u-boot to solve the messing up problems.<br /><br />Hardware issues:<br />1. The touch screen is at a different level from that of the package - accessing corners are a problem.<br />2. The brightness of the screen might be lesser if used on a sunny day!<br /><br />Overall rating: 4/5<br /><br />....More to follow as I continue to experiment with the phone! Keep reading...Muthu Subramanian Khttp://www.blogger.com/profile/02530522992348279352noreply@blogger.com1