Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Other Community Discussions > Tutorials & Tips
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Tutorials & Tips
The place to find Ubuntu related Tips & Tricks.

 
Thread Tools Display Modes
Old August 4th, 2006   #1
zerwas
A Carafe of Ubuntu
 
zerwas's Avatar
 
Join Date: Dec 2004
Location: Germany
Beans: 130
Ubuntu 9.10 Karmic Koala
Send a message via ICQ to zerwas Send a message via AIM to zerwas Send a message via MSN to zerwas Send a message via Yahoo to zerwas Send a message via Skype™ to zerwas
Wink HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

How to get Microsoft Natural Ergonomic Keyboard 4000 (MSNEK4K) to work completely with Ubuntu

Please note: If you are using Ubuntu 8.04 (Hardy Heron) everything will work out of the box except the zoomer.

Second note: The zoom wheel currently only works by applying another patch to the kernel. I can't test it at the moment so i need some acknowledge that it works. See Appendix[3].

= Solution 1 =
(use a newer kernel)

Upgrade to kernel 2.6.24 or higher (included in Ubuntu 8.04 already for example) which includes the drivers for MSNEK4K. In order to do that, follow this tutorial. This solution should not be riskier than compiling the kernel by yourself. You should always be cautious when it comes to the kernel, whether you use solution 1 or 2.



= Solution 2 =
(recompile your old kernel)
  1. Follow the HOWTO for compiling the kernel from kernel.org. Instead of step 6 and 7 of the kernel howto, perform this:
    Code:
    sudo cp /boot/config-`uname -r` .config && sudo make oldconfig
    After this command, the kernel will be patched like this:

  2. Download the attachment of this post

  3. Unpack the package:
    Code:
    unzip msnek4k-patchset.zip -d /tmp
  4. Patch the kernel:
    Code:
    sudo patch -p1 < /tmp/msnek4k-patchset
  5. Now, type
    Code:
    make xconfig
    A configuration window pops up. Now, follow the performance tips. After this, go to Device Drivers --> USB, activate "HID Simple Driver Interface"" and change Microsoft Natural Ergonomic Keyboard 4000 Driver" to "m". If you can't find it in the configuration hierarchy, you can also press CTRL+F and type simple in the search box.

  6. Go ahead with the howto (step 10 is the next). After all steps are done, the keyboard should work.

= Appendix =


Thanks:
  • Thank you alsuren for pointing me to the fact that 2.6.24 now supports it.
  • Credit for the kernel-howto goes to master_kernel
  • I'd also like to thank trantorvega for the Gentoo-Page.
  • strabes for clarifying a few things.
  • And, most of the work to get your keyboard working did Liyu for you! (the Patch is also available at http://lkml.org/ from liyu)
Attached Files
File Type: zip msnek4k-patchset.zip (12.5 KB, 324 views)
File Type: zip msnek4k-patchset-for-2.6.22.zip (12.5 KB, 294 views)

Last edited by zerwas; January 23rd, 2009 at 07:44 PM..
zerwas is offline   Reply With Quote
Old August 5th, 2006   #2
zerwas
A Carafe of Ubuntu
 
zerwas's Avatar
 
Join Date: Dec 2004
Location: Germany
Beans: 130
Ubuntu 9.10 Karmic Koala
Send a message via ICQ to zerwas Send a message via AIM to zerwas Send a message via MSN to zerwas Send a message via Yahoo to zerwas Send a message via Skype™ to zerwas
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

This should be the correct instructions to install the patch. On my pc, the Favorites-Buttons still doesn't work with version 0.3.0. (they don't give a keycode)
Perhaps anybody has ideas or can tell me that it works for him

Greetings,
zerwas
zerwas is offline   Reply With Quote
Old August 10th, 2006   #3
boom2k1
Way Too Much Ubuntu
 
Join Date: Jun 2006
Beans: 229
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

Thanks!!!!

Question though.
When I do:

sudo patch -pl /home/charles/installing/4000/msnek4k.patch
patch: **** strip count l is not a number


What does it mean?
Thanks!
boom2k1 is offline   Reply With Quote
Old August 10th, 2006   #4
boom2k1
Way Too Much Ubuntu
 
Join Date: Jun 2006
Beans: 229
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

eh.. i think i forgot to change the Ergonomic 4000 to "m"

what will happen?
boom2k1 is offline   Reply With Quote
Old August 11th, 2006   #5
zerwas
A Carafe of Ubuntu
 
zerwas's Avatar
 
Join Date: Dec 2004
Location: Germany
Beans: 130
Ubuntu 9.10 Karmic Koala
Send a message via ICQ to zerwas Send a message via AIM to zerwas Send a message via MSN to zerwas Send a message via Yahoo to zerwas Send a message via Skype™ to zerwas
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

Quote:
Originally Posted by boom2k1 View Post
sudo patch -pl /home/charles/installing/4000/msnek4k.patch
patch: **** strip count l is not a number

What does it mean?
You typed the letter "l" instead of the number "1". That's what the program patch is complaining about
At best you copy and paste these lines into your terminal:
Code:
sudo patch -p1 < /home/charles/installing/4000/simple.patch
sudo patch -p1 < /home/charles/installing/4000/msnek4k.patch
Quote:
eh.. i think i forgot to change the Ergonomic 4000 to "m"
Changing to "m" means to compile the driver for your keyboard as a module.
If you don't do this, it won't work.
zerwas is offline   Reply With Quote
Old August 11th, 2006   #6
unixfudotnet
5 Cups of Ubuntu
 
unixfudotnet's Avatar
 
Join Date: Sep 2005
Beans: 27
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

The patches don't seem to apply cleanly anymore.
Quote:
root@chris-desktop:/usr/src# ls -l
total 40364
lrwxrwxrwx 1 root src 14 2006-08-11 06:49 linux -> linux-2.6.17.7
drwxrwxrwx 19 root root 4096 2006-07-24 23:36 linux-2.6.17.7
-rw-r--r-- 1 root src 41283287 2006-07-24 23:40 linux-2.6.17.7.tar.bz2

root@chris-desktop:/usr/src# patch -p0 < /tmp/simple.patch
patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
Hunk #1 FAILED at 4.
Hunk #4 FAILED at 49.
Hunk #5 FAILED at 797.
Hunk #6 FAILED at 853.
Hunk #7 FAILED at 1997.
Hunk #8 FAILED at 2013.
Hunk #9 FAILED at 2048.
Hunk #10 FAILED at 2195.
Hunk #11 FAILED at 2291.
Hunk #12 FAILED at 2307.
10 out of 12 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid-core.c.rej
patching file linux-2.6.17.7/drivers/usb/input/hid.h
Hunk #2 FAILED at 381.
Hunk #3 succeeded at 449 with fuzz 2.
1 out of 3 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid.h.rej
patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
Hunk #2 succeeded at 37 with fuzz 2.
Hunk #3 FAILED at 65.
Hunk #4 succeeded at 853 with fuzz 1.
1 out of 4 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid-input.c.rej
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h

root@chris-desktop:/usr/src# patch -p0 < /tmp/msnek4k.patch
patching file linux-2.6.17.7/drivers/usb/input/usbnek4k.c
patching file linux-2.6.17.7/drivers/usb/input/Kconfig
Hunk #1 FAILED at 326.
1 out of 1 hunk FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/Kconfig.rej
patching file linux-2.6.17.7/drivers/usb/input/Makefile
Hunk #1 FAILED at 44.
1 out of 1 hunk FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/Makefile.rej

Last edited by unixfudotnet; August 11th, 2006 at 10:56 AM..
unixfudotnet is offline   Reply With Quote
Old August 18th, 2006   #7
liyu
5 Cups of Ubuntu
 
Join Date: Aug 2006
Beans: 18
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

I am "liyou", but should be "liyu".
Regarding to 5 my favorites keys, I also found they can not work under default XKB configuration (XkbModel pc105 for
me at least), in other words, I think this is a problem of XKB configuration, if you insert evbug.ko into kernel, you can see
the keycode is yield in system log or dmesg when we press and release these five keys. I still am beginner of the XKB
configuration, I will reply here at once if I configure them successfully.

I can not sure what problem the friend unixfudotnet have , this patch both should be can apply on 2.6.17.7 and 2.6.17.8
kernel code tree. but not 2.6.18.x so far. Do you eager to try new 2.6.18 kernel? if so, I also will release them.
The latest patch can be downloaded from linux-usb-devel maillist. I use them as example. Follow is my
process of playing this patch.

I recommend you use 0.3.1, the reason is not only it add force-feedback support, but also include some bugfixes.

[root@liyu tmp]# ls -l linux-2.6.17.7.tar.bz2 linux-2.6.17.8.tar.bz2
-rw-rw-r-- 1 sailor sailor 41283287 8月 5 13:23 linux-2.6.17.7.tar.bz2
-rw-rw-r-- 1 sailor sailor 41276096 8月 7 17:34 linux-2.6.17.8.tar.bz2
[root@liyu tmp]# tar jxf linux-2.6.17.8.tar.bz2
[root@liyu tmp]# mv linux-2.6.17.8 linux-2.6.17.7
[root@liyu tmp]# patch -p0 < patches/hid-simple-0.3.1.patch
patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
patching file linux-2.6.17.7/drivers/usb/input/hid.h
patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
[root@liyu tmp]# patch -R -p0 < patches/hid-simple-0.3.1.patch
patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
patching file linux-2.6.17.7/drivers/usb/input/hid.h
patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
[root@liyu tmp]# mv linux-2.6.17.7 linux-2.6.17.8
[root@liyu tmp]# tar jxf linux-2.6.17.7.tar.bz2
[root@liyu tmp]# patch -p0 < patches/hid-simple-0.3.1.patch
patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
patching file linux-2.6.17.7/drivers/usb/input/hid.h
patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
[root@liyu tmp]# patch -p0 -R < patches/hid-simple-0.3.1.patch
patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
patching file linux-2.6.17.7/drivers/usb/input/hid.h
patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
[root@liyu tmp]# LANG=C rpm -qi patch
Name : patch Relocations: (not relocatable)
Version : 2.5.4 Vendor: Red Hat, Inc.
Release : 19 Build Date: Wed Feb 18 00:12:33 2004
Install Date: Mon Feb 13 15:06:14 2006 Build Host: tweety.devel.redhat.com
Group : Development/Tools Source RPM: patch-2.5.4-19.src.rpm
Size : 102492 License: GPL
Signature : DSA/SHA1, Fri May 7 05:33:41 2004, Key ID b44269d04f2a6fd2
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://www.gnu.org/software/patch/patch.html
Summary : The GNU patch command, for modifying/upgrading files.
Description :
The patch program applies diff files to originals. The diff command
is used to compare an original to a changed file. Diff lists the
changes made to the file. A person who has the original file can then
use the patch command with the diff file to add the changes to their
original file (patching the file).

Patch should be installed because it is a common way of upgrading
applications.


I hope this can help you a bit.

Last edited by liyu; August 18th, 2006 at 04:30 AM.. Reason: fix some typoes
liyu is offline   Reply With Quote
Old August 19th, 2006   #8
liyu
5 Cups of Ubuntu
 
Join Date: Aug 2006
Beans: 18
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

You can find this patch for 2.6.18-rc4 here:

http://marc.theaimsgroup.com/?l=linu...7610700839&w=2
liyu is offline   Reply With Quote
Old August 25th, 2006   #9
Lunar_Lamp
Quad Shot of Ubuntu
 
Lunar_Lamp's Avatar
 
Join Date: May 2006
Beans: 414
Ubuntu 6.10 Edgy
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

I had the same problem as previously when trying to get the patch to apply...
Lunar_Lamp is offline   Reply With Quote
Old September 3rd, 2006   #10
skaramanger
Just Give Me the Beans!
 
skaramanger's Avatar
 
Join Date: Jun 2006
Location: USA
Beans: 48
Ubuntu 9.10 Karmic Koala
Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

Quote:
Originally Posted by liyu View Post
You can find this patch for 2.6.18-rc4 here:

http://marc.theaimsgroup.com/?l=linu...7610700839&w=2
Greetings Liyu,


I too get patch errors. So, I cut and pasted the text from the above link. I am attempting to compile the 2.6.17.7 kernel. Do I need to modify the diff line before I proceed? The comments in the post state that file is also a patch for my kernel. I have come over from Mandriva earlier this year, I have compiled my own kernel before just not used/modified patch files. I just know enough to be dangerous :>.

Code:
diff -Naurp linux-2.6.18-rc4/drivers/usb/input.orig/hid-core.c linux-2.6.18-rc4/drivers/usb/input/hid-core.c
--- linux-2.6.18-rc4/drivers/usb/input.orig/hid-core.c	2006-08-19 15:53:28.000000000 +0800
+++ linux-2.6.18-rc4/drivers/usb/input/hid-core.c	2006-08-19 15:49:24.000000000 +0800
Thanx

Last edited by skaramanger; September 8th, 2006 at 04:23 PM.. Reason: sloppy code
skaramanger is offline   Reply With Quote

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:15 PM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. lingonberry