Jump to content

mdk10.1 and LIRC modules


Recommended Posts

See title.

The lirc modules (for infra red remote control) are not included, so I figured I'd try to compile them myself.

 

I checked the source and the lirc module sources are there, in 3rdparty/lirc

 

I tried just compiling as is, like this:

cd /usr/src/linux

(which is dir link to kernel version dir, I use the stock 2.6.8.1 mdk kernel of 10.1CE)

then I did

make xconfig

(later also tried make menuconfig)

made sure lirc modules were selected to be compiled as modules.

make modules

(also tried make)

but they just don't get compiled (other stuff gets compiled fine).

 

So I tried:

make 3rdparty

which compiled all stuff in 3rdparty except lirc modules...

Then I tried:

make 3rdparty/lirc

 

[root@zurich linux]# make 3rdparty/lirc
make: Nothing to be done for `3rdparty/lirc'.

 

So why don't they compile? I checked and double checked that they are selected for module compilation...?

 

I'd like to have the lirc modules compiled for those who use lirc, so that no-one has to do any compiling.

Me, I'd need lirc_i2c lirc_dev and lirc_serial..

 

Any hints/tips?

Link to comment
Share on other sites

Never tried to compile a kernel module this way but shouldn't you install it (make install) and than load it (moprobe lirc_i2c etc etc)?

 

Personally I use http://www.lirc.org/ (still mandrake 10). The latest cvs snapshot works without problems

 

Be sure to remove all Mandrake lirc thingies (for instance if wou have mplayer installed you'll have a liblirc package too) and the /dev/lirc*.

 

Good luck.

Edited by devries
Link to comment
Share on other sites

It doesn't build the modules, I did a make clean (forgot to mention), then built 3rdparty stuff, and in the terminal output I could see all got compiled except lirc stuff.

 

edit:

question: what exactly do you mean I have to remove if I want to make lirc from cvs?

/dev/lirc?

I'm trying that right now...

Edited by aRTee
Link to comment
Share on other sites

Thanks for those links, but no thanks...

 

I want to get it to work with less fuzz, since I want everyone including newbies to be able to use their remote with a minimum of effort.

Yesterday I compiled the modules from lirc0.7 and I couldn't get them to load without a problem.

Ah well.

 

My point is: if I can just manage to compile the standard lirc modules the way they should have been included, people can copy those, stick them in the right place and get on with things.

 

I want to avoid that people have to compile, and especially that they have to compile all programs that are compiled for LIRC, i.e. mplayer, xine, xmms, etcetc.

 

Above all, I want a solution where you can say: look, put these modules here or there, and then just run depmod -a, and change this or that config file. That is hard and frightening enough for most.

Link to comment
Share on other sites

There is not much that you as a user can do in this respect. Usually Linux is pretty adaptive from a users point of view but Mandrake (and other distros) have chosen to go with pretty ancient versions of LIRC. Many remotes work only with the newer versions and if LIRC goes death in the Mandrake kernel, for whatever reason, and you have to build it yourself, that means that you'll have to check what programs are affected.

 

So you could donwload LIRC 0.66 and build and install it and than with --nodeps install mplayer (but if you want to use a remote that works only with newer versions of LIRC you'll have to build some applications yourself.) and see what it gives.

Link to comment
Share on other sites

Ok, I see your point. My point is that the hassle involved is acceptable if your remote was previously not supported, but on both of my systems with LIRC they were, and there I feel it is just too much for most users..

 

Meaning: if one didn't have to compile before, why should it be necessary now?

I just don't have enough time (or other priorities you might say) but I could follow your guide and get things working. I don't think that counts for all others, especially newbies.

 

So if they find it too problematic, they will either go to another distro (which is understandable) or move back to Win, which would be a shame or loss...

 

I have btw found a much simpler solution, which will work for all remotes that have been functional up to now: use the tmb or multimedia kernel. They are 2.6.7-1 or -2 and do have the lirc modules in them.

So I'll likely put that on my site as a recommendation, unless I get the compiled modules for the standard 10.1ce kernel.

 

At least on the bugzilla I got some response from mdk developers; I just hope they will fix this before 10.1oe..

Link to comment
Share on other sites

I'm not sure, it seems in the new lirc quite a few things are broken too..?

 

From the bugreport: http://qa.mandrakesoft.com/show_bug.cgi?id=10826

 

- lirc_mceusb

(Microsoft USB remote IIRC, and IIRC never worked under a 2.6 kernel)

- lirc_i2c

(broken in the updated source,

that's the reason for older version in -tmb and -multimedia)

- lirc_parallel

(broken in main kernel, fix in -tmb and -multimedia

which i'll attach)

 

 

I need lirc_i2c,... !

 

I don't know why they don't go for 0.7 either, but likely because it is still a pre, not final..?

Link to comment
Share on other sites

Ah good. Actually, I was just commenting on the remark from the buglist that i2c is b0rked...

 

BTW I just managed, after some failure and misunderstanding.

I compiled the modules (all -- too lazy to waste time on make xconfig and weed out what I didn't need/want -- on a side note, I took the 3rdparty/lirc dir from multimedia kernel source) and after putting them in the correct place (afaik, no real clue on my side) and running depmod -a, then trying to modprobe them, I had the message:

FATAL: Error inserting lirc_dev (/lib/modules/2.6.8.1-10mdk/kernel/3rdparty/lirc/lirc_dev.ko): Invalid module format)

 

So I got kernel multimedia, and lo and behold it works.

 

Then I figured, I didn't edit the Makefile, so the modules I compiled for 2.6.8.1 probably don't have the correct reference/kernel name.

So I used:

modprobe -f lirc_dev

modprobe -f lirc_i2c

 

did

mkdir /dev/lirc

/bin/mknod /dev/lirc/0 c 61 0

service lircd start

 

and I was good to go.

 

I'm now compiling the modules with inside the makefile the same name as the normal kernel (they add 'custom' which I stripped), that should hopefully get rid of the necessary '-f' in the modprobe.

Link to comment
Share on other sites

I recompiled with in the makefile the same name as the normal kernel, and now the modules load without having to use -f in the modprobe command.

 

Happy me!

 

I will upload the modules to my website, I have only tested/used lirc_i2c and lirc_dev for now.

 

I put the modules here:

http://www.mandrake.tips.4.free.fr/lib/mod.../3rdparty/lirc/

Edited by aRTee
Link to comment
Share on other sites

Guest macrosoma

I've desperately tried to get lirc working on mandrake 10.1 CE but have not succeded so far, and reading your discussion I starting to understad why... I came across your website and followed your instructions. Having a home built ir serial reciever I copied the lirc_serial_home.ko as instructed , adn this was the result when starting lirc:

 

service lircd start

FATAL: Error inserting lirc_serial_home (/lib/modules/2.6.8.1-10mdk/kernel/3rdparty/lirc/lirc_serial_home.ko): Unknown symbol in module, or unknown parameter (see dmesg)

 

Here are the info from dmesg:

...

lirc_serial_home: Unknown symbol lirc_unregister_plugin

lirc_serial_home: Unknown symbol lirc_register_plugin

lirc_serial_home: Unknown symbol lirc_unregister_plugin

lirc_serial_home: Unknown symbol lirc_register_plugin

 

Here i s /etc/sysconfig/lircd:

# Customized setings for lirc daemon

 

# The hardware driver to use, run lircd --driver=? for a list

 

DRIVER=default

 

# Hardware driver module to load

HWMOD=lirc_serial_home

 

# The device node that communicates with the IR device.

# if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9]

# where 0-9 is the serial port your IR receiver is plugged

 

# with devfs enabled

DEVICE=/dev/lirc/0

#DEVICE=/dev/lirc/serial

 

# without devfs

#DEVICE=/dev/lirc

 

# Serial port for the receiver (for serial driver)

# COM1 (/dev/ttyS0)

COM_PORT=/dev/ttyS0

DRIVER_OPTS="irq=4 io=0x3f8"

 

Any help would be greately appreciated!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...