Month: March 2010

Debugging keypad on Android

I’m trying to get i.MX51 keypad (mxc_keyb.c) working on Android, but any key works as it is defined on my keymapping[] array.

Fortunately there is an useful command on Android called “getevent”, it is similar to Linux “evtest” program.

Testing it on my target I can see this message when I press HOME key:

# getevent                                                                      
add device 1: /dev/input/event1                                                 
  name:     "mxc_ts"                                                            
could not get driver version for /dev/input/mouse0, Not a typewriter            
add device 2: /dev/input/event0                                                 
  name:     "mxckpd"                                                            
...
/dev/input/event0: 0001 0066 00000001                                           
/dev/input/event0: 0001 0066 00000000                                           

Now pressing same key on real keyboard connected to my board I can see:

# getevent                                                                      
add device 1: /dev/input/event1                                                 
  name:     "mxc_ts"                                                            
could not get driver version for /dev/input/mouse0, Not a typewriter            
add device 2: /dev/input/event0                                                 
  name:     "mxckpd"                                                            
could not get driver version for /dev/input/mice, Not a typewriter              
add device 3: /dev/input/event3                                                 
  name:     "USB keyboard"                                                      
could not get driver version for /dev/input/mouse1, Not a typewriter            
add device 4: /dev/input/event2                                                 
  name:     "USB keyboard"                                                      
/dev/input/event2: 0004 0004 0007004a                                           
/dev/input/event2: 0001 0066 00000001                                           
/dev/input/event2: 0000 0000 00000000                                           
/dev/input/event2: 0004 0004 0007004a                                           
/dev/input/event2: 0001 0066 00000000                                           
/dev/input/event2: 0000 0000 00000000

Then I found the culprit: our driver (mxc_keyb.c) is not generating Misc and Sync events:
0004 0004 0007004a = type 4 (Misc), code 4 (ScanCode), value 7004a
and
0000 0000 00000000 = type 0 (Sync), … don’t care

Converting your G1 phone to ADP1

This is a very old news, but I think if is interesting to people willing to use G1 to update its kernel and Android file system completely.

Let me explain: Google/T-Mobile sold G1 phone completely locked. Then people discovered how to unlock the filesystem (“root” it), but anyone could compile Android system (kernel + rootfs) and flash it into phone. Then Google decided to create a ADP1 phone for people willing to develop Android firmware (instead just Android applications).

Hopefully some guys discovered how to remove security from its bootloader, then you can upload an unsigned firmware with no problem:

http://www.gotontheinter.net/content/engineering-bootloader-its-not-just-ttuttle-anymore

Note: Motorola released Droid on USA with bootloader unlocked to load unsigned firmware, but release Milestone (same Droid hardware) on Europe but with bootloader locked. I’m not sure about Cliq (USA) e DEXT (Latin America), but I think the same apply.

Cade o controle de qualidade da Nokia?

É triste ver como algumas empresas, pela ânsia de vender mais, não têm um controle de qualidade adequado e nem respeitam o consumidor.

Desta vez isto aconteceu com uma grande empresa, que até então eu considerava acima de qualquer suspeita, a Nokia.

Em setembro do ano passado eu ganhei 5 celulares Nokia 1661 (na verdade eu paguei pela mobilia da minha casa e os celulares vieram como brinde) e resolvi doa-los para meus familiares (irmã, cunhado, tia e sogra) e fiquei com um para mim.

Esta semana eu pedi para minha sogra trazer o celular que estava com ela para que eu levasse até uma loja Claro para desbloquear, já que agora o desbloqueio gratuito virou lei. Para minha surpresa ela nem tinha aberto a caixa do celular, então eu abri a caixa e coloquei a bateria que veio junto.

Notei que a tampa do celular não fechava com facilidade, era preciso fazer muita força para conseguir fechar, achei estranho pois o meu eu consegui abrir e fechar usando apenas uma mão. Depois de fechar vi que a tampa ficou uma pouco estufada:

Tampa da bateria estufada (bateria BL-5CA)

Tampa da bateria normal (bateria BL-4C)

Achei que poderia ser algum problema na bateria, mas o aparelho ligou sem problema (a bateria conservara a carga por mais de 5 meses).

Resolvi abrir a tampa da bateria do meu celular e comparar com o da minha sogra. Para minha surpresa as baterias eram diferentes. A bateria do meu celular era o modelo BL-4C e a do celular dela era uma BL-5CA:

Bateria correta: BL-4C

Bateria incorreta: BL-5CA

Sinceramente não com consigo acreditar que isto tenha sido apenas um equivoco. Creio que o modelo de bateria correto estava em falta e ela tentou usar um modelo “compatível”, mas que não é adequado para este aparelho.

Estão gostaria de pedir que vocês verificassem se o seu Nokia 1661 veio com a bateria errada (BL-5CA) e comentasse aqui. É inacreditável que uma empresa grande como a Nokia possa agir desta maneira.

Atualização: Por sugestão do meu amigo Marcelo Barros (Forum Nokia Champion), entrei em contato com a Nokia e eles pediram que eu levasse o celular até uma autorizada mais próxima. Então entrei no site da Nokia e localizei a autorizada “Global Express”, enviei um email para o responsável (André) e recebi uma rápida resposta dizendo que poderia levar o aparelho e a bateria para eles analisarem. Hoje aproveitei o horário do almoço e fui até a autorizada, que fica perto da empresa onde trabalho. Passei em duas atendentes, a primeira a me atender apenas pegou o aparelho e pediu para uma moça que levasse o aparelho até o André. Após uns 5 minutos a moça voltou e pediu para que eu pegasse outra senha para ser atendido por outra atendente que faria o cadastro de reparo. Após fazer o cadastro, fui até a sala do André para fazer a troca da bateria e explicar o problema. Foi uma conversa rápida e agradável, ele me explicou que empresas como Nokia, Motorola, e outras, não venderiam um celular com uma bateria errada se a bateria correta estivesse em falta. Enfim, tudo resolvido, agora estou convencido que não foi um erro proposital da Nokia.