Android 2.3.6 upgrade fro Samsung Galaxy Y Duos
Posted by Luis Gallardo in Android, Uncategorized on 17/05/2013
A friend bough ta Samsung Galaxy Y Duos phone on Amazon but when it arrived to Venezuela she realized the phone doesn’t have with Spanish as Language, only English and other ones like Arabic. I told to my friend that maybe there was a ROM from other country which includes Spanish as language, and in deed I found a rom for Spain, so this article it’s for leaving the rom here and explain how to upgrade the phone to version 2.3.6
Considerations
- Remember that only you are responsible of what you do to your phone. Although I followed this method, I won’t take any responsibility if you brick your phone.
- Backup your current rom and any data. This will help you to go back if something goes wrong.
- Do this procedure with at least 75% of battery charge.
- This rom ONLY works on Samsung Galaxy Y Duous 6102.
Requistes
- Downlaod Odin 3.v1.84 which is compatible for this phone. Extraxt the content into a directory on your PC.
- Download the ROM 2.3.6. This is a Stock ROM, I mean, it has not operator’s branda. Extract the file on your PC. You must have three files: CSC_S6102_OXXLD3.tar.md5, MODEM_S6102_XXLE3.tar.md5 and PDA_S6102_XXLE3.tar.md5.
- Have installed the Windows drivers for Samsung phones.
Procedure
- Turn off the phone and turn it on in the Download mode. You can do that by pressing the power button + the central button + the volume up button at the same time. On this menu you must choose Wipe data factory reset and Wipe cache partition. Then you must choose the Reboot system now option.

- Turn off the phone and turn it on in the Download mode. You can do that by pressing the power button + the central button + the volume down button at the same time. You can do this buttons combination after rebooting your phone in the previous step.
- Launch Odin (better as administrator) and plug in the phone to the PC. If Odin recognizes the phone a yellow box should appear as it’s shown in the following picture:

- In Odin set the parameters as shown in the above picture, meaning, PDA=PDA_S6102_XXLE3.tar.md5, PHONE=MODEM_S6102_XXLE3.tar.md5, CSC=CSC_S6102_OXXLD3.tar.md5
- Click on the Start button to begin the upgrade. The time of the procedure is show just below the System box and the details in the Message box .
- When it has finished, the phone will reboot with the new ROM and Odin will show the message PASS:

Samsung Galaxy Tab P1000 with Android 4.2.1 – CyanogenMod 10.1
Posted by Luis Gallardo in Android on 13/05/2013
I have a Samsung Galaxy Tab 7 first edition, and due to Samsung no longer released updates for this device I couldn’t try Android 4.x.x. But I freind reminded me: go to the community and install a rom like CyanogenMod. In fact he gave me a link to the image that supposedly works for my tablet, but I couldn’t upgrade because it said it wasn’t compatible. Then I remembered HumberOS was basing its ROM on CyanogenMod so I decided to try it’s 10.1 version, so I put here all you need to install it on your SamsungGalaxy Tab P1000 (N o L).
Considerations
- Remember that only you are responsible of what you do to your tablet. Although I followed this method, I won’t take any responsibility if you brick your tablet.
- Backup your current rom and any data. This will help you to go back if something goes wrong.
- Do this procedure with at least 75% of battery charge.
- This rom ONLY works on P1000N / P1000L.
Requisites
- To have installed a Recovery capable of loading updates ( like CWM Recovery)
Installing
- Download and copy into internal o external sdcard’s root directory files cm-10.1-20121228-HumberOS-p1.zip, and gapps-jb-20130301-signed.zip. The first one is the ROM and the second one are the Googles’ apps for this Android version.
- Turn off the tablet and then turn it on in the CWM Recovery by pressing Power On + Volume Up buttons at the same time. When it boots you should see a screen like this one:
- Make wipe data / factory reset and wipe dalvik cache on the wipe menu.
- On the Install menu go to choose zip from internal sdcard (or choose zip from external sdcard if it’s your case). Choose the HumberOS-2.1.zip file to flash it to the tablet.
- Later you must install the Google’s apps. To do so you have to go one more time to choose zip from internal sdcard option and choose the file gapps-jb-20130301-signed.zip.
- Once installed, go to reboot menu and reboot the tablet by choosing reboot system. The tablet will boot with the CyanogenMod’s logo. It will last quite a few, don’t turn off the tablet. Be patient.
- When it had finished, follow the tablet’s settings wizard, and enjoy it!
IMEI no valid
Every time you reboot the tablet you’ll get a message saying your IMEI is not valid, bu all phone and tablet functions works correctly, even the 3G connection:
Daemontools or how to relaunch a process if it dies
Posted by Luis Gallardo in Linux on 06/05/2013

Maybe you have been in the situation where a process (program or service) in the system dies or ends abruptly and needs to be relaunched no matter what. You can try to monitor the process from time to time and restart it if it’s not found, but it could be a little complicated because you have to make a cron rule to check the process existence, filter the prceoss, etc. What if there would be a way to relaunch a process if it dies?…There is a way, it’s called daemontools which basically scan the process and relaunch it if it’s not detected.
Here I’ll show you how to install and configure this tool on Linux.
Installing daemontools
On Debian you can install daemontools as root by typing this:
root@raspberrypi: # aptitude install daemontools-run daemontools
For Debain spin-off like Ubuntu would be the same. On Red Hat and alike you must check if there is a package for this tool.
Setting daemontools
You have to make a directory for the service (program) you want to monitor. In this example I would use qbittorrent-nox, a bittorrent client that runs on the background (nox = no for X environment):
root@raspberrypi:~# mkdir /etc/service/qbittorrent-nox
Then you have to write and script that start the process. It must be called “run“. Use your prefered text editor, for instance vi:
root@raspberrypi:~# vi /etc/service/qbittorrent-nox/run
And add the call to the program. In this case I wanted to launch qbitorrent-nox as the user pi, so I invoked it with sudo:
#!/bin/sh sudo -u pi qbittorrent-nox
Finally change permissions to make it executable:
root@raspberrypi:~# chmod +x /etc/service/qbittorrent-nox/run
Checking the process with ps
You can check if the process is running the using ps command and filtering the output with grep:
root@raspberrypi:~# ps ax | grep qbit 3064 ? S 0:00 supervise qbittorrent-nox 3068 ? S 0:00 sudo -u pi qbittorrent-nox 3080 ? Sl 13:09 qbittorrent-nox 9926 pts/0 S+ 0:00 grep qbit
But there’s a better way to check if the process is running, using daemontools. By the way, daemon-tools means tools for handling daemons (programs or services).
Checking the process with daemontools
If you want to check if the process is running and how lomg it ha been up, use the svtat command passing the service directory, as show next:
root@raspberrypi:~# svstat /etc/service/qbittorrent-nox /etc/service/qbittorrent-nox: up (pid 3066) 205846 seconds
In this case, my qbittorrent-nox process (program/service) has been running for almost two days and a half.
Stoping the scan
If you need to stop scanning the process, for instance if you need to stop it for a while to change a setting, use the svc command with the following option:
root@raspberrypi:~# svc -d /etc/service/qbittorrent-nox
After this, check it one more time:
root@raspberrypi:~# svstat /etc/service/qbittorrent-nox /etc/service/qbittorrent-nox: down 2 seconds, normally up
Now the process won’t be checked for be relounched if it stops or dies.
Restaring the scan
In order to restart the scan, use the svc command as followed:
root@raspberrypi:~# svc -u /etc/service/qbittorrent-nox
One more time, check whether it’s running with svstat:
root@raspberrypi:~# svstat /etc/service/qbittorrent-nox /etc/service/qbittorrent-nox: up (pid 12805) 1 seconds
Reference: daemontoolsl
Where to put my Rasperry Pi?
Posted by Luis Gallardo in Linux on 15/04/2013
Due to I wanted to use my Rasperry Pi as a media center but I didn’t want to put lot of devices on my nightstand I came up with this idea. My Rasperry, a hard drive and a usb hub look like corronchos (loricariidaes) but they are behind the TV.
If you want to do something similar you can use stickers for holding photo frames (Command, Scoth, 3M, etc), and this way you can save some space and avoid to deal with a lot of devices on your room.
Installing SubDownloader on Raspberry Pi
Posted by Luis Gallardo in Linux on 10/04/2013
I’ve already install XBMC as my media center and also qbittorrent Web as my “download” center. But one piece was missing: a subtitle downloader program. I knew about subdownloader, so I decide to give it a try on my Rasperry Pi but it is not on Raspbian repos…what can you do?
Easy, just add Debian’s official repos for Sid and install it. Remember, Debian supports lot of architecture, even armhf. Let’s see how to do it…
Installing
- Edit file /etc/apt/sources.list to include sid’s repos:
deb http://ftp.debian.org/debian/ sid main contrib non-free
- Update the package list:
aptitude update
- Install SubDonwloader:
aptitude install subdownloader
- Edit file /etc/apt/sources.list to delete sid’s repos (it’s enough by commenting the line with #):
#deb http://ftp.debian.org/debian/ sid main contrib non-free
- Update the package list one more time:
aptitude update
Now you can run the program on your Rasperry Pi locally or using ssh…but keep in mind it would run a little slow. Enjoy it!
Reference: SubDownloader project page
Update DynDNS from OpenWrt
Posted by Luis Gallardo in Linux on 28/03/2013

This article shows how to update the DynDNS information with the IP supplies by your Internet provider from a router with OpenWrt, so every time your provider shanges the router’s IP, your DynDns doman will point to the new IP. Below are the stpes to follow with your OpenWrt
- Update the package list
root@fluffy:~# opkg update Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/Packages.gz. Inflating http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/Packages.gz. Updated list of available packages in /var/opkg-lists/packages.
- Install the last version of ddns-scripts:
Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/ddns-scripts_1.0.0-17_all.ipk. Configuring ddns-scripts. Collected errors: * resolve_conffiles: Existing conffile /etc/config/ddns is different from the conffile in the new package. The new conffile will be placed at /etc/config/ddns-opkg.
- Edit the configuration file /etc/config/ddns with your DynDNS account information:
config 'service' 'myddns' option 'enabled' '1' option 'service_name' 'dyndns.org' option 'ip_source' 'network' option 'ip_network' 'wan' option 'force_interval' '72' option 'force_unit' 'hours' option 'check_interval' '10' option 'check_unit' 'minutes' option 'domain' 'mydomain.dyndns.org' option 'username' 'myusername' option 'password' 'mypassword'
Update and debug
In order to updte the IP addrewaa the first time you can use the following script:
root@fluffy:~# /usr/lib/ddns/dynamic_dns_updater.sh myddns update_url=http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP] force seconds = 259200 check seconds = 600 time_since_update = 144 hours Running IP check... current system ip = 173.194.37.14 registered domain ip = 173.194.37.14 update necessary, performing update ... updating with url="http://myusername:mypassword%[email protected]/nic/update?hostname=mydomain.dyndns.org&myip=173.194.37.14 Connecting to members.dyndns.org (204.13.248.111:80) - 100% |*****************************************************************************************************| 19 --:--:-- ETA Update Output: good 173.194.37.14 update complete, time is: Sat Sep 24 00:01:14 VET 2011
In this example myddns is the name of the service I configured in file /etc/config/ddns.
Reference: OpenWrt DDNS Client
How to run Raspberry Pi from a USB hard drive
Posted by Luis Gallardo in Linux on 17/03/2013
I had been using my Raspberry Pi with a 4 GB – class 4 SD card Kingston until it decided to die (since I burn the image the first time that SD card was a little problematic). Because I didn’t have another 2GB or higher SD card, I decided to do a research to check if I could use the first partition as boot and another partition from an external USB hard drive of 320 GB. Effectively it can be done and I describe the steps on this article.
Raspbian Image
I decided to use the Raspbian image Raspbian 2013-02-09-wheezy-raspbian.img, but first I had to do a trick: dump the image to a 8 GB pen drive to be able separate the /boot partition and the remaining file system.
Dumping Raspbian to the pen drive
Just dump the Raspbian image as it were a SD card, but instead of using /dev/mmcblk0 do it on your pen drive:
# dd bs=4M if=/home/lgallard/Projects/RaspberryPi/2013-02-09-wheezy-raspbian.img of=/dev/sdb
Extracting the boot image
In order to extract the Raspbian’s boot image just dump the first partition of the pen drive:
# dd if=/dev/scb1 of=/home/lgallard/Projects/RaspberryPi/2013-02-09-wheezy-raspbian.boot.img
Extracting the operating system
Do the same to extract the file system where the operating systems resides:
# dd if=/dev/sdc2 of=/home/lgallard/Projects/RaspberryPi/2013-02-09-wheezy-raspbian.fsext4.img
Partition /boot on SD card
You will still need a SD card to boot your Rasperry, but it not longer need to be 2GB, in fact it could be much less, even 64 MB (I use a 1 GB I found). To do so you need to make a partition with GParted of about 60 MB as show in the next picture:
Now copy the image content of the first image you dumped previously:
# dd if=/home/lgallard/Projects/RaspberryPi/2013-02-09-wheezy-raspbian.boot.img of=/dev/sdb1
Once you have copied the data you must mount that partition and then edit the file /media/usb0/cmdline.txt (change /media/usb0 according to the mounting point), and put the following:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait
Here is important to put root=/dev/sda1 so the Raspberry uses the first partition of the external USB hard drive as the root partition, I mean, the “/” directory at boot.
Partitioning the external USB hard drive
Connect the hard drive to a PC and make the partitions as shown in the next picture. The first partition will content the file system and the second one will be used for saving data (you can define later that in the /etc/fstab of your the RaspBerry Pi).
File system partition “/”
Now you can dump the Raspian image you got to the first partition of the USB hard drive. To do so type this:
# dd if=/home/lgallard/Projects/RaspberryPi/2013-02-09-wheezy-raspbian.fsext4.img of=/dev/sdc1
Fixing the size partition
As you can see in the last picture, the partition was created with 9 GB, but if you mount the partition it will report only 2 GB because the Raspian image has that size by default. To fix this you must umount the partiton and and resize the file system:
# umount /dev/sdc1# e2fsck -f /dev/sdc1e2fsck 1.42.5 (29-Jul-2012) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information Raspbian: 66488/114688 files (0.1% non-contiguous), 346538/458240 blocks# resize2fs /dev/sdc1resize2fs 1.42.5 (29-Jul-2012) Resizing the filesystem on /dev/sdc1 to 2304000 (4k) blocks. The filesystem on /dev/sdc1 is now 2304000 blocks long.
After that check the available space. It should report something like this:
# df -h/dev/sdc2 285G 191M 271G 1% /media/Data /dev/sdc1 8.7G 1.3G 7.0G 16% /media/Raspbian
If you follow these steps, your Rasperry Pi will boot from a USB hard drive.
Final notes
- It’s a fact that a hard drive have a higher price than a SD card but you have to consider the later will suffer more, specially a file system with journal can kill the SD card, so it’s not crazy to think in an external USB hard drive.
- This hard drive and keyword are powered by the Rasperry Pi without problems. But if I connect something more, for instance a mouse, it can’t handle all and the device reboots.
- Using a hard drive can solve the SD card compatibility issue (recommended class 6 type). In my case I used a Sandsik of 1 GB, class 4 and it worked perfectly.
- Probably you can use dd and extract the /boot and file system partitions, but due I didn’t know the exact size and because I was a little lazy a decide to dump the Rasbian image on a pen drive and extract the images that way.
XBMC on Rasperry Pi with Raspbian
Posted by Luis Gallardo in Linux on 14/03/2013
If you want to install XBMC on your Raspberry Pi using Raspbian and got dependency problems, you can download it from this repo by adding the following line to /etc/apt/sources.list
# XBMC Repo deb http://archive.mene.za.net/raspbian wheezy contrib
Then update and install XBMC:
# aptitude update # aptitude install xbmc
After that, you can start it on boot and increase the priority level by editing file /etc/default/xbmc with these parameters:
# Set this to 1 to enable startup ENABLED=1# The user to run XBMC as USER=pi# Adjust niceness of XBMC (decrease for higher priority) NICE=-10
Remember to disable the LXDE or XFCE start on boot (you can ue rasp-config). Enjoy it!
Reference: XBMC for Raspberry Pi
Mobile repository on Debian
Posted by Luis Gallardo in Linux on 07/03/2013
If by chances you have a slow connection but in another place have a better connection (school, university, work, etc.) and have a computer with Debian which on the same architecture (x86, x64, etc.) with almost the same software selection, you can do this little trick to carry part of the downloaded packages:
Computer with good connection
Update and upgrade the computer with good connection:
root@dell~# aptitude update aptitude safe-upgrade
On Debian and alike distros the downloaded packages are stored in /var/cache/apt/archives, so you can copy the content of that directory into a pen-drive or external hard drive:
cp -r /var/cache/apt/archives /media/usb0
Computer with poor connection
Update the package list. Despite you have a poor connection , you still need Internet to retrieved the package’s information:
root@cupcake:~# aptitude update root@cupcake:~# aptitude safe-upgrade The following packages will be upgraded: bind9-host dnsutils evolution-data-server evolution-data-server-common gdm3 gnome-shell gnome-shell-common google-chrome-stable gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-libs host icedtea-netx icedtea-netx-common krb5-locales libbind9-80 libc-bin libc-dev-bin libc6 libc6:i386 libc6-dev libc6-i386 libc6-i686:i386 libcairo-gobject2 libcairo2 libcamel-1.2-33 libdbus-glib-1-2 libdns88 libebackend-1.2-2 libebook-1.2-13 libecal-1.2-11 libedata-book-1.2-13 libedata-cal-1.2-15 libedataserver-1.2-16 libedataserverui-3.0-1 libglib2.0-0 libglib2.0-0:i386 libglib2.0-bin libglib2.0-data libgssapi-krb5-2 libgssapi-krb5-2:i386 libisc84 libisccc80 libisccfg82 libk5crypto3 libk5crypto3:i386 libkrb5-3 libkrb5-3:i386 libkrb5support0 libkrb5support0:i386 liblwres80 libperl5.14 libproxy0 libssh-4 libxen-4.1 libxenstore3.0 locales multiarch-support openssh-client openssh-server perl perl-base perl-modules python python-minimal vim vim-common vim-runtime vim-tiny xserver-xorg-video-nouveau The following packages are RECOMMENDED but will NOT be installed: xserver-xephyr 73 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 103 MB of archives. After unpacking 16.6 MB will be used. Do you want to continue? [Y/n/?] n
Here you can see it needs to download 103 MB. Say no by typing “n”, and copy the packages from the pen-drive to /var/cache/apt/archives/:
# cp -R /media/C6A7-9F3C/archives/* /var/cache/apt/archives/
Now update the package list and try to upgrade the packages one more time:
root@cupcake:~# aptitude update root@cupcake:~# aptitude safe-upgrade The following packages will be upgraded: bind9-host dnsutils evolution-data-server evolution-data-server-common gdm3 gnome-shell gnome-shell-common google-chrome-stable gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-libs host icedtea-netx icedtea-netx-common krb5-locales libbind9-80 libc-bin libc-dev-bin libc6 libc6:i386 libc6-dev libc6-i386 libc6-i686:i386 libcairo-gobject2 libcairo2 libcamel-1.2-33 libdbus-glib-1-2 libdns88 libebackend-1.2-2 libebook-1.2-13 libecal-1.2-11 libedata-book-1.2-13 libedata-cal-1.2-15 libedataserver-1.2-16 libedataserverui-3.0-1 libglib2.0-0 libglib2.0-0:i386 libglib2.0-bin libglib2.0-data libgssapi-krb5-2 libgssapi-krb5-2:i386 libisc84 libisccc80 libisccfg82 libk5crypto3 libk5crypto3:i386 libkrb5-3 libkrb5-3:i386 libkrb5support0 libkrb5support0:i386 liblwres80 libperl5.14 libproxy0 libssh-4 libxen-4.1 libxenstore3.0 locales multiarch-support openssh-client openssh-server perl perl-base perl-modules python python-minimal vim vim-common vim-runtime vim-tiny xserver-xorg-video-nouveau The following packages are RECOMMENDED but will NOT be installed: xserver-xephyr 73 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,474 kB/103 MB of archives. After unpacking 16.6 MB will be used. Do you want to continue? [Y/n/?]
As you can see, now it needs 2,4 MB, much less than originally needed and it will last much less in downloading with a poor connection like the Venezuela’s 3G networks (put here your preferred mobile operator’s name).
Unboxing the Raspberry Pi
Posted by Luis Gallardo in Linux on 26/02/2013
My Raspberry Pi has arrived…and sooner than expected (they say in three weeks). I would say it just took one week to ship it to Venezuela. In my case I bought it at RS Raspberry Pi Store and the shipment was direct to Venezuela. And yes, IPOSTEL shipments do arrive.
Unboxing
Here I leave some picture of the unboxing…
I just need a SD card, which must be class 4…at the moment I continue experimenting with the QEMU image as I mentioned in my last post.























Planeta Linux
Follow me