quarta-feira, 19 de novembro de 2008

g-speak: sistema operativo espacial

Este sistema operativo promete, pelo menos no que respeita à interface gráfica espacial.

g-speak overview 1828121108 from john underkoffler on Vimeo.

sexta-feira, 14 de novembro de 2008

USB 3.0 está quase aí

Parece que a tão esperada actualização da norma USB (Universal Serial Bus) está a chegar.
Segundo o Peopleware, será divulgada no dia 17 de Novembro de 2008.

quinta-feira, 13 de novembro de 2008

Bug do Windows corrigido ao fim de 7 anos

A Microsoft corrigiu, depois de sete anos passados, um bug do protocolo que permite aos computadores com o sistema operativo Windows partilhar pastas, ficheiros e impressoras.
Este protocolo designa-se por SMB (Server Message Block) e é largamente utilizado.
Em Linux é implementado pelo Samba e está disponível em praticamente todas as distribuições. Se o bug fosse do Samba, ou de qualquer outra aplicação do mundo open source, um bug semelhante deveria ser resolvido em poucos dias.

Notícia aqui.

quarta-feira, 22 de outubro de 2008

Comandos e atalhos para Windows

Foi compilado um conjunto de comandos, para Windows, num dos blogs (Peopleware) que leio regularmente, que convém conservar à mão.

Disponível aqui.

terça-feira, 15 de janeiro de 2008

Plugin flash no Firefox em Ubuntu Linux

Quando instalamos o Ubuntu Linux 7.10 (Gutsy) o Firefox também é instalado. Infelizmente o plugin para flash não é instalado.
Utilizando o installer automático do Ubuntu, para instalar o package flashplugin-nonfree, este não funciona.
Podemos sempre instalar, do mesmo modo, o package gnash e o respectivo plugin. Assim já podemos ver sites com flash sem problemas. O único senão é que a integração deste plugin com o Firefox não tem uma aparência muito agradável, pelo menos na minha opinião.

A alternativa é instalar o flash (da adobe - antiga macromedia) "manualmente".

Passo 1 - Download do flash

$ cd /tmp
$ mkdir flash
$ wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz

Passo 2 - Descomprimir
$ tar -zxvf install_flash_player_9_linux.tar.gz

São extraídos os seguintes ficheiros
install_flash_player_9_linux/
install_flash_player_9_linux/flashplayer-installer
install_flash_player_9_linux/libflashplayer.so

Passo 3 - Instalar
$ sudo su -
# cd /tmp/flash
# cd install_flash_player_9_linux
# ./flashplayer-installer

É mostrada a seguinte mensagem:

WARNING: Please enter a valid installation path.

Please enter the installation path of the Mozilla, Netscape,
or Opera browser (i.e., /usr/lib/mozilla):

Devemos introduzir este caminho
/usr/lib/firefox:

Aparece o seguinte
----------- Install Action Summary -----------

Adobe Flash Player 9 will be installed in the following directory:

Browser installation directory = /usr/lib/firefox

Proceed with the installation? (y/n/q): y

Please log out of this session and log in for the changes to take effect.

The Adobe Flash Player installation is complete.

Está instalado.

Referências:
http://benjaminlim.net/blog/?p=15
http://www.smorgasbord.net/2007/06/29/how-to-install-firefox-flash-plugin-in-ubuntu-linux/

terça-feira, 18 de dezembro de 2007

Placa ZTE MF620 em Linux

Depois de alguma pesquisa verifiquei que é difícil colocar a funcionar, em Linux, a placa ZTE MF620 para acesso à Internet Móvel de Banda Larga. Esta placa é comercializada em Portugal pela TMN. Com alguma pesquisa e persistência lá consegui arranjar forma desta placa funcionar.
Aqui fica o testemunho que penso ser útil para comunidade linux.

Fiz testes com a placa nas seguintes distribuições e em dois computadores distintos (Portátil ACER 5601AWLMI e num desktop com Pentium IV a 3GHz e 1GB de RAM):
Funcionou em todas estas distribuições com pequenos ajustes. As diferenças estão relacionadas com os caminhos e com a instalação de pacotes (RPM vs DEB). A explicação seguinte aplica-se ao Ubuntu 7.10, no entanto, e como referi, com pequenas alterações a explicação serve para outras distribuições.

Breve explicação sobre a placa ZTE MF620

Quando esta placa é ligada à porta USB, seja em Windows ou em Linux (penso que em Mac OS X também, mas não pude testar), o sistema operativo reconhece um dispositivo de armazenamento onde estão os drivers da placa para Windows. Assim, para instalar esta placa, não é necessário nenhum CD nem outro suporte onde estejam os drivers. Para que esta placa funcione como modem de acesso à Internet é necessário alterar o seu modo de funcionamento, isto é, desactivar a sua função de dispositivo de armazenamento e colocá-la a funcionar como um modem USB. Estamos portanto na presença de uma placa que, do ponto de vista do sistema operativo, pode ser vista como dois dispositivos distintos. Esta alteração, no nosso caso, em Linux, é feita pelo programa USB_ModeSwitch.

E agora, mãos à obra...

Em primeiro lugar é necessário abrir uma consola, acessível através de Aplicações -> Acessórios -> Consola.
De seguida é necessário abrir uma sessão de superutilizador, o que pode ser feito com o comando:

$ sudo su -

Instalar o wvdial
Caso esta aplicação não esteja instalada é necessário fazer o seguinte:

# apt-get install wvdial


Instalar o gcom

Caso esta aplicação não esteja instalada é necessário fazer o seguinte:

# apt-get install gcom


Instalar o USB_ModeSwitch
Pode ser necessário instalar a libusb. Para isso é necessário executar o comando:

# apt-get install libusb-dev

Fazer download e compilar o USB_ModeSwitch

# wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.2.tar.bz2
# tar -jxvf usb_modeswitch-0.9.2.tar.bz2
# cd usb_modeswitch-0.9.2
# ./compile.sh

Copiar ficheiros para a localização destino

# cp
usb_modeswitch /usr/sbin/

Configurações

É necessário editar o ficheiro /etc/wvdial.conf e colocar neste ficheiro o seguinte conteúdo

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone =
ISDN = 0
; Username =
Init1 = ATZ
; Password =
Modem = /dev/ttyUSB0
Baud = 460800
[Dialer tmn]
Init2 = ATZ
Init3 = AT+CGDCONT=1,"ip","internet"
Stupid Mode = 1
ISDN = 0
Phone = *99***1#
Ask Password = 0
Modem = /dev/ttyUSB0
Username = tmn
Dial Command = ATD
Password = tmn
Baud = 460800

É necessário editar o ficheiro /etc/usb_modeswitch.conf e retirar os comentários na zona relativa à placa ZTE. O ficheiro fica com o seguinte conteúdo.

########################################################
# ZTE MF620 (Experimental)
#
# Message string taken from a sniffer log. Untested!
#
# Contributor: Flávio Moringa

DefaultVendor=0x19d2
DefaultProduct=0x2000

TargetVendor=0x19d2
TargetProduct=0x0001

MessageEndpoint=0x04
MessageContent="5553424308a0b7870000000000000600000000000000000000000000000000"

É ainda necessário criar o ficheiro /etc/udev/rules.d/15-zte-mf620.rules e colocar este conteúdo:

ACTION!="add", GOTO="ZTE_End"

# Is this the ZeroCD device?
SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",
SYSFS{idVendor}=="19d2", GOTO="ZTE_ZeroCD"

# Is this the actual modem?
SUBSYSTEM=="usb", SYSFS{idProduct}=="0001",
SYSFS{idVendor}=="19d2", GOTO="ZTE_Modem"

LABEL="ZTE_ZeroCD"
# This is the ZeroCD part of the card, remove
# the usb_storage kernel module so
# it does not get treated like a storage device
#RUN+="/sbin/rmmod usb_storage"
RUN+="/usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"

LABEL="ZTE_Modem"
# This is the Modem part of the card, let's
# load usbserial with the correct vendor
# and product ID's so we get our usb serial devices
RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0001",
# Make users belonging to the dialout group
# able to use the usb serial devices.
#MODE="660", GROUP="dialout"
MODE="660", GROUP="tty"

LABEL="ZTE_End"

Este ficheiro é necessário para que a detecção e activação da placa seja feita quando esta é ligada à porta USB

Estabelecer a ligação

Para estabelecer a ligação usam-se os seguintes comandos:

# /usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001
# /usr/bin/gcom -d /dev/ttyUSB0
# /usr/bin/wvdial tmn

O primeiro comando (dos três anteriores) é desnecessário, uma vez que a detecção é feita pelo udev. De qualquer modo, o próprio comando detecta se a placa já se encontra no modo desejado.

Dicas
É importante verificar se foram criados os devices necessários. Depois de ligar a placa à porta USB, esta operação demora cerca de 30 segundos. É necessário aguardar.

# ls /dev/ttyUSB*

Enquanto se aguarda a activação da placa pode ser útil monitorizar o ficheiro de logs.

# tail -f /var/log/messages

Inexplicavelmente, quando ligo a placa, algumas vezes ela não é correctamente reconhecida. Isto acontece quer em Linux quer em Windows. A forma que encontrei de resolver o problema consiste em desligar a placa do computador, retirar a bateria, voltar a colocar a bateria, e finalmente, voltar a ligar ao computador.

Referências:
USB_ModeSwitch
Post com informação importante
Página da TMN sobre a placa
Tutorial para instalação da placa