Mostrando postagens com marcador internet. Mostrar todas as postagens
Mostrando postagens com marcador internet. Mostrar todas as postagens

segunda-feira, 14 de junho de 2010

Web caching para uma Internet mais rápida

Rodrigo Filipe Silva Carramate





Web caching nada mais é do que um processo pelo qual se armazena localmente conteúdo disponível na internet, a fim de minimizar o tráfego de rede e sua latência [1]. Apesar de parecer um conceito simples e de fácil compreensão, temos no web caching uma grande ajuda em dois fatores críticos nas redes atuais: a largura de banda [2] e a latência.

Devido à queda no custo da Internet de banda larga para o usuário final doméstico e empresarial nos últimos anos, temos muitas vezes a falsa impressão de que largura de banda se tornou algo economicamente acessível. Na verdade isto é um equívoco, uma vez que esse tipo de usuário paga, na verdade, por uma concessão que, segundo o SLA [3] (em português "Acordo do nível de serviço"), lhe garante apenas 10% do que contrata nominalmente. Temos porém exemplos em que a situação é bastante diferente, como no caso de pequenos provedores, em que há necessidade de um SLA que garanta algo próximo dos 100% da banda; nestes casos temos preços bastante elevados para o total de banda contratado. Desta forma, quanto menor for a demanda de banda nessas redes, menor será o custo com contratação de banda.

Outro grande problema que frequentemente encontramos é a baixa latência. Este costuma ser mais notado quando utilizamos algum serviço de streaming [4] diretamente da Internet, seja ao realizar uma video-conferência ou ao assistir a algum vídeo diretamente da Internet. Geralmente o sintoma mais comum em uma rede com baixa latência são travamentos frequentes durante a execução dessas tarefas.

Infelizmente, o web caching é limitado apenas ao caso da execução de conteúdo arquivado, porém, nesse contexto o web caching se torna um excelente aliado: ao manter em servidores locais o conteúdo da Internet mais acessado, evitam-se acessos externos desnecessários, sendo o mesmo conteúdo repassado diretamente pelos servidores ao usuário. Assim, além de o usuário receber a informação muito mais rapidamente, permitindo uma navegação muito mais proveitosa, há uma economia considerável de recursos, já que a necessidade de banda diminui consideravelmente.

Além de beneficiar a velocidade do acesso dos usuários da sua rede à Internet, o web caching ainda tem outro grande atrativo: o Squid [5], que é o software de web caching mais utilizado mundialmente tem seu código aberto, o que significa que todos podem estudá-lo e o melhorar. Além disso, felizmente alguns dos programadores do Squid têm permitido que seus usuários o possam usar gratuitamente

Devemos entender também que há vários tipos de caching, entre eles o caching feito na própria máquina e aquele feito na rede local. O primeiro é mais comumente feito pelo próprio navegador, possibilitando que se volte de maneira praticamente instantânea a páginas visitadas recentemente. O segundo, foco deste artigo, objetiva criar um cache compartilhado entre os usuários de uma mesma rede, de tal modo que se um usuário acessar uma determinada página, o servidor grava todo seu conteúdo automaticamente e distribui a cópia a cada uma das próximas tentativas de acesso.

A aquisição de uma página por um navegador sem uso de web caching se dá pelo contato direto entre o cliente e o servidor que hospeda a página, havendo transferência direta dos dados. Quando se utiliza o web caching, o navegador faz a requisição da mesma forma, porém quem recebe e interpreta o pedido é o servidor de web cache. Este procura pela página em seu cache e, caso a possua, avalia sua idade e a compara com a sua data de validade estipulada pelo criador da página ou segundo um conjunto de regras estipuladas pelo próprio servidor de web cache. Caso a página ainda seja válida, a envia ao cliente; caso contrário, redireciona o cliente à página original e cria em seu cache uma cópia da mesma.

Um problema que pode ocorrer é dado pelo chamado balanço de carga: para dividir o trabalho entre servidores distintos, um mesmo conteúdo é reescrito em URLs semelhantes, mas não iguais. Por exemplo, em [6] é dado o exemplo de uma mesma imagem armazenada em 3 diferentes servidores do Orkut:

http://img1.orkut.com/imagem1.jpg (1)

http://img2.orkut.com/imagem1.jpg (2)

http://img3.orkut.com/imagem1.jpg (3)

Como o Squid trabalha através de URLs, ele entenderia que são 3 arquivos diferentes, o que causaria muito mais transferências do que necessário. Sendo assim, há softwares como o InComum [7], que podem ser programados para dar ao Squid a habilidade de reconhecer essa similaridade.

O processamento da URL para detectar a uniformidade pode ser bastante complexo, uma vez que a URL pode conter muito mais informações do que aquela do nome do servidor e do arquivo. Podem haver, por exemplo, informações para controle da sessão.

Conclusão


A arquitetura complexa e gigantesca de sistemas como o da Wikimedia[8], fundação que atende os projetos Wikipedia, Wikidictionary, entre outros, só é realizável devido à existência de formas para minimizar o tráfego interno e externo, através do Squid.

A imagem mostra um grupo muito grande de servidores formando um cluster, no qual há vários servidores Squid.
Servidores da Wikimedia[/caption]

Referências


[1] It's the Latency, Stupid
http://www.stuartcheshire.org/rants/Latency.html
Visitado em 31/05/2010

[2] Largura de banda
http://pt.wikipedia.org/wiki/Largura_de_banda_%28telecomunica%C3%A7%C3%B5es%29
Visitado em 31/05/2010

[3] Acordo de nível de serviço
http://pt.wikipedia.org/wiki/Acordo_de_N%C3%ADvel_de_Servi%C3%A7o
Visitado em 31/05/2010

[4] Streaming Definition
http://www.techterms.com/definition/streaming
Visitado em 31/05/2010

[5] Squid: Optimising Web Delivery
http://www.squid-cache.org/
Visitado em 31/05/2010

[6] Cache efetivo de vídeos do Youtube com Squid
http://www.lucianopinheiro.net/portal/?q=node/130
Visitado em 31/05/2010

[7] inComum
http://sourceforge.net/projects/incomum/
Visitado em 31/05/2010

[8] Wikimedia servers
http://meta.wikimedia.org/wiki/Wikimedia_servers
Visitado em 31/05/2010

Saiba mais

Abordagens mais aprofundadas sobre web caching



[9] Web caching
http://www.ccda.biz/web/about/ac123/ac147/ac174/ac199/about_cisco_ipj_archive_article09186a00800c8903.html
Visitado em 31/05/2010

[10] Introdução ao Cache de Web
http://www.rnp.br/newsgen/0003/cache.html
Visitado em 31/05/2010

[11] Making the Most of Your Internet Connection
http://www.web-cache.com/
Visitado em 31/05/2010

Relação entre web caching e QoS


[12] ENHANCING QoS IN WEB CACHING USING DIFFERENTIATED SERVICES
http://www.tmrfindia.org/ijcsa/V3I17.pdf
Visitado em 31/05/2010

quarta-feira, 2 de junho de 2010

Cidades digitais -- tentativa de definição

Hilton Garcia Fernandes



Cidade digital é um termo que tem alguma popularidade. Talvez por isso, tem significados diferentes para diferentes pessoas. Para o Ministério das Telecomunicações, por exemplo, em [1], qualquer cidade que tenha conexão com a Internet é uma cidade digital. Devido à universalização das telecomunicações, praticamente qualquer cidade brasileira tem acesso à Internet -- mesmo que tenha que fazer uma ligação interurbana ao ponto de presença de Internet mais próximo, como tem sido o caso de cidades até mesmo de Minas Gerais.

Para outras pessoas, cidade digital é cidade que tem presença marcante na Internet, muitas vezes através de portais de governo eletrônico [2], ou e-gov, onde a população pode solicitar serviços da prefeitura e acompanhar online a prestação de contas da prefeitura.

André Lemos [3], pesquisador da UFBA, publicou artigo [4] onde levanta os vários significados possíveis do termo no uso cotidiano e acadêmico. Juliano Castilho Dall'Antonia [5], pesquisador do CPqD, fez apresentação [6] no evento Wireless Mundi 5 [7] onde lançou a noção de uma hierarquia de implementações de características de uma cidade digital, que começa com o acesso básico e chega até à cidade digital plena.

Neste texto, vamos seguir abordagem prática de identificar o termo cidade digital com o uso mais corrente no contexto dos técnicos brasileiros, no qual cidade digital significa uma cidade amplamente coberta por uma rede sem fio integrada, que permite acessar a Internet, em geral oferecida gratuitamente pela municipalidade, ou por uma organização não governamental (ONG), caso em que o acesso pode ter um custo, em geral muito baixo.

Para evitar a ambiguidade do termo cidade digital, nos EUA tem sido adotado o termo municipal wireless network [8], ou rede municipal sem fio, que eles preferem abreviar por municipal wi-fi, ou até muni wi-fi, devido ao fato de que hoje as redes que chegam ao cidadão sejam normalmente do tipo chamado Wi-Fi [9].

Pela amplitude da oferta de acesso à Internet e por seu baixo custo, redes desse tipo têm um impacto grande na comunidade, tanto em termos educacionais, quanto em termos empresariais, como até turísticos.

A respeito do impacto na educação, a cidade de Sud Mennucci-SP [10] é um bom exemplo brasileiro, pois seus estudantes têm tido bons resultados quando comparados com estudantes de cidades maiores [11]. E também é por razões semelhantes que várias iniciativas educacionais como o OLPC (One Laptop per Child) [12] têm usado a informática na educação com amplo acesso à Internet [13].

Quanto ao incentivo às empresas que essas redes oferecem, pode-se citar desde um resultado de econometria que mostra que as empresas são atraídas por empresas com maior infraestrutura em informática, do mesmo modo que são repelidas por cidades com menor infraestrutura [14]. Além disso, no caso do Brasil, cidades como Quissamã-RJ [15], têm recebido interesse de empresas graças a sua facilidade de acesso à Internet, hoje muito importante para os negócios.

Quanto ao incentivo para o turismo, o exemplo brasileiro de Tiradentes-MG [16] é relevante. Esta cidade turística passou a ser mais considerada por turistas que, mesmo em viagem, não querem perder o contacto com o resto do mundo através da Internet. O que talvez signifique duas coisas: uma que, no mundo competitivo de hoje, as pessoas talvez não possam se isolar do trabalho mesmo durante suas férias; ou então, que hoje a Internet se usa a Internet não apenas para trabalhar, mas para sua convivência pessoal. Naturalmente, uma opção não exclui a outra.

Proposta de conceito

Nossa proposta de cidade digital é apenas aplicar o conceito que está muito divulgado em propostas como aquela de Tiradentes [16]. Ele pode ser resumido na matéria [17] do portal How stuff works [18] (ou "como as coisas funcionam"): um conjunto de equipamentos do tipo AP [18], eventualmente conectados em malha [19], nos quais alguns têm o papel de gateways e se comunicam com a Internet. Isto pode ser resumido na imagem a seguir, trazida de [17], na qual a linha traçada em azul mostra o acesso à Internet, o que é chamado de backhaul [20].
Esquema simplificado de rede mesh

Crítica do conceito

Tem havido uma reflexão na Web em português a respeito de uma cidade digital ser mais do que sua infra-estrutura [21]. É de bom senso que se cria uma cidade digital para obter incrementos em educação, empreendedorismo e atividade econômica, como já mostram os casos clássicos brasileiros já comentados antes. Contudo, em nenhuma das páginas Web encontradas há clareza sobre o que realmente seria esse algo mais. Trata-se principalmente de uma listagem de propostas gerais de e-gov, principalmente na saúde, com aplicação da Internet à educação etc.

Um conceito que pareceria frutífero é o de cidades inteligentes [22]. Uma cidade inteligente seria uma cidade capaz de se organizar para atuar de modo inteligente; uma cidade inteligente pressupõe na base uma cidade digital, inteiramente conectada por uma rede única, em geral digital, conforme descrito antes.

Contudo, o conceito de cidade inteligente até aqui levou principalmente a estudos especulativos e também não parece indicar soluções práticas -- por isto é insuficiente para o administrador público. Assim, estudos na linha da economia do desenvolvimento regional, ou Estudos Regionais [23] parecem ter capacidade propositiva -- já sendo encampados por instituições como o SEBRAE [24]. Estudos nesta linha fazem avaliação bem informada e fundamentada de ações de redução da exclusão digital aplicadas nos EUA [25].

Concluindo, parecem ser necessários estudos e práticas baseadas no conceito de cidade inteligente [22], mas calcados nos impactos das cidades digitais na economia, que tem sido feitos nos EUA [25], que seguem a linha dos estudos regionais [23]. O SEBRAE-SP já iniciou trabalhos em linha próxima a esta [24].

Referências

[1] As cidades digitais no mapa do Brasil: Uma rota para a inclusão social
http://www.cpqd.com.br/component/docman/doc_download/146-as-cidades-digitais-no-mapa-do-brasil.html
Visitado em 13/05/2010

[2] São Paulo é a cidade mais digital da América Latina, aponta pesquisa
http://idgnow.uol.com.br/internet/2009/10/27/sao-paulo-e-a-cidade-mais-digital-da-america-latina/
Visitado em 14/05/2010

[3] Carnet de Notes -- Bios
http://andrelemos.info/about/
Visitado em 14/05/2010

[4] O que é Cidade Digital?
http://www.guiadascidadesdigitais.com.br/site/pagina/o-que-cidade-digital
Visitado em 14/05/2010

[5] Juliano Castilho Dall'Antonia
http://dgp.cnpq.br/buscaoperacional/detalhepesq.jsp?pesq=0822860019291028
Visitado em 14/05/2010

[6] O que esperar de uma Cidade Digital Plena
http://www.arede.inf.br/images/stories/arquivos/wirelless_mundi/5wirelessmundi/julianodallantonia-cpqd.pdf
Visitado em 14/05/2010

[7] 5º Wireless Mundi
http://www.arede.inf.br/inclusao/component/content/article/2040-5-wireless-mundi
Visitado em 14/05/2010

[8] Municipal Wireless Network
https://secure.wikimedia.org/wikipedia/en/wiki/Municipal_wireless_network
Visitado em 14/05/2010

[9] Wi-Fi
https://secure.wikimedia.org/wikipedia/en/wiki/Wi-Fi
Visitado em 14/05/2010

[10] Sud Mennucci (São Paulo)
https://secure.wikimedia.org/wikipedia/pt/wiki/Sud_Mennucci_%28S%C3%A3o_Paulo%29
Visitado em 14/05/2010

[11] LETRAMENTO E INCLUSÃO DIGITAL: A INFLUÊNCIA DA INTERNET NA CONSTRUÇÃO DOS HÁBITOS DE LEITURA DE ALUNOS DE EJA
http://www.alb.com.br/anais16/sem01pdf/sm01ss08_06.pdf
Visitado em 14/05/2010

[12] One Laptop per Child
https://secure.wikimedia.org/wikipedia/en/wiki/Olpc
Visitado em 14/05/2010

[13] Information and communication technologies in education
https://secure.wikimedia.org/wikipedia/en/wiki/Information_and_communication_technologies_in_education
Visitado em 14/05/2010

[14] EFFECT OF ODA IN INFRASTRUCTURE IN ATTRACTING FDI INFLOWS IN VIETNAM
http://www.grips.ac.jp/vietnam/VDFTokyo/Doc/39PTHien15Dec07PPT.pdf
Visitado em 14/05/2010

[15] Quissamã
https://secure.wikimedia.org/wikipedia/pt/wiki/Quissam%C3%A3
Visitado em 14/05/2010

[16] Tiradentes (Minas Gerais)
https://secure.wikimedia.org/wikipedia/pt/wiki/Tiradentes_%28Minas_Gerais%29
Visitado em 17/05/2010

[17] How Municipal WiFi Works
http://computer.howstuffworks.com/municipal-wifi.htm
Visitado em 19/05/2010

[18] How Stuff Works
http://computer.howstuffworks.com
Visitado em 19/05/2010

[19] Wireless Access Point
https://secure.wikimedia.org/wikipedia/en/wiki/Access_point
Visitado em 19/05/2010

[20] Redes mesh e grafos
http://tecnologiassemfio.wordpress.com/2010/02/19/plano-nacional-de-banda-larga-primeiras-ideias/
Visitado em 21/05/2010

[21] Por que fazer uma cidade digital?
http://www.cpqd.com.br/imprensa-e-eventos/the-news/4347-por-que-fazer-uma-cidade-digital.html
Visitado em 19/05/2010

[22] Intelligent city
https://secure.wikimedia.org/wikipedia/en/wiki/Intelligent_city
Visitado em 21/05/2010

[23] Regional science
https://secure.wikimedia.org/wikipedia/en/wiki/Regional_science
Visitado em 19/05/2010

[24] Estudos regionais | Portal SEBRAE-SP
http://www.sebraesp.com.br/conhecendo_mpe/setoriais_regionais/regionais
Visitado em 21/05/2010

[25] Measuring broadband's economic impact
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.7956&rep=rep1&type=pdf
Visitado em 21/05/2010

segunda-feira, 26 de abril de 2010

PNBL, lá e cá (Parte 2 de 4)

Hilton Garcia Fernandes



Este é o segundo da série três artigos sobre um pequeno panorama de planos nacionais de banda larga. O primeiro foi publicado neste blog em [1]. Será aqui brevemente discutido o planos nacional de banda larga dos EUA. No texto final serão comentados os planos da Malásia e da África do Sul. A conclusão tentará resumir todos os pontos polêmicos vistos aqui.

EUA



O famoso The Wall Street Journal [2] publicou recentemente matéria [3] contestando a necessidade de um plano nacional de banda larga para os EUA. Diz a matéria [3] que é falso afirmar que os EUA ocupem o décimo quinto lugar entre os países do mundo quanto à penetração de banda larga per capita. Depois de argumentações demográficas, a matéria finalmente reposiciona os EUA em... décimo lugar. E este era o país que se orgulhava de ter a melhor educação, os melhores indicadores sociais -- tudo sempre usado como demonstração da pujança da nação americana e do próprio capitalismo.

The Wall Street Journal foi recentemente associado a um grupo de polemistas conservadores [4], que a expressividade americana talvez chamasse de spin doctors [5], ou especialistas em ilusão e desinteligência. O autor do artigo [5] não é nenhum esquerdista radical, mas sim o notório Jeffrey Sachs [6].

Mas a revista The Economist, que dificilmente poderia ser chamada de esquerdista tem artigo [7] que retira a discussão do subjetivismo. Para explicar porque tantas cidades americanas se esforçam para receber as redes FFTH [8] do Google, The Economist mostra que todos os países desenvolvidos têm situação de banda muito melhor que aquele dos EUA. E os últimos argumentos que retirariam os EUA de sua má situação são derrubados no debate que promoveram os leitores do artigo [9]. Por exemplo, a densidade populacional dos EUA (32 hab/km2 [10]), apesar de maior do que de alguns países europeus -- como a Suécia, com 20,6 hab/km2 [11] -- não justifica uma diferença tão grande de oferta de banda larga: diz o artigo da Economist [7] que a Suécia tem banda larga de 100 megabits por segundo a 24 dólares. Ao passo que nos EUA, paga-se 145 dólares por 50 mbps [7]. Um outro ponto triste do artigo é que coloca os EUA não em décimo quinto lugar em penetração de Internet, mas como décimo-nono lugar entre os países da OECD [12].

Assim, um plano nacional de banda larga é estritamente necessário nos EUA, para manter a competitividade do país vis-a-vis outras economias desenvolvidas. E é o que propôs a administração Obama, chamada algumas vezes de não-capitalista por luminares como aqueles que escrevem em The Wall Street Journal [2].

Na página de anúncio do The National Broadband Plan (ou NBP) [13], a divisão do FCC americano, similar à ANATEL brasileira, comenta que o plano propõe um planejamento ousado do futuro dos EUA, visando o crescimento econômico, a geração de empregos e a aceleração das capacidades do país em educação, saúde, segurança e outros.

E, sim, há ousadia no NBP:

  • em 2020, pelo menos 100 milhões de lares dos EUA deverão ter acesso a conexões de banda larga de 100 megabits por segundo.


    Por mais que os números 100 milhões de banda e de alcance sejam de marketing, bandas como esta já estão presentes em países desenvolvidos, a penetração é proporcional à população do país;


  • Os EUA devem liderar na pesquisa de redes sem fio e oferecê-las em número e cobertura maiores do que aquelas de qualquer outra nação.


Outros itens da proposta propõem metas também ousadas a respeito de redes sem fio como forma de aumentar a tolerância a falhas de uma rede nacional e de aumentar a eficiência no consumo de energia [13]. Sem falar, é claro, na redução da exclusão digital através da educação dos americanos para o uso de computadores.

Um ponto importante do NBP é de onde sairá o recurso para financiar a iniciativa privada e atividades governamentais. Na versão atual do plano, comentada pelo portal Convergência Digital [14], na matéria "EUA define o Plano Nacional de Banda Larga" [14], possivelmente do Fundo de Universalização também disponível lá. Os detalhes com certeza serão negociados com o congresso, já que se estima o custo total do projeto em 350 bilhões de dólares, dos quais o governo gastaria cerca de 16, apenas.

Um ponto tocado pela matéria da Economist [7], mas deixado de lado na matéria do Wall Street Journal [3], é a explicação de porque nos EUA a banda larga é tão cara, tem tão pouca penetração e mesmo baixa capacidade.

A explicação talvez surpreenda quem ache o governo Obama realmente socialista -- mas não vai surpreender quem saiba que a Economist é verdadeiramente capitalista: trata-se de falta de competição. A velha e boa competição capitalista é que faz com que as empresas façam investimentos e baixem custos.

Nos EUA, em muitos casos há um duopólio. Os comentários dos leitores da Economist a respeito do artigo [9] trazem dados interessantes: a Romênia, recém saída de uma ditatura ao estilo soviético, montou um modelo de privatização das telecomunicações, que, segundo eles, garante que bandas de 20 Mbps possam ser contratadas lá por apenas 9 euros, ou cerca de 12,5 dólares.

Enfim, um ponto importante do NBP é restaurar a concorrência entre companhias de telecomunicação. Como fazer isto é algo que terá que ser negociado com toda a sociedade. E isto inclui a participação das companhias que hoje auferem o duopólio. Talvez elas não achem isso uma boa ideia...

Enfim, haverá muita oposição que o NBP terá de enfrentar.

Referências



[1] PNBL, lá e cá (Parte 1 de 4)
http://tecnologiassemfio.blogspot.com/2010/03/pnbl-la-e-ca-parte-1-de-2.html
Visitado em 17/03/2010

[2] https://secure.wikimedia.org/wikipedia/en/wiki/Wall_street_journal
https://secure.wikimedia.org/wikipedia/en/wiki/Wall_street_journal
Visitado em 19/03/2010

[3] A 'National Broadband Plan'
http://online.wsj.com/article/SB10001424052748703652104574652501608376552.html
Visitado em 19/03/2010

[4] Climate sceptics are recycled critics of controls on tobacco and acid rain
http://www.guardian.co.uk/environment/cif-green/2010/feb/19/climate-change-sceptics-science
Visitado em 19/03/2010

[5] Spin (public relations)
https://secure.wikimedia.org/wikipedia/en/wiki/Spin_doctor
Visitado em 19/03/2010

[6] Jeffrey Sachs
https://secure.wikimedia.org/wikipedia/en/wiki/Jeffrey_Sachs
Visitado em 19/03/2010

[7] Googlenet: A cure for America’s lame and costly broadband?
http://www.economist.com/science-technology/displaystory.cfm?story_id=15841658
Visitado em 23/04/2010

[8] Fiber to The X
https://secure.wikimedia.org/wikipedia/en/wiki/Ftth
Visitado em 23/04/2010

[9] Googlenet: A cure for America’s lame and costly broadband? -- Readers' comments
http://www.economist.com/node/15841658/comments
Visitado em 23/04/2010

[10] USA
https://secure.wikimedia.org/wikipedia/en/wiki/USA
Visitado em 23/04/2010

[11] Sweden
https://secure.wikimedia.org/wikipedia/en/wiki/Sweden
Visitado em 23/04/2010

[12] OECD
https://secure.wikimedia.org/wikipedia/en/wiki/Oecd
Visitado em 23/04/2010

[13] The National Broadband Plan
http://www.broadband.gov/plan/
Visitado em 23/04/2010

[14] Convergência Digital
http://convergenciadigital.uol.com.br/
Visitado em 23/04/2010

[15] EUA definem o Plano Nacional de Banda Larga
http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=21996&sid=4
Visitado em 23/04/2010

segunda-feira, 19 de abril de 2010

Modem 3G Sony Ericsson MD300 USB no Linux

Marcio Barbado Junior
(BDS Labs)



Este é um tutorial prático para instalar no GNU/Linux o modem 3G, modelo MD300, fabricado pela Sony Ericsson para operar em sistemas operacionais proprietários.

Pode-se em certa medida, aproveitar este conteúdo para qualquer combinação entre uma distro e um modem 3G USB, fazendo-se pequenas adaptações nos passos descritos, que são especificamente focados no modem MD300 e em distribuições baseadas em Fedora/Red Hat e Debian.

É possível o utilizar com HSDPA, UMTS, EDGE e GPRS mas o equipamento não oferece suporte para chamadas de voz GSM. Também pode enviar e receber mensagens SMS. Tudo isso é fácil, considerando-se Windows e Mac OS.

Essas situações contudo causam "dores de cabeça" a usuários Linux, e muitos acabam deixando de utilizar o pinguim por não terem seu hardware devidamente reconhecido. Problema recorrente.

O caso é que usuários PJ (ou pessoa jurídica, empresariais) são grandes disseminadores de paradigmas tecnológicos, e o dispositivo da Sony Ericsson representa uma grande barreira à adoção do Linux na medida em que a operadora Claro vem sugerindo a seus clientes "corporativos" a utilização do modem em questão, o que inclusive constitui uma especie de venda casada, já que ao aceitarem a "sugestão", os clientes se vêem obrigados a possuir/adquirir uma licença paga de modo que possam usufruir do equipamento.

A questão toda se resume à constatação de uma estrategia velada, adotada por grandes players do mercado, que acaba por minar a confiabilidade do Linux.

Assim, as presentes linhas objetivam aliviar o incômodo e o desrespeito causado aos usuários do pinguim, e principalmente perseverar na batalha em prol da transparência de códigos E nessa missão, discorrem principalmente sobre udev e wvdial.

1 Introdução



Utilizou-se para redação destas linhas um sistema Fedora 10 de 64 bits, kernel "2.6.27.5". As adaptações para Debian são citadas sempre que preciso, e com pequenas alterações, o roteiro poderá resolver problemas de outras distribuições Linux que estiverem utilizando outros modems 3G USB.

Apesar do que afirmam alguns especialistas, versões de kernel posteriores à "2.6.19" podem encontrar dificuldades para entender um modem 3G USB [1].

No Brasil, o MD300 é utilizado principalmente em sistemas operacionais Windows e nesses, é gerenciado por um software proprietário chamado "Wireless Manager", que se instala automaticamente, "espetando-se" o modem.

Bem, a historia é diferente no Linux. O pinguim exigirá que se escreva uma regra de udev, e que se configure o wvdial para então aceitar e entender o equipamento.

A regra de udev elimina o problema da detecção automática da memória flash presente no equipamento, e ativa o dispositivo /dev/ACM0 ou seja, o udev permitirá que o MD300 seja devidamente reconhecido pelo sistema. O wvdial é um discador dial-up inteligente que será utilizado para fazer o modem funcionar com PPP (daemon pppd) após ser reconhecido.

É dito "inteligente" pois utiliza algoritmos heurísticos para obter a conexão Algumas vezes, tais algoritmos mais atrapalham do que ajudam.
São mostrados com simplicidade e detalhes, todos os passos necessários para suplantar as barreiras impostas pela Sony Ericsson aos usuários Linux. Tais dificuldades serão combatidas, e a rede da Claro será utilizada sem a necessidade de se conhecer o PIN e/ou o PUK do equipamento. Todavia, faz-se preciso o conhecimento de algumas informações elementares da operadora como o APN e o "número" para o qual ligar por exemplo.

1.1- Medidas preliminares


Caso se esteja utilizando o SELinux -- recomenda-se que sim -- coloque-o provisoriamente em modo permissivo até que o modem esteja funcionando corretamente. Isso é feito no arquivo /etc/sysconfig/selinux com a linha:

SELINUX=permissive

Outro ponto a se verificar diz respeito às presenças do kppp, gnome-ppp, wvdial e minicom, ferramentas que poderão ser usadas:

$ rpm -q kppp gnome-ppp wvdial minicom
ou:

$ which kppp gnome-ppp wvdial minicom

Caso não estejam presentes, deve-se ao menos realizar a instalação do wvdial embora os comandos abaixo instalem as três, que é a recomendação deste tutorial:

# yum install kppp gnome-ppp wvdial minicom
ou:

# apt-get -y install kppp gnome-ppp wvdial minicom

Uma medida a se tomar após as instalações diz respeito à permissão de escrita que os usuários devem possuir em:

/etc/ppp/pap-secrets
e:

/etc/ppp/chap-secrets
que são arquivos utilizados pelo wvdial.
O próximo passo é permitir que contas de usuário utilizem o wvdial pois o mesmo só pode ser executado pela conta root. Isso pode ser feito com o sudo, lembrando que o wvdial fica costumeiramente em /usr/bin/wvdial.

2- udev rulez! [2]



Constitui um percalço comum em distribuições Fedora / Red Hat e RHEL, a situação em que o sistema não consegue disponibilizar o modem automaticamente. Isso pode estar relacionado à memória flash contida no dispositivo, que provavelmente estará sendo detectada e montada automaticamente como uma mídia USB genérica no diretório /media/ (ou /mnt/ para distribuições baseadas em Debian).

O problema existindo, irá interferir na correta detecção do MD300. Pode-se detectar essa falha rapidamente se o sistema utilizar um ambiente gráfico, constatando-se o ícone MD300 no Desktop. E nesses casos basta dizer ao sistema operacional para não detectar a memória flash do modem como uma mídia USB.

Todavia, essa correção NÂO deve ser feita através do gerenciador gráfico de dispositivos USB ou editando-se o arquivo /etc/fstab. A questão é resolvida com o udev!

Sucessor do devfs, o versátil udev é um componente escrito em C, que opera dinamicamente sobre o diretório /dev/, local em que cria arquivos de dispositivos. É comum para dispositivos seriais, a utilização de arquivos do tipo tty*, exemplo:

/dev/ttyS3
ou:

/dev/ttyUSB0

O equipamento Sony Ericsson possui várias funções, capazes de ativar dispositivos no diretório /dev/ como, por exemplo:





FUNÇÃODISPOSITIVOEXEMPLO
rede/dev/eth[N]/dev/eth2
memória flash/dev/sdb[N]dev/sdb1
modem/dev/ttyS[N]/dev/ttyS1


A função memória flash, quando detectada, impede o correto uncionamento do MD300 mas o mesmo NÃO pode ser dito sobre a função de rede -- em geral dispositivo /dev/eth2.
Cabe destacar a existência de uma correspondência aproximada entre os padrões para portas seriais em UNIX e MS-DOS.
Enquanto o padrão de Redmond é COMn, com n iniciado em 1 -- or exemplo: COM1 --, o padrão UNIX é ttySn, com n iniciado em 0. No exemplo dado, /dev/ttyS0.
A tabela abaixo apresenta essa correspondência de forma mais detalhada:

















/dev/ttys0 (COM1)porta 0x3f8IRQ 4
/dev/ttys2 (COM3)porta 0x3e8IRQ 4
/dev/ttys3 (COM4)porta 0x2e8IRQ 3


Qual (ou quais) dos ttySn corresponde (ou correspondem) ao MD300?

Pois é: nenhum deles. A regra a ser escrita irá inibir o reconhecimento da memória flash e mostrar que para o MD300, o sistema operacional utiliza /dev/ttyACM0.

Faz-se a regra do udev através da criação de um arquivo de texto com sufixo .rules no diretório /etc/udev/rules.d/:

# vim /etc/udev/rules.d/50-md300modem.rules

Copia-se o conteúdo a seguir neste arquivo. Cuidado com as aspas simples e duplas ao copiar e colar. Confira se elas foram transportadas corretamente depois de colar:

ACTION!="add", GOTO="3G_End"
BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce",
PROGRAM="/bin/sh -c 'echo 3 > /sys/%p/bConfigurationValue'"
LABEL="3G_End"


Os valores de SYSFS{idProduct} e SYSFS{idVendor} devem ser obtidas através do dmesg:

$ dmesg | grep usb

que apresentará em sua saída, tais informações:

usb 3-2: New USB device found, idVendor=0fce, idProduct=d0cf
usb 3-2: Product: Sony Ericsson MD300
usb 3-2: Manufacturer: Sony Ericsson


Criado o arquivo, reinicia-se o sistema operacional.

3- wvdial [3] [4]



Grosso modo, o wvdial (ou Weave Dial) é um discador escrito em C++ por Dave Coombs e Avery Pennarun, e licenciado sob a LGPL, que não é "viral" como a GPL, infelizmente.

O programa, que utiliza o protocolo PPP através do daemon pppd, deve ser utilizado pela conta root a princípio, e automatiza diversas tarefas, tornando desnecessário o conhecimento de PIN e PUK para a conexão.

Utilizado em linha de comando, caso não possua opções, o discador irá ler seu arquivo de configurações globais:

/etc/wvdial.conf


e em seguida, um dos arquivos das contas de usuário, que são:
~/.wvdial.conf

ou:

~/.wvdialrc


eventualmente presentes no diretório home do usuário
Os arquivos de configuração seguem o padrão .ini do Windows. Os nomes das seções estão entre colchetes e seus conteúdos são sequências de linhas no modelo:

variável = valor


Linhas comentadas são iniciadas pelo caractere "ponto e virgula", ou ";". Antes mesmo de se usar o wvdial pela primeira vez, é preciso executar como root o programa wvdialconf, que possivelmente identificará a porta serial do modem:

# wvdialconf /etc/wvdial.conf


Caso a ferramenta tenha êxito, o dispositivo referente ao MD300 será detectado e algumas informações básicas de configuração serão carregadas no arquivo global /etc/wvdial.conf, que em seguida deve ser editado com informações especificas:

# vim /etc/wvdial.conf


Utiliza-se o seguinte conteúdo no arquivo -- algumas linhas já terão sido preenchidas pelo wvdialconf:

[Dialer Defaults]
Modem = /dev/ttyACM0
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Dial Command = ATM1L3DT
Username = claro
Password = claro
Stupid Mode = 1
Auto DNS = on
Check DNS = on
Check Def Route = on
Remote Name = *
Carrier Check = on
Auto Reconnect = on
Abort on No Dialtone = on
Dial Attempts = 3
ISDN = 0


Atenção com as aspas.

O exemplo é especifico para o MD300 e para a Claro. Valores à direita de = e algumas variáveis poderão mudar em acordo com o modem e a operadora utilizada. O comando:

$ man wvdial.conf

fornece mais informações sobre o devido preenchimento do arquivo /etc/wvdial.conf, procedimento este que após ser concluído, deve ser seguido de uma reinicialização do sistema operacional com o modem espetado, e então a conexão pode ser gerenciada pelo kppp e/ou pelo gnome-ppp; e/ou diretamente pelo wvdial:

$ sudo wvdial

e para se desconectar, caso tenha usado o wvdial, pressione Ctrl + c.

4- Soluções de problemas



Caso a conexão fique instável, é possível como root, verificar o que ocorre no sistema em tempo real com o tail, utilizando-se a opção -f (de follow) para seguir os últimos registros:

# tail -f /var/log/audit/audit.log

ou:

# tail -f /var/log/messages

Os registros do arquivo /var/log/audit/audit.log serão úteis caso o SELinux esteja ativado.

As seções a seguir cobrem os problemas mais comuns que podem aparecer com os procedimentos aqui descritos.

4.1- Arquivos de configurações do wvdial [4]



Talvez o leitor tenha optado por editar arquivos do usuário, que são o:

~/.wvdial.conf

e/ou o:

~/.wvdialrc

e o wvdial não o(s) esteja utilizando.

Isso se resolve colando todas as configurações supracitadas no arquivo global, chamado /etc/wvdial.conf.

4.2- Conecta mas o web browser não carrega conteúdo



Cabe salientar que em alguns casos a saída que o wvdial apresenta no terminal leva a crer que os servidores de nomes (DNS) foram devidamente obtidos, exemplo:

--> pppd: =
--> primary DNS address 200.169.119.221
--> pppd: =
--> secondary DNS address 200.169.119.222
--> pppd: =


O sintoma é o navegador reclamando de um endereço qualquer como www.google.com ou www.bdslabs.com.br. O conteúdo simplesmente não é exibido.
E, ao contrário do que possa parecer, talvez esteja ocorrendo um erro relacionado a DNS.

Isso pode ser verificado da seguinte forma. Caso seja possível pingar um IP (por exemplo, 200.169.119.221) mas não seja possível pingar um nome (por exemplo, www.google.com), então o problema é de fato a obtenção dos servidores de nomes, e a solução é adicionar as seguintes linhas no final do arquivo/etc/resolv.conf:

domain bandalarga.claro.com.br
nameserver 200.169.119.221
nameserver 200.169.119.222


Este procedimento corresponde à copia do conteúdo presente em /etc/ppp/resolv.conf no arquivo /etc/resolv.conf.
O arquivo /etc/ppp/resolv.conf possuirá os IPs mostrados na saída do wvdial.

4.3- Não é possível se descobrir a porta serial do modem



Uma opção para essa situação é utilizar o programa minicom [5].

Nativo em muitas distros, ele só pode ser configurado e testado em uma porta serial de cada vez. A configuração começa através do comando:

# minicom -s

que leva ao menu configuration no qual se escolhe a opção Serial port setup. Uma vez lá, modifique Serial Device e retorne ao menu. Escolha então Save setup as dfl e em seguida, Exit from Minicom. Execute o programa novamente:

# minicom

e digite:

AT

é esperada uma resposta OK; caso não se obtenha tal resposta, digite:

ATQ0 V1 EI

novamente, espera-se uma resposta OK. Caso ela não venha mesmo assim, refaça a configuração do minicom utilizando outro dispositivo e repita os testes.

Um programa que pode ajudar o minicom se chama setserial. Este, pode obter e modificar informações das portas seriais. O seguinte comando é um exemplo que obtem informações básicas sobre algumas delas:

# setserial -g -a /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Uma saída típica do setserial pode ser:

/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal auto_irq


5- Conclusões



Frequentemente se verifica a fabricação de equipamentos USB que funcionam apenas em sistemas proprietários Esta é uma das razões que prejudica a disseminação do Linux.

Particularmente, alguns fabricantes de equipamentos 3G como a Huawei, preocupam-se com sistemas operacionais livres. A Sony Ericsson infelizmente não faz parte desse grupo.

É possível contudo, combater esse desrespeito a usuários Linux através da devida modificação do sistema. E na maioria dos casos, isso se resume a escrever uma regra udev, configurar e utilizar devidamente o wvdial.

Contato



Marcio Barbado Jr. é empresário e ativista do Software Livre, sendo um dos proprietários da BDS Labs, em

http://www.bdslabs.com.br

Marcio possui larga experiência em programação, projeto e integração de sistemas.

E-mail para contato: contato@bdslabs.com.br

6- Referências



[1] LINUX MAGAZINE #63 (FEVEREIRO de 2010) - Pergunte ao Klaus
http://www.linuxmagazine.com.br/article/pergunte_ao_klaus_lm63
Visitado em 16/04/2010

[2] Entendendo o udev - Carlos E. Morimoto

http://www.guiadohardware.net/tutoriais/acessando-dispositivos-usb-escrevendo-regras/entendendo-udev.html

Visitado em 16/04/2010

[3] WvDial | freshmeat.net
http://freshmeat.net/projects/wvdial/
Visitado em 16/04/2010

[4] páginas man (manuais de utilização) wvdial e wvdial.conf
Visitado em 16/04/2010

[5] Modem-HOWTO -- 18. Troubleshooting
http://tldp.org/HOWTO/Modem-HOWTO-18.html
Visitado em 16/04/2010