Marcos Roriz $:

Pessoal, Geek, Anime, Jogos, Ciência da Computação e Open Source…

Descomplicando o Bluetooth em notebook Toshiba / HP e melhorando o gerenciamento a dispositivos bluetooth.

leave a comment »

Se você possui um notebook toshiba satellite / hp e usa uma distribuição GNU/Linux  provavelmente já teve dores de cabeça para usar o bluetooth. Prepare-se nesse texto você vai encontrar uma solução concisa para esse problema. O segredo consiste em instalar um módulo chamado omnibook que de uma maneira geral habilita uma série de ferramentas do notebook, como:

  • Controle (ativação) do Bluetooth
  • Controle (ativação) do Touchpad
  • Habilita teclas Multimídia do Notebook (Ex: Teclas de Som do notebook)
  • Monitoramento da temperatura da CPU
  • Monitoramento das rotações da CPU
  • Monitoramento da Bateria
  • Monitoramento do adaptador AC

O site do projeto Omnibook se encontra aqui (SourceForge), mas parece que o projeto encontra-se meio morto com atualizações somente no SVN. Para facilitar a instalação do módulo existe alguns pacotes, entre eles, .deb para distribuições Debian e derivadas e também existe um pacote no aur do Arch Linux. Mas nada impede que você compile o módulo, basta ter uma suíte básica de compilação (gcc, g++, make, flex) e os cabeçalhos (headers) do kernel em uso. Além do Omnibook também vamos instalar o Blueman, que irá facilitar a nossa vida ao gerenciar dispositivos bluetooth.

O Blueman é de uma maneira concisa na minha opinião o melhor gerenciador de bluetooth disponível no Linux. Ele fornece uma interface amigável e intuitiva para configurar e usar o seus dispositivos bluetooth. A descrição do próprio website o trata como:

Blueman é um Gerenciador de Bluetooth em GTK+

Blueman foi criado para ser simples e intuitivo para tarefas diárias de bluetooth como:

  • Conectar a 3G/EDGE/GPRS via perfil DUN
  • Conectar/Criar rede de bluetooth
  • Conectar a dispositivos de entrada
  • Conectar a dispositivos de áudio
  • Enviar/Receber/Navegar arquivo via OBEX
  • Pariamento

Blueman também integra com o Network Manager 0.7, fazendo qualquer Rede de Bluetooth também disponível para o Network Manager.

Blueman

Uma tela do Blueman

Siga a seção para a que mais se aproxima da sua distribuição:

Caso você utilize o Debian ou derivadas (Ubuntu, Linux Mint, etc…)

Instalando o Omnibook

1) Visite esse site: http://packages.kirya.net/ e adicione o repositório sid do mesmo no seu apt-sources (basta usar um editor de texto (vim, nano, gedit) e inserir a linha abaixo no arquivo /etc/apt/sources.list):

deb http://packages.kirya.net/debian/ sid main contrib non-free

2) Após adicionar o repositório no seu apt-sources list execute o seguinte comando para ativar a chave gpg e poder usar o repositório de forma confiável:

$ wget -O - http://packages.kirya.net/Kirya.netDebianpackagesVerificationKey.asc | apt-key add -

3) Agora atualize o apt e instale o pacote omnibook-source e module-assistant:

$ sudo apt-get update

$ sudo apt-get install omnibook-source module-assistant

$ sudo m-a a-i omnibook-source

4) Nós precisamos assegurar que o módulo carregue durante a incialização do sistema, então edite o arquivo /etc/modules e adicione a linha omnibook no seu fim.

$ sudo nano /etc/modules

e adicione omnibook no fim do arquivo

5) Nós também precisamos de ter um arquivo chamado omnibook em /etc/modprobe.d e nesse arquivo nos colocamos a configuração do nosso módulo. Então crie o arquivo /etc/modprobe.d/omnibook com a seguinte linha:

options omnibook ectype=14 userset=0 lcd=0 display=0 blank=0 battery=0 ac=0 bluetooth=1

6) Pronto, o módulo será carregado após reiniciar o computador, você também pode carregar manualmente o módulo agora sem reiniciar o computador, basta executar o comando:

$ sudo modprobe omnibook ectype=14

Agora vamos instalar o Blueman.

Infelizmente os pacotes binários .deb do Blueman só funcionam para o Ubuntu e seus derivados, excluindo então Debian, Dream Linux e outros. Se você utiliza uma dessas distribuições que não possui pacotes binários .deb siga para a seção Instalando pelo código fonte do Blueman.

1) Visite o website https://edge.launchpad.net/~blueman/+archive/ppa, e adicione o repositório da versão da sua distribuição (Hardy, Intrepid…). Adicione também a chave. Tá tudo explicadinho lá de como fazer isso, qualquer dúvida poste nos comentários. Esse repositório contém além do blueman todas as dependências dele.

2) Agora é só atualizar os repositórios e instalar:

$ sudo apt-get update

$ sudo apt-get install blueman

3) Pronto o blueman já irá ser inicializado dá próxima vez que o Gnome for inicializado. Lembre-se que é necessário reinicializar para o módulo omnibook entrar na “ativa”. Ou carrega-lo manualmente para poder ter o bluetooth agora sem ter que reinicializar o computador.

Caso você utilize o Arch Linux

Instalando o Omnibook

1) Antes de tudo verifique a versão do seu kernel, provavelmente teremos que editar o valor da variável do kernel no PKGBUILD com o valor da sua versão do kernel:

$ uname -r

2) Basta baixar o pacote omnibook-svn do AUR ou se tiver o yaourt usar o comando:

$ yaourt -Sy omnibook-svn

3) Caso seja necessário modifique a seguinte linha do PKGBUILD para ser igual a do seu kernel.

_kernver=2.6.28-ARCH

para

_kernver=Saída do comando uname -r

4) Agora continue a instalação no yaourt, ou caso tenha baixado o pacote manualmente do AUR digite o comando:

$ makepkg

Se você baixou manualmente o pacote no AUR vai ser gerado um pacote tar.gz no diretório do pacote, basta instalar com o comando, com root digite:

# pacman -U omnibook-svn-280-1-i686.pkg.tar.gz

5) Vamos automatizar a inicialização do módulo durante o boot. Adicione o módulo omnibook para a lista de módulos a ser carregado no arquivo /etc/rc.conf. Então edite o arquivo /etc/rc.conf com seu editor de texto favorito (vim, nano). Também adicione o daemon bluetooth para a lista de DAEMONS.

MODULES=(ipv6 fuse ... omnibook)

DAEMONS=(syslog-ng hal ... bluetooth)

6) Nós também precisamos de ter um arquivo chamado omnibook em /etc/modprobe.d e nesse arquivo nos colocamos a configuração do nosso módulo. Então crie o arquivo /etc/modprobe.d/omnibook com a seguinte linha:

options omnibook ectype=14 userset=0 lcd=0 display=0 blank=0 battery=0 ac=0 bluetooth=1

7) Pronto, o módulo será carregado após reiniciar o computador, você também pode carregar manualmente o módulo agora sem reiniciar o computador, basta executar o comando:

$ sudo modprobe omnibook ectype=14

Agora vamos instalar o Blueman.

1) O pacote blueman se encontra no repositório community do pacman, logo, basta usar o comando:

# pacman -Sy blueman

2) Pronto o blueman já irá ser inicializado dá próxima vez que o Gnome for inicializado. Lembre-se que é necessário reinicializar para o módulo omnibook entrar na “ativa”. Ou carrega-lo manualmente para poder ter o bluetooth agora sem ter que reinicializar o computador.

Instalando pelo código fonte

Instalando o Omnibook

Você vai precisar de no mínimo os seguintes itens:

  • GCC
  • G++
  • Cabeçalho do seu Kernel (HEADERS)
  • Subversion (SVN)
  • OpenSSH
  • Provavelmente: Build-Essential / Base-Devel ou algo parecido da sua distro

Aconselho fortemente que você use esses programas bases da sua distribuição, para evitar conflito na hora de compilar o módulo (Ex: você tem o GCC mais novo e o seu kernel foi compilado com uma versão mais antiga do GCC, etc…)

1) Vamos criar um diretório para colocar o código fonte:

$ mkdir ~/src

2) Vamos entrar no diretório e dar checkout do código:

$ cd ~/src

$ svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk omnibook

3) Vamos entrar no diretório do código fonte do omnibook:

$ cd omnibook/

4) E vamos compilar o código e instalar o código, digite:

$ make

$ su

# make install

5) Agora temos que automatizar a inicialização do módulo durante o boot. Dependo da estrutura da sua distro o modo de como ela organiza quais módulos serão inicializados irá variar:

  • Debian e derivadas (Ubuntu, Linux Mint…)
    • $ sudo nano /etc/modules
    • Adicione omnibook no fim do arquivo
    • Crie o arquivo /etc/modprobe.d/omnibook
    • Adicione ao arquivo a linha:
    • options omnibook ectype=14 userset=0 lcd=0 display=0 blank=0 battery=0 ac=0 bluetooth=1
  • Fedora, Red Hat e CentOs
    • $ sudo nano/etc/modprobe.conf
    • Adicione no arquivo a linha:
    • options omnibook ectype=14 userset=0 lcd=0 display=0 blank=0 battery=0 ac=0 bluetooth=1

Agora vamos instalar o Blueman.

1) Dependências

Dependências de Compilação

  • glib2.0
  • gtk >= 2.12
  • startup-notification
  • python-gobject
  • bluez >= 4.0
  • intltool
  • python2.[5,6]-dev
  • pyrex >= 0.9.8.0

Dependências de Execução:

  • python >= 2.5
  • dbus
  • bluez >= 4.25
  • obex-data-server >= 0.4.3
  • python-notify
  • python-gtk2 >= 2.12
  • python-gconf (opcional)
  • python-dbus
  • python-gobject
  • policykit-gnome, policykit-kde ou qualquer frontend para o policykit
  • notification-daemon ou qualquer outro engine compativel com libnotify.

OBS: Sugiro que utilize o gerenciador de pacotes da sua distribuição para tentar resolver as dependências.

2) Após resolver as dependências, baixe o código fonte daqui.

3) Extraia o arquivo .tar.gz e rode os comandos:

$ ./configure --prefix=/usr --sysconfdir=/etc

$ make

$ su

# make install

4) Pronto o blueman já irá ser inicializado dá próxima vez que o Gnome for inicializado. Lembre-se que é necessário reinicializar para o módulo omnibook entrar na “ativa”. Ou carrega-lo manualmente para poder ter o bluetooth agora sem ter que reinicializar o computador.

Referências

Ubuntu Hardy 8.04 on Toshiba Satellitehttp://docs.google.com/View?docid=dgd53r6d_36hqmmh4hn

Blueman Projecthttp://blueman-project.org/

Linux on Laptopshttp://www.linux-laptop.net/

Written by marcosroriz

April 20, 2009 at 12:34 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: