Escrito por Helio Loureiro
Categoria:

Faz tempo que não me deparo com esse tipo de problema, mas acabei vendo novamente depois que um colega de trabalho pediu ajuda nisso.

A primeira vez que trabalhei com conversão de caracteres foi em português mesmo, de ISO-8859-1 para UTF-8. Não guardei lembranças boas. Dessa vez o desafio era para converter supostos caracteres no mesmo formato para UTF-8, mas não da nossa língua pátria.

Para quem nunca viu isso, o código em Perl que faz a conversão está no pacote Encode , disponível no CPAN, da seguinte forma:

use Encode; 
...
...
foreach $line () {
next if ($line =~ m/^$/);
chomp($line);
$i = Encode::decode("iso-8859-1", $line);
$line = Encode::encode("utf8", $i);
print $line."\n";
}
...

Dessa vez tive um problema com a palavra "ΑστέριαΑστέρια". Juro que não sei o que significa, mas a droga da palavra, escrita em grego (CP1253) estava junto ao restante do texto codificado em ISO-8859-1.

Apanhei pra achar o formato certo... ainda falta fazer um conversor inteligente o suficiente para usar o formato certo antes de processar, mas já é alguma coisa...

Escrito por Helio Loureiro
Categoria:

 Publicado recentemente, um site interessante que conta a história da Ericsson e, por sua vez, parte da história das telecomunicações. Em inglês.

History of Ericsson

BTW fico pensando como os chineses escreverão sobre a histórias das telecomunicações no futuro. Deve ser algo: enquanto muitos gastavam criando, nós só otimizamos simplesmente copiando... ou talvez peguem a história de alguém e só falsifiquem os nomes. Se nem a cantora das olimpíadas conseguiu fugir da pirataria, quiçá o restante...

Escrito por Helio Loureiro
Categoria:

Cansado de ver as mensagens surgindo o tempo todo:

acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C)

Fiz uma alteração nessa parte do ACPI e removi a mensagem. Acho que não vai fazer muita falta mesmo...
--- /usr/src/sys/dev/acpica/acpi_thermal.c-original 2008-06-08 17:38:40.000000000 -0300 
+++ /usr/src/sys/dev/acpica/acpi_thermal.c 2008-06-08 17:39:27.000000000 -0300
@@ -677,8 +677,10 @@
acpi_tz_sanity(struct acpi_tz_softc *sc, int *val, char *what) {
if (*val != -1 && (*val < TZ_ZEROC || *val > TZ_ZEROC + 2000)) {
+ /* device_printf(sc->tz_dev,
"%s value is absurd, ignored (%d.%dC)\n",
what, TZ_KELVTOC(*val));
+ */ *val = -1;
}
}
 
Escrito por Helio Loureiro
Categoria:
{mosimage} Finalmente resolvi bater um pouco a cabeça e tentar habilitar a função de journaling em FreeBSD (um pouco movido pela inveja de ver isso funcionado em Linux, um pouco porque essa foi uma das "top" features do FreeBSD-7.0). O grande desafio foi fazer isso em um sistema já ativo. Já havia deixada uma partição livre, /dev/ad4s1h, com 360 MB livres, mas descobri que precisava de uma relação de partição/partição para ter o journaling ativado.

Meu disco usava a seguinte separação de slices:

{mosimage}

  • ad4s1a em / (UFS2)
  • ad4s1b como swap
  • ad4s1c reservado para o disco todo (default)
  • ad4s1d em /tmp (UFS2 e soft-updates)
  • ad4s1e em /var (UFS2 e soft-updates)
  • ad4s1f em /home (UFS2 e soft-updates)
  • ad4s1g em /usr (UFS2 e soft-updates)
  • ad4s1h disponível com 360MB

Descobri que o sistema de label de slices do BSD ainda mantém a limitação de 8 slices por partição, o que restringe somente ao uso das letras a-h. Com isso esgotado, as alternativas de criar ad4s1i, ad4s1j e assim por diante, impossível.

Buscando na rede, descobri que a forma de fazer isso seria atribuindo o tamanho total de disco a ser alterado para ad4s1h e depois aplicando o disklabel sobre o mesmo, na forma "disklabel -e ad4s1h", onde novamente a letras de a-h estão disponíveis. Com isso, criei os labels ad4s1ha, ad4s1hb, ad4s1hc, ad4s1hd, ad4s1he, ad4s1hf e ad4s1hg, para cada um corresponder ao seu journal, com 50MB.

O passo seguinte foi criar e ativar o journal. Seguindo a man page, gjournal (8), segui os passos como abaixo (após o boot em single mode):
{CODE} gjournal load gjournal label -f ad4s1d ad4s1hd gjournal label -f ad4s1e ad4s1he gjournal label -f ad4s1f ad4s1hf gjournal label -f ad4s1g ad4s1hg tunefs -J enable -n disable ad4s1d.journal tunefs -J enable -n disable ad4s1e.journal tunefs -J enable -n disable ad4s1f.journal tunefs -J enable -n disable ad4s1g.journal {/CODE}
Fiz as alterações correspondentes no /etc/fstab:
{CODE} /dev/ad4s1b none swap sw 0 0 /dev/ad4s1a / ufs rw 1 1 /dev/ad4s1f.journal /home ufs async,rw 2 2 /dev/ad4s1d.journal /tmp ufs async,rw 2 2 /dev/ad4s1g.journal /usr ufs async,rw 2 2 /dev/ad4s1e.journal /var ufs async,rw 2 2 linprocfs /compat/linux/proc linprocfs rw 0 0 proc /proc procfs rw 0 0 {/CODE}
O primeiros boot falharam devido ao fato de que "gjournal load" não existe em nenhum ponto do rc.conf. Fiz uma alteração em "/etc/rc.d/fsck" para que isso funcionasse (linhas 30-32):
{mosimage} {CODE} 28 fsck_start() 29 { 30 # patch to force gjournal load 31 echo -n 'Load gjournal (as patch): ' 32 /sbin/gjournal load 33 34 if [ "$autoboot" = no ]; then 35 echo "Fast boot: skipping disk checks." {/CODE}

Ainda não descobri como ativar a partição raiz, "/", com journaling também, mas só o fato de ter feito isso com a demais já fez muita diferença: o sistema ficou muito mais rápido.

Escrito por Helio Loureiro
Categoria:

 Brincando com meu antigo companheiro de consultorias, o iBook xuxu, comecei a quebrar a cabeça para fazer rodar um programa, um script, direto via interface gráfica, simplesmente com um clique. Acabei encontrando a linguagem, mais que natural, do Applescript. A linguagem é tão fácil que algumas coisas óbvias ficam difíceis.

Para criar shell scripts (ou inicialização de algum aplicativo java, como era meu caso), basta o código:

 do shell script "/patch/script.sh" 

Encontrei na net outro trecho de código simplesmente hilário...

 say "Dum dum dum dum dum dum dum he he he ho ho ho fa lah lah lah lah lah lah fa lah full hoo hoo hoo" using "Cellos" 

Para quem quiser descobrir mais, aqui segue o manual:

Applescript Reference Manual
Escrito por Helio Loureiro
Categoria:
{mosimage} Reativando meu velho iBook G3, resolvi investir um pouco mais de tempo no brinquedo. Como não serei o usuário direto, estou procurando formas de melhorar seu uso. Entre os problemas que vi, o uso de acentos em português foi o mais gritante.

O suporte nativo é feito através do uso de "special keys" usando combinações. Felizmente encontrei uma alternativa muito melhor, habilitando as "dead-keys":"

http://br.geocities.com/fsc3lfm/br/

No momento teclo a partir do mesmo e tudo (em relação à acentuação) funciona corretamente :-)

Escrito por Helio Loureiro
Categoria:

This article is kindly linked by:

http://tuxmobil.org/hp_compaq.html

 

http://tuxmobil.org/mobile_bsd.html

Barely finished my last article about FreeBSD (PRERELEASE at that time) on Compaq laptops, and my computer was replaced (as part of Company refresh policy). I was upgraded to a laptop Compaq NC 6400.

As any good lazy Unix sysadmin (and clever), I just recovered a backup from my previous model (nc 6220). It worked *almost fine*. Just a few adjustments were needed.

Previously I wrote about my quest, getting FreeBSD up and running. As such, let me start describing a little better this laptop hardware:

  • CPU Intel Centrino Dual Core 1.66 GHz
  • 2 GB of RAM
  • 80 GB of Hard Disk SATA (faster!!! And kernel says 76319 MB instead)
  • Built-in bluetooth
  • Built-in Wireless Intel 3945ABG
  • 3 USB ports
  • VGA and S/Video outputs
  • CD/DVD-RW unity (finally!!!)
  • SD Memory card reader
  • Gigabit Ethernet interface (Broadcom)
  • Internal Modem
  • Smart Card reader
  • Fingerprint sensor
  • Sound system Intel 82801G

Getting hands dirty

First thing, I had to move my partitions from /dev/ad0 to /dev/ad4since they use the new SATA interface. A boot with recovery disk was enough to achieve this.

First boot was ok, but far from fine. Screen came up weirdly, caused by xorg.conf, due the chipset swap from i810 to i915. And also the physical screen size was different from old 14".

Seeking in google, I found the following links:

NC 6400 Bios update
FreeBSD settings for chipset i915
Xorg.conf for NC6400 (in Linux)
Linux on an HP Compaq NC6400

Last resource was really handy. I could realize screen was 1280x800 instead. And some Linux procedures (not so few nowadays) helped me to make a roadmap to have FreeBSD successfully installed.

Graphical card 945GM

To achieve an optimal usage, add the following lines in /boot/loader.conf:

i915_load="YES" 

It'll load all required modules (drm and so on).

Through ports, install package sysutils/915resolution. Then add the following lines to /etc/rc.conf:

i915resolution_enable="YES" 
i915resolution_modes="3c" 
i915resolution_width=1280 
i915resolution_height=800 

This will be enough to fix the poorly effect from xorg usage only.

Sound card Intel 82801G

Just add the following line to /boot/loader.conf:

snd_hda_load="YES" 

Wireless 3945ABG (wpi0)

This one was a little bit trick. I had to add the following lines to /boot/loader.conf:

wlan_wep_load="YES" 
wlan_scan_sta_load="YES" 
if_ath_load="YES" 
legal.intel_wpi.license_ack=1 
wpifw_load="YES" 
if_wpi_load="YES" 
wlan_load="YES" 
wlan_amrr_load="YES" 
firmware_load="YES" 

The last statement, firmware_load isn't needed since legal.intel_wpi.license_ack is in place, but it didn't hurt me to include there :-)

Internet Keys

As a plus, I added package sysutils/lineakd to make all internet keys useful (they were dead before). I configured /usr/local/etc/lineakkb.def as described in Linux article, just appending the following lines:

[HP-NC6400]
  brandname = "Hewlett Packard"
  modelname = "Compaq NC6400"
  [KEYS]
    Information      = 245
    Wireless         = 133
    Presentation     = 205
    Mute             = 160
    VolumeDown       = 174
    VolumeUp         = 176
  [END KEYS]
[END HP-NC6400]

It worked fine.

Dual Core CPU

It works by default once ACPI is enabled. Just check the following line in your boot messages:

SMP: AP CPU #1 Launched!
I've seen lately a lot of kernel messages as below:
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C)
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C)

It's harmless, but annoying. I tried to remove it setting sysctl with hw.acpi.thermal.polling_rate=0, but it didn't work...

Gigabit ethernet (bge0)

Just loaded as before, as bge0.

ACPI and sleep mode

Remains as a dream. Not working and crashing everything, as before. Some day it'll be fixed... For now, I need to shutdown my laptop every time. At least it isn't crashing on boot as before.

Card reader, fingerprint sensor and others

Not working and just detected as generic USB. Since I don't use so much those things, I really don't care about it. Maybe it would useful for internal modem, but since wireless broadband is becoming popular, I really don't think I'll need it soon.

Status Brief

  • Dual core CPU: Working (requires ACPI)
  • Sound system Intel 82801G: Working (requires snd_hda)
  • Video card Mobile 945GM: Working (requires i915 module and i915resolution)
  • Gigabit Ethernet: Working (requires if_bge)
  • Bluetooth: Working
  • Wireless 3945ABG: Working (requires wpifw, if_wpi andlegal.intel_wpi.license_ack=1 )
  • SD Memory card reader: Not working
  • Internal Modem: Not working
  • Smart Card reader: Not working
  • Fingerprint sensor: Not working
Leia mais:FreeBSD STABLE-7.0 and Laptop Compaq NC6400
Escrito por Helio Loureiro
Categoria:

Entre meus momentos de ócio, tento gastar o mesmo com o chamada "ócio criativo" (como define Domenico de Masi), onde ao invés de ficar assistindo TV, busco artigos na Internet, leio livros, etc. Entre essas buscas por algo para meu tempo sem labuta, dei de encontro com o o artigo Cooking with Linux - Eye-Popping Panels, escrito por Marcel Gagné, na Linux Journal.

Já tentei utilizar o Beryl, mas achei muito gasto de CPU para uns poucos efeitos 3D. Dessa vez tive impressões melhores e resolvi tentar seguir as dicas de Marcel. O ksmoothdock eu já tinha instalado (via ports), mas nunca usei muito seriamente. Como combinava com meu ambiente KDE, alterei a barra padrão para o topo do desktop e o adicionei como padrão na parte mais baixa. Apenas precisei fazer um link simbólico dentro de .kde/Autostart/para o binário e isso já fez o trabalho de iniciar a barra junto com resto.

O 3ddesktop necessitou de um pouco mais elaboração. Precisei associar o botão F2 ao comando (3ddesk) e criar um comando "3ddesk --acquire" em .kde/Autostart/para adquirir as telas. Somente isso e está pronto para usar, com resultados impressionantes.

Escrito por Helio Loureiro
Categoria:

Trabalhar no fim de semana não é fácil pra ninguém. Mas não disseram que precisava ser um inferno. Como diz o anúncio da security list da Debian: "You know the drill...".

Escrito por Helio Loureiro
Categoria:
{mosimage} Não me lembro de ter tido esse problema antes, mas para tudo sempre existe a primeira vez....

{CODE} Apr 7 12:43:56 musashi root: WARNING: system temperature too high, shutting down soon! Apr 7 12:43:56 musashi kernel: Apr 7 12:43:56 musashi root: WARNING: system temperature too high, shutting down soon! {/CODE}

Perdi tudo que estava trabalhando, mas não perdi o laptop :-)

Escrito por Helio Loureiro
Categoria:

Surpresa ao fazer o update dos sources do sistema:

20080226: FreeBSD 7.0-RELEASE

Sem perda de tempo, "make buildworld" e vamos lá!

Escrito por Helio Loureiro
Categoria:

This article is linked by:

http://tuxmobil.org/hp_compaq.html

 

http://tuxmobil.org/mobile_bsd.html

{mosimage} In this article I'll break my style and write in english since its aimed to describe my experience with a laptop Compaq nc6220 and FreeBSD-7.0-PRERELEASE. Hopefully it can be a source of information for further reference.

This a standard laptop from the company (Ericsson). It isn't exactly powerfull but can help you to have your work done. It's equiped with:

  • Processor Pentium Mobile 1.73 GHz
  • 512 MB RAM
  • 40 GB Hard-disk
  • 14" screen
  • bluetooth
  • 3 usb ports
  • serial port
  • vga and s-video outputs
  • CD/DVD reader (yes, reader-only)
  • SD Memory card reader
  • Gigabit Ethernet port
  • Internal Modem

I found some other descriptions mismatching my configuration. It's probably because its a corporate machine and better improvements like wi-fi and CD writer were just removed. Sad but that's my reality.

Initially I installed FreeBSD-6.0 on it. Since then I've coming upgrading, over and over. I was running FreeBSD-6.3-RC1 when I decide to move on, for FreeBSD-7.0 (CURRENT at that time). As any upgrade, it was painfull.

I could use alternative hardware for a few purpouses, like a PCMCIA interface for Wi-Fi, but some internal parts didn't work at all. I was force to completely disable ACPI since it was hanging it each 15 seconds. I found unplug the power cable could fix it, but it was an annoying task to be done frequently. I could found some discussions about this issue,. but no effective fix was provided until now.

Right now the current status follows:

  • Wi-Fi via DWL-G650 (D-Link): working with if_ath.ko
  • Sound board Intel 82830M/MG AC '97:working with snd_ich.ko
  • Video card Intel 82915GM (915GM GMCH): working with i810 driver (xorg)
  • ACPI: not working (In fact you must disable it at all)
  • Gigabit Ethernet Interface: working with bge driver
  • SD Card Reader: not working
  • Internal modem: not working

If you could go further then me, don't hesitate to share your success :-)

Leia mais:FreeBSD-7.0 and Compaq nc6220