Sexta-feira, 19 de Dezembro de 2008

Huawei E180 no Slackware

 

Recentemente adquiri uma placa de internet móvel do Sapo. Neste momento as placas comercializadas são as Huawei E180, que como já é hábito, vêm com drivers para Windows e Mac. Por ser uma placa recente no mercado, as perspectivas de encontrar suporte para Gnu/Linux não eram boas.

No site do fabricante nenhuma referência ao Linux, e um pedido de informação sobre isso, resultou no seguinte:

 

"Your feedback subject: E180

Huawei reply: Dear Customer: Thanks for your attention to our product! We are sorry to tell you,E180 don't support Linux OS at present。We only have drivers for WIN/vista/2000/XP /MAC now .Kind regards."

 

Ao que respondi:

 

"Well i have it working now under Linux. So it would be nice in the future for you to provide drivers and sfotware for this operating system. Not everybody uses Windows our Mac."

 

Talvez este tipo de atitude, multiplicada por muitos mais utilizadores, começasse a ter algum efeito nos fabricantes de hardware.

 

Após uma pesquisa no Google, encontrei uma página que me ajudou bastante. O problema destas pens de internet móvell, é que são ao mesmo tempo modem's e unidades de cdrom, que contêm os drivers necessários para a instalação do modem. No Windows, ao inserir a placa esta inicia o modo CDROM e depois de instalado o modem, alterna o estado para Modem. No Linux esta alternância de estado, não é automática.

 

1º - Alternar modo da placa (USB_ModeSwitch)

 

Para contornar este problema, utilizei o programa USB_ModeSwitch. Para instalar, basta ir buscar a fonte, compilar e copiar o binário usb_modeswitch para /sbin e o ficheiro usb_modeswitch.conf para /etc.

Este programa lê as configurações do ficheiro usb_modeswitch.conf, onde se encontram as identificações (ID) dos Fabricantes e Vendedores. Estas informações encontram-se comentadas, pelo que é necessário abrir o ficheiro e descomentar a secção do fabricante da placa, e colocar os IDs certos para Fabricante e Vendedor. 

Para sabermos os IDs da nossa placa, basta um lsusb para nos mostrar a informação que precisamos:


#lsusb
Bus 002 Device 007: ID 0951:1603 Kingston Technology Data Traveler 1GB/2GB Pen Drive
Bus 002 Device 006: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem

Neste caso, tenho na primeira linha a minha pen USB, e na 2a linha a pen da internet móvel, onde se pode ver o ID que precisamos ID 12d1:1003, o id do fabricante e o 12d1 e o do produto 1003.

 

Editamos o ficheiro usb_modeswitch.conf

 

#vi /etc/usb_modeswitch.conf

 

E na parte correspondente ao fabricante Huawei, descomentamos as linhas e alteramos os IDs caso seja necessário, como o meu ficheiro só trazia uma secção para o modelo E170, acrescentei uma secção nova e ficou assim:


########################################################
# Huawei E180
#
# Contributor: Bruno Queiros

DefaultVendor=  0x12d1;
DefaultProduct= 0x1003

# choose one of these:
;DetachStorageOnly=1
HuaweiMode=1

A parte importante é a descomentação da linha HuaweiMode=1 que transforma a pen num modem.

 

2º Criar a ligação /dev/ttyUSB0

 

Primeiro é necessário criar um script para o udev e gravá-lo como /sbin/usb_modeswitch.sh:

     #!/bin/sh  
     # close these FDs to detach from udev

    exec 1<&- 2<&- 5<&- 7<&-

    sh -c "sleep 4; /usr/bin/usb_modeswitch" &

    exit 0


Depois é necessário dizer ao processo udev para executar este script sempre que inserimos o modem, e depois disso carregar o módulo usb_serial:

 
 # vi /etc/udev/rules.d/66-huawei.rules


 SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003", RUN+="/sbin/usb_modeswitch.sh"
 SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1003"
 
O importante é acertar nos ID's do fabricante e do produto, e no comando do script e do modprobe.

 

Neste momento, devemos ter a ligação para /dev/ttyUSB0 criado.

 

 

3º Executar a marcação para o ISP

 

 

Finalmente é ncessário executar a ligação para o nosso ISP, neste caso o Sapo. Pode-se utilizar qualquer programa de marcação para isto, mas como eu gosto das coisas simples, eu escolhi o wvdial. Este programa lê as informações do ficheiro /etc/wvdial.conf e de seguida executa a marcação. O meu ficheiro contém 2 marcações, uma para a padrão e outra para o Sapo:

 

[Dialer sapo]
username = 123
baud = 115200
password = 123
stupid mode = on
dial command = ATDT
modem type = Analog Modem
phone = *99#
init5 = AT+CGDCONT=1,"IP","internet"
init3 = ATQ0V1E1S0=0&C1&D2+FCLASS=0
init2 = ATZ
modem = /dev/ttyUSB0
isdn = 0

Finalmente, para executar a marcação, executamos o comando:

 

#wvdial sapo

 

Se tudo correr bem, devemos ter um link ppp0 criado e podemos começar a navegar.


ppp0      Link encap:Point-to-Point Protocol
          inet addr:89.214.32.241  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:37320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35855 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:30571808 (29.1 MiB)  TX bytes:5150106 (4.9 MiB)

 

Para desligar basta Control+C na consola onde foi executado o comando.

 

Informação retirada de http://chankle.org/blog/index.php?/archives/24-Using-Huawei-E180-modem-in-linux-RHEL5.html.

 

 

Apesar disto ser o suficiente para utilizar a placa de internet, dá sempre jeito neste tipo de ligações que costumam ter pouco tráfego disponível, termos uma ferramenta para podermos visualizar o tráfego que estamos a consumir. Existem várias, mas escolhi uma simples e bastante funcional o pywvdial.

 

O pywvdial, permite marcar a ligação, e verificar o tráfego que se está a consumir, só é pena não ter um histórico, onde se pudesse verifcar o tráfego consumido no dia, na semana ou no mês.

 

O pywvdial, não é mais que um front-end para o wvdial, e lê o mesmo ficheiro de configuração, contudo necessita que tenhamos uma ligação com o nome Default, pelo que acrescentei a mesma ao ficheiro /etc/wvdial.conf

 

[Dialer Defaults]
baud = 115200
dial command = ATDT
username = 123
password = 123
stupid mode = on
ask password = off
phone = *99#
init5 = AT+CGDCONT=1,"IP","internet"
init3 = ATQ0V1E1S0=0&C1&D2+FCLASS=0
init2 = ATZ
login = 123
modem = /dev/ttyUSB0

Não é preciso ter 2 entradas iguais, basta terem uma com esse nome, importante também é que, esta ferramenta precisa ser executada com permissões de root, pelo que no KDE basta um ALT+F2, escrever o comando pywvdial, e clicar em opções, correr como outro utilizador - root.

 

 

Interface

 

 

Informação sobre o tráfego

 

 

De momento a aplicação está em inglês, mas assim que tiver algum tempo, vou tentar traduzi-la para Português, e também sugerir a inclusão da visualização de um histórico detalhado do tráfego.

 

Os únicos aspectos negativos, são o facto de não haver um software próprio para a gestão da ligação e do tráfego e o facto de a luz estar sempre ligada e não piscar.


publicado por brunomiguelqueiros às 22:52
link do post | comentar | favorito
|
2 comentários:
De Anónimo a 1 de Setembro de 2009 às 22:36
muito bom post. Tenho a mesma placa e tambem está a correr em linux sem problemas. A HUAWEI porta-se muito mal. Inclusivé diz que suporta XP o que não é verdade porque não têm drivers pra XP 64bits. o que vale é que em linux dá sempre pra dar a volta.


De jaacl a 17 de Fevereiro de 2010 às 04:03
Olá, eu sou um nabo em linux , instalo, trabalho nos programas, mas não entendo nada daquilo, aqueles scripts ... nem os sei introduzir, enfim, o que queria dizer é que com o ultimo ubuntu , assim que meti a minha Huawei E180 , ela foi reconhecida, abri uma nova ligação de rede 3G e foi só iniciar a ligação, sem ter de instalar ou escrever nada. E para minha surpresa está a trabalhar bem, tentei com outras 2 pens " que tenho, ZTE MF626 e a Huawei E156G mas aí já não funcionou.
Bem vou continuar a tentar, Cumprimentos


Comentar post

.mais sobre mim

.pesquisar

 

.Outubro 2009

Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3

4
5
6
7
8
9

12
13
14
15
16

18
19
20
21
22
23
24

25
26
27
28
29
30
31


.posts recentes

. Resposta a Maite Proenca

. We can a portuguesa!

. Alvo completo - Sabrosa

. Ora venha de lá esse voti...

. Slackware -Current e o no...

. Tornar Kde 4.X.X mais ráp...

. Frases

. Funcionamento do Google S...

. Momento Zen do dia

. Gnome 3

.arquivos

. Outubro 2009

. Setembro 2009

. Agosto 2009

. Junho 2009

. Maio 2009

. Abril 2009

. Março 2009

. Fevereiro 2009

. Janeiro 2009

. Dezembro 2008

. Novembro 2008

. Outubro 2008

. Setembro 2008

. Agosto 2008

. Julho 2008

. Junho 2008

. Maio 2008

. Abril 2008

. Março 2008

. Fevereiro 2008

. Janeiro 2008

. Dezembro 2007

. Novembro 2007

. Outubro 2007

. Setembro 2007

.tags

. todas as tags

.links

.subscrever feeds

.número visitas

.utilizadores ligados

Utilizadores ligados

.Geekness

71% Geek 71% Free Florida Personals

.GoogleTalk

.De onde eles são

IP Geotargeting