Thursday, September 29, 2011

Linux Anti-Virus: Klamav

For a number of reasons, I reinstalled Linux openSUSE 11.4, which then meant reinstalling all the apps, including clamav, the popular anti-virus app for Linux.

This time I discovered klamav, a KDE GUI for the underlying command line interface (CLI) clamav. (There is also a Gnome GUI, but I haven't used it yet.)

klamav is a true pleasure. Very well thought out and complete, as far as it goes.

And it goes quite a way.

Use it to:
  • Schedule virus scans on any number of directories, either recursively or not: it has a very easy functional decomposition tree of the directories. If you want to go recursively there is a simple click box: click it and any particular directory in the tree and all the children are automatically checked.
  • Conduct a scan immediately. Simply click scan.
And much more.

Of course, it has a few problems:
  • It offers only two email programs to be scanned dynamically as the messages arrive: kmail and Evolution. I searched, there was a Thunderbird ("T-bird") addon that supposedly solved this, but it has disappeared for version 7.0. But that doesn't really matter, as you can manually and on schedule do the scan, as noted above. And frankly, dynamic scanning is an exercise in paranoia for most Linux users...
  • It tags and (with your permission) quarantines the entire subdirectory containing a suspect file. And it does this by default if it finds stuff it doesn't understand, like any binaries or encrypted files. But this is not a problem unless you are doing a lot of encrypted PDF and binary transfers by email, which you shouldn't be doing anyhow. Use http, ftp, BitTorrent, or whatever else, not email... And even then, it has a 'way cool "check it out" feature: once the files/messages are quarantined you can right click to have their "problem" checked out online, (I found the google link the most helpful), and then with one click, restore them.

    Most of the problems were of the "not understood" variety. I did find one file that possibly had a real virus, and deleted it.
    But it would be nice if the author were to enable quarantining just the single offending file (rather than the entire subdirectory) and include Thunderbird in his list of supported email clients, or else offer a website posting on what it would take to create a filter to do so...

    So very well done, and well recommended. Infinitely better and easier than struggling at the CLI.

    Saturday, July 30, 2011

    Screwtape Zero, Andy One

    This summarizes the features of the fresh water system in M/V Pilgrim and measures taken to repair the problem of the fresh water pump failing to turn on until pressure is non-existent.

    The freshwater pump was replaced in July 2010. The water pressure was falling to 0.5 bar before the pump would come on. It would then cut out at 1.7 bar. If you were in the shower you would have to get out of the shower to open the sink tap to trigger the pump to come on so that you could complete the shower.

    At the end of the day, the problem was the selection of pressure switches. The original installation had an outboard pressure switch installed, but the new pump had an integrated switch. Loathe to foul things up I installed the new pump without modification, bypassing the outboard switch and using the integrated switch. It turns out that the pressures on the integrated switch are too low for our needs so we needed to reinstall the original outboard switch.

    The second problem was determining maximum system pressures. There are at least six different choices, depending on which component you examine. Documentation is poor. We were unable to find documentation for the installed semi-rigid blue piping, but research indicated that most PVC piping can sustain pressures much higher than the accumulator tank (10 bar) or installed pressure gauge (4 bar). So in the end we adopted the maximum of the installed pressure gauge.

    The third problem was then adjusting the outboard switch to fall within this range of pressures. We were not able to determine whether the switch had differential setting capabilities so had to experiment. It appears that it does not. Thus we had to settle for a 2.0 bar differential between cut-in/-out. The “green zone” maximum of 2.5 was adequate but this would cause a 0.5 bar cut-in, which is too low. So we accepted 1.2/3.2 bar.

    A remaining problem may be final tweaking of the accumulator tank air pressure. It should be 0.15 bar below the pump cut-in switch. We have it somewhat less than that.

    And then finally we need to investigate why the hot water side is substantially lower than the cold water. But tomorrow is another day.

    It all looks terribly simple in the result, but life is easy when you know how and terribly difficult when you do not.

    I do now know how, at least on this bit.

    We have cut-in at 1.2 bar, cut-out at 3.2 bar, well within the pressure limits of the installed pressure gauge, accumulator tank, piping, and pump. And we no longer have to get out of the shower to open a tap to trigger the pump. Life is good.

    Full report at

    Friday, July 29, 2011

    Screwtape one, Andy zero

    Well maybe not.

    There were just too many moving parts, too many things amiss, so I have decided to stay until next summer.

    In the meantime, working to fix stuff.

    Starting with the anchor windlass. But the switch had packed up. So I ordered a new one.

    Incredible but true: there seem not to be any shops in London into which you can walk and obtain a part or a tube of caulking. So it is all by mail order, with the attendant delay.

    So we got the new switch, but it requires NON-silicone caulk, so we're waiting for THAT by mail.

    OK, then let's attack the water system.

    Sigh. See the attached report.

    OTOH, I get to stay in London.

    So who really won?

    Life is tough when you pay attention.

    Saturday, July 23, 2011

    Screwtape doesn't want us to leave London
    Oh well... :-( We wouldn't have gone anyhow, even if the windlass HADN'T packed up. Force EIGHT!! Good grief!! That's FORTY KNOTS!
    Gentlemen do not sail to windward. It tends to get rough and sloppy and spills the champagne and hors d'oerves, and that's simply not right.
    Especially at forty knots.
    Screwtape definitely doesn't want me to leave.
    In my underway checks I fixed the wrench for the cooling system, but then found that the transfer valve was frozen. So I worked that with WD-40 for a while and then it broke free - literally, with an ominous "crack" sound. Now it is *too* free. So I need to finish checking that out to see if I need to replace the valve.
    As for the windlass, the circuit breaker had tripped, but when I reset the breaker I found the foot switch had packed up in the UP ON position, so the windlass was continually on, even though the anchor was fully up. So I need to replace the switch.
    And then the cooling system cap was leaking - the gasket had expired, so I trekked to Halfords on One Mile Road. Mine is set for 19 psi but the biggest they had was 13  psi. So I bought it and then swapped out the gasket...
    Wow. When you go past Wapping suddenly you are in Pakistan... THAT was an experience...
    And then there are three connectors on a wiring harness that are dangling loose. I don't know what they are for but have kind of figured out they are connectors for a module that is not installed. But I need to confirm that,  with either the manufacturer or experimentation.
    And then there is the deck washing pump that brings up seawater to wash the decks, it isn't pumping except a trickle...
    These things happen with boats when you don't use them for a while ...
    So I'll get all these squared away and if there is still time head out, otherwise will leave the boat here for another year and have it all squared away and ready to sail NEXT summer...
    I really got spoilt having it in NL under the care of the marina - so much so that I have forgotten a lot of the details. I have them in my files but am now refreshing myself.
    The more you know the more you know how little you know. 

    Thursday, July 21, 2011

    Travels with Mobile Broadband

    We're on travel in the UK aboard a boat in St. Katherine's Dock, London. There are some 33 different WiFi access points, the stronger two being and But even these have spotty connectivity. So we sought a different solution. This relates our trials (and success) in employing "Mobile Broadband" solutions.

    One alternative to WiFi is to use 3G Mobile Broadband "dongles" offered by BT, Vodafone, ThreeNet, and others. We chose Vodafone, which currently (July 2011) offers the ZTE K3570-Z "dongle".

    These dongles are essentially a cellphone on a USB stick. They appear as a CD ISO containing Mac and Windows software but then are "Modeswitched" to appear as serial modems. This is all bleeding edge technology: easy if you know how but frustratingly difficult to figure out how if you don't. It took us about a week of experimentation and googling to finally crack it.

    Part of the problem is the "can't get there from here" problem: You need to download software to install to have the thing work, but if you can't get it to work you can't connect to download! The WiFi connections have a very short timeout, the native Windows apps are huge (88MB). So finding an amazingly simple solution is amazingly difficult to do. But we did and here is how.

    First, do your homework. We went around Robin Hood's barn but by then had learned enough to be able to responsibly get an appointment with a Vodafone technician at one of the stores. The first thing he did was transfer the 88 MB software and set it up on Windows (We're running Windows XP on VirtualBox). But then two hours elapsed while he fiddled with APNs, PINs, passwords, and other things, none of which worked. So as it was time for lunch I thanked him for his time and for the software and left.

    When I got home the first thing I discovered was that he had created a second modem. I deleted it and off we went - but on Windows. Still no joy on Linux.

    There is a site ( that offers a bunch of Linux programs under a Vodafone logo but they are for the older Huawei modems and don't seem to work with my unit.

    But finally I found

    They have two programs: one with and one without the usb-modeswitching software. The latter uses the modeswitch software installed on your system, the former provides its own.
    • Full version embeds latest Usb-ModeSwitch version along with its device database. You should choose it if your distribution does not provide a recent Usb-ModeSwitch version, and you intend using a switchable USB modem.
    • Binary free version is architecture independent but it requires Usb-ModeSwitch being installed on your system.
    I first installed Sakis3G binary free. It connected to "Interface #3" but no packets were exchanged and ping did not respond from the gateway.

    So I deleted that and tried the full version.

    Still no joy. It connected to the network but no communications occurred. Checked the firewall, no problem...

    But then I realized that knetworkmanager was still running. Shut it down, tried again, success!

    Woohoo! Finally!

    There are some tricks picked up in the earlier travels (travails?):

    • Run the command as root. Getting the root password doesn't seem to work on my system.
    • Get the correct APN. Sakis3G helpfully lists the various options for vodafone. In my case it is the "new" PAYG APN: ppbundle.internet
    • Get the PIN and PUK codes printed on the back of the SIM card card before you throw away the residue! If you fail in this regard (throw away the residue before recording the PIN and PUK) you can read the phone number off the SIM then use the Vodafone site to request the PIN and PUK(assuming you can get some connectivity to reequest them). The PIN is 0000 by default.
    • Get the correct phone number to dial. In my case it was *99***6#. The dongles have a number of different "connection profiles" (sets of Internet settings) that vary with manufacturer and service. Here the 6 refers to the sixth connection profile.
    • Consensus of my research is that /dev/ttyUSB3 is the only one, of the five serial ports generated, that responds. Presumably this is the only one that corresponds to a modem interface on the ZTE K3570-Z.
    • Make sure you have changed the network to NOT use a network manager. Under openSUSE 11.4 this is accomplished with yast2 network > Network card > Global Options > Traditional Method with ifup. You don't actually have to use ifup since Sakis3G does that for you, but you have to do this to allow it to do it for you.

    If you want to learn more about serial ports and modems then Sakis has a comprehensive tutorial at 

    So other than that, Mrs. Lincoln...

    Easy when you know how.

    Tuesday, April 26, 2011


    I need to flash the ROM (Read Only Memory) in my Fujitsu P1630.

    I tried upgrading the RAM (Random Access Memory) to 2GB with third party memory, did not work. I then discovered the statement:
    It says I may have to reflash my BIOS to make the new memory work. 
    There is an excellent utility that creates a floppy image (1.44MB):

    The latest (4/26/11) version of the BIOS upgrade program is at

    It is

         MODEL #: P1630     BIOS VERSION: 1.10     DATE: 6/26/09

    This includes a program, FlashAid, to run the BIOS update. The README says:

         STARTING FLASHAID:     To start FlashAid and update the BIOS, double click on the     P1630_BIOS_V1.10_FPC46-1582-04.exe BIOS data file that you have downloaded and follow the notes displayed on the screen.

    But the Fujitsu file is 2.3 MB, too big for a DOS floppy.
    So I need a Windows boot disk.

    Allegedly, the Windows XP CD is a boot disk, so if we can boot and mount /data then we can run the program.

    So first move the program to /data/computer/admin and then run the XP disk.

    Well, it does indeed have an option (R) to run utilities, but it does not recognize the hard disk. And the CD drive requires both available USB ports, so we can't mount the outboard USB drive.

    So much for that idea.

    OK, next trick. the Ultimate Boot Disk For Windows (UBD4Win) seems well commended:

    But we are chasing our tail, as it also requires Windows to build the ISO. We may come back here eventually or use a friend's Win machine to build the CD.

    It requires:
         ✓1. CD Burner and blank CD
         ✓2. Windows® XP CD, with at least Service Pack 1
            3. Download UBCD4Win
            4. Run the UBCD4Win EXE file (obviously needs Windows).
            5. Insert your XP CD with SP1/SP2 into a CD Rom drive.
                a. Create a "XPCD" folder on one of your internal hard drives.
                b. In Windows Explorer, select from the menu: Tools > Folder Options > View tab.
                c. Check that the [show hidden files and folders] radio button is selected and the [hide protected operating system files] is unchecked.
                d. Now copy the folders and files from your CD drive to the "XPCD" folder on your hard drive.
            6. Launch UBCD4WinBuilder.exe (located in your C:\ubcd4win folder)

    And much much more (another nine huge steps...)

    OK, but think again.

    Now, Wine is just an API, right? So if the EXE will run on wine will it access the hardware directly?

    OK, give it a try, if you don't hear from me soon it didn't work and I'm reinstalling openSuSE 11.4.  But I've read my email, backed up everything, so give it a shot:

    Hang on, no guts no glory. Let's try it first on the P1610!

    Well, that doesn't work because there is no ROM update for the P1610 and, besides, we have already seen that the memory works there.

    So the options are:
    • Gamble with wine
    • Go through the complicated UBCD4Win routine
    • Bite the bullet and get the memory from Fujitu (demanding in advance that they assure us it will work without a ROM flash)
    • Put it off for another day
    I vote for the last.

    I only need it if I'm trying to run Windows interactively with Linux; otherwise it swaps Linux to disk or is not needed at all. The Fujitsu price is almost half way to the price of a new complete tablet, so I'd be better off spending the money there, once I have it (which I don't right now).

    So onward to other mysteries...

    Friday, April 15, 2011

    The entire political process is disgusting. But let's get explicit:

    Today the media are whooping and hollering about "Woohoo! $38 Billion Cut in Spending."


    Come on people, give me an effing break. These are mere spits in the  bucket, whether a risible $38B or the even more risible and infinitesimally small $352M.

    The true answer is that the cuts apparently are less than one thousandth of one percent of the total budget!!!

    Good Grief! And we were going to close down government over that? Democrats, get real.

    Total smoke and mirrors, by their own announcements, if anyone knows how to use a calculator.

    Don't people have a clue as to the magnitude of our debt??? Get a life, shut down the TV, and break out a calculator or spreadsheet:
    • + The total 2011 Federal budget is 3.83 TRILLION

    That is:
              3,830,000,000,000          (3.83x10^12)
    • The alleged cut is 38 billion:
              38,000,000,000               (3.8x10^10)
    • The ratio (cuts divided by Federal):
              0.010                                (That is less than ONE PERCENT: 10^(-2))

    Even if it is true.

    Which apparently it isn't:

    So now the math is
    • Analyzed cut is 352 million:
              352,000,000                    (3.52x10^8)
    • The true ratio (true cuts divided by Federal budget):
              0.000092                         (9.2x10^(-5) Less than one thousandth of one percent)

    Good grief!!! Can I stop laughing now? This is extremely risible.

    And therein lies the problem.

    There it is again, that 98th percentile number:
    • 98% of the population haven't a clue what risible means. 
    • 98% of that population don't care.
    • 98% of those don't have a clue where to go to find out. Even if they cared.
     How can we quantify risible to the third power?

    Shame, shame, shame.

    But you can't shame people who have no pride and no self-respect. Which is the category into which I place the majority of our current political leadership.

    Saturday, April 9, 2011

    Memory, Misty or Not

    Lack of memory is a pain. Personally it is inconvenient. On a computer it is a real pain. But figuring it out can be sort of fun, getting your fingers dirty in the inner bowels of the machine.

    The machine in this case is the Fujitsu Lifebook P1630

    I've learned a lot of new jargon. For example:

    2GB DDR2 667MHz PC2-5300 Memory Upgrade for Fujitsu-Siemens LifeBook P Series P1630. 1.8v 200-pin Non-Parity Un-Buffered

    is translated as follows:
    2GB Short answer: Two billion bytes of Random Access Memory (RAM)
    Long answer: Approximately. Watch this space...

    DDR2 One of at least three electrical forms of RAM, operating at 1.8 volts
    Double Data Rate Synchronous Dynamic Random Access
    Memory interface.
    In addition to double pumping the data bus as in DDR SDRAM
    (transferring data on the rising and falling edges of the bus clock
    signal), DDR2 allows higher bus speed and requires lower power
    by running the internal clock at half the speed of the data bus. You
    cannot substitute one for the other for at least two reasons:
    • the voltages are different
    • the notch in the chip is different

    The clock rate (sample rate) for the RAM

    Synchronous Dynamic Random Access Memory (SDRAM) is
    Dynamic Random Access Memory (DRAM) that is synchronized
    with the system bus.
    Classic DRAM has an asynchronous interface, which means that
    it responds as quickly as possible to changes in control inputs.

    SDRAM has a synchronous interface, meaning that it waits for
    a clock signal before responding to control inputs and is
    therefore synchronized with the computer's system bus.
    The clock is used to drive an internal finite state machine that
    pipelines incoming instructions. This allows the chip to have
    a more complex pattern of operation than an asynchronous
    DRAM, enabling higher speeds.
    Pipelining means that the chip can accept a new instruction
    before it has finished processing the previous one.

    PC2-5300 PC2-xxxx denotes theoretical bandwidth.


    This refers to the voltage applied to the RAM. DDR3 operates
    at 1.5, so the voltage difference is one of the reasons the various
    DDR variations are not compatible.

    200 Pin

    (as distinguished from 240 pin). These are the number of
    connections on the edge of the RAM.
     Desktop computers use 240 pin RAM, while laptops use 200 pin


    Parity refers to having an extra data byte for ECC (Error correction

    Registered (also called buffered) memory modules have a register
    between the SDRAM modules and the system's memory controller.
    They place less electrical load on the memory controller and allow
    single systems to remain stable with more memory modules than
    they would have otherwise. Registered memory is more expensive
    because of the additional components, so it is usually found only
    in applications where the need for scalability and stability
    outweighs the need for a low price (servers, for example). Although
    most server-grade memory modules are both ECC and registered,
    there are registered non-ECC modules and non-registered ECC
    There is a performance penalty for using registered memory. Each
    read or write is buffered for one cycle between the memory bus
    and the DRAM, so the registered RAM can be thought of as
    running  one clock cycle "behind" an equivalent unregistered

    I've built a spreadsheet that calculates memory usage  based on the free command. I set a base configuration of kernel, operating system, and GUI and record the output of free. The usage is the sum of the used column entries, comprising
        -/+ buffers/cache:

    I then load (or unload) a single program. Again, the usage is the sum of the used column entries. The usage of the program is the difference in the original usage and the new usage.

    In my present setup (Linux kernel, openSUSE 11.4, KDE 4.6) I have 1 GB of RAM and 2 GB of Disk Swap.

    The results are variable. They depend on what other apps have already loaded common libraries. They also depend on activity since the system moves stuff from main memory to cache to swap depending on what apps and associated files are in demand. For example, on one app whenever you type something the usage jumps to 16 MB, but wait a few seconds without further activity and it settles back out at 6MB.

    With those caveats, the following shows representative usage:
    • With minimal desktop (Firefox, Basket, konqueror, and kontact)  40 MB free (1.3GB used)
    • Firefox is a memory hog: 122MB
    • Konqueror uses 78 MB.
    • GnuCash uses 60MB.
    • The Oracle VirtualBox platform uses 48MB.
    • Baskets uses 25 MB.
    • Kontact uses 7 MB.
    • But then start Windows in the VBox: it immediately gobbles 506 MB with no applications visibly running.
    • Start TurboTax: another 10 MB.
    Suffice it to say we need to get more RAM.

    Thursday, April 7, 2011

    To Beep or Not to Beep: that is the bleeping question....

    There are quite a number of voice recorders out there for mobile phones. Several are quite well done.

    But all have a common failing so far in that they cannot disable the recording beep function (notification to the parties that the call is being recorded) in the Nokia Symbian^3 phones. (Apparently they have been successful in disabling the function on older phones.)

    Beyond the existence of the beep are the questions of whether you should (ethical) or must (legal) employ it.

    So the various call recorder programs are mostly novelties (for Nokia Symbian^3 users) until success is achieved in being able to choose to (or not to) use the function and (for all users) until resolution is achieved regarding ethical and legal questions on its use (or non use).

    Note to self: Perhaps lawyers should be more properly called parenthesisists???

    Recording Beep Function Description
    Googling suggests that the recording beep function exists in Symbian^3 phones as a file in the Read Only Memory (ROM) of the phone. You must remove or nullify this source file from the ROM, an event well beyond my ken and apparently beyond the ken of everyone else so far.

    Googling reports indicate that trying to remove this file from Nokia Symbian^3 phones crashes the ROM and requires it to be "re-flashed" - i.e., rerecorded, something I do not know how to do at this time...

    Given that there is a beep then the next question is, how intrusive is it?

    The beep sound will not get recorded and you will not hear it when you play back your recordings.

    But anytime it beeps during the conversation it distracts you from the matters at hand.

    Googling reports issues with the amplitude (loudness) being extremely distracting.

    And conceivably the frequency (pitch) of the tone might be quite irritating.

    Distractions In professional employment translate to delays and loss of quality of service, hence time, hence dollars . Professional call centers have resolved this by inserting the familiar "This call is being recorded for training and quality control purposes." recording at the start of the conversation, thereafter leaving participants to carry on beep-free.

    (To which I usually reply "Make my day", but I digress...)

    But this option does not exist for Nokia Symbian^3 users.

    So there is some threshold of amplitude, frequency, and periodicity above which the product becomes unusable. And in some products the beep causes a delay and subsequent distortion in the recorded signal.

    Beep Control
    There is some control to be had here. For example:

    SymbRecorder has three beep modes.
    • In Modes 1 and  2 the beep occurs every 15 seconds.
    • In Mode 3 at the default Beep Suppress Tune of 80 the beep occurs every two seconds while at a Beep Suppress Tune of 6000 (the maximum available) it delays to seven seconds. Perhaps this function is  better named the Beep Suppress Time in milliseconds??
    • Changing recording formats (AMR/WAV) has no effect on the beep.
    So even if you can't get rid of it altogether, how about making it as infrequent as possible or examining the volume or frequency of the beep? Well, now you're back to the law, see  Amplitude, Frequency, and Periodicity below...

    Anyhow, here are my impressions after installing and using the programs on my Nokia Symbian^3 N8, with My Humble Opinion (MHO) being rated on a scale of x out of 5 (x/5):
    • TotalRecall (4.5/5)
      Probably the smoothest I've seen. It has two beep suppression modes: Enable and Enable Advanced. But neither suppresses the beep on the Nokia N8. They are "working on it".

    • SymbRecorder (4/5)
      Very cool, with lots of customization options - geek perfect.

      But it also fails to suppress the beep on the Nokia N8. They also are working on it.

      The first two modes are very good quality. The third mode introduces a distortion in the recording whenever the beep occurs although you don't hear the beep on the recording. You can tweak the sampling rate, so perhaps I could resolve that, but as long as the beep remains then why bother...

    • Best Call Recorder (3/5)
      They post a warning: Warning: the disable beep function will not work properly on S^3 devices in most cases, please test the fully functional trial version on your device before you buy (see the Download link).

      Sure enough, we installed it, the  beep is there on the Nokia N8, annoyingly frequently (approximately every two seconds). It doesn't appear on the recording itself but does introduce a burble into the recording.

    • Nokia N8 Voice Recorder (1/5) A default-installed application in the Nokia N8. Very fidgety, no autostart. If you start it before the call then it suspends when you switch away If you wait to start it until after the call then you lose several seconds of the conversation. And in any case you get the beep.
    Oh, I need to mention, all of these do a fine job of recording Voice Clips if the phone is not on a call. So, bravo!

    But that is not the point. The point is how to lose the beep!
      Ethics and Legality
      Of course, all the vendors give some kind of "Don't sue me" caveat regarding the legality (or not) of recording calls without the beep. IMHO, it seems that ethical or legal culpability depends on the purpose to which the data are put. Simply collecting the data should not be considered unethical or illegal...

      But then what do I know: I'm neither a priest nor a lawyer, just an engineer.

      Instead, while googling seems not to address ethical questions it does seem to indicated that it is illegal in some (many) cases to even collect the data.  

      However, on reflection, these laws seem to be designed to protect the individual from third party violation of privacy. Not the inferred interaction among individuals

      See the following, with the bullets highlighting critical details:

      • The U.S. federal law allows recording of phone calls with the consent of at least one party. This means if you are initiating a recording on a call that you are participating in, the other party does not need to be notified that the call is being recorded.

        This only makes sense if it is to protect you from a third party intrusion.
      •  Currently, 12 states [including MA  but not RI] require the consent of all parties. Interestingly, this is the most cited, albeit the minority, position among all my findings...

      • The Australian law prohibits a person from listening to or recording, by any means, of a communication in its passage over a telecommunications system without the knowledge of the person making the communication. Again, this suggests a jurisprudential focus on protecting the individuals from third party intrusion.

        "A communication includes conversation and a message, and any part of a conversation or message, whether in the form of speech, music or other sounds, data, text, visual images, signals or in any other form or combination of forms."

      • Some states and countries require "one-party notification" in which only one of the two individuals needs to be made aware that the call is being recorded... At least 37 US States, the District of Columbia,  the US Federal law, Canada, and England only require one-party notification.
      Amplitude, Frequency, and Periodicity
      Apparently there are no specifications on the amplitude (loudness) of the beep. There are specific requirements for the beep tone:

      The beep tone needs to be a 1260 to 1540 Hertz tone, lasting 170 to 250 milliseconds, and broadcast for both sides to hear every 12 to 15 seconds...

      Going Forward
      So, dear technologists, there is yet another opportunity for achievement in this world. Go forth and prosper: design systems with an option for the beep and, after the fact, figure out how to hack the ROMs of the world to control it.

      And, as for Nokia (and any other manufacturers), a libertarian view: Yoh! Dude! Lose the beep!

      Let me be responsible for my own happiness (and ethics and legality). Give me a paper to sign or whatever but

      Let ME live MY life.


      offers another objective comparison of the market leaders in this domain. Thanks to SymbSoft for pointing this out.

      As for me, I am now a newbie student of ROM patching.

      Googling:  how to rom patch nokia n8

      ROMPatcherPlus seems to be the market leader in this regard, but I haven't found its homepage, just a lot of warez sites.

      Much fodder to examine. But not tonight.

      Mobile Blogger

      Now, why didn't think of this?

      Better than SMS (a broadcast), better than Twitter (single point record of messages - the blog), simpler than a blog (instantaneous blogging without a keyboard:

      a combination of all three!!


      Sent from my Nokia N8, tweaked from my Linux openSUSE 11.4 Fujitsu P1630 :Lifebook

      Tuesday, April 5, 2011

      Task Managers and Tracking Time Usage

      I've spent quite a bit of time on evaluating task managers.

      + TaskJuggler fails to install even from the openSUSE RPMs:

          Depending on the selected version, the RPM is missing or something else. Too hard.

      Tasque is just too simple for my needs. It is little more than a list with a checkbox.

      + Task is a command line app.

      + ktimetracker (currently V4.4.10-3.2) is wonderful. It allows:
      • Functional decomposition of projects/tasks/clients
      • Automatic application usage logging
      • Time accumulations by different tasks and time periods
      • Integration with the KDE PIM (Kontact)
      • Chronological listing of events with the ability to add comments
      The only problem is that the last bullet (for me the most desirable) apparently cannot be exported. I have tried copy/paste, Export this and that... Nope, it is all locked into the app. You can look but you can't touch.

      Now, all that precious data resides inside an RFC 4225 ical (*.ics) file. Cool. I'll just open the ics, right?

      Annnxxxx. WRONG. Very complicated, linear file with all kinds of irrelevant (to me) information, like lay days for the Gregorian calendar etc.

      OTOH, the precious File > Edit History window does exactly what I want. I just can't get it out of the machine!! (Well, I haven't yet tried GIMP Screen shot with OCR, perhaps that will work...)

      So my options are (in addition to extensive googling, from which it is not my friend):

      1. Figure out how to get the Edit History window rendition out of ktimetracker. (I've written the developers, awaiting a reply.)

      2. Find a similar app that isn't dead (GnoTime looked like the right answer but has apparently disappeared, certainly not supported by the openSUSE repositories). TaskCoach and rachota seemed promising but fail to do what ktimetracker does.

      3. Figure out how to parse the complex ICS file.

      I've failed on 1) and 2) so far. You'd think there would be a zillion ICS parsers out there for 3), but they are all libraries or modules (Ruby???!!) for developers. Surely there must be an off the shelf app that does this?

      Enquring minds...

      Monday, March 14, 2011

      Stopping Runaway Processes: Magic SysRq Keys

      Consider the following Wikipedia entry that I subsequently found after doing all this work:
       But it doesn't invalidate my findings:

           w f e v b (in that order) are the more useful.
      And many of the claimed functions simply do not work, as discussed below.
      Always willing to be corrected...
      I found out how to get the kernel's attention when it is in some kind of process panic or runaway process. Before this, I just pulled the plug... :-( 
      So this is much more elegant: 
              Alt+Fn+SysRq+<command key>
      where +<command key> is one or another of a long list of characters, discussed below. It seems that  
              w f e v b 
      (in that order) are the more useful. 
      When I leave the machine idle for a while (going to bed, going to lunch) I often come back to find it frozen with mad disk thrashing going on. Sometimes I get its attention back with a mouse move or hitting the Esc key, but more often I just have to pull the plug.
      What I find from /var/log/messages is that hald is doing a lot of stuff and won't let go of the system.
      Today I noticed that the log ends with entries like:
      Mar 12 14:07:42 P1630 kernel: [11391.748962] Out of memory: Kill process
      1378 (hald) score 598 or sacrifice child
      Mar 12 14:07:42 P1630 kernel: [11391.748968] Killed process 1504
      (hald-runner) total-vm:56372kB, anon-rss:26496kB, file-rss:632kB
      Googling tells me this is the response of the out of memory killer (oom_killer), so I"ve read a lot about how it calculates the score by which to decide which process to kill to free up memory, and the winner (or actually, loser) in each case is hald.
      Pulling the plug is actually a PITA, Searching around (thanks DenverD) gave me a much more elegant solution:
      This  bears careful reading and even more careful experimentation, which I here report:
      The Fujitsu P1630 keyboard has a Function (Fn) key which is used to invoke functions on other keys that are indicated by a box around the function name, such as SysRq. In this case the following are the results of various key combinations, where a comma implies a wait, a + implies pressing simultaneously, and <command key> implies any of the letters of the alphabet cited in the sysrq.txt source above:
      Alt, Fn+SysRq+<command key> just brings up the screen shot module 
      Alt+Fn+SysRq+<command key> does nothing for <command key> = d g h.
       Instead, dmesg shows a help screen:
       [13321.912458] SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK
        show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync
       show-task-states(T) Unmount force-fb(V) show-blocked-tasks(W) dump-ftrace-buffer(Z)  
      The following are the results for the remaining <command key> combinations:
      Alt+Fn+SysRq+b  Will immediately reboot the system without syncing 
                      or unmounting your disks.  
                      This is clearly the most dangerous and exciting!
      Alt+Fn+SysRq+e     Send a SIGTERM to all processes, except for init. 
                         Dumps you to the terminal prompt. 
                         This is almost as much fun as <b>...
      Alt+Fn+SysRq+f     Calls oom_kill to kill a memory hog process. This is
                         probably the most commonly useful one, e.g.:
       [13385.402701] [11278]     0 11278     8026     2004   0       0             0 packagekitd
       [13385.402706] Out of memory: Kill process 3421 (firefox) score 122 or sacrifice child
       [13385.402716] Killed process 3631 (plugin-containe) total-vm:137648kB, anon-rss:840kB, file-rss:2436kB
      Alt+Fn+SysRq+    i j k l m o all change the log levels:
              j[13859.996645] SysRq : Changing Loglevel [13859.996673] Loglevel set to 5 
                [14057.594808] SysRq : Changing Loglevel
               [14057.594837] Loglevel set to 1
               [14158.143866] SysRq : Changing Loglevel
               [14158.143894] Loglevel set to 2
               [14158.143866] SysRq : Changing Loglevel
               [14158.143894] Loglevel set to 3
                [14240.847738] SysRq : Changing Loglevel
               [14240.847767] Loglevel set to 0 
               [14399.663636] SysRq : Changing Loglevel
               [14399.663660] Loglevel set to 6
      Alt+Fn+SysRq+n        This adjusts the niceness of the tasks.
               [14327.222095] SysRq : Nice All RT Tasks
      Alt+Fn+SysRq+p  Will dump the current registers and flags 
                      to your console to appear in dmesg).
      Alt+Fn+SysRq+q  Will dump to dmesg per CPU lists of all 
                      armed hrtimers (but NOT regular timer_list 
                      timers) and detailed information about all
                      clockevent devices.
      Alt+Fn+SysRq+r  Turns off keyboard raw mode and sets it to XLATE.
              [14773.473596] SysRq : Keyboard mode set to system default
      Alt+Fn+SysRq+s  Will attempt to sync all mounted filesystems.
              [14816.857775] SysRq : Emergency Sync
              [14816.860901] Emergency Sync complete
      Alt+Fn+SysRq+t  Will dump a list of current tasks and their information to dmesg
      Alt+Fn+SysRq+u  Will attempt to remount all mounted filesystems read-only
      Alt+Fn+SysRq+v  Forcefully restores framebuffer console (same as b)
      Alt+Fn+SysRq+w  Dumps tasks that are in uninterruptable (blocked) state.
      So more experimentation later, but it seems like w f e v b (in that order) are the more useful.

      How to Activate Macro Recording in LibreOffice 3.3.1

      Tools > Macros > Record does not exist in LibreOffice 3.3.1 on first installation. But you can add it with

           menu -- > Tools -->Customize brings up a new window. Select the Menus tab.

      On that tabpage there is a dropdown box where you can select the part of the menu where you want insert the new item. It starts with File selected. Scroll down to Tools | Macros

      Then click on the Add button.

      Another window opens. In the left window Category select : BASIC
      In the right-hand window Commands select : Record Macro
      Click button : Add
      Click : Close
      Click : OK
      Repeat this process for any other additions you wish, e.g., Stop Recording, Run Macro.

      Now we add toolbar icons:
      Tools > Customize > Toolbars Tab > Toolbar: Formatting > (Scroll to end of list) > Add > Category: BASIC > Commands:
      Stop Recording
      Run Macro
      LibreOffice Basic Macro Organizer
          >Close > OK

      Easy to do but obscure and undocumented...

      Thursday, March 10, 2011

      Another dead black beast: bluedevil!!

      Posted details to

      The Waveinput contributor bpa has taught (um, re-taught) me a valuable lesson:

      + When pushing the car back up the hill, it is  best to go one step at a time. Tedious, but in the end more effective.

      In this case it was one of adding one supporting application at a time, retesting, going back, doing it again.

      And we have won:

      + Bluedevil requires the obex stack in addition to bluez! But none of the documentation I've seen describes this. So I have a self-assigned task to update the README file to make this clear.

      Basically, we have loaded, unloaded, rebooted, reloaded, unloaded, etc. with a host of different combinations of stuff, finally deciding to do one-by-one:

      + Nuke all associated *blue* apps

      + Reboot

      + Add one thing at a time:
           - bluedevil (and nothing else that doesn't appear as being required)
           - on failure google around
           - discover obex
           -  Add obex elements one-at-a-time, repeat.

      + Success achieved in this manner after adding obexd and obex-client.

      New README file to follow.

      Wednesday, March 9, 2011

      openSUSE 11.4 RC2 bêtes noires: One down, more to go...

      Licked Squeezebox Server issues today, am delighting in Choral Evensong and Rachmaninoff as we speak.

      Details posted to
      So the key fixes were:

      + Providing a link to in one of the directories on the $PATH

      + Correcting the owner and group of the logs to squeezeboxserver

      + Setting up the firewall to masquerade the internal 192.168.x.0/24 network.

      + Explicitly setting Custom rules on the firewall to allow ports 3483 and 9000 in TCP and UDP.

      Now for some tunes...

      Tuesday, March 8, 2011

      openSUSE 11.4 RC2 bêtes noires

      Call me a self-flagellant.

      I was so pleased with the smooth upgrade to KDE 4.5.5 that I decided to just go ahead and follow the instructions to upgrade to OpenSuSE 11.4 (oS11.4). Spent several hours RTFM on zypper, set up the 11.4 repos and removed the older ones, and pushed zypper dup. About an hour later it was all done.

      [Footnote: OpenSuSE is now calling itself openSUSE so I guess we can all stop following the ancient German-based capitalization scheme...]

      It went well enough. oS11.4 is at Release Candidate 2 Beta with only a few days to the full release. But there are some questions, if not bugs:

      + The splash screen is a grey streaked thing with a jagged gecko in the lower right corner that looks as if the video is corrupted until you notice that the gecko in the middle of the screen is perfect. So maybe this is a Beta reservation of some sort? It goes on and brings up the plasma desktop without fault or error. And indeed, the new video is crystal clear. Very cool.

      + There is a new tool KPackageKit that seems to be trying to takeover from YaST. It wakes up and downloads a scrunch of stuff, even though I had just done zypper dup the night before.

      + Squezebox Server (SBS) 7.5.3 won't connect. Part of it was a firewall thing (dropped port 3483 packets) solved by moving from guarddog to.the openSUSE firewall and turning on masquerading, but it still doesn't load. It shows as enabled but doesn't load, and when explicitly loaded does not respond. Now this may be an oS11.4 thing, or it may be an SBS 7.5.3 thing. I've posted to the forum, watch this space.

      + My mouse problems have been solved by replacing the keyboard (and its included stick mouse).

      Other than that no noticeable problems except:

      + Bluedevil. Aaargh.

      It was working on oS11.3 with KDE 4.5.5 but now doesn't. More to follow, but at present:
          - It sees the phone, the phone sees it, they pair.
          - The phone can send files to Bluedevil, but not vice versa
          - Neither can browse the other.

      So this is what we've done:

      1. Delete PC from N8, N8 from PC, reboot both.

      2. Discover N8 on PC (Manage devices):
          a. It finds the N8, sends a PIN. Acknowledge all prompts on the N8 (PIN, services, access, etc.)
          b. Set up services on PC (Send files), follow prompts
          c. Transition into attempt to send file. Follow prompts, select file, destination, OK. Nothing happens. No audio on phone, no prompt on PC, no files on phone.

      3. Discover PC on N8 (delete pairing on N8, search and pair):
          + You have to be really quick as the prompt doesn't last long on the PC, and after a few attempts does not appear at all. So reboot and try this step again:
              - Minimize all PC windows, with mouse at about 3 o'clock on the screen
              - Start the process on the N8
              -click the PIN approval
          + Success. Send from N8 to PC: (have mouse in same position)
              - Accept connection: success.
          + Send file from PC to N8: no joy, same as 2c. above.
          + Delete pairings on both devices, re-pair on PC, but do NOT transition to send.
          + Attempt send: once again you have to be quick. The notifications widget has the attempts but doesn't alert! But same as2c. above, no joy.

          + Pairing does work in both directions, but you havae to be quick if pairing from phone to PC.
          + Better to pair on the PC - the prompts are too short-lived and obscure on the PC.
          + File transfer works from phone to PC regardless of pairing direction. But watch the notifications area for prompts and be quick.
          + Browsing a remote device does not work in either direction.

      The installed version is 1.0.2-3.8.1. What happens if we uninstall and reinstall an older version?
      We find version 1.0-2.9 at

      and give it a whirl.This was the version that worked for us before. But no joy. They all show
          0.6 KiB/s
          0.0 KiB/s
      in the notifications section.

      I've posted to
      Se we await comments of others smarter than I.

      FWIW, pretty much everything else works flawlessly on OS 11.4. Firefox 4 beta has a few problems, but that is not an OS 11.4 issue...

      So all in all, a good couple of days.

      Sunday, March 6, 2011

      Success! Bluedevil on OpenSuSE 11.3

      If you upgrade KDE to 4.5.5 or install KDE 4.4.4 development files (for ALL of KDE, OpenSuSE, and Bluedevil) then you can get Bluedevil to work, so far to the extent that I can now both receive AND SEND files between laptop and Bluetooth device. 


      Continuing to try solving.

      The tarball responds

          ERROR: cmake/modules/FindKDE4Internal.cmake
      Googling suggest running build-essential but this does not exist.

      Repository search suggests it is in libKDE4, libKDEcore4,  libkde4-devel, libkdepim-libs4-devel, kdepim4-runtime-devel, or kdepim4-devel, which are not installed. So I install them all.

      That problem is solved, but now it can't find libBlueDevil, no problem we have 1.0-3.3 available as an RPM. Install it and try again. But it still can't find it.

      So I go to the gym to clear my head and try one more time.

      Go search at, choose the v. 1.0-2.9 ymp. Again, it can't find kdebase4 > 4.6, but volunteers to install an older version, I click OK.

      It runs and runs and runs and ... claims Installation was successful.

      But it wasn't. bluedevil is not to be found.

      Re-check yast2: It shows it as being installed. KDE also shows it as being installed but the icon bounces up and down and eventually dies.

      Check yast2: it offers updates for libluedevil1 and libluedevil-devel. The latter was not installed Accept these and try again. Now the icon appears in the tray.
      Woohoo!! Finally! I can send files to the N8 and it puts them in E:/Received files.
      But notso fasto. When I reboot I get the dreaded Unable to start ksmserver. But now I know, although have not heretofore tried
           zypper dup

      This command uses the distribution upgrade algorithm, which handles package splits, unmaintaned packages, and similar. Use it to switch to another distribution release.
      # zypper dup
      It is recommended to enable only the main repository of the distribution you want to install plus a few important repositories you were using (even better - their version corresponding to the current main repository) during a dist-upgrade. You can achieve this by disabling the old repositories using zypper mr -da, adding the new repositories via zypper ar and issuing zypper dup. You can also specify repositories to be used using --repo option: zypper dup -r repo1 -r repo2 ...
      This runs freaking forever, but on reboot, all is now working. Well, at least Bluedevil is working.
       Start > Favorites > Configure Desktop > Help > About KDE shows that I have been upgraded to KDE 4.5.5. Totally painlessly.
      So now that was so much fun, I followed the advice of
       to upgrade to OpenSuSE 11.4!

      Next step: return to resolve and review OpenSync.
      Great progress, great day.

      Friday, March 4, 2011

      Dependency Hell

      Note to reader: This is now 6 March 2011. I have learned more, so am editing this post to change things that no longer are correct. If you have saved information earlier than today then please review this article.

      If you upgrade KDE to 4.5.5 or install KDE 4.4.4 development files (as posted later) then you can get Bluedevil to work, so far to the extent that I can now both receive AND SEND files between laptop and Bluetooth device. The strikethrough fonts below demonstrate the deprecated remarks.

        The solution appears to install devel packages for ALL of KDE, OpenSuSE, and bluedevil (libbluedevil1). So while it isn't presently easy, it is  doable


      A fresh morning, a fresh start:
      Download libbluedevil1-1.8-8.2.i586.rpm  and bluedevil-1.0.2-32.2.i586.rpm. The first installs flawlessly, the second complains about not having kdebase4-runtime >4.6.

      This is where we crashed ksmserver yesterday. So this time I just skip that requirement and let it go ahead an install. But it fails.

      OK, download and install kdebase4-runtime-4.6.0-287.1.i586.rpm since this time we have the zypper fix for the crash...

      But it needs This is provided by lib32-qt, but that is not in the repositories.

      So checked and updated the repositories and added OpenSuSE Build Service - KDE: Updated Apps.

      We check for the dependencies. We have all the direct ones but as above kdebase4-runtime lacks some that do not exist in our repositories or yast2 web search:


      So I am correct. We ain't there yet.

      OpenSync Installation Protocol

      So absent my current problems with Bluetooth, hopefully soon to be cured with OpenSuSE 11.4, here is the installation protocol I have gleaned from all the multitudinous sources. Again, I'll make it pretty tomorrow:

      1. Start clean. Nuke all opensync files and directories then download and install:
          - libsyncml
          - libsyncml-tools
          - libopensync
          - libopensync-pluginxxx 

           where xxx is one of the following:
          - libopensync-tools

      libopensync-plugin-kdepim is problematic as it no longer seems to exist.
      The multisync-gui is nothing more than a text editor for the two configuration files.

      2. Check to see if everything went right:
          msynctool --listplugins
          Available plugins:

      We did not get syncml-http-server but it is there, check by running

      3. Set up the phone to sync. My N8 uses
              > Connectivity
                  > USB > Nokia Ovi Suite
                  > Data Transfer
                      > Sync
                          x Contacts
                          x Calendar
                          x Notes
                          x Bookmarks

      All the following are done as user, not root:

      4. Create a directory to store your files:
          mkdir ~/files_from_nokia

      5. Add groups:
          a. Add a group to sync your Nokia to Evolution as user:
              msynctool --addgroup nokia2evo
          b. Add a group to sync your Nokia to files as user:
              msynctool --addgroup nokia2file

      6. Add members to each group:
          a. Add members to the Evolution group
              msynctool --addmember nokia2evo evo2-sync
              msynctool --addmember nokia2evo syncml-obex-client

          b. Add members to the File group
              msynctool --addmember nokia2file file-sync
              msynctool --addmember nokia2file syncml-obex-client

      7. Detect your phone over bluetooth:
          hcitool scan    This returns
              Scanning ...
                      E0:A6:70:FE:9B:DC       Andy's N8
          A easy way to check/create your bluetooth pairing is (as root):

      All the following are done as root, not user:
              hcitool cc E0:A6:70:FE:9B:DC
                      Runs fine

              hcitool auth E0:A6:70:FE:9B:DC
                  Not connected

                   So we connect with the p1630 Bluetooth manager. Now: same answer, although the manager says we're connected.
              hcitool dc E0:A6:70:FE:9B:DC
                  Not connected

              sdptool browse E0:A6:70:FE:9B:DC
                  This returns the long list of services even with USB cable removed. So we are clearly connected, despite what hcitool auth says. So there is a problem with Bluetooth in general, as investigated and reported in my previous report.

      8. Get all services available on this phone:
          sdptool browse E0:A6:70:FE:9B:DC | less
           This returns a very long list (253 lines in my case) of services, listed in the sub-tab Services.
          The |less pipe lets you scroll up and down the list using up and down arrows.

      9. Find the USB services offered by the phone. Plug in the USB cable  and do
          syncml-obex-client -u
          If you don't plug in the cable you will get
              Found 0 USB OBEX interfaces
          With the USB cable connected you will get
          Found 4 USB OBEX interfaces
          Interface 0:
                  Manufacturer: Nokia
                  Product: N8-00
                  Interface description: SYNCML-SYNC
          Interface 1:
                  Manufacturer: Nokia
                  Product: N8-00
                  Interface description: PC Suite Services
          Interface 2:
                  Manufacturer: Nokia
                  Product: N8-00
                  Interface description: SYNCML-DM
          Interface 3:
                  Manufacturer: Nokia
                  Product: N8-00
                  Interface description: Haptics Bridge
          Use '-u interface_number' to connect

      All the following are done as user, not root:
      10. Configure clients:
          a. Evolution clients:
              i. Configure client 1 evo2-sync:
                   msynctool --configure nokia2evo 1
                   This creates the configuration file and opens it in vi. For this member much needs to be done, and done so much more easily in kate or some other GUI text editor so just quit:

              ii. Configure client 2 syncml-obex-client:
                   msynctool --configure nokia2evo 2
                   Again, this creates the configuration file and opens it in vi. For this member much needs to be done, and done so much more easily in kate or some other GUI text editor so just quit

          b. File clients:
              i. Configure client 1 file-sync:
                   msynctool --configure nokia2file 1
                  This creates the configuration file and opens it in vi. For this member much needs to be done, and done so much more easily in kate or some other GUI text editor so just quit

              ii. Configure client 2 syncml-obex-client:
                   msynctool --configure nokia2file 2
                  Again, this creates the configuration file and opens it in vi. For this member much needs to be done, and done so much more easily in kate or some other GUI text editor so just quit
      10. Refine client configurations. Open the file in your favorite editor. The file to open is:
                  $user is your user name (e.g., andy)
                   m is the group number:
                      1    Evolution group
                      2    File group
                  n is the member number:
                      1    set number (evo, file)
                      2    obex-client

          a. Refine configuration for nokia2evo evo-sync:
              kate /home/andy/.opensync/group1/1/evo2-sync.conf
              This file needs the explicit path to the evolution databases. Replace:
               with (note to delete the trailing slash)

          b. Refine configuration for nokia2evo file-sync
              kate /home/andy/.opensync/group2/1/file-sync.conf
              This file needs the explicit path to where to save files. Replace:
                            with              ~/files_from_nokia

          c. Refine configuration for syncml-obex-clients for both Evolution and File:
              i. Make the uncontroversial settings:
                  + Bluetooth MAC address:E0:A6:70:FE:9B:DC or whatever your value is from hcitool scan

                  + The string that the plugin will use to identify itself.
                      The identifier for Nokia mobile phones is:
                              PC Suite
                      This parameter sets the "Synchronization Software" Identifier, which will be used to identify to the mobile phone. Most mobile phones ignore this identifier value. So far we only know Nokia mobile phones, which reject the synchronization when the identifier is wrong.

                  + Other settings:
                          * version: 1
                          * wbxml: 1
                          This switch to WAP Binary XML instead of plain XML in the synchronization.
                          So far as we known this is used by most mobile phones, so we enable it by default.
                          If you have trouble with the initial sync testcase remove this parameter.
                          * usestringtable: 1
                          * recvLimit: 10000    Default is 0
                          * maxObjSize: 10000     Default is 0
                      Don't change contact_db, calendar_db or note_db, and don't put in a username or password (perhaps unless you have one set up in the phone).

                          says to set it to the channel being used  by SyncML Server (10).
                          But other sources suggest using the SyncML Client (6)
                          And then we are using PC Suite Services, which suggests channel 8
                          So this needs to be determined by tests.

                  + The USB interface number of the SYNCML-SYNC target returned by step 8 sdptool browse. The conf file says this is is the interface number (0) from step 9 above (syncml-obex-client -u with USB cable)
                          Interface 0:
                                  Interface description: SYNCML-SYNC
                          Interface 1:
                                  Interface description: PC Suite Services
                          Interface 2:
                                  Interface description: SYNCML-DM
                          Interface 3:
                                  Interface description: Haptics Bridge

              c. Additional settings not in the default .conf file
                      suggests additional settings for USB:
                      You'll need to fix permissions for your USB device. First you should connect your device with the usb cable. Then make sure that the lsusb command lists your device:
                      returns a bunch, including
                      Bus 001 Device 003: ID 0421:0302 Nokia Mobile Phones

                  i. Change the rules:
                      + Unplug the phone
                      + Use kate as root to modify /etc/udev/rules.d/40-nokia-mobiles.rules. The file does not exist.
                           Write it as
                          BUS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="*", MODE="0660", GROUP="dialout"
                          # This might work if the above doesn't :-( (substitutes ATTR for SYSFS)
                          # SUBSYSTEM=="usb", ATTR{idVendor}=="0421", ATTR{idProduct}=="*", MODE="0660", GROUP="dialout"
                      + Run as root:
                          /etc/init.d/boot.udev reload                + Replug the phone

      11. Check Bluetooth
          syncml-obex-client -b E0:A6:70:FE:9B:DC #        where # is 6, 7, 8, 9, or 10
              This parameter is for Bluetooth connections. For fill in the MAC address of your mobile phone and for the number of the SyncML service. But these all fail with
                  Failed to start the client: You have to configure at least one database

      12. To get a resume of your configuration just do a:
          msynctool --showgroup sync_nokia2file

      13. Now all is configured: just sync your date from your phone to your computer:
          msynctool --sync sync_nokia2file

      In theory, enjoy. But first, we need to fix Bluetooth and USB connectivity.