<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Porta 80 &#187; Artigos</title>
	<atom:link href="http://www.blogporta80.com.br/tag/artigos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blogporta80.com.br</link>
	<description>Por que não há lugar como localhost</description>
	<lastBuildDate>Tue, 27 Jul 2010 22:44:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Artigo &gt; Linux &gt; System.map</title>
		<link>http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/</link>
		<comments>http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 22:40:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artigos e tutoriais]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Artigos]]></category>

		<guid isPermaLink="false">http://www.blogporta80.com.br/?p=2739</guid>
		<description><![CDATA[O arquivo system.map Parece haver escassez de informações sobre o arquivo System.map. Ele não é nada misterioso, e não é mesmo tão importante assim. Mas a falta de documentação torna-o sombrio. É como um lóbulo da orelha, que todos nós temos um, mas ninguém sabe por quê. O que são símbolos? No contexto da programação, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>O arquivo system.map</strong></p>
<p>Parece haver escassez de informações sobre o arquivo <strong>System.map</strong>. Ele não é nada misterioso, e não é mesmo tão importante assim. Mas a falta de documentação torna-o sombrio. É como um <em>lóbulo da orelha</em>, que todos nós temos um, mas ninguém sabe por quê. </p>
<p><strong>O que são símbolos?</strong></p>
<p>No contexto da programação, um símbolo é o alicerce de um programa: é um nome de variável ou um nome de função.</p>
<p><strong>O que é a tabela de símbolos do <strong>Kernel</strong>?</strong></p>
<p>O <strong>Kernel</strong> não usa nomes para símbolos como BytesRead(). É muito mais fácil conhecer o nome da variável ou função, através do endereço como c0343f20. Os seres humanos, por outro lado, não apreciam endereços como c0343f20. Nós preferimos usar nomes de símbolos como BytesRead(). Normalmente, isso não representa um grande problema. O <strong>Kernel</strong> é principalmente escrito em C, assim o compilador/linkeditor nos permite usar nomes de símbolo quando estamos codificando e permite o <strong>Kernel</strong> usar endereços quando ele é executado. Todo mundo fica feliz.</p>
<p>Há situações, porém, que precisamos saber o endereço de um símbolo (ou o símbolo de um endereço). Isso é feito por uma tabela de símbolos, e é muito similar a como gdb pode dar-lhe o nome da função de um endereço (ou um endereço de um nome de função). A tabela de símbolos é uma listagem de todos os símbolos, juntamente com seu endereço. Aqui está um exemplo de uma tabela de símbolos:</p>
<blockquote><p>       c03441a0  B dmi_broken<br />
       c03441a4  B  is_sony_vaio_laptop<br />
       c03441c0  b dmi_ident<br />
       c0344200 b pci_bios_present<br />
       c0344204 b pirq_table<br />
       c0344208 b pirq_router<br />
       c034420c b pirq_router_dev<br />
       c0344220 b ascii_buffer<br />
       c0344224 b ascii_buf_bytes</p></blockquote>
<p>Você pode ver que a variável chamada <strong>dmi_broken</strong> está no endereço <strong>Kernel</strong> c03441a0.</p>
<p><strong>O que é o arquivo system.map?</strong></p>
<p>Há dois arquivos que são usados como tabelas de símbolos do <strong>Kernel</strong>:</p>
<p>1. /proc/kallsyms<br />
2. System.map</p>
<p>Agora você já sabe o que é o arquivo <strong>System.map</strong>.</p>
<p>Cada vez que você compila um novo <strong>Kernel</strong>, é necessário mudar os endereços dos nomes de vários símbolos.<br />
<span id="more-2739"></span><br />
O <strong>/proc/kallsyms</strong> é um arquivo <strong>proc</strong> que é criado no momento em que o <strong>Kernel</strong> é carregado. Na verdade, não é realmente um arquivo em disco, é uma representação de dados do <strong>Kernel</strong> que é dado a ilusão de ser um arquivo de disco. Se você não acredita em mim, tenta encontrar o tamanho do arquivo /proc/kallsyms. Portanto, ele estará sempre pronto para o <strong>Kernel</strong> que está atualmente em execução.</p>
<p>No entanto, <strong>System.map</strong> é um arquivo no seu sistema de arquivos. Quando você compilar um novo <strong>Kernel</strong>, o System.map velho tem informações dos símbolos erradas. Um novo System.map é gerado para cada compilação do <strong>Kernel</strong> e que você precisa substituir a cópia de antiga por sua nova cópia.</p>
<p><strong>O que é Oops?</strong></p>
<p>Qual é o erro mais comum em seus programas caseiros? A falha de segmentação.</p>
<p>Qual é o erro mais comum no <strong>Kernel</strong> do Linux? A falha de segmentação. Salvo aqui, a noção de A falha de segmentação, ou segfault, é muito mais complicado e pode ser, como você pode imaginar, muito mais grave. Quando o <strong>Kernel</strong> referencia um ponteiro inválido, não é chamado um segfault &#8211; ele é chamado de &#8220;Oops&#8221;. Um <strong>Oops</strong> indica um erro de <strong>Kernel</strong> e deve sempre ser comunicado e corrigido.</p>
<p>Note-se que uma Oops não é a mesma coisa que um segfault. Seu programa (geralmente) não é possível se recuperar de um segfault. O <strong>Kernel</strong> não tem necessariamente de estar em um estado instável quando ocorre uma <strong>Oops</strong>. O <strong>Kernel</strong> do Linux é muito robusto, o <strong>Oops</strong> pode apenas matar o processo em curso e deixar o resto do <strong>Kernel</strong> em perfeito estado sólido.</p>
<p>Um Oops não é um <strong>Kernel Panic</strong>. Em pânico, o <strong>Kernel</strong> não pode continuar, o sistema é parado e deve ser reiniciado. Um <strong>Oops</strong> pode causar um panic se uma parte vital do sistema for destruída. Um <strong>Oops</strong> em um driver de dispositivo, por exemplo, quase nunca causa panic.</p>
<p>Quando ocorre uma <strong>Oops</strong>, o sistema irá imprimir as informações que são relevantes para a depuração do problema, como o conteúdo de todos os registos da CPU, e da localização das tabelas descritoras de página. Em particular, o conteúdo do EIP (instruction pointer) é impresso. Como esta:</p>
<blockquote><p>    EIP: 0010:[<00000000>]<br />
    Call Trace: [<c010b860>]</p></blockquote>
<p><strong>O que um Oops tem a ver com System.map?</strong></p>
<p>As informações prestadas em <strong>EIP</strong> e <strong>Call Trace</strong> não é muito informativa. Uma vez que um símbolo de <strong>Kernel</strong> não tem um endereço fixo até que o <strong>Kernel</strong> ser inicializado, c010b860 pode apontar para qualquer símbolo do <strong>Kernel</strong>. Desenvolvedores do <strong>Kernel</strong> não teriam a menor idéia por onde começar a olhar para o bug se você simplesmente informasse um endereço. Eles precisam de um nome de símbolo para começar a caçar o bug.</p>
<p>Para ajudar a entender a saída <strong>Oops</strong> crítica, um daemon chamado klogd, o <strong>Kernel</strong> logging daemon, é usado para executar a tradução de símbolo para endereços. Quando ocorre um <strong>Oops</strong>, o klogd intercepta o relatório <strong>Oops</strong>, traduz endereços em nomes de símbolo (por exemplo, traduzindo c010b860 em BytesRead()), e registra o evento com o logger do sistema, normalmente syslogd.</p>
<p>Para executar a resolução de endereços dos símbolos do <strong>Kernel</strong>, klogd usa o System.map.</p>
<p>Agora você sabe o que uma Oops tem a ver com System.map.</p>
<p>Fine Print: (como traduzir isso???)</p>
<p>Na verdade, existem dois tipos de resolução de endereço realizada por klogd.</p>
<p>     * Tradução estática, que usa o arquivo System.map.<br />
     * Tradução dinâmica, que é usada com módulos carregáveis. Esta tradução não usa System.map e portanto, não é relevante para esta discussão, por isso vou descrever brevemente:</p>
<p><strong>Tradução Dinâmica com Klogd</strong></p>
<p>Suponha que você carregue um módulo do <strong>Kernel</strong> que gera uma <strong>Oops</strong>. Uma mensagem de <strong>Oops</strong> é gerado, e klogd intercepta-o. Verifica-se que o <strong>Oops</strong> ocorreu em d00cf810. Uma vez que este endereço pertence a um módulo carregado dinamicamente, não tem nenhuma entrada no arquivo System.map. klogd irá procurá-lo, não encontrará nada, e conclui que um módulo carregável deve ter gerado a <strong>Oops</strong>. Em seguida o klogd, consulta o <strong>Kernel</strong> para símbolos que foram exportados pelos módulos carregáveis. Mesmo que o autor do módulo não exportou seus símbolos, no mínimo, klogd vai saber o que gerou o módulo <strong>Oops</strong>, o que é melhor do que não saber nada sobre o <strong>Oops</strong>.</p>
<p><strong>Onde deve ser localizado System.map?</strong></p>
<p>System.map deve ser localizado em qualquer lugar onde  o software que utiliza-o possa encontrá-lo. É a única resposta possível até que alguns standards board (ou alguém de autoridade clara) determine  o local padrão para o  System.map. Com isso em mente, olhe para alguns pacotes de software e descubra onde poderá encontrar o System.map.</p>
<p><strong>klogd</strong></p>
<p>Se  não for dada ao klogd a localização do System.map como uma opção de linha de comando com a opção-k, ele utilizará a seguinte Mariz de possíveis locais (a partir da versão 1.4.1) para procurá-lo (ver arquivo de código fonte ksym.c:</p>
<blockquote><p>static char *system_maps[] =<br />
      {<br />
            &#8220;/boot/System.map&#8221;,<br />
            &#8220;/System.map&#8221;,<br />
      #if defined(TEST)<br />
            &#8220;./System.map&#8221;,<br />
      #endif<br />
            (char *) 0<br />
      };</p></blockquote>
<p>O <strong>klogd</strong> procura por dois arquivos nestes diretórios, o  &#8220;System.map&#8221; e o &#8220;System.map-release&#8221;  onde &#8220;release&#8221; é a versão do <strong>Kernel</strong>. Trata-se de uma pesquisa inteligente: se klogd encontra um System.map para uma versão do <strong>Kernel</strong> que é diferente do <strong>Kernel</strong> em execução no momento, ele vai continuar pesquisando.</p>
<p>Embora as páginas man klogd e comentários de código fonte aleguem que /usr/src/linux está no caminho de procura, não consigo encontrar qualquer referência a ele. Eu relatei este problema ao projeto Debian e ao Dr. G.W. Wettstein (o autor de ksym.c).</p>
<p><strong>Device Drivers</strong></p>
<p>System.map não é apenas útil para depurar <strong>Oops</strong> do <strong>Kernel</strong>. Alguns drivers necessitam do System.map para resolver símbolos, uma vez que estão ligados com cabeçalhos do <strong>Kernel</strong> em vez da glibc). Eles não funcionarão corretamente sem o System.map. Esta não é a mesma coisa que um módulo não carregar por causa de uma incompatibilidade de versão do <strong>Kernel</strong>, que tem a ver com a versão do <strong>Kernel</strong>, e não a tabela de símbolos do <strong>Kernel</strong> que muda entre as versões!</p>
<p><strong>ps</strong></p>
<p>PS usa uma matriz de busca diferentes (mais geral) do que klogd:</p>
<blockquote><p>*sysmap_paths[] = {<br />
            &#8220;/boot/System.map-%s&#8221;,<br />
            &#8220;/boot/System.map&#8221;,<br />
            &#8220;/lib/modules/%s/System.map&#8221;,<br />
            &#8220;/usr/src/linux/System.map&#8221;,<br />
            &#8220;/System.map&#8221;,<br />
            NULL<br />
      };</p></blockquote>
<p>Onde %s é substituído pela versão do <strong>Kernel</strong> atualmente em execução.</p>
<p><strong>O que mais utiliza (ou não uso) o System.map</strong></p>
<p>Em um momento (maio 2003), pensei que lsof e dosemu usavam o  System.map, mas ao olhar o código fonte (Maio de 2007) eles não aparecem mais (ou talvez eu esteja enganado).</p>
<p><strong>What Happens If I Don&#8217;t Have A Healthy System.map?</strong></p>
<p>Suponha que você tenha vários <strong>Kernel</strong> na mesma máquina. Você precisa de um arquivo System.map separado para cada <strong>Kernel</strong>. Se você executar um <strong>Kernel</strong> com nenhum (ou um incorreto) System.map, você vai ver periodicamente avisos irritantes como:</p>
<blockquote><p>System.map does not match actual <strong>Kernel</strong></p></blockquote>
<p>Toda vez que você usa ps. Além disso, sua saída klogd ksym<strong>Oops</strong> pode não ser confiável em caso de um <strong>Kernel</strong> <strong>Oops</strong>. </p>
<p><strong>Fontes:</strong></p>
<p>http://dirac.org/linux/system.map/</p>
<p>http://wrbraga.blogspot.com</p>
<p><strong>Outros materiais:</strong></p>
<p>http://www.frankmarcel.com/seo/oracao-google-nosso</p>
<p>http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html</p>
<p>http://en.wikipedia.org/wiki/System.map</p>
<p>http://www.cathedrallabs.org/~landgraf/apresentacoes/2007-09-29-Desenvolvimento_do_Kernel_Linux.pdf</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-blogger">
			<a href="http://www.blogger.com/blog_this.pyra?t&amp;u=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;n=Artigo+%3E+Linux+%3E+System.map&amp;pli=1" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;title=Artigo+%3E+Linux+%3E+System.map" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;t=Artigo+%3E+Linux+%3E+System.map" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;title=Artigo+%3E+Linux+%3E+System.map&amp;srcUrl=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;srcTitle=Artigo+%3E+Linux+%3E+System.map&amp;snippet=O%20arquivo%20system.map%0D%0A%0D%0AParece%20haver%20escassez%20de%20informa%C3%A7%C3%B5es%20sobre%20o%20arquivo%20System.map.%20Ele%20n%C3%A3o%20%C3%A9%20nada%20misterioso%2C%20e%20n%C3%A3o%20%C3%A9%20mesmo%20t%C3%A3o%20importante%20assim.%20Mas%20a%20falta%20de%20documenta%C3%A7%C3%A3o%20torna-o%20sombrio.%20%C3%89%20como%20um%20l%C3%B3bulo%20da%20orelha%2C%20que%20todos%20n%C3%B3s%20temos%20um%2C%20mas%20ningu%C3%A9m%20sabe%20por%20qu%C3%AA.%20%0D%0A%0D%0AO%20que%20s" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Artigo+%3E+Linux+%3E+System.map+-+http://b2l.me/ac49tk&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/&amp;title=Artigo+%3E+Linux+%3E+System.map&amp;summary=O%20arquivo%20system.map%0D%0A%0D%0AParece%20haver%20escassez%20de%20informa%C3%A7%C3%B5es%20sobre%20o%20arquivo%20System.map.%20Ele%20n%C3%A3o%20%C3%A9%20nada%20misterioso%2C%20e%20n%C3%A3o%20%C3%A9%20mesmo%20t%C3%A3o%20importante%20assim.%20Mas%20a%20falta%20de%20documenta%C3%A7%C3%A3o%20torna-o%20sombrio.%20%C3%89%20como%20um%20l%C3%B3bulo%20da%20orelha%2C%20que%20todos%20n%C3%B3s%20temos%20um%2C%20mas%20ningu%C3%A9m%20sabe%20por%20qu%C3%AA.%20%0D%0A%0D%0AO%20que%20s&amp;source=Blog Porta 80" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blogporta80.com.br/2010/07/artigo-linux-system-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artigo &gt; Usando Wget no Windows</title>
		<link>http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/</link>
		<comments>http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 12:49:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artigos e tutoriais]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Plataformas]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.blogporta80.com.br/?p=2833</guid>
		<description><![CDATA[O comando wget é nativo do Linux e é utilizado para baixar arquivos via linha de comando. Muito utilizado pela sua praticidade, o wget é uma ótima opção para baixar arquivos. A seguir, o vemos em ação no Linux: O wget não existe em Windows, mas podemos usá-lo a partir do utilitário Wget.exe disponível no [...]]]></description>
			<content:encoded><![CDATA[<p>O comando <strong>wget</strong> é nativo do <strong>Linux</strong> e é utilizado para baixar arquivos via linha de comando.</p>
<p>Muito utilizado pela sua praticidade, o <strong>wget</strong> é uma ótima opção para baixar arquivos.</p>
<p>A seguir, o vemos em ação no Linux:</p>
<p><img src="http://blogporta80.com.br/conteudo/2010/07/24/wget_linux.png" width="100%"></p>
<p>O <strong>wget</strong> não existe em <strong>Windows,</strong> mas podemos usá-lo a partir do utilitário <strong>Wget.exe</strong> disponível no site ugent.be.</p>
<p>Segue endereço para download:<br />
<a target="_blank" href="http://users.ugent.be/~bpuype/wget/">http://users.ugent.be/~bpuype/wget/</a></p>
<p>Considero que o amigo leitor já tenha vivência com o <strong>MS-DOS</strong>. Portanto, abra o MS-DOS e entre na pasta onde o utilitário foi baixado.</p>
<p>Use o comando abaixo para baixar arquivos com wget:</p>
<blockquote><p>wget -c http://endereco_do_site/arquivo.extensao</p></blockquote>
<p>Por exemplo:</p>
<blockquote><p>wget -c http://blogporta80.com.br/conteudo/2009/10/30/High-Quality-Wallpaper.zip</p></blockquote>
<p>Vemos, a seguir, o Wget.exe em uso no Windows:</p>
<p><img src="http://blogporta80.com.br/conteudo/2010/07/24/wget_windows.png" width="100%"></p>
<p>Na sintaxe acima, vemos que &#8220;wget&#8221; invoca o comando wget. O &#8220;-c&#8221; nos permite baixar arquivos parcialmente baixados. Ou seja, podemos, com ele, continuar downloads interrompidos anteriormente.</p>
<p>Para mais opções, digite:</p>
<blockquote><p>wget -h</p></blockquote>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-blogger">
			<a href="http://www.blogger.com/blog_this.pyra?t&amp;u=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;n=Artigo+%3E+Usando+Wget+no+Windows&amp;pli=1" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;title=Artigo+%3E+Usando+Wget+no+Windows" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;t=Artigo+%3E+Usando+Wget+no+Windows" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;title=Artigo+%3E+Usando+Wget+no+Windows&amp;srcUrl=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;srcTitle=Artigo+%3E+Usando+Wget+no+Windows&amp;snippet=O%20comando%20wget%20%C3%A9%20nativo%20do%20Linux%20e%20%C3%A9%20utilizado%20para%20baixar%20arquivos%20via%20linha%20de%20comando.%0D%0A%0D%0AMuito%20utilizado%20pela%20sua%20praticidade%2C%20o%20wget%20%C3%A9%20uma%20%C3%B3tima%20op%C3%A7%C3%A3o%20para%20baixar%20arquivos.%0D%0A%0D%0AA%20seguir%2C%20o%20vemos%20em%20a%C3%A7%C3%A3o%20no%20Linux%3A%0D%0A%0D%0A%0D%0A%0D%0AO%20wget%20n%C3%A3o%20existe%20em%20Windows%2C%20mas%20podemos%20us%C3%A1-lo%20a%20partir%20do%20utili" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Artigo+%3E+Usando+Wget+no+Windows+-+http://b2l.me/acbq86&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/&amp;title=Artigo+%3E+Usando+Wget+no+Windows&amp;summary=O%20comando%20wget%20%C3%A9%20nativo%20do%20Linux%20e%20%C3%A9%20utilizado%20para%20baixar%20arquivos%20via%20linha%20de%20comando.%0D%0A%0D%0AMuito%20utilizado%20pela%20sua%20praticidade%2C%20o%20wget%20%C3%A9%20uma%20%C3%B3tima%20op%C3%A7%C3%A3o%20para%20baixar%20arquivos.%0D%0A%0D%0AA%20seguir%2C%20o%20vemos%20em%20a%C3%A7%C3%A3o%20no%20Linux%3A%0D%0A%0D%0A%0D%0A%0D%0AO%20wget%20n%C3%A3o%20existe%20em%20Windows%2C%20mas%20podemos%20us%C3%A1-lo%20a%20partir%20do%20utili&amp;source=Blog Porta 80" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blogporta80.com.br/2010/07/artigo-usando-wget-no-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artigos &gt; Wireless lento no Dlink DI-524</title>
		<link>http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/</link>
		<comments>http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 02:37:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artigos e tutoriais]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dlink]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Rede]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.blogporta80.com.br/?p=2783</guid>
		<description><![CDATA[Durante um tempo, sofri com taxas baixíssimas no Wireless do router DI-524 que tenho em casa. O motivo? Configuração errada. Os valores default do dispositivo são inapropriados, mas com alguns poucos ajustes, como vemos a seguir, podemos usufruir do máximo que a conexão provê. 1 &#8211; Alterando a conexão existente: 1.1 &#8211; Pelo navegador, acesse [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://blogporta80.com.br/conteudo/2010/06/21/dlink-524.jpg"></center></p>
<p>Durante um tempo, sofri com taxas baixíssimas no <strong>Wireless</strong> do router <strong>DI-524</strong> que tenho em casa. O motivo? Configuração errada.</p>
<p>Os valores default do dispositivo são inapropriados, mas com alguns poucos ajustes, como vemos a seguir, podemos usufruir do máximo que a conexão provê.</p>
<p><strong>1 &#8211; Alterando a conexão existente:</strong></p>
<p>1.1 &#8211; Pelo navegador, acesse o admin do roteador pelo endereço <a target="_blank" href="http://192.168.0.1">http://192.168.0.1</a>. Use o usuário <strong>admin</strong>.</p>
<p>1.2 &#8211; Clique em <strong>Wireless</strong>.</p>
<p>Você já deve possuir uma rede configurada. Nesse caso, altere o nome da conexão em <strong>Network ID</strong>.</p>
<p>1.3 &#8211; Em <strong>Channel</strong>, mude para <strong>1</strong>.</p>
<p>1.4 &#8211; Em <strong>Security</strong>, altere para <strong>WEP</strong>.</p>
<p>1.5 &#8211; Em <strong>Authentication Type</strong>, selecione <strong>Open Security</strong>.</p>
<p>1.6 &#8211; Em <strong>Web Encryption</strong>, selecione <strong>64 bits</strong>.</p>
<p>1.7 &#8211; Em <strong>Key Mode</strong>, selecione <strong>ASCII</strong>.</p>
<p>1.8 &#8211; Em <strong>Web Key 1</strong>, defina uma senha de até 5 caracteres.</p>
<p>1.9 &#8211; Clique em <strong>Apply</strong>.</p>
<p>Feito isso, as configurações serão aplicadas.</p>
<p><strong>2 &#8211; Alterando os valores do Access Point.</strong></p>
<p>2.1 &#8211; Clique em <strong>Advanced</strong> > <strong>Performance</strong>.</p>
<p>2.2 &#8211; Defina os valores conforme abaixo:</p>
<p>2.2.1 &#8211; <strong>Beacon Interval</strong>: 50<br />
2.2.2 &#8211; <strong>RTS Threshold</strong>: 2304<br />
2.2.3 &#8211; <strong>Fragmentation</strong>: 2304<br />
2.2.4 &#8211; <strong>DTIM Interval</strong>: 1</p>
<p><center><img src="http://blogporta80.com.br/conteudo/2010/06/21/routeradm.png" width="100%"></center></p>
<p>2.3 &#8211; Clique em <strong>Apply</strong>.</p>
<p>Esses passos resolveram meu problema de lentidão. Estava <em>à deriva</em> com o Wireless de casa. Agora, estou voando baixo.</p>
<p>Espero que ajude. Abraços.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-blogger">
			<a href="http://www.blogger.com/blog_this.pyra?t&amp;u=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;n=Artigos+%3E+Wireless+lento+no+Dlink+DI-524&amp;pli=1" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;title=Artigos+%3E+Wireless+lento+no+Dlink+DI-524" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;t=Artigos+%3E+Wireless+lento+no+Dlink+DI-524" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;title=Artigos+%3E+Wireless+lento+no+Dlink+DI-524&amp;srcUrl=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;srcTitle=Artigos+%3E+Wireless+lento+no+Dlink+DI-524&amp;snippet=%0D%0A%0D%0ADurante%20um%20tempo%2C%20sofri%20com%20taxas%20baix%C3%ADssimas%20no%20Wireless%20do%20router%20DI-524%20que%20tenho%20em%20casa.%20O%20motivo%3F%20Configura%C3%A7%C3%A3o%20errada.%0D%0A%0D%0AOs%20valores%20default%20do%20dispositivo%20s%C3%A3o%20inapropriados%2C%20mas%20com%20alguns%20poucos%20ajustes%2C%20como%20vemos%20a%20seguir%2C%20podemos%20usufruir%20do%20m%C3%A1ximo%20que%20a%20conex%C3%A3o%20prov%C3%AA.%0D%0A%0D%0A1%20-%20A" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Artigos+%3E+Wireless+lento+no+Dlink+DI-524+-+http://b2l.me/5me33&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/&amp;title=Artigos+%3E+Wireless+lento+no+Dlink+DI-524&amp;summary=%0D%0A%0D%0ADurante%20um%20tempo%2C%20sofri%20com%20taxas%20baix%C3%ADssimas%20no%20Wireless%20do%20router%20DI-524%20que%20tenho%20em%20casa.%20O%20motivo%3F%20Configura%C3%A7%C3%A3o%20errada.%0D%0A%0D%0AOs%20valores%20default%20do%20dispositivo%20s%C3%A3o%20inapropriados%2C%20mas%20com%20alguns%20poucos%20ajustes%2C%20como%20vemos%20a%20seguir%2C%20podemos%20usufruir%20do%20m%C3%A1ximo%20que%20a%20conex%C3%A3o%20prov%C3%AA.%0D%0A%0D%0A1%20-%20A&amp;source=Blog Porta 80" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blogporta80.com.br/2010/06/artigos-wireless-lento-no-dlink-di-524/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inverter tecla FN no Dell Inspiron</title>
		<link>http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/</link>
		<comments>http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 22:26:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artigos e tutoriais]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Notebook]]></category>

		<guid isPermaLink="false">http://www.blogporta80.com.br/?p=2708</guid>
		<description><![CDATA[Photo by Wiliam A tecla Fn dos teclados de Notebooks é utilizada para acionar recursos multimídia e funções. Ou seja, algumas teclas possuem dupla função. Quando o Fn é pressionado, a função default é deixada de lado e a outra função da tecla é utilizada. Em notes Dell os recursos multimídia são default. Quando pressionamos [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://blogporta80.com.br/conteudo/2010/06/06/dell_bios.jpg"></center><br />
<small>Photo by Wiliam</small></p>
<p align="justify">A tecla <strong>Fn</strong> dos teclados de Notebooks é utilizada para acionar recursos multimídia e funções. Ou seja, algumas teclas possuem dupla função. Quando o Fn é pressionado, a função default é deixada de lado e a outra função da tecla é utilizada.</p>
<p align="justify">Em notes <strong>Dell</strong> os recursos multimídia são default. Quando pressionamos Fn, acessamos as teclas F1, F2, F3, etc.</p>
<p align="justify">Isso é um complicador para quem usa as teclas de função (F1, F2, F3, etc) com muita freqüência. </p>
<p align="justify">Para resolver, basta alterar na <strong>BIOS</strong> o modo default da tecla Fn.</p>
<p align="justify">Para alterar, ligue seu notebook Dell e pressione F2 para entrar na BIOS. Navegue até <strong>System Configuration</strong> > <strong>Function Key Behavior</strong>. Você verá a opção <strong>Multimedia Key First</strong> selecionada. Selecione a opção <strong>Function Key First</strong> como vemos na foto destacada acima. Feito isso, clique em <strong>Apply</strong>.</p>
<p align="justify">Saia da BIOS e ligue seu notebook normalmente. Faça os testes com o sistema operacional startado.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-blogger">
			<a href="http://www.blogger.com/blog_this.pyra?t&amp;u=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;n=Inverter+tecla+FN+no+Dell+Inspiron&amp;pli=1" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;title=Inverter+tecla+FN+no+Dell+Inspiron" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;t=Inverter+tecla+FN+no+Dell+Inspiron" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;title=Inverter+tecla+FN+no+Dell+Inspiron&amp;srcUrl=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;srcTitle=Inverter+tecla+FN+no+Dell+Inspiron&amp;snippet=%0D%0APhoto%20by%20Wiliam%0D%0A%0D%0AA%20tecla%20Fn%20dos%20teclados%20de%20Notebooks%20%C3%A9%20utilizada%20para%20acionar%20recursos%20multim%C3%ADdia%20e%20fun%C3%A7%C3%B5es.%20Ou%20seja%2C%20algumas%20teclas%20possuem%20dupla%20fun%C3%A7%C3%A3o.%20Quando%20o%20Fn%20%C3%A9%20pressionado%2C%20a%20fun%C3%A7%C3%A3o%20default%20%C3%A9%20deixada%20de%20lado%20e%20a%20outra%20fun%C3%A7%C3%A3o%20da%20tecla%20%C3%A9%20utilizada.%0D%0A%0D%0AEm%20notes%20Dell%20os%20recurs" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Inverter+tecla+FN+no+Dell+Inspiron+-+http://b2l.me/zrbjs&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/&amp;title=Inverter+tecla+FN+no+Dell+Inspiron&amp;summary=%0D%0APhoto%20by%20Wiliam%0D%0A%0D%0AA%20tecla%20Fn%20dos%20teclados%20de%20Notebooks%20%C3%A9%20utilizada%20para%20acionar%20recursos%20multim%C3%ADdia%20e%20fun%C3%A7%C3%B5es.%20Ou%20seja%2C%20algumas%20teclas%20possuem%20dupla%20fun%C3%A7%C3%A3o.%20Quando%20o%20Fn%20%C3%A9%20pressionado%2C%20a%20fun%C3%A7%C3%A3o%20default%20%C3%A9%20deixada%20de%20lado%20e%20a%20outra%20fun%C3%A7%C3%A3o%20da%20tecla%20%C3%A9%20utilizada.%0D%0A%0D%0AEm%20notes%20Dell%20os%20recurs&amp;source=Blog Porta 80" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blogporta80.com.br/2010/06/inverter-tecla-fn-no-dell-inspiron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
