<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF
[
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
]>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:admin="http://webns.net/mvcb/">
<channel rdf:about="http://blog.cihar.com">
<title>Linux</title>
<link>http://blog.cihar.com/archives/linux/</link>
<description>Random thoughts about everything…</description>
<dc:language>en-us</dc:language>
<dc:creator>Michal Čihař</dc:creator>
<dc:date>2008-10-03T17:03:41+02:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/10/03/why_to_make_sensible_error_messages/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/10/02/why_gpg-agent_does_not_work/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/09/09/white_russian_and_aiccu_problems/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/07/22/phone_synchronisation_finally/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/03/14/nvidia_is_bad_intel_is_good/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2008/02/19/network_manager_not_working/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2007/12/11/hal_sleep_quirks/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2007/10/20/debugging_not_working_usb_automounting_in_gnome/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2007/09/07/i_like_when_things_just_work/" />
<rdf:li rdf:resource="http://blog.cihar.com/archives/2007/04/11/sound-juicer_and_mp3/" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://blog.cihar.com/archives/2008/10/03/why_to_make_sensible_error_messages/">
<link>http://blog.cihar.com/archives/2008/10/03/why_to_make_sensible_error_messages/</link>
<title>Why to make sensible error messages?</title>
<dc:date>2008-10-03T15:03:16+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux, Life, Gammu</dc:subject>
<description>
<![CDATA[<p>Yesterday I faced problem with VMware server that it can not run 64-bit guest
system. I'm using 64-bit SUSE and 64-bit VMware, so it should work, right? I
can select 64-bit system in VMware, but the guest is simply 32-bit without any
error.</p>

<p>In documentation, man can find only "VMware Server supports 64-bit guest
operating systems only on host machines with supported processors.". How
helpful! After a bit of googling, it turns out that VT needs to be enabled and
usually it is not enabled in BIOS (any reason for this?).</p>

<p>So let's reboot, go to BIOS, enable VT and it should work. Unfortunately not,
after reboot, still same problem. I was almost given up at this point, but I
decided to recheck BIOS, whether I really enabled the right thing. Yes I did,
but I did not notice small note, that to apply this setting, I need to power
off and on the computer. That was the trick! Now it finally works. I just
wonder why it has to be so complicated...</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2008/10/02/why_gpg-agent_does_not_work/">
<link>http://blog.cihar.com/archives/2008/10/02/why_gpg-agent_does_not_work/</link>
<title>Why gpg-agent does not work?</title>
<dc:date>2008-10-02T14:39:10+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>Summary: If programs would have useful man pages or error messages, man would
not have to look into source code.</p>

<p>I just set up Debian sid chroot on my computer and have to sign something
inside this chroot (dpgk-buildpackage). Okay, I want it to use gpg-agent in my
host system, that should not be hard. Looking at gpg man page, GPG<em>AGENT</em>INFO
variable is used to forward information about agent socket, PID and protocol
version, so I set this variable according to host system, but it still does
not work, giving nothing saying error that agent is not working.</p>

<p>So let's debug this beast - strace reveals, that communication with agent
works, but it replies "113 Server Resource Problem". Hmm, still not much
useful information, but let's google for this problem. Fortunately Google
reveals related <a href="http://www.sfr-fresh.com/unix/privat/seahorse-2.22.3.tar.gz:a/seahorse-2.22.3/agent/seahorse-agent-io.c">Seahorse code</a>, where man can find, that not set DISPLAY
variable is causing this issue. Could not the error be more friendly, so that
it tells me directly what is wrong?</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2008/09/09/white_russian_and_aiccu_problems/">
<link>http://blog.cihar.com/archives/2008/09/09/white_russian_and_aiccu_problems/</link>
<title>White Russian and Aiccu problems</title>
<dc:date>2008-09-09T22:33:44+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>Today, I wanted to finish something what looked like easy task from beginning.
To bing IPv6 connectivity to my home using tunnel from <a href="https://www.sixxs.net/">Sixxs</a>. As I have
an <a href="http://openwrt.org/">OpenWRT</a>, I expected it should not be harder than setting up same thing
on my Debian notebook.</p>

<p>There exists several howtos on the net, we can take the one on <a href="https://www.sixxs.net/wiki/Aiccu/Installing_on_OpenWRT">Sixxs wiki</a>
as a good starting point. Just follow the instructions and you should get it
working right? Unfortunately not. Aiccu connects, IPv6 addresses are assigned,
subnet is correctly distributed over network using radvd, but  IPv6
connectivity does not work.</p>

<p>Going deeper into this issue, I found out that some packets go out, but
nothing comes back. When comparing results with Aiccu set up on my Debian
notebook, I noticed that packets from OpenWRT router are few bytes larger, but
I didn't though it could be a reason. Unfortunately it was -- OpenWRT contains
wrongly compiled Aiccu, which does not strip ethernet headers from outgoing
packets and gateway then throws them out.</p>

<p>This is a <a href="https://dev.openwrt.org/cgi-bin/trac.fcgi/ticket/1971">well known bug</a>, but unfortunately nobody fixed it for White
Russian. Anyway I'm not going to reinstall whole system to Kamikaze just to
make the thing work, so I compiled the Aiccu package on my own and now the
tunnel works fine. If you are interested, you can get the package <a href="http://dl.cihar.com/openwrt/aiccu_20070115-1_mipsel.ipk">here</a>.</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2008/07/22/phone_synchronisation_finally/">
<link>http://blog.cihar.com/archives/2008/07/22/phone_synchronisation_finally/</link>
<title>Phone synchronisation, finally</title>
<dc:date>2008-07-22T20:12:55+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux, Gammu</dc:subject>
<description>
<![CDATA[<p>One of long standing things on my todo list was to make synchronisation work
from my cell phone (Sony-Ericsson K750i) to some PIM application on Linux side
(as a GNOME user Evolution is the natural choice). I tried it several times
but it never actually worked. Today I gave it yet another try and I finally
succeeded on first attempt :-).</p>

<p>As a first step I just wanted to make a backup of all things. <a href="http://www.gammu.org/">Gammu</a> can do it
quite well and it's the tool I trust for this purpose:</p>

<pre><code>gammu backup /tmp/phonebook.vcf
gammu backup /tmp/calendar.vcs
</code></pre>

<p>Now it's time to play with <a href="http://www.opensync.org/">OpenSync</a>. We will use <a href="http://www.opensync.org/wiki/syncml-guide">setup guide</a> and
<a href="http://www.opensync.org/wiki/SetupGuide">SyncML guide</a> as a starting point. As I had in past problems with both
sides - both phone and Evolution failed with some random errors, I wanted to
go step by step. So I started with setting up phone to files synchronisation:</p>

<pre><code>msynctool --addgroup file2phone
msynctool --addmember file2phone file-sync
msynctool --addmember file2phone syncml-obex-client
</code></pre>

<p>Now we need to configure file storage, just tell it where it should store the
data:</p>

<pre><code>msynctool --configure file2phone 1
</code></pre>

<p>And change path in your editor to something like:</p>

<pre><code>&lt;?xml version="1.0"?&gt;
&lt;config&gt;
  &lt;!-- directory path for file-sync --&gt;
  &lt;path&gt;/home/foo/phone-backup/&lt;/path&gt;

  &lt;!-- should care of subdirectories (TRUE or FALSE) --&gt;
  &lt;recursive&gt;FALSE&lt;/recursive&gt;
&lt;/config&gt;
</code></pre>

<p>Now the more tricky part comes, we need to set up phone end:</p>

<pre><code>msynctool --configure file2phone 2
</code></pre>

<p>Fortunately we can use example from the <a href="http://www.opensync.org/wiki/syncml-guide#SonyEricssonK750iusingOBEXoverUSB">SyncML guide</a> and just fill in
Bluetooth address (you can get it using <code>hcitool scan</code>) and channel
(<code>sdptool browse 00:b0:0b:fa:ce:00</code>):</p>

<pre><code>&lt;?xml version="1.0"?&gt;
&lt;config&gt;
  &lt;bluetooth_address&gt;00:b0:0b:fa:ce:00&lt;/bluetooth_address&gt;
  &lt;bluetooth_channel&gt;7&lt;/bluetooth_channel&gt;
  &lt;identifier&gt;Sony Ericss&lt;/identifier&gt;
  &lt;version&gt;1&lt;/version&gt;
  &lt;wbxml&gt;1&lt;/wbxml&gt;
  &lt;username&gt;&lt;/username&gt;
  &lt;password&gt;&lt;/password&gt;
  &lt;type&gt;2&lt;/type&gt;
  &lt;usestringtable&gt;0&lt;/usestringtable&gt;
  &lt;onlyreplace&gt;0&lt;/onlyreplace&gt;
  &lt;onlyLocaltime&gt;0&lt;/onlyLocaltime&gt;
  &lt;recvLimit&gt;0&lt;/recvLimit&gt;
  &lt;maxObjSize&gt;0&lt;/maxObjSize&gt;
  &lt;contact_db&gt;Contacts&lt;/contact_db&gt;
  &lt;calendar_db&gt;Agenda&lt;/calendar_db&gt;
  &lt;note_db&gt;Notes&lt;/note_db&gt;
&lt;/config&gt;
</code></pre>

<p>And now we should be able to synchronise whole phonebook from phone to
selected directory:</p>

<pre><code>msynctool --sync file2phone
</code></pre>

<p>Okay, this works, let's try more complicated thing - include Evolution in the
chain. The steps are the same, config file for phone is the same, Evolution
plugin has sane defaults you usually don't have to touch:</p>

<pre><code>msynctool --addgroup phone2evo
msynctool --addmember phone2evo evo2-sync
msynctool --addmember phone2evo syncml-obex-client
msynctool --configure phone2evo 1
msynctool --configure phone2evo 2
</code></pre>

<p>But now comes the tricky thing - Sony-Ericsson phones usually have something
broken around notes (or it is broken in OpenSync, I don't care, simply
synchronisation fails without this step) and we have to avoid synchronisation
of them. This can be done by changing filter file in group we've created above
(usually in file <code>~/.opensync-0.22/group2/filter.conf</code>):</p>

<pre><code>&lt;?xml version="1.0"?&gt;
&lt;filter&gt;
  &lt;note/&gt;
&lt;/filter&gt;
</code></pre>

<p>And finally we can start the synchronisation and it should work:</p>

<pre><code>msynctool --sync phone2evo
</code></pre>

<p>You can also GUI <code>multisync0.90</code> to do the configuration and start
synchronisation, but it is not much different, you also still have to edit
XML files.</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2008/03/14/nvidia_is_bad_intel_is_good/">
<link>http://blog.cihar.com/archives/2008/03/14/nvidia_is_bad_intel_is_good/</link>
<title>Nvidia is bad, Intel is good?</title>
<dc:date>2008-03-14T10:54:51+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>Intel is always seen as good guy, who is writing open source drivers,
releasing at least some specifications for hardware. Unfortunately it is
not always the case. If you want to use their new embedded solution -
Menlow CPU and Poulsbo chipset, they provide you lot of crap.</p>

<p>Basically what you get is a zip file containing several Microsoft Word
documents, badly formatted text files (end of lines at each 80 chars),
PDFs and some zip and tar archives. If you look to one of these
archives, you will get binary graphical installer, which will install
license, uninstallator and yet another set of tarballs. These tarballs
finally contain binary and source packages you need to make graphics
work on this platform. Maybe somebody did this to practise various ways
of compressing and distributing things, but it is really amazing how
many times you need to decompress several archives to actually get to
the things you want.</p>

<p>Unfortunately at the end you will find out that libgl1-mesa-dri-psb
binary (DRI driver for graphics) has no sources and Intel is not willing
to give them to you. Bad luck if you have slightly different
distribution than one of these which are supported (FC6, Midinux-build9,
ubuntu-gutsy, ubuntu-hardy) and the provided binary simply crashes.</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2008/02/19/network_manager_not_working/">
<link>http://blog.cihar.com/archives/2008/02/19/network_manager_not_working/</link>
<title>Network manager not working?</title>
<dc:date>2008-02-19T01:14:36+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>For a long time I had problems on my work computers with Network manager
still thinking that it is not connected. And I was really lazy to debug
it. But as more and more application take online/offline settings from
it, this became more and more annoying.</p>

<p>After some googling I found out that the problem might be in
<code>/etc/network/interfaces</code> file, which is parsed by Network manager. Some
"complex" things might confuse it. Well in my case the complex thing was
calling of some script in post-up. Commenting this out magically fixes
everything. Moving script to /etc/network/if-up.d/ also is not a big
problem, but why the hell the Network manager thing does not tell where
the problem is?</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2007/12/11/hal_sleep_quirks/">
<link>http://blog.cihar.com/archives/2007/12/11/hal_sleep_quirks/</link>
<title>HAL Sleep Quirks</title>
<dc:date>2007-12-11T22:24:49+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p><a href="http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html">HAL Sleep Quirks</a> is definitely good site for people having problem with
suspend/hibernation in Linux. However I would like to find there one very
special quirk: how to stop Gnome Power Manager (or whoever is responsible for
this) thing that my suspend failed! It works without problems (and worked
since I have this notebook), but I always get the popup that it failed. I know
I can disable the popup, but there must be way to force this beast understand
that suspend works for me :-).</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2007/10/20/debugging_not_working_usb_automounting_in_gnome/">
<link>http://blog.cihar.com/archives/2007/10/20/debugging_not_working_usb_automounting_in_gnome/</link>
<title>Debugging not working USB automounting in GNOME</title>
<dc:date>2007-10-20T23:13:26+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>Some day, this thing stopped to work for me. I was not aware of doing anything
what could break it, even any related package was not updated. Time went on
and I still did not find time to learn how to debug this
udev/hal/dbus/gnome-volume-manager machinery.</p>

<p>Today, after some googling I found short <a href="https://wiki.ubuntu.com/DebuggingRemovableDevices">debugging guide on Ubuntu wiki</a>,
which quickly revealed me that "volume.ignore set to true on
/org/freedesktop/Hal/devices/volume_uuid_4717_5407, not mounting". Well I
didn't configure anything to be ignored, so let's dig deeper in this.</p>

<p>As I had no idea where this thing could be set, I again started  to google and
/etc/hal and /usr/share/hal seem to be the right place where to start grep.
Nothing related in /etc, but too much entries in /usr. However most of them
were selective for some special USB disks or partitions. But there was one
which did this unconditionally - it was file
/usr/share/hal/fdi/policy/gparted-disable-automount.fdi, what crap from
gparted. Now I remember that I used this for formatting and partitioning
something on USB and after doing all job, it crashed. So it left this piece of
HAL hack inside /usr/share/hal and it was cause of anything not mounting.</p>

<p>Seems to be worth of reporting as a bug... Wait a moment, it's already
<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=434268">known</a> and some patch for it exists. Hopefully we will see this soon in
unstable.</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2007/09/07/i_like_when_things_just_work/">
<link>http://blog.cihar.com/archives/2007/09/07/i_like_when_things_just_work/</link>
<title>I like when things just work</title>
<dc:date>2007-09-07T19:52:57+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>Recently, after switching to open source drivers for my Nvidia card in
notebook, I get possibility to have working suspend to disk (well
suspend was always working, but the resume of screen was the problem).
In same time, I enabled suspend to disk, when battery is getting really
low in Gnome power management preferences. This night it saved me file
system troubles - I let the notebook to do some calculations and forgot
to connect it to power. So it ran few hours till the battery was down
and then it just hibernated. When I noticed this on morning, I could
just plug the power and the calculation can continue. Thanks to
everybody who made this work.</p>]]>
</description>
</item>
<item rdf:about="http://blog.cihar.com/archives/2007/04/11/sound-juicer_and_mp3/">
<link>http://blog.cihar.com/archives/2007/04/11/sound-juicer_and_mp3/</link>
<title>Sound-Juicer and MP3</title>
<dc:date>2007-04-11T20:21:36+02:00</dc:date>
<dc:creator>Michal Čihař</dc:creator>
<dc:subject>Linux</dc:subject>
<description>
<![CDATA[<p>I always wondered why there is no possiblity to create MP3 from
Sound-Juicer. I expected it is some patent issue, but I have all lame
stuff installed and expect things in GNOME to just work.</p>

<p>Unfortunately this is not the case, but Google works always and Jacob
Emcken wrote down <a href="http://www.emcken.dk/weblog/archives/99-MP3-encoding-with-Sound-Juicer.html">his configuration</a>, so setup was quite easy.
Thanks!</p>]]>
</description>
</item>
</rdf:RDF>
