13 de janeiro de 2013

Rooting o Samsung Galaxy S2 GT-i9100

O Samsung Galaxy S2 é um dispositivo fantástico que também serve para fazer chamadas :-). Já o tenho há mais de um ano (com Android 4.0.3), mas desde há uns meses para cá que por vezes tem comportamentos muito estranhos:
  • vários reboots durante o dia,
  • consumo excessivo de bateria,
  • várias horas sem receber chamadas, mesmo aparentemente estando ligado ao operador (mas aqui, o problema também pode ser do operador).
De modo a tentar ver se estes comportamentos erráticos são resolvidos, há que instalar pelo menos um novo kernel, sendo para isso necessário seguir vários passos, o primeiro do qual é fazer o rooting do telemóvel.
Rooting gives you, "Superuser", access to your phone and its features. It allows the installation of the latest custom ROM's, kernels, modems, applications and features that are not available to un-rooted phones. All this process does is to replace the stock kernel, that comes with your phone, with a root kernel and does not affect any data stored on the phone.
Para tal, vou seguir as indicações em http://androidforums.com/galaxy-s2-international-all-things-root/482994-rooting-galaxy-s2-dummies-guide.html, e detalho os passos a seguir, no meu caso:
  1. Software necessário (para Windows Vista, XP ou 7):  7-zip (ou similar), Odin, Samsung Kies;
  2. Instalar o Samsung Kies e ligar o telemóvel através do USB para verificar se está tudo a funcionar correctamente (após reboot do Windows ficou a funcionar);
  3. Instalar o Odin (unzip);
  4. Download de Siyah v5.0.1;
  5. Obter a "Versão" do telefone, caso seja necessário reverter o rooting. No interface do telefone introduzir "*#1234#". A informação que obtive foi a seguinte: PDA: I9100XWLPD / PHONE: I9100XXLPW / CSC: I9100TMNLP2 / Build Info: Tue May 8 19:07:11 KST 2012
  6. Ir a Definições > Opções de programador e seleccionar "Depuração de USB";
  7. Desligar telemovel;
  8. Press and hold the following buttons... Volume Down + Home (centre hard key) + (lastly) Power. Continue to hold these buttons until your phone boots into the Warning! screen asking you to press volume up if you want to continue or volume down to cancel. Press Volume Up;
  9. Right click on Odin and select, "Run as Administrator", to open it. Ensure that the Samsung Kies programme is not running at the same time as this can cause problems;
  10. With Odin displayed on your PC screen, click on the PDA button and navigate to the Siyah .tar file;
  11. Make sure that Re-Partition is unchecked and that Auto Reboot, F.Reset Time and PDA are checked and that the PDA box now contains your .tar file;
  12. Connect your phone, still in Download mode, to the PC using the USB lead. If you have successfully connected to Odin you should see the ID:COM box in Odin turn yellow or light blue, (depending on which version of Odin you are using);
  13. In Odin click the Start button and you should see a green progress bar above ID:COM and shortly after that the box above it will turn green with the word PASS! in it and your phone will automatically reboot;
  14. Rooting finalizado;
  15. You can now disconnect from the USB lead and check your App drawer where you will find 2/3 extra app's have been added: CWM, SuperSU and STweaks. Aceder a SuperSU para verificar que a aplicação funciona em modo de root/administrador.

30 de dezembro de 2010

Fine-tuning do XBMC

I. Ao ver os filmes no XBMC apercebi-me que em algumas cenas mais rápidas aparecia uma zona, a meio do ecrã, com algum "ruído". Comecei por pensar que era por serem filmes de 1080p ou então por não estar a utilizar o melhor algoritmo de varrimento/syncing. Contudo, mesmo alterando o algoritmo, a mesma situação continuava a repetir-se, mesmo em filmes DVDRip que não têm esse problema quando visionados a partir do XBMC na antiguinha XBox.

Ao andar à procura do que poderia estar a ocorrer, parece-me que encontrei a solução - há que colocar o compiz sem efeitos visuais, conforme entrada #7 neste blog. Para tal, fazer System > Preferences > Appearance > Visual Effects e seleccionar "None".

Com esta configuração, o "ruído" foi totalmente eliminado.

II. Descobri nos logs do xbmc (~/.xbmc/temp/xbmc.log) que o xbmc dava o seguinte erro no  arranque: ERROR: Unable to load libcrystalhd.so.3, reason: libcrystalhd.so.3: cannot open shared object file: No such file or directory

Para ultrapassar este erro há que instalar o Crystal HD Video Decoder (Crystal HD Solution is a product offered by Broadcom. It is used to enable flawless playback of 1080p high definition video across a wide range of systems.) Para tal, fazer System > Administration > Synaptic Package Manager e seleccionar/instalar o libcrystalhd3.

17 de outubro de 2010

Instalar Ubuntu, XBMC e Boxee no ASRock Ion 330HT - parte III

E finalmente a instalação do Boxee. Limitei-me a seguir o que escrevi anteriormente.
Descobri que a Boxee Box já está à venda, conforme imagem ao lado.

16 de outubro de 2010

Acesso remoto por ssh ao ASRock Ion 330 HT

O remote desktop (conforme configurado em post anterior) está a funcionar bem, embora um pouco mais lento do que estava à espera. Além disso, o remote desktop obriga a inserir a passwd de root directamente no ASRock, o que por sua vez obriga a ligar um ecrã e um teclado a essa máquina - para quem quer trabalhar remotamente sem ter necessidade de ecrã (o ecrã é o televisor) e teclado, esta não é a melhor configuração.

O objectivo é passar a aceder por shell remota (via ssh) ao ASRock e a lançar também janelas X a partir do ASRock para a máquina remota (i.e., o display da aplicação é efectuado na máquina remota - que terá de ter servidor X -, e não na máquina em que está a ser executado).

O primeiro passo é instalar o servidor ssh (openssh-server) no ASRock:
1. Ir a System > Administration > Synaptic Package Manager e seleccionar ssh, keychain, openssh-server para instalar.
2. Para validar se o servidor ssh está a funcionar, fazer "ps -aef | grep sshd"
Informação adicional pode ser obtida na Techotopia.

O segundo passo, após se ter a garantia que o servidor ssh está a funcionar, é testar que a shell remota ssh funciona. Pode-se primeiro testar na própria máquina com "ssh localhost" e posteriormente a partir da máquina remota com "ssh «IP máquina remota» -l «user remoto»" (no meu caso, ssh 192.168.1.74 -l htpc). No final deste passo temos shell remota :-).

Finalmente, o último passo vai permitir efectuar o display remoto. Para isso seguir os seguintes passos simples:
1. Na máquina local, garantir que no ficheiro /etc/ssh/ssh_config existe a seguinte linha: ForwardX11 yes (ou ForwardX11Trusted yes)

2. De seguir aceder remotamente com "ssh -X «user@IP remoto»" (no meu caso, ssh -X htpc@192.168.1.74), sendo que o -X indica que se vai efectuar tráfego X pelo túnel ssh criado (caso seja um ForwardX11Trusted, utilizar -Y em vez de -X - de notar que o ForwardX11Trusted é ligeiramente mais rápida, já que ultrapassa os controlos de segurança do X11).
3. Para verificar que está a funcionar, na shell remota efectuar "xclock &", por exemplo.
Informação adicional pode ser obtida na Techotopia.

10 de outubro de 2010

Controlar o Ubuntu com o Wiimote no ASRock 330HT

Depois de no passo 2 de instalação do XBMC me ter apercebido que poderia controlar o XBMC com o Wiimote (Wii remote), fui indagar se seria possível utilizar o Wiimote no Ubuntu, como se se tratasse de um rato.
A resposta é positiva, com a excepção do ASRock não ter interface bluetooth (necessária para o Wiimote), mas que se resolve muito facilmente com um um bluetooth externo (por exemplo, um adaptador bluetooth USB da Anycom).

Para colocar o Wiimote a funcionar no Ubuntu, são necessários os seguintes passos (ver também aqui):
1. Ter um interface bluetooth activo.
2. Instalar (através de System > Administration > Synaptic Package Manager) o wminput, wmgui e lswm .
3. Para verificar se está a funcionar, arrancar o Wmgui (em Applications > Accessories) e seguir os passos indicados para a ligação.
4. Adicionar  o driver uinput aos modules, de modo a que arranque automaticamente no boot:
# sudo echo "uinput" >>/etc/modules
5. Para arancar o wminput automaticamente quando se arranca o computador, fazer:
5.1 criar um ficheiro na directoria /etc/udev/rules.d e colocar KERNEL=="uinput", MODE="0666"
5.2 Executar "lswm" para ver qual o endereço bluetooth do Wiimote - o resultado será qualquer coisa deste género: 00:1E:A9:70:FF:37
5.3  Adicionar no final de /etc/rc.local (antes do exit)  a seguinte linha "sudo /usr/bin/wminput 00:1E:A9:70:FF:37 -d 2> /tmp/logs_wminput &"
Neste caso estou a redireccionar o stderr para permitir validar o que se passa se existirem erros.
6. Reboot à máquina e ver se funciona
7. De notar que para o Wiimote se ligar é preciso carregar simultaneamente nas teclas 1 e 2 .