Tag Archives: ubuntu

Better FIX for Inspiron N7110 touchpad

Seth Forshee created a kernel patch and now the ALPS touchapd on this laptop and probably others is recognized as a touchpad instead of falling back to a psmouse.

So now you can use the Touchpad tab in the "Mouse and touchpad settings" (gnome) to control the "click to tap", scrolling and other features and you don't have to use the patched syndaemon from my previous post.

To install this fix on ubuntu just download this deb package, install and reboot. ( tested on Ubuntu 11.10 x86_64 ).

If you want to know all the details go through the comments on this bug report #545307

Fix inspiron N7110 ALPS Touchpad in Ubuntu

I recently purchased a new dell inspiron N7110. The laptop is great and Ubuntu 11.04 works quite well but there is one important problem.

The problem with most touchpads on laptops is that you'll often touch them accidentally while typing, this gets recorded as a tap/click and the typing cursor might move to another location and thus you might and up tying to a whole different place.

With synaptics touchpads or ALPS touchpads ( this is what N7110 has - ALPS Glidepoint) you can use syndaemon, a program that would run in background, monitor the keyboard and disable the touchpad while you type. But this program only works for touchpads which are being recognized as synaptics or ALPS touchpads. The touchpad on N7110 was recognized as a simple mouse, Xorg loaded the evdev driver instead of synaptics.

So I thought that maybe I can modify syndaemon to make it work with mice too. And I did. I noticed a lot of other people have the same problem so this could be useful even if you have a different touchpad that's also recognized as a mouse.
Download the patch for syndaemon here:
syndaemon mouse support patch- (1.95 kB)

To apply the patch:

  1.  
  2. apt-get install xorg-dev
  3. mkdir synaptics && cd synaptics
  4.  
  5. #install the synaptics driver source package
  6. apt-get source xserver-xorg-input-synaptics
  7.  
  8. # cd to the code directory , your version might be different depending on when you do this
  9. cd xserver-xorg-input-synaptics-1.3.99+git20110116.0e27ce3abe/tools
  10.  
  11. # apply the patch
  12. patch < syndaemon-mouse.diff
  13.  
  14. # go to source main folder
  15. cd ..
  16.  
  17. # configure, compile and install, by default in /usr/local so it will not override the system installed syndaemon
  18. ./configure && make && make install
  19.  

The patch adds a new option to syndaemon to tell it to disable the mouse instead of a touchpad, without this the program will just exit when it can't find the touchpad.

  1.  
  2. # run syndaemon with the -s option this enables mouse support
  3. /usr/local/bin/syndaemon -i 1 -K -d -s
  4.  

Don't forget to start it every time you start X.

Of course this is more like a quick hack then a real fix. A real fix would make Xorg or the kernel ( not sure exactly where the problem really is ) recognize this touchpad as a touchpad not as a mouse.

ddiwrapper on ubuntu 9.04

I have a Canon Pixma MP830 printer. This printer supports high resolution printing up to 9600x2400 dpi, but the gutenprint driver only supports 600x600 dpi.

So what do I do to make it print with higher resolution?

I wanted to use ddiwrapper, a system that would let you use the native win2k/winxp drivers from the manufacturer. Basically it uses wine to load those drivers feed the print job into the driver and feed the driver's output to the printer.

Note:

This is an incomplete solution. I managed to get as far as being able to install ddiwrapper and the driver. I didn't manage to actually print a test page. When trying to print the test page I don't get any errors, and the printing system reports printing has finished but nothing is actually printed.
I wrote this post in case there are others that might want to try this and maybe can find the final solution.

There were two problems with ddiwrapper:

  1. it didn't compile on my system ( Ubuntu 9.04 x86_64 with Wine 1.1.25 ), complaining that : "Relocatable linking with relocations from format elf32-i386 (gdi32.o) to format elf64-x86-64 (gdi32.e8IuDu.o) is not supported" . This was fixed as soon as I added -m32 in a few Makefiles
  2. the excanondriver utility that is used to extract the driver is meant to be used with executable archives, zip or lha files, but the driver for MP830 is just an executable so I modified this file to work with driver files from a directory.

The fixes to both problems are provided in the diff file bellow.

Compile ddiwrapper

  1.  
  2. apt-get install wine-dev
  3. wget http://www.linuxprinting.org/download/ddiwrapper/ddiwrapper_0.3-rc1.tgz
  4. tar -xzpf ddiwrapper_0.3-rc1.tgz
  5. cd ddiwrapper
  6.  

apply the diff file ddiwrapper 0.3rc1 ubuntu 9.04 amd64-0.1 (2.58 KB) , compile and install:

  1.  
  2. patch -p1 < ddiwrapper.diff
  3. make && make install
  4.  

Install the drivers

Insert the driver's cdrom that came with the printer, it shoud be automounted.
Copy drivers from the cdrom to a local folder ~/cdrv :

  1.  
  2. mkdir ~/cdrv
  3. cp /media/cdrom/MP/Drv2KXP/*  ~/cdrv
  4.  

Delete the drivers for fax and scanner:

  1.  
  2. cd ~/cdrv
  3. sudo rm -rf Fax mp830fx.cat MP830fx.inf mp830sc.cat MP830sc.inf Scan
  4.  

Move all drivers from ~/cdrv/Print to ~/cdrv :

  1.  
  2. sudo mv ~/cdrv/Print/*  ~/cdrv
  3. rmdir ~/cdrv/Print
  4.  

Now install the driver:

  1.  
  2. sudo excanondriver ~/cdrv/ /usr/share/ddiwrapper/drivers/default
  3.  

Add the printer ( usb://dev/usblp0 should be replaced with whatever is the location of your printer) :

  1.  
  2. cd ~/ddiwrapper
  3. lpadmin -p ddiwrapper -v usb://dev/usblp0 -P doc/ddiwrapper.ppd -E
  4.  

or you can use the Printing admin application from System->Administration->Printing and load the ppd file in ~/ddiwrapper/doc/ddiwrapper.ppd

Apparmor setup

Ubuntu 9.04 has apparmor installed, and there is a profile for cupsd. The ddiwrapper tries to access files that are not specified in this profile, but by looking at the error messages generated in the logs I managed to find all the files and add them to the profile. Here's a diff file with the changes I did : apparmor cupsd profile patch- (871 bytes)

Apply the diff file to cups apparmor profile and restart apparmor:

  1.  
  2. patch < usr.sbin.cupsd.diff
  3. /etc/init.d/apparmor restart
  4.  

Testing

The new printer should show up in the Printing admin and I thought I  should be able print a test page but it didn't work.
The README file for ddiwrapper mentions there is a way to "dry" test this by feeding the driver a ps file and verifying if the output is correct but there are no details about how to do that.
Now what ? Has anyone managed to make this work for Pixma MP830 ? Any idea about how to debug it ?

Ip alias with dhcp in ubuntu

Problem

You have a machine running ubuntu, NetworkManager gets the ip from a dhcp server and you want to have another ip that never changes on the same interface (for example if you want to also act as a dhcp server for your local network and both the local and uplink are connected on the same interface).

Dhclient seems to support this through an "alias" statement and NetworkManager seems to use dhclient but I just couldn't make it work like this.

Solution

Create a script in /etc/network/if-up.d/ . Name is as  you wish. My choice was "alias" .

  1.  
  2. #!/bin/sh -e
  3. [ "$IFACE" != "lo" ] || exit 0
  4. ip a a 172.16.0.149/22 dev $IFACE
  5.  

Then make sure the script is executable:

  1.  
  2. chmod 755 /etc/network/if-up.d/alias
  3.  

You can replace the ip and mask to fit your needs.
NetworkManager will run this script automatically after it brings the interface up.

This worked for me but in the spirit of usability it would have been nice to have this kind of feature directly into NetworkManager's connection configuration gui.

Do you know any other way of doing this? Please share it in the comments.

Bttv Kworld tv tunner setup

Problem

Can't get a  Kworld KW-TV878RF ( bt878 chipset ) to work, tvtime-scanner doesn't detect any channel, dmesg shows the module as loaded ( running the  2.6.28-6-generic kernel on Ubuntu 9.04 alpha , but that's not the issue as it turned out ), but still no channel available.

Solution

Edit /etc/modprobe.d/bttv and add the following lines:

alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=78 tuner=5 radio=1

The first two lines might not be needed but that's how I had them on gentoo, before I decided to install ubuntu.
The last line is actually telling the bttv drive the exact type of card you have.
For other cards the card number might be different.

the ubuntu buzz

there seems to be quite a buzz about ubuntu these days,. Digg and other similar sites are full of stories about "the perfect ubuntu setup", "the perfect ubuntu server" and others like that.

Well maybe not today cause now we have bigger problems.

We're shocked by engadget's / apple , iphone delay anouncement 🙂 , even though they also announced it was a mistake, basically fake news, apple fanboys seem to be still affected by it.

Another "big" problem seems to be with the Microsoft announcement that linux code infringes their patents ( come on ... you want more then novel and dell ? is red-hat the last one ? ) I think they also tried this back 2004 but this time they specified the exact number that each subsystem infringes ( kernel, email , gui ... ) so we're back at the old "linux contains code patented by microsoft FUD" but after this we sould see some more ubuntu stories.

Oh yes ubuntu is so hot, especially now that dell will ship desktops preinstalled with ubuntu.

I was never eager to try ubuntu, I don't know why but the whole "linux for human beings" didn't catch me. I guess I never knew linux was not for human beings before ubuntu.

Anyway few days ago I did my first ubuntu install. Can you believe that ? my first. and guess what ? I installed it on a brand new dell inspiron 1501 that had freedos pre installed.

First impression: ubuntu is not bad at all. But I didn't really get the chance to use it for more then one hour cause it was not my computer. My wife's friend just bought her computer and she wanted windows there but ended up with ubuntu 🙂 .

Good experiment, overall she liked it and still using it.