Celulares Motorola e cartões flash - 100% solucionado!

Iniciado por Janus, 18 de Novembro de 2005, 12:09

tópico anterior - próximo tópico

Janus

Salve, lista!

Recentemente adquiri um celular Motorola E398, que funciona também como mp3 player, mas tive alguns problemas na utilização dele com o Ubuntu.

O celular vêm acompanhado com um cartão de memória de 128mb, e é através desse cartão que são transferidas as músicas para o celular. Quando ligo ele ao computador utilizando o cabo USB o sistema consegue reconhecer e acessar os arquivos normalmente. O problema é que quando transfiro arquivos para o dispositivo o sistema não exibe a transferência em tempo real, o que é um problemão pois aí não sei identificar se o arquivo foi transferido com sucesso, se falhou, etc. Então. fica minha primeira pergunta:

1) Alguém aqui sabe como manusear cartões de memória no linux fazendo com que ele exiba as transferências em tempo real?

Pois bem, posteriormente instalei o moto4lin para acessar o sistema do celular e me deparei com outro problema: meu computador reconhecia o celular somente como dispositivo de armazenamento (22b8:4810) fazendo com que o driver cdc-acm não o detecte e não crie um dispositivo /dev/ttyACM0 para conectar com o moto4lin. Resolvi isso tirando o cartão flash do celular, que então foi identificado como 22b8:4901 (ou seja, como celular em modo P2K). No entanto, ainda assim não consigo me conectar no celular usando o moto4lin (e, mesmo que pudesse, não conseguiria acessar o cartão de memória). Sendo assim, minha segunda pergunta:

2) Alguém aqui já conseguiu usar o moto4lin com sucesso?

Muito obrigado :D
Um abraço a todos!

Janus

Ah sim, nota que esqueci de mencionar: o dispositivo /dev/ttyACM0, quando conecto o celular sem o cartão de memória, aparece e some segundos depois :}

Janus

O bug com o cdc_acm continua, mas consegui obter um considerável progresso com relação ao cartão de memória!
Descobri que o fato do sistema não mostrar o progresso da cópia do arquivo é porque o sistema é bugado. O bug está registrado no bugzilla e já possui previsão para correção: http://bugzilla.ubuntu.com/show_bug.cgi?id=13169

No entanto, é possível perceber a transferência através do comando sync, digitando-o após copiar um arquivo para o cartão de memória. Isso fará com que o programa fique em estado de espera até o arquivo ser copiado completamente.

Janus

Consegui finalmente botar o moto4lin pra funcionar!

Fiz o seguinte:
Configurei o telefone para usar o padrão "Conexão Data/Fax" para evitar que o cartão de memória seja utilizado ao se conectar o cabo USB. Feito isso, conectei o cabo USB ao computador e percebi (através do comando lsusb) que ele respondia sob o ID 22b8:4902, ou seja: como modem USB. Isso fazia com que o módulo cdc_acm do kernel automaticamente criasse o dispositivo /dev/ttyACM0, permitindo que o celular pudesse ser usado como um modem normal. Feito isso, abri o moto4lin e acabei descobrindo o problema: quando o programa conectava ao telefone, ele automaticamente fazia com que o celular mudasse para o modo P2K, o que fazia com que o módulo cdc_acm desligasse o acesso ao /dev/ttyACM0 e o ID fosse mudado para 22b8:4901. Percebido isso fui nas preferências do moto4lin e ajustei as seguintes configurações:
ACM Device: /dev/ttyACM0
AT Vendor ID: 22b8
AT Product ID: 4902
P2K Vendor ID: 22b8
P2K Product ID: 4901

Isso faria com que o programa conectasse ao celular usando o dispositivo /dev/ttyACM0, usasse os comandos AT para mudar o modo do celular para P2K e logo em seguida estabelecesse acesso pela porta usb ID 22b8:4901 (P2K). Consegui assim ter acesso ao celular como root.

Como retoque final, adicionei a seguinte linha ao final do arquivo /etc/udev/rules.d/020_permissions.rules:
KERNEL=="ttyACM[0-9]*", NAME="ttyACM%n", GROUP="usb", MODE="0660"
Criei então um novo grupo chamado "usb" e adicionei meu nome de usuário como pertencente ao grupo. Isso permitiu meu acesso ao celular como usuário normal.

Finalmente, sucesso! :D Espero que isso possa ajudar alguém no futuro!

Dimas

Cara eu estava com o mesmo problema que você. Não conseguia acessar meu Motorola C650 de maneira alguma. Minhas configurações estão igual a de você, meu celular ta sendo reconhecimo com a mesma ID que a sua: ID 22b8:4902.

Fiz todos os passos que você descreveu, inclusive criei um grupo chamado usb e adicionei meu usuário a ele. O problema é que o Moto4Lin está configurado desta maneira:
ACM Device: /dev/ttyACM0
AT Vendor ID: 22b8
AT Product ID: 4901
P2K Vendor ID: 22b8
P2K Product ID: 4901

Quando vou trocar o AT Product ID para 4902 eu dou OK mas ele não salva a nova configuração. Volto a acessar as configurações e ele novamente está configurado como 4901. Alguma idéia do que pode estar acontecendo?

Obrigado!
Dimas Gabriel
digabriel[at]gmail.com

"Liberdade é a questão, a única e exclusiva questão."

Janus

Eis uma boa pergunta, Dimas. O mesmo aconteceu comigo no início!
Experimente rodar o moto4lin como super-user dando um sudo moto4lin e experimente. :D Se não funcionar, experimente novamente como usuário normal. Uma dessas tentativas deve funcionar.
Não se esqueça de dar um sudo chmod u+s /usr/bin/moto4lin, como o autor do programa recomenda.

Dimas

Putz não acredito. Eu tava rodando ele como super-usuário. Foi só rodar normal que funcionou. Essa foi boa hehehehe! Valeu ai cara!
Dimas Gabriel
digabriel[at]gmail.com

"Liberdade é a questão, a única e exclusiva questão."

dookie

Como que vocês instalara o moto4lin ???
Eu achei uma página do Debian e comecei a baixar os .deb.. mas um deb pedia outro que pedia outro..
Não tem um apt pra ele?
Valeu

Janus

Citação de: "dookie"Como que vocês instalara o moto4lin ???
Eu achei uma página do Debian e comecei a baixar os .deb.. mas um deb pedia outro que pedia outro..
Não tem um apt pra ele?
Valeu

Eu instalei a versão CVS, dookie. E a recomendo! O moto4lin ainda está muito novo para ser disponibilizado como pacote deb.

Se quiser:


sudo apt-get install cvs libqt3-mt-dev zlib1g-dev libusb-dev checkinstall
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/moto4lin login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/moto4lin co -P moto4lin


Ignore qualquer mensagem de erro que possa aparecer no segundo comando. A partir daí, uma pasta chamada "moto4lin" aparecerá no diretório. Então:


cd moto4lin
qmake
make
sudo checkinstall


Isso fará com que o programa seja instalado e, com o último comando, criará um pacote .deb automaticamente para facilitar a remoção futura do programa (e evitar possíveis quebras do synaptic/apt). :D

Nick

Muito bem! Mas e quem usa GNOME?
Essas dicas ai sao para quem usa KDE, pois reparei que o mesmo é compilado com o QMAKE. Mas e a galera do GTK? Pelo o que eu li no sourceforge, eles ainda nao tem suporte ao GTK. Tenho um V220e estava louco pra ver o bichinho funfando no meu Gnome. Existe algum outro modo de fazer as transferencias jogos/dados/imagens?
Obrigado.

cambe

Segui todas as dicas acima. O programa abre reconhece o celular como sendo 22b8:4902 Motorola PCS E398 GSM Phone
mas quando clico em mostrar os arquivos do telefone o programa diz que o fone não está conectado. O que pode estar dando errado?

cambe

Por isso solicito ajuda de alguém mais experiente. Segue abaixo tela do terminal para conferencia.
carlos@carlinhos:~$ lsusb
Bus 002 Device 002: ID 03f0:7304 Hewlett-Packard DeskJet 35xx
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 22b8:4902 Motorola PCS E398 GSM Phone
Bus 001 Device 002: ID 1019:0c55
Bus 001 Device 001: ID 0000:0000
carlos@carlinhos:~$ sudo moto4lin
Form1
PhoneMan
New mode: 1
P2kProc::doConnect()
New mode: 0
doActConnect
doActConnect
P2kProc::doConnect()
(E_drv_connect: no phone)

cambe

Primeiro não tinha  alterado as permissões com sudo chmod u+s /usr/bin/moto4lin, depois estva rodando como super usuário então toda vez que alterava o p2k ele não salvava as mudanças. Agora tá tudo beleza.

etapombas

Estou  usando o dapper e naum consegui instalar o moto4lin

etapombas

Consegui instalar ... mas agora o prog. naum conecta no meu cel (e398)

[error] Unable to open device
[error] Check preferences
[error] Unable to connect



em device configuration tah assim
/dev/usb/acm/0
22b8
4902
22b8
4901