Archive for the linux Category
Slow booting plagues most Linux distributions today, and while this is not a such big issue for systems that are booted once a year, it becomes an annoyance in laptops or other computers you initialize every day. Different solutions for this problem have been proposed, but booting of a typical Linux system today still takes too much time. It has been said that the Asus Eeepc boots remarkably faster than regular Linux distributions, thanks to its “fastinit” system initialization program. A quick analysis of its workings shows what it essentally does, and it’s quite obvious: start the user interface as fast as possible, and initialize the rest later. A more detailed analysis allowed us to rewrite it, and even find a couple of bugs in the original code.
(more…)
7 Comments »
The following patch allows the Syntek 174f:5212 camera found in some HP laptops (including the Compaq Presario C700 series) to be used in Linux with the linux-uvc driver. The image quality is fairly good, with decent colors, white balance and frame rate in luvcview. The patch is a bit intrusive since it requires quirk testing at the start of the isochronous payload frame decoding to completely bypass synchronization, but it seems to work very well. This patch is against revision 158 of the linux-uvc subversion repository.
Syntek camera framegrabs: 1, 2.
Update: Posted Herton Krzesinski’s fixed version. Posted Laurent Pinchart’s final version.
2 Comments »
Posted by: claudio in en, linux, wtf
As a software maintainer, sometimes you receive very peculiar bug reports ranging from laughable to completely bizarre, yet reproducible. Some of them are so strange they deserve a bit of post-mortem pondering and reflection, like this one. But first, it’s important to remember that the user reports what he sees, a manifestation of the bug — and that can be very different from the real causes of the problem. Ready to go? The next paragraph shows the original bug report, and then you’ll see what the investigations led us into.
Linux fails with a kernel panic on systems with a Celeron processor and 256MB of RAM when an Ext3 filesystem is created on a large partition and you set the number of blocks reserved to the superuser to 0 (mke2fs -j -m0). The problem doesn’t happen if you use a different processor, or in systems with 1GB of RAM.
(more…)
1 Comment »

It is worth noting that my previous work with HDA fixing the 5.1 sound output of a couple of HP machines and the LG LW20 was made much easier with this very nice tool called codecgraph, which takes /proc/asound/cardX/codec#Y as input and generates a neat-looking graph using graphviz in such a way that you can see how mixers, amplifiers and pins are connected and visually follow the signal flow inside your HDA setup. I’ve even added some stuff to it — mostly new codec samples and other ancillary work since I’m illiterate in Python (yes, I know, I’ve tried but I just can’t like the language). You can clone my repository with git clone http://helllabs.org/git/codecgraph.git, or get the official tree from Boto’s repository. Codec sample contributions are welcome!
Update: Codecgraph project page published, with SVG renderings of all samples from our codec database.
No Comments »
These are mostly small quirk table additions to allow certain systems to be recognized by HDA driver without specifiying a parameter model when loading the module. The first three patches are for HP systems (Samba, Nettle, Lucknow, dx2200 and dx2250) and the fourth is for the Asus P5LD2 with the Realtek ALC882 codec:
For more ALSA patches for HP systems including the Nettle and Lucknow, see my previous ALSA HDA patches. 5.1 sound output in Realtek-based HDA systems is quite easy to fix, so feel free to contact me if you have such a system that’s not working properly (usually no 6ch option available, channels missing or no sound from the rear connectors).
2 Comments »
Owners of the LG LW20 laptop (like me) have had poor sound support in Linux for over a year and possibly never noticed that. I had never used its 5.1 surround support, recorded from the line-in input or used the si3054-based modem before this week — had I tried it earlier, I would have noticed that these features didn’t work. So to complement the patch to fix 5.1 output I published a few days ago, here’s a couple of small fixes for the rest of the aforementioned issues:
Hopefully these patches can also fix issues in the LG LW25, which seems similar in many aspects to the LW20. If you have issues with sound on the LW20 or LW25, feel free to contact me so we can fix any remaining problem.
No Comments »
Let’s hypothesize for a moment that you must make an old, binary-only Conexant HSF softmodem driver (that you, for some reason, can’t upgrade) peacefully coexist with a newer 2.6.22 kernel ALSA HDA driver. “Oh, what an embarrassing situation!” you might think — but I assure you, this can actually happen to some unfortunate souls among us. A workaround for this problem is twofold: first, you must graft the HSF appendages to your existing HDA driver (the HSF driver comes with its own HDA driver that potentially won’t have some features you need), and then resolve a recursion in module loading since 2.6.22 merged snd-hda-codec and snd-hda-intel in a single module and the binary-only culprit used to sit between the two.
So without further ado, here is what it takes to have this setup working:
- Revert the hda-codec and hda-intel merge, to work around the HSF initialization recursion.
- Apply Herton’s HSF patch against 2.6.22 so you can use the binary-only portion with the stock HDA driver from your kernel.
Generally speaking, binary-only modules can be a pain in the ass and this situation illustrates well how. Always verify driver availability before purchasing hardware, and that can save you some headaches.
No Comments »
Following the patch to fix the si3054 modem detection in the Clevo m540 laptop I noticed, much to my dismay, that slmodemd refused to work spitting out the infamous error period size 48 not supported by playback (64). This error was also discussed in the ALSA bugtracking system. This problem happens in kernels post-2.6.20, specifically in my 2.6.20 with HDA drivers backported from 2.6.22.
Instead of being a bug in ALSA, it seems to me that slmodem should gracefully handle a new period size returned by snd_pcm_hw_params_set_period_size_near() if it differs from the requested period size. It does not, and stops if the value is not exactly what it wants. Proper study of the problem in slmodem’s side is required, however this quick patch solved the issue for me:
In my case, ALSA returns 64 when slmodem requests a period size of 48, and everything seems to work well as long as the returned size is larger than the requested size.
Update: the slmodemd hack works with the m540, but not with the LG LW20. Both use a si3054 codec.
Another update: it seems that it worked with the HP Pavilion DV6567CL.
11 Comments »
Here are some patches for ALSA to fix issues with 5.1 surround in some machines (LG LW20 laptop, HP Nettle, HP Lucknow), headphone detection (HP Spartan laptop), modem detection (Clevo m540 laptop, sold under different names such as Positivo V44 in Brazil) and USB MIDI quirk (Roland Juno-G synth). All those were sent to Takashi for inclusion in 2.6.23, but if you’re stuck with an older kernel, can’t upgrade your ALSA and have experienced problems with any of the pieces of hardware listed above, you can try one or more of the following patches:
3 Comments »
|