terça-feira, junho 27, 2006

O ditador benevolente ataca de novo!

Fala ai Pessoal,

(Sorry not in english...)

Não sei se vcs estão acompanhando, na lista PM, mas caso não estejam, precisei postar isso para vcs se divertirem também ;-)

Linus Torvalds, insatisfeito com a impossibilidade de gerar saidas (traces) durante as últimas fases de suspend/resume e também pelo fato que sempre que testa STD ou STR (suspend to Disk ou RAM) em uma nova máquina eventualmente tem problemas, está intensamente ativo numa thread na lista PM copiando David Brownell e Pavel Machek.
Na maior parte da thread ele discute com Benjamim Harrenschimidt, que não conheço bem.

Eles ficam discutindo alguns pontos das rotinas suspend/resume e as pessoas não concordam muito com ele e ficam apenas respondendo inflando a discussão até um momento que o Linus decide partir para o Just-do-it e ELE mesmo cria um patch (24/06/2006) para começar a resolver o problema (que existe de fato), um tanto quanto decepcionado com os responsáveis por esta parte do driver core.

O mais engraçado é que após ele enviar o patch e após pouquíssimas modificações ele diz que já vai incluir no main-line se ninguém disser que DESTESTOU o patch. Esse patch não quebra a sequência de resume/suspend dos drivers mas estes podem se aprimorar com a nova sequência de funções, sendo um dos objetivos originar um suporte para se ter console por mais tempo permitindo melhor debug destes momentos difíceis do kernel além de uma estrutura um pouco mais consistente para STR/STD.


E assim evolui o Linux...

quinta-feira, junho 22, 2006

After a Long Winter...

a post.

Very busy, challenging and disruptive period.
In the last three months I can say that life has turned up-side-down.
First act was the moving from Manaus back to São Paulo, after 5 years of Amazon and Informacts law experience. Very happy and meaningfull time, specially in the professional arena.
But time has come and a return to the home town turned out to be necessary for familiar reasons.
The new work in a company that develops and sells tracking systems for trucks and general transportation is pretty different and challenging as always is to enter new paths.
The first weeks here was passed at parents house while my wife and daughter kept going from São Paulo to Santa Cruz do Rio Pardo, the hometown of my wife, located about 350 Km from SP.
The Second act was the new apartment, at the Belem subdistrict of São Paulo. Pretty good, near the subway, very good state - it has been refurbished few time before we entered there. Its organization has been taking most of my time while not at work. More 2 weeks at most and I will be completely pleased with it ;-) .
The third act was the birth if my second daughter, Clara, at 8 of June. A single beauty! Photos soon.
Now the three women are in the countryside, where they have very good medical assistence - that kind of familiar doctor/medicines, very confortable to them - and to me either: whether by the security that they are felling or the idle time to clean up the apartment. They might be coming to SP in about 2 weeks and everything will be ready for them.
My plans are to resume some open source activities soon. But I don´t know when yet. Maybe look for something with emulators, mainly qemu since I don´t have access to any board now.

quarta-feira, março 01, 2006

USB on-the-go

Although still increasing in popularity for new devices, this USB specification is getting widely addopted, once its proposed capabilities are easing the usage of common USB devices as cameras and portable devices.
The big remark about the USB on-the-go is the ability of a device to act either as a (limited) host or a slave. It claims that you can connect your camera to your PC to download the result of your weekend and also send the photos straight to the printer. Where in the first case the device acts as a peripheral and in the second acts as a host.
The same new level of usability can be thought to your PDA or cell phone.

The on-the-go specification, OTG for short, supplements usb 2.0 spec. This means that it inherits its transfers speed: 480 Mbits/s, the so called High Speed. Don't get confused with the Low/Full Speed from 1.x spec which runs at 1.5 or 12 Mbits/s, repectively.

In the new terminology, the initial host is the A-device and the initial peripheral is the B-device. The initial configuration is determined by the extra-recently introduced ID pin, which is sampled to indicate the device's behavior as a host or peripheral, in that time of operation. This combinations of signals are accomplished by new form factor connectors, the the mini-{ab,a,b} receptacle, and the mini-a and mini-b connectors.

Finally, what about power requirements?
This issue, which can be a drawback of this specification, can be particularly annoying if you don't have the necessary tools in hand. Due to very limited constraints of portable systems, the suplied voltage in the USB bus (Vbus) has a limited electric current (8 mA against 500 mA from traditional USB) capacity so that it can not source hungry peripherals. In that case a powered hub can do the job. Furthermore, this new approach presents enhancements in power management, once detects that it is not transfering data, the devices can enter a sleep mode where power is reduced and conversely, leave this state with wake-up events.

Some useful links:

Mentor Graphics IP-core

Everything USB

USB site

Alsa 2nd round

The alsa patches came to omap list discussions and we have now (1 week ago) some remarks to implement, being the most commented the coding style of some files and where-to-be-placed discussion of the codec files which seem condemned to stay in the sound/arm directory. Well it seems reasonably although makes the things hard to use platform devices resources to make things independent but we ought to make it work. Actually, Mika already sent me a working version with that required approach but we gave it up in favor of the current proposal. Well, now he is resurrecting it and the 2nd round will be sent soon.

quinta-feira, fevereiro 09, 2006

ALSA driver effort

These past days was spent making alsa driver works for H2 board.
The original alsa driver was developed for OSK5912 board and was based in former ARM boards alsa driver and oss omap drivers. It is tied to tvl320aic23 TI stereo codec and mcbsp peripheral. This driver was release in later july and went into omap tree by september.
The task now involves porting the driver to H2 board which is populated with a TSC2101 TI codec chip which has more features than the aic23 and is aimed to cell phones and pdas.
Notwithstanding different boards and codecs, the new alsa driver would have to much in common to don't think of code reuse. Thus the initial approach was to separate hardware, codec in the case, in separate files and furthermore, to implement platform_data support. With the latter we can specify a structure that carries some info with respect to the board, to the driver, and make the proper initialization upon driver enabling or loading.
To achieve that a series of modifications was made in the aic23 alsa driver as follows:
-Extraction of codec dependent code from main alsa file,
-Which leads to the creation of codec alsa file for codec aic23
-Migration of specific codec data to platform_data
-Improvement of function probe in omap-alsa driver
-Test the aic23 in this new configuration
-Support for board H2
-Creation of codec alsa file for codec tsc2101 based in oss driver
-Audio tests for H2

Ok, that done, it was time to work in the mixer. The mixer was originally thought to fit this "hardware dependent model" as well, but tests and endless modifications took us to conclusion that mixer would be quite difficult to share a common structure between these two codecs, at least for this expectation of project time, let's say, two weeks.
At this moment of the project, Mika Laitio, came up with a patch in the omap list aimed to tsc2101 codec alsa suport but fot the iPAQ, which has some variant of the 1510 omap chip.
After some interaction both codes have evolved and we are now trying to join both approaches.

segunda-feira, janeiro 23, 2006

TimerTop screenshot

Timertop running on a x86 machine. Whe can see the PID of the process, the frequency of functions programmed in timers in this process, the counting and the function programmed to run after that timer expires with its address.

terça-feira, janeiro 17, 2006

Timertop-patch Update

The Dyn-tick patch is now integrated in the Con Kolivas kernel tree which is aimed to "improve system responsiveness and interactivity".
The timertop kernel patch was integrated in the dyn-tick patch by Con in the beginning of december/2005 and can be downloaded in the same site as the utility:

As Con stated he is unable to improve smp issues in the dyn-tick patch and is not receiving enough colaboration in this subject. So dyn-tick has not entered mm tree yet, although it seems that everyone that tests it (or at least send a feed back to LKML) is having some power savings. They are usually not so high (~1- 5 W, 5-10%) but nevertheless should justify its integration in the mainline. The problem now is the smp.
I hope that someone grab this work and make the necessary modifications and make it go mm than mainline.

Timertop-Util Update

Hey, this site is quite outdated regarding Timertop. To summary, Timertop already has a C version, since end of November/2005 and now it is much faster and robust than the earlier perl version. It is hosted by Con Kolivas who is the maintainer of the dyn-tick patch currently.
It can be downloaded from Con Kolivas site:


Efcharisto Con!

segunda-feira, janeiro 09, 2006

Port of Manaus II

Right now - hey, this reminds me that Van Halen song - is 30+ degrees Celcius 9/1/06 5pm. Definitely very warm, even inside home, felling that very-lazyness-like sensation and some weak headache. Even after 5 years here this still happens if I stay whole day without conditioned air... wonder when this is gonna to end...

Here we can see the amount of water that may rise in the Negro River in the flood season. We are now (january) leaving the dry season, the river starts to rise with the rains, Andes meltings and some other natural phonomena. The marks in this wall are points where the river reached in past years. Unfortunately we see some garbage (plastic bottles) floating. The highest mark is year 1953 followed closely by year 1976. The difference between highest levels and current river level is more than 5m.

Port of Manaus

Here we have a view from the new (more than one year) port of Manaus. Some typical regional boats.

sexta-feira, janeiro 06, 2006

A day at vacations

New year started in a short vacation, great to visit some known places in Manaus once I haven't been to somewhere else in these days.
In Brasil is not so common to see the sun seting in the water. Most of the beaches are in the Atlantic ocean so they always see the dawning of the day. Remarkable exception is Salvador-BA where there is a bay and you can see the sunset in the sea, good days at "Farol da Barra"...
On the other hand, the rivers offers us this landscape plentifully, and one of the best examples is the astonishing Negro River in Manaus, Amazonas.
Unfortunately we have to chose carefully the framing because some big hotel companies thinks they owes wonderful natural landscapes but we found a way to avoid this from the photos.
Well here we have what was happening at Ponta Negra at january, 6 of 2006 at 18:06h.