Post em Destaque

CPU Affinity, uma brincadeira de criança.

Nem sempre é uma boa ideia ter processos migrando de CPU o tempo todo, pois pode atrapalhar o desempenho de algumas aplicações no seu sistema. Aqui vou falar de um caso muito especial que é quando você tem um grande tráfego de rede tipo acima de 100Mbps. Quando temos um grande tráfego de dados...

Leia mais...

Acessar o Celular Android via Bluetooth no FreeBSD

Posted by Otacílio | Posted in Dicas, FreeBSD | Posted on 30-09-2012

Tags:, ,

4

 

 

Este pequeno roteiro eu realizei utilizando o adaptador Bluetooth bem Xing-Ling da imagem abaixo.

The Adaptador Bluetooth :)

 

 

 

 

 

 

 

O primeiro passo é verificar se os drivers necessários estão presentes no kernel. O meu sistema é este aqui:

FreeBSD squitch 8.3-RELEASE-p4 FreeBSD 8.3-RELEASE-p4 #22: Mon Sep 24 17:16:29 BRT 2012     [email protected]:/usr/obj/usr/src/sys/SQUITCH  i386

Nele, apenas ao plugar o adaptador na entrada USB os seguintes drivers são carregados automaticamente:

ng_ubt.ko
ng_hci.ko
ng_bluetooth.ko
ng_l2cap.ko
ng_btsocket.ko
ng_socket.ko

Verifique no seu sistema se os drivers aparecem ao plugar o adaptador USB. Você pode fazer isso utilizando o comando kldstat. Ex:

[[email protected] ota]$ kldstat

Se não for o caso do seu sistema, você pode carregar os módulos utilizando o comando kldload <nome do módulo>.  Por exemplo:

squitch# kldload ng_ubt

Caso deseje você pode também adicionar a seguinte linha

ng_ubt_load="YES"

no arquivo

/boot/loader.conf

e os seguintes drivers serão carregados no momento do boot:

ng_ubt.ko
ng_hci.ko
ng_bluetooth.ko

e os seguintes (na minha máquina) quando plugo o adaptador bluetooth:

ng_l2cap.ko
ng_btsocket.ko
ng_socket.ko

Verifique na sua máquina se os drivers estão sendo carregados. Você obviamente pode fazer uma comparação com os drivers que listei aqui. Caso esteja tendo problemas você pode dar uma olhada no handbook sobre o assunto. Note também que outros dispositivos necessitam de outros drivers como, por exemplo, os que usam o chip Broadcom BCM2033. Neste caso o handbook cobre com mais detalhes.


Após checar os drivers, ao plugar o seu dispositivo você deve ver no terminal do sistema (ou em algum terminal gráfico se digitar dmesg) algo semelhante a isso:

ugen1.2: <vendor 0x0a12> at usbus1
ubt0: <vendor 0x0a12 product 0x0001, class 224/1, rev 2.00/19.15, addr 2> on usbus1
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()

A mensagem contendo ubt0 é especialmente animadora, pois indica que o driver bluetooth reconheceu o seu dispositivo.

Descubra então os dispositivos bluetooth nas proximidades com o comando hccontrol:

[[email protected] ota]$ hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 94:51:03:ed:dd:f6
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 0x2
Page Scan Mode: 00
Class: 5a:02:0c
Clock offset: 0x67ec
Inquiry complete. Status: No error [00]

Note que alguns dispositivos podem estar configurados para não aparecer quando uma busca é feita. Então, verifique se o seu Android está com a configuração “Detectável” habilitada.

O meu sistema responde com a seguinte para o meu celular:

[[email protected] ota]$ hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
    BD_ADDR: 94:51:03:ed:dd:f6
    Page Scan Rep. Mode: 0x1
    Page Scan Period Mode: 0x2
    Page Scan Mode: 00
    Class: 5a:02:0c
    Clock offset: 0x4106
Inquiry complete. Status: No error [00]

De posse do BD_ADDR você deve criar uma entrada no arquivo /etc/bluetooth/hcsecd.conf para que o dispositivo Android consiga parear com o computador. A entrada no meu caso tem:

device {
        bdaddr 94:51:03:ed:dd:f6;
        name    "GT-S5300B";
        pin     "3295";
}

Onde bdaddr foi obtido na busca de dispositivos, name é um nome dado por você, e pin é o pin que você deverá digitar no Android no momento do pareamento.

Agora como root rode os daemons que vão responder a comunicação bluetooth:

squitch# /etc/rc.d/hcsecd onestart ubt0
Starting hcsecd.
squitch# /etc/rc.d/sdpd onestart
Starting sdpd.
squitch#

Vamos então acessar o servidor de arquivos do dispositivo Android. Instale o port comms/obexapp e então execute (modificando o endereço para o seu caso, óbvio):

[[email protected] ota]$ obexapp -a 94:51:03:ed:dd:f6 -C FTRN

Uma tela solicitando o pin deve ter sido aberta no dispositivo Android. Digite o pin do campo pin da entrada device do arquivo /etc/bluetooth/hcsecd.conf correspondente ao seu dispositivo.

Pronto, agora é só aceitar o pedido para transferência de arquivos do computador e um terminal será aberto. Você pode digitar help para abrir a ajuda dos comandos. Por exemplo:

obex> help
CApability, CD, DElete, DIsconnect, Empty, GET, GETDefault, Ls, Mkdir, Put?
obex> Ls
Access    Owner    Group    Size       Modified         Name
          n/a      n/a      n/a        n/a              LOST.DIR/
          n/a      n/a      n/a        n/a              external_sd/
          n/a      n/a      n/a        n/a              DCIM/
          n/a      n/a      n/a        n/a              Android/
          n/a      n/a      n/a        n/a              Notifications/
          n/a      n/a      n/a        n/a              samsungapps/
          n/a      n/a      n/a        n/a              Mercury/
          n/a      n/a      n/a        n/a              media/
          n/a      n/a      n/a        n/a              bluetooth/
          n/a      n/a      n/a        n/a              .polarisViewer/
          n/a      n/a      n/a        n/a              Sounds/
          n/a      n/a      n/a        n/a              burstlyImageCache/
          n/a      n/a      n/a        n/a              Ringtones/
          n/a      n/a      n/a        n/a              social_cache/
          n/a      n/a      n/a        n/a              Pictures/
          n/a      n/a      n/a        n/a              WhatsApp/
          n/a      n/a      n/a        n/a              .temp/
Success, response: OK, Success (0x20)
obex>

Lista os arquivos e diretórios do aparelho. Sendo que existe um porém. Por default os arquivos não aparecem na listagem. Por exemplo:

obex> cd DCIM
Success, response: OK, Success (0x20)
obex> ls
Access    Owner    Group    Size       Modified         Name
                                                        ..
          n/a      n/a      n/a        n/a              Camera/
          n/a      n/a      n/a        n/a              .thumbnails/
Success, response: OK, Success (0x20)
obex> cd Camera
Success, response: OK, Success (0x20)
obex> ls
Access    Owner    Group    Size       Modified         Name
                                                        ..
Success, response: OK, Success (0x20)
obex>

Não mostra nenhum arquivo embora eles estejam lá. Para que você possa visualizá-los você deve ir no aplicativo do Android “Meus arquivos“, ir até a pasta, tocar no botão à esquerda do botão central do celular, clicar na combo “Mais” e escolher “Visibilidade do Bluetooth“. Então é só marcar os arquivos que você quer que apareçam na listagem e depois em “Conc.“. A listagem agora exibe:

obex> ls
Access    Owner    Group    Size       Modified         Name
                                                        ..
  R       n/a      n/a      238658     n/a              2012-09-27 22.55.16.jpg
Success, response: OK, Success (0x20)
obex>

Para baixar o arquivo é só rodar (para o arquivo do exemplo):

obex> GET 2012-09-27\ 22.55.16.jpg
238658 bytes streamed in 3 seconds (79552 bytes/sec)
Success, response: OK, Success (0x20)
obex>

Caso deseje ter um terminal no dispositivo Android execute o comando (novamente substituído o endereço, óbvio):

squitch# rfcomm_sppd -a 94:51:03:ed:dd:f6 -c 1 -t /dev/ttyp1

Aceite o pedido de conexão no Android. Abra um outro terminal e execute

squitch# chgrp users /dev/ttyp1

Em seguida (como usuário comum mesmo) execute um terminal no dispositivo criado:

[[email protected] ota]$ cu -l ttyp1

Pronto, você pode agora digitar comandos AT. Se tiver a lista de comandos AT que o Galaxy suporta por favor me envie para eu disponibilizar aqui.


Para enviar arquivos do Android para o FreeBSD diretamente pelos comandos Bluetooth do Android sem precisar conectar via terminal você deve rodar um servidor no FreeBSD na pasta que você quer que receba os arquivos. Ex:

[[email protected] ota]$ cd Downloads/
[[email protected] Downloads]$ obexapp -s
[[email protected] Downloads]$

E enviar os arquivos pelo Bluetooth do Android. Os arquivos deverão aparecer na pasta onde você rodou o servidor.


Muito mais detalhes você pode encontrar em: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-bluetooth.html.


Se esta página foi útil para você, por favor, deixe um comentário.

Share Button

Ferramentas complementares ao dmesg

Posted by gondim | Posted in Dicas, FreeBSD, Software Livre, Tecnologia | Posted on 29-09-2012

Tags:, , , ,

1

Todos usam o dmesg para visualizar o hardware detectado no boot pelo kernel, mas as vezes precisamos de mais informação sobre o nosso equipamento e nesse momento entram em ação algumas ferramentas abaixo:

  • devinfo
  • pciconf
  • dmidecode

Os 2 primeiros já fazem parte da base do sistema FreeBSD e o dmidecode vem no ports. A função deles é nos dar informação mais detalhada que precisamos. Abaixo exemplos das saídas de cada um deles:

# devinfo -rv

# pciconf -lv

# dmidecode

 

Espero que esses programas ajudem mais na informação do que estamos utilizando.

Bom divertimento.

Share Button

FreeBSD 9.1-RC2 já liberado via SVN

Posted by gondim | Posted in FreeBSD, Software Livre, Tecnologia | Posted on 28-09-2012

Tags:, ,

0

Bem, para quem está acompanhando o trabalho para o FreeBSD 9.1 RELEASE, saiu o RC2 que já pode ser baixado via SVN. Quem já tiver o source do RC1 baixado pelo SVN basta fazer o seguinte para atualizar para o RC2:

# cd /usr/src
# svn update

Para quem ainda não está usando o RC1 ou RC2 do FreeBSD 9.1 e quer usar para testar e ajudar a comunidade pode ler esse post aqui.

Logo logo deve sair as ISOs do RC2 no site.

Bom divertimento pra todos.

Share Button

FreeBSD – Fim do Ports no CVS em 2013

Posted by gondim | Posted in FreeBSD | Posted on 07-09-2012

Tags:, , , , ,

2

Para quem atualiza o ports através do cvs, à partir de 28 de Fevereiro de 2013 não estará mais disponível esse recurso. Aconselha-se usar o portsnap ou migrar para o svn (subversion). Abaixo a notícia na íntegra e outras explicações dos motivos que levaram à isso:

The development of FreeBSD ports is done in Subversion nowadays.
For the sake of compatibility a Subversion to CVS exporter is
in place which has some limitations. For CVSup mirroring cvsup
based on Ezm3 is used which breaks regularly especially on amd64
and with Clang and becomes more and more unmaintainable.

For those reasons by February 28th 2013 the FreeBSD ports tree will
no longer be exported to CVS. Therefore ports tree updates via CVS
or CVSup will no longer available after that date. All users who use
CVS or CVSup to update the ports tree are encouraged to switch to
portsnap(8) [1] or for users which need more control over their ports
collection checkout use Subversion directly:

% svn co https://svn0.us-west.FreeBSD.org/ports/head /usr/ports

and update a checked out repository using:

% cd /usr/ports && svn update

Advanced users, or larger sites, might consider setting up a local
svn mirror. Both for people doing direct checkouts and for people
wanting to use a local mirror, they can access one of the public
subversion servers [2].

How to set up a Subversion mirror using svnsync(1) is described in
the FreeBSD Committers Guide [3]. Initial seeds to set up a svnsync
mirror are provided on the FreeBSD FTP mirror sites under
/pub/FreeBSD/development/subversion/.

Binary packages for pkg_install are still provided via the FTP mirror
network. There is also pkgng which is a feature rich replacement tool
for pkg_install available in the ports tree under ports/ports-mgmt/pkg.
Packages for pkgng are available on pkg.FreeBSD.org.

To use pkg.FreeBSD.org at least pkgng 1.0 RC6 is needed and can be
enabled in pkg.conf like this (where ${ABI} is dependent on your
system):
PACKAGESITE         : http://pkg.freebsd.org/${ABI}/latest
SRV_MIRRORS         : YES

With pkgng 1.0 SRV_MIRRORS is enabled by default and no longer needs
to be set explicitly. If pkgng prior to 1.0 RC6 is used
http://pkgbeta.FreeBSD.org can be used as packagesite instead.

Please keep im mind that the pkgng infrastructure is still considered
as beta. More information about pkgng can be found at
http://wiki.FreeBSD.org/pkgng and https://github.com/pkgng/pkgng.

Beat, on behalf of portmgr@

[1] http://www.FreeBSD.org/doc/handbook/updating-upgrading-portsnap.html
[2] http://www.FreeBSD.org/doc/handbook/mirrors-svn.html
[3]
http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html
Share Button

BSD Magazine – Mês de Setembro

Posted by gondim | Posted in Dicas, FreeBSD, Software Livre, Tecnologia | Posted on 06-09-2012

Tags:, , ,

0

BSD Magazine é uma revista mensal de excelente qualidade técnica, visual e gratuita para todo e qualquer profissional que queira ficar bem informado sobre tecnologia e informação utilizando BSD e outros Softwares Livres.

A revista encontra-se em idioma Inglês e para baixá-la basta informar o seu e-mail e clicar para baixar. Todas as outras edições anteriores também podem ser baixadas. Seu formato está em pdf.

Conteúdo:

  • What’s New in PC-BSD 9.1
  • Unix IPC with Pipes
  • Setting up Your OwnCloud Instance via the Warden™
  • FreeBSD Enterprise Search with Apache Solr
  • PostgreSQL Partitioning (part 2)
  • Hardening FreeBSD with TrustedBSD and MAC
  • Nmap: The Network Swiss Army Knife
  • Interview with Jeroen van Nieuwenhuizen

Bsd_09_2012_whats_new_in_pc_bsd_9_1

Share Button

The FreeBSD Laptop Compatibility List

Posted by gondim | Posted in FreeBSD | Posted on 04-09-2012

0

Para aqueles que querem comprar um notebook compatível com FreeBSD ou descobrir se o seu notebook é compatível. Esse site aqui é excelente para isso. Foi através dele que descobri porque meu notebook trava na BIOS quando tento instalar o FreeBSD 8.

Esse site pode evitar muitas compras indesejadas. Parabéns para eles e quem quiser contribuir faz bem.

Be happy!

Share Button