Syncing a Pocket PC in Ubuntu Gutsy

Finally! One of the missing links in Ubuntu has been solved! 🙂 Pretty much since the day I started using Ubuntu, I have lamented the lack of support for syncing Windows Mobile devices with Evolution or any application in Ubuntu. I even tried going down the various multisync/opensync/kitchensync path with little success…

…until today! I finally found some instructions that worked for my old Cassiopeia E-125 and my iPaq 2215. I’ve copied these instructions from UbuntuGeek in case that site ever goes down:

  1. Connect your Pocket PC and type “dmesg” in a shell to see if the ipaq kernel module is loaded. The output might look like the following. Take note of the tty used for the connection.
    usb 4-2: new full speed USB device using uhci_hcd and address 3
    ipaq 4-2:1.0: PocketPC PDA converter detected
    usb 4-2: PocketPC PDA converter now attached to ttyUSB02)
    you can also use “cat /proc/bus/usb/devices” to check for a USB device that’s using the ipaq kernel module.

    T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
    D: Ver= 1.01 Cls=ff(vend.) Sub=ff Prot=ff MxPS=16 #Cfgs= 1
    P: Vendor=413c ProdID=4002 Rev= 0.00
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
    I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ipaq
    E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
    E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
  2. SynCE Setup and ConfigurationInstall the required packages for SynCEsudo apt-get install librra0 librra0-tools librapi2-tools libsynce0 synce-dccm synce-multisync-plugin synce-serialsynce-serial setup will be invoked by apt, follow this through using the default settings, unless you have reason to do otherwise.

    /dev/ttyUSB0
    local address: 192.168.131.102
    remote address: 192.168.131.201
    no dns entry needed

  3. Perform the following command to tell SynCE where to look. This seems redundant.sudo synce-serial-config ttyUSB0
  4. Start the SynCE connection daemon by typing “dccm” in a shell. Use “dccm -p password” if your Pocket PC is password protected. NB: Make sure you are doing this as the logged in user, not root/sudo!
  5. Initiate a serial connection by typing “sudo synce-serial-start” in a shell. You should be greeted with “synce-serial-start is now waiting for your device to connect“.”synce-pstatus” shows a LOT of information about your Pocket PC, such as current mode of operation, battery charge level, memory usage as well as backup battery status. If you want to see some other synce commands, type “dpkg -L librapi2-tools”. You can use these commands to do things such as installing Pocket PC programs, etc.
  6. Create the partnership between the Pocket PC and your computer. There are 2 slots on the device, so the INDEX can be 1 or 2.synce-matchmaker create INDEXYou should see the following messagePartnership creation succeeded. Using partnership index INDEX.
  7. Multisync Setup and ConfigurationInstall the required packages for Multisyncsudo apt-get install libmultisync-plugin-all multisyncOr, alternatively if you want to skimp on the packages

    sudo apt-get install libmultisync-plugin-evolution libmultisync-plugin-backup multisync

  8. Start Multisync by typing “multisync” (again, not as sudo/root) in a shell. You can also do via Applications > Accessories > Multisync, but the shell gives you a lot of feedback which can be helpful the first time you use it.
  9. Create a new synchronization pair where one of the plugins is “SynCE Plugin” and the other is “Ximian Evolution 2″, the order doesn’t matter. You may need to create a new Contact List, Task List and Calendar, so that the default ones aren’t used. I’m not sure if this is needed, but it was mentioned in the other thread. NB: Make sure that you click on the Options for the Evolution plugin and select at least one calendar/contacts/task list.
  10. Press the “Sync” button.Initially, You may not have entries in Evolution so for some reason, You need to modify all of the entries on Pocket PC so that the timestamp would register each entry as a ‘change’, otherwise no entries were sync’d. Or, hit the resync button.Disconnecting Your Pocket PC
  11. Shutdown Multisync
  12. killall -HUP dccm to kill the serial connection.
  13. run synce-serial-abort, if the above command doesn’t work.

NB: This isn’t quite working with the Cassiopeia.  Will keep this updated.

PVR150/Gutsy/Sky NZ MythTV configuration tips and tricks

Here are some other things I’ve learnt you need to do to get MythTV working with a Sky box, Ubuntu Gutsy and a PVR-150:

General

  1. Make a directory called /usr/src/mythtv

EPG setup

  1. Create and run channelsetup.sh to import the channels into the MythTV database

    #!/bin/bash
    wget http://epg.pvr.geek.nz/epg/listings-sky.xml.gz
    gunzip -f listings-sky.xml.gz
    mythfilldatabase --file 1 listings-sky.xml --do-channel-updates
  2. Create a file called getEPG in /usr/local/bin (and chmod +x to make it executable) to get the channel data. Copy the following code into it:

    #!/bin/bash
    cd /usr/src/mythtv
    wget http://epg.pvr.geek.nz/epg/listings-sky.xml.gz /usr/src/mythtv/listings-sky.xml.gz
    gunzip -f /usr/src/mythtv/listings-sky.xml.gz /usr/src/mythtv
    mythfilldatabase --no-delete --file 1 -1 /usr/src/mythtv/listings-sky.xml --update

    If you have webmin installed, set up a cron job to run this script once a week.

IR Blaster

  1. The guide for setting up the PVR-150’s built-in IR blaster working is Mark’s guide from BlushingPenguin. Follow them, and the tip I found for the Gutsy patch, to get it so that your IR blaster is working. Key things to remember:
    • Gutsy comes with it’s own copy of IVTV so you don’t need to download that.
    • Run with the pre-patched version of lirc as Mark directs
    • The firmware goes in /lib/firmware
    • Sky Zenith boxes are code 482 in his master lircd.conf. Specifically, your /etc/lirc/lircd.conf needs to have the following for the blaster to work:

      begin remote
      name blaster
      bits 32
      flags RAW_CODES
      eps 0
      aeps 0
      plead 0
      gap 333333
      repeat_bit 0
      begin raw_codes
      name 0
      2179072000
      name 1
      2179072001
      name 2
      2179072002
      name 3
      2179072003
      name 4
      2179072004
      name 5
      2179072005
      name 6
      2179072006
      name 7
      2179072007
      name 8
      2179072008
      name 9
      2179072009
      name POWER
      2179072010
      name CH_UP
      2179072015
      name CH_DOWN
      2179072016
      name CH_PREVIOUS
      2179072019
      end raw_codes
      end remote
  2. Make sure you have MythWeb installed. Go to the Channel Editor in Mythweb and make sure you have a channel number beside each channel to make them appear in the guide and MythWeb
  3. Add a channel number to the freqid field too – otherwise the IR blaster won’t work
  4. Create the following change-channel-lirc.pl in the /usr/local/bin folder (chmod +x so it can run):

    #!/usr/bin/perl
    # make sure to set this string to
    # the corresponding remote in /etc/lircd.conf
    $remote_name = “blaster”;

    sub change_channel {
    my($channel_digit) = @_;
    system (“irsend SEND_ONCE $remote_name $channel_digit”);
    sleep 1;
    }

    $channel=$ARGV[0];
    sleep 1;
    if (length($channel) > 2) {
    change_channel(substr($channel,0,1));
    change_channel(substr($channel,1,1));
    change_channel(substr($channel,2,1));
    } elsif (length($channel) > 1) {
    change_channel(substr($channel,0,1));
    change_channel(substr($channel,1,1));
    } else {
    change_channel(substr($channel,0,1));
    }

  5. Run mythtv-setup and put change_channel_lirc.pl in the external change channel field on the input card.

MythTV, PVR 150 and Gutsy

After installing a fresh Gutsy (7.10) box, I found that I had no end of problems getting the IR blaster on my PVR-150 to work – despite the fantastic instructions and work by Mark from BlushingPenguin.com. A number of problems presented themselves – including “hardware does not support sending” errors and a hard lock when I changed /etc/lirc/hardware.conf to have MODULES=”lirc_pvr150″ only, which you should have.

Finally, I stumbled across these instructions from UbuntuForums.org:

Add this deb line into Applications->System->Software Sources->Third Party Sources (or to your /etc/apt/sources.list).

deb http://ppa.launchpad.net/superm1/ubuntu gutsy main restricted universe multiverse

Update your package lists and a new linux-ubuntu-modules should be available.

Now it looks like I’m up and running! Maybe…

Fixing no TTY console displaying in Gutsy

Still not quite sure on why this is, but it seems when I set up new installations of Ubuntu, Ctrl+Alt+F1 doesn’t bring me to a console – it just brings me to either a blank screen, or a screen with a flashing cursor and nothing else. So, I found the following steps on the Ubuntu Forums:

1. sudo pico /etc/initramfs-tools/modules and add

fbcon
vesafb

2. sudo update-initramfs -u

3. sudo pico /etc/modprobe.d/blacklist-framebuffer and change the line "blacklist vesafb" to "# blacklist vesafb"

4. Reboot and everything should be fine

Oh, and make sure you add vga=791 to the /boot/grub/menu.lst beside the distro option that you choose to run.