Archive for the 'android' Category


The Galaxy S3 faults and problems

I’ve had the Samsung Galaxy S3 now for a few months and am somewhat satisfied with it. Even more since I previously was using that XT300(and still am as a secondary phone) which is far from the leading phones.

So, as I said, I somewhat satisfied. The 4.1 update was nice; project butter, the more complex notifications and Google Now are interesting features which make Android a better OS.

The problem is that with new features there are always unexpected/undocumented/unwanted features, aka. Bugs. One of the most annoying is that now it takes a while to wake the phone, pressing home or power, a few seconds, just to make one of the strongest phones in the market appear to lag. Also now when waking up the phone with the home button, it actually does go to home, forcing you to go to the app that was in foreground at the time once more.

Since the last update the phone has been freezing and rebooting automatically more than I’d like, I’m thinking of wiping the phone and seeing if the problems continue. Starting of having thoughts of flashing another rom. I don’t really want that since new problems normally come up, like instability, bad hardware support(slow video playback, camera stops working and such problems) and recurrent rom changes until I finally find one that works more or less.

I’ve been having problems with my SanDisk 32GB Class 10 U1 microSDHC card, which was slowly dying on me. It started with my netbook (Asus Eee PC 1005HA) having problems writing to it (I/O problem with something about cluster chain). On the phone it worked fine for a while but I started noticing that the card kept remounting (notification icon flashing) whenever I woke the phone. After a while it started claiming that I had a blank card and would not mount.

My computer displayed only sdb and not sdb1, fdisk and mount complained that /dev/sdb had no medium.

Keeping it off for a few days and plugging the card back in fixed the problem for a few hours, after that the same problem occurred.

I’m currently in contact with SanDisk support and seems I will get replaced, perhaps. I bought the thing on eBay  from a reputable seller, but you know… they say EVERY memory chip on eBay is counterfeit.. hehehe.

I’m using a 1 GB just for kicks that I had lying around and the remounting problem does not occur with it. Hopefully it doesn’t die on me also.

I found an interesting post regarding a similar issue. I do not know if it is really true or not, and probably will void your warranty..

XDA:”SD Card Unexpectedly Removed” hardware issue solved

Other than that, I still have a few rants complaints about the casing and screen. I keep my phone almost always in my pocket and on the table. I hate those protective screens and cases. The make the phone bulgier and the touch screen gets a plastic feeling. Unfortunately the back cover of my phone has already a lot of small scratches which make a few spots already seem dull, instead of the reflective “pebble blue”. Around the headphone jack there are bits chipping off. And, of course, GorillaGlass 2 is not up to it’s name. There is already a small nick on the screen.

There is one thing that surprised me a lot in this phone. The GPS. It’s one thing I can’t complain about. Together with GLONASS, the lock on is very fast and works (somewhat) indoors too!

Here is a comparison of the Galaxy S2 and a Galaxy S3:

S2 vs S3

S3 on the left and S2 on the right

It’s not that I regret having paid a lot of money for the phone ( about $900 at the time), tough I’d thought I’d have a better experience with it.

Maybe next time I’ll learn and buy an iPhone 😛 not a chance!

That’s it for my rants… I have to get back to posting useful guides/texts.


Galaxy S3 access files in Linux

I’ve gotten myself a Samsung Galaxy S3 recently, and wanted to change the ringtones and upload some music.

The problem is, I use mainly linux (read: ‘I don’t have Windows’).

So what with the MTP/PTP?

Apparently libmtp and jmtpfs don’t work with the S3 very well. The error is something like:

$ mtp-detect
libmtp version: 1.1.3

Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note.
Found 1 device(s):
Samsung: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note (04e8:6860) @ bus 2, dev 21
Attempting to connect device(s)
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0

And since Kies is not available for linux (afaik) and running it on Wine is not really something I’m fond of, I had been searching for a way to access the phones files in a fast way.

There is a way, through rooting your phone, and installing an app, but my phone is new so I didn’t want that…yet 😀

Since the access would have to be fast to be of my liking, it would have to be through USB cable, not Wifi. So I would probably have to do sth with ADB (Android Debug Bridge, google it)..

There is an adbfs solution already there:

But it seems to be extremely slow. Adb was NOT designed for this kind of usage (continuous I/O access).

So I went on using an app I already knew, SSHDroid:

But doesn’t this create a SSH server for remote shell login? Yeah, kinda does… but it’s SSH! This means you can run SSHFS through it! And better, forward the listening port through ADB to your own machine, via USB cable, so no Wifi is needed.

Here are the steps:
1. Install SSHDroid and run it
2. With the phone connected via USB, test adb with

$adb devices

and see if it shows up
3. Forward the remote SSHDroid port to your machine with

$adb forward tcp:2222 tcp:2222

(2222 is the default SSHDroid port for none rooted phones)
4. Mount sshfs on your machine with:

$sshfs -p 2222 root@localhost:/mnt/ >mount point, like ~/Desktop/sshfs<

The default password should be admin, if you haven’t changed it. YOU SHOULD HAVE!
5. Done! On my Arch, nautilus did not want to unmount it, so I ran

$fusermount -u <mount point, like ~/Desktop/sshfs>

As always, don’t trust what I tell you to do, just some guidelines to be able to find a similar, if not the same, solution. Have in mind that the steps here are not idiot-proof, I expect that people at least be able to use google and the basics of linux, like installing sshfs.

UPDATE (2013-04-12):
I decided to try again using the S3 with MTP and installed go-mtpfs on Arch.

After adding me as owner to udev rule, it seems to work but has some bugs:

$ touch test
touch: failed to close ‘test’: Invalid argument

but the file shows up:

$ ls
BKP clockworkmod data DCIM Downloads LOST.DIR MOV07784.MPG Roms test Tools

$ cat test
cat: test: Invalid argument

removing it works fine…

mtpfs still doesn’t work… either with

$ mtfps ~/s3/


# mtfps -o allow_other /home/oliver/s3/

Just does nothing.

simple-mtfps seems to work fine, will test it further! (available in AUR from Arch or

Showing the devices:

$ simple-mtpfs -l
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Unable to open ~/.mtpz-data for reading, MTPZ disabled.1: SamsungGalaxy models (MTP)


$ simple-mtpfs –device 1 s3/
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).

Unmounting (obvious):

$ fusermount -u /home/oliver/s3

It is recomended not running simple-mtfps as root, as always… but nice that it doesn’t need to run as root 😀

Touching, displaying and removing files from both Phone and Card directories worked flawlessly.
Though I did not do a stress test on this method. Will try to pass some gigs later 😀

Seems jmtpfs is working too! Some time that I haven’t tried it. Another solution, I prefer simple-mtpfs though for more options, listing and specifying the device to be mounted.


And there goes my new N1…

A friend of mine was in the US and I ordered a Nexus One through eBay which he brought back. I spent USD$270 on the N1, which is less than I spent on my XT300. (Great…)

First experience was AWESOME. Having a phone with android 2.3.4, faster and smoother experience than the XT300, no more that tiny screen, far better camera(5MP) than the XT300 3MP with flash and autofocus.

Of course, first thing I did was to unlock the bootloader through fastboot and flash the Clockwork recovery mod onto it. The mod even supports the N1’s trackball!

Then cyanogenmod 7.10-RC1-N1.

So, I was using the phone happily but had been noticing that sometimes the touchscreen hick-upped and I had to turn the screen off and on again to fix it. Nothing serious. Until it got worse, that is.

The first, say, 3-5 touches go correctly… then it all goes downhill. Using the Nexus live wallpaper, which lights up when it’s touched, I was able to track down the discrepancy of the touch. The faulty touch gets detected 2-3 cm above the lower screen end, but just height of the position is affected, the horizontal position continues to be acquired correctly.

First I thought it could be the cyanogen mod, so I switched to the 7.0.3 stable version. At first it was less frequent but then it got worse again.

Then I tried the stock, which is 2.2.1(FRG83)
The problem also got better than worsened as before.
After the OTA update to 2.3.4 nothing changed.

I’ve read that using the phone with low brightness helps somewhat.
Powering it on, I can unlock it. I go to a blank screen, and start playing with the nexus’s live wallpaper.
The third click goes to 2-3cm above the lower bar. For a time I the clicks register at the right place. Then the desktop tries to change screens, flickers.
The most annoying problem is that this happens while I try to use the back button, or select something from a menu and it simply registers my click with the wrong height.

Now I’m trying to get someone to fix this.
Since I don’t know if the problem can be fixed simply by replacing the digitizer(capacitive sensor), I won’t do it myself(digitizer could be bought at eBay and youtube shows how to replace).

I didn’t find any seemingly reliable repair shop that should be able to repair the phone.

I emailed my country’s HTC, they told to contact Google. In the htc’s international website it says that they would provide customer service. They say they are not responsible for hardware not sold in my country.Great.

The eBay seller is not able to ship it Brazil(my country, yes). I have no one that is going or coming back from the US to perhaps make the switch for me, and even if I were able to get a replacement phone from the seller, does not mean it would not present the same problem.

I was thinking of sending it back for a refund. Pity I don’t have the box anymore, just the accessories…

All in all, the thing I learned was to never buy a frigging HTC phone again. Having high hopes for the Nexus Prime. It’s not that I don’t like the phone. I find it very comfortable to hold and nice looking. The gray, which I thought would bother me, does not. The trackball is great for navigating in the Clockwork mod recovery.

As it stands, I will try to send it back to the seller, with all accessories I have. He will send a new phone to a friend of mine in the US. Let’s see if this works out.


New addition: Arduino

W00t! My new and only arduino just arrived!

Ordered it from eBay(HK, cough cough) instead of buying it here in Brazil. Obvious choice because it would cost me 62.6 USD instead of the 15 I payed.

I bought the Duemilanove, discovered later I should have bought the UNO, which has the ATmega8U2 instead of the FTDI to communicate via USB. This is better because the ATmega8U2 is programmable, so you could make it act as any USB device instead of just a virtual com.

Getting started is ridiculous, in ubuntu at least. Just download the arduino software available at, extract and run.

Select your board in Tools, and other minor configurations, paste the LED Tutorial(also available at the official site) onto the sketch and upload. There! Your first arduino code running!(Note that the 2009 already comes with a LED connected to the pin 13, no need to connect another)

The interesting thing is, the USB-TTL used to program the arduino can be used to communicate with your code that’s running inside the arduino! When using this feature, the pins 0 and 1 (digital), which are named RX and TX respectively, are/can be used to connect a serial ttl device directly to the computer.

Why is this so nice? I bought a bluetooth TTL module which I plan to connect to the arduino and make it talk to android!


Further ramblings:
With the launch of the ADK(Open Accessory Development Kit for android, which is basically an arduino with various sensors) you can now connect it via usb on the android an do all sort of stuff.

With a non-official ADK arduino, you must make use of the USB-Host shield and use the new lib.

First, ADK should be able to be host OR client, depending on the power source. Don’t know if the USB-Host shield supports this and/or the android device must be able to provide power via the usb interface. I should look into it… someday.

Second, the arduino UNO allows for USB device ’emulation’. Is the USB-Host shield really needed or could the ATmega8U2 be programmed to act as an ADK device/proxy?



So, a new hope a new turn. I should be posting stuff about the arduino and what I’m trying to do with it in the not that near future.

Some other posts are coming along slowly, when I have the opportunity to write. Must stop procrastinating!


A Message From The Author


this blog was initially created to enable me to write my experiences and other informations I wanted to pass on to others and myself, if I ever need something again.
This has not changed.

The problem is, since I started writing about android and more specifically, the XT300 the number of visits of the blog have risen somewhat(in comparison of what they were before, the most visited post was about vBox and Vmware migration).

This is a problem since it tends to increase my guilt of not keeping the blog updated.

And it’s not that I don’t have some things to write about:
SESGC rom(SESGC_U3_10.10.0), which was in the motorola open-source projects in Sourceforge, apparently has the GPU activated, though it is mostly in chinese and does not have google integration.
-Back to hacking the XT300, since it now is recoverable with RSD(should test this first)
-My experiences with the Nexus One(vs the XT300) and details about the buggy touchscreen

If anyone has any other idea or suggestion, please tell me in the comments. Note that this blog is focused on specific knowledge, I try to consider all related info and warnings, but I’m not inclined to make very specific and n00b-proof guides.

Well, I feel a little better now, and you know now what’s to come.
This post is like TODO’s in src… not really useful but relieves the guild 😀


More dumping!

Since I got a brand new refurbished not-completely-working version of my very own phone, I started hacking it again.

And dumping it.

Just to remember how the partition table looks:

dev: size erasesize name
mtd0: 00700000 00020000 “boot”
mtd1: 0b400000 00020000 “system”
mtd2: 0dea0000 00020000 “userdata”
mtd3: 00a20000 00020000 “cdrom”
mtd4: 00060000 00020000 “misc”
mtd5: 00580000 00020000 “recovery”
mtd6: 02800000 00020000 “cache”
mtd7: 00060000 00020000 “fota_bbuf”
mtd8: 00060000 00020000 “fota_usd”
mtd9: 000a0000 00020000 “fota_bua”
mtd10: 000a0000 00020000 “fota_ua”
mtd11: 00600000 00020000 “fota_up”
mtd12: 00060000 00020000 “kpanic”

The cdrom partition contains a CD image, with the files:


and the config.ini content is:

version= 02.00.23


The contents of all the fota* partitions:

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

The misc partition:

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|
00000800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
00000c40 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|
00001800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
00020000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

kpanic partition content:

00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |…………….|

I dumped the system partition via cat but unyaffs complained it was not valid…

No idea why really… and the tar backup I created previously was good for shit… stuck in bootloop… perhaps this one does it… who knows..


My Phone Is Back From Repair!

As some might have noticed, I ended up bricking my phone after I tried to replace a lib with a similar one from a HTC phone, where the adreno renderer was enabled.

Why brick with something to simple? Perhaps I wouldn’t have if I knew somethings I know today, like the superoneclick tool which can give you adb root shell.

My problem was that without the graphical interface working(the new lib did not work at all), the superuser app could not grant super user for my su in adb shell.

I ended up trying to restore my system partition(tar to yaffs2) back to my device, but got stuck in bootloop. GREAT!

Frustrated, I erased everything on my phone(as in boot partition went bye bye). Thus I discovered that the bootloader resided in the boot partition. GREAT²!

Apparently it works similarly to the droids mbmloader scheme. In short, I had only the usb interface to the mbmloader(?) which said ‘MSM7225 Flash’ and I did not have/find any driver to. And so I took it to the technical assistance.

After 20 days I finally got a call that my phone was back, ready for retrieval. Managed to get there in the same day still, was promptly served at the store and got my phone back.

I turned it up, noted that it didn’t ask for my Google account. So I reset it and booted again. I turned up fine. So my problem had been fixed! Finally! The wait had not been in vain.

Upon arriving home, I started setting up my phone again to an usable state, like disabling the APN connectivity which my phone account is not activated for. To login to my Google account and configure the phone I would have to connect to my WiFi network. I configured it and… it did not connect! WHY?

I erased the connection and tried again. No success… I went to advanced settings, and noted the Mac Address: 11:22:33:44:55:66! That is NOT normal, for one, the first byte should be EVEN! 11 is not a valid first byte for a normal devices mac address. And 11:22:33 is not even Motorola’s mac address range. GREAT³!

I checked the /etc/wifi/nvram.txt file which configures the devices mac address, it looks fine…

And so it will come to pass… that I will have to go to the store againCRAP…

The XT300 came back updated to Baseband version: A306_U3_01.72.0
And version: SESLA_U3_01.72.0

AFAIK, the update is available in motorolas crappy website. Moto Helper/Motorola Software Update.

And z4root does not work anymore. Superoneclick does(tested).

I heard that the new version is faster. Would have to remove phone portal and flashback to confirm 😛

The Author

Older Ramblings


Linux User Sig