FS#7660 - lirc_gpio fails to load with missing symbols

Attached to Project: Arch Linux
Opened by Wiktor Grebla. (greblus) - Tuesday, 24 July 2007, 17:14 GMT
Last edited by Paul Mattal (paul) - Tuesday, 27 November 2007, 14:46 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Paul Mattal (paul)
Architecture i686
Severity Low
Priority Normal
Reported Version 2007.05 Duke
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

After last kernel upgrade (2.6.22.1) lirc was updated as well. Unfortunately lirc_gpio fails to load with the following error:

FATAL: Error inserting lirc_gpio (/lib/modules/2.6.22-ARCH/kernel/drivers/misc/lirc_gpio.ko): Unknown symbol in module, or unknown parameter (see dmesg)

and dmesg shows which symbols:
lirc_gpio: Unknown symbol bttv_get_cardinfo
lirc_gpio: Unknown symbol bttv_get_gpio_queue

Additional info:
* package version(s)

lirc 0.8.2-4

Steps to reproduce:

modprobe lirc_gpio
This task depends upon

Closed by  Paul Mattal (paul)
Tuesday, 27 November 2007, 14:46 GMT
Reason for closing:  Deferred
Additional comments about closing:  The lirc_gpio module has been removed from recent kernels. Not only hasn't it worked for years, it won't even compile against recent 2.6.23 kernels.
Comment by Wiktor Grebla. (greblus) - Tuesday, 24 July 2007, 18:45 GMT
Well, it looks quite bad.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bfb7398e2554fb54acb2900b81de144eb41c3ac

V4L/DVB (5278): Bt8xx/: possible cleanups

This patch contains the following possible cleanups:
- remove the following unused global functions:
- bttv-if.c: bttv_get_cardinfo()
- bttv-if.c: bttv_get_id()
- bttv-if.c: bttv_get_gpio_queue()
- bttv-if.c: bttv_i2c_call()
- remove the following unused EXPORT_SYMBOL's:
- bttv-gpio.c: bttv_sub_bus_type
- bttv-gpio.c: bttv_gpio_inout
- bttv-gpio.c: bttv_gpio_read
- bttv-gpio.c: bttv_gpio_write
- bttv-gpio.c: bttv_gpio_bits

And I see no comments from lirc devs on lirc mailing list, so
it looks that I'll have to say goodbye to my remote.
Comment by Dmitry (Marmirus) - Wednesday, 25 July 2007, 11:25 GMT
Today after pacman -Suy i had same problem.
How it was solved:
check /proc/bus/input/devices to figure out which device is IR (i have /dev/input/event3)
launch irrecord -H dev/input -d /dev/input/event3 irrecord, follow instructions.
you will get lircd config file, place it to /etc/lircd.conf
then edit /etc/conf.d/lircd to use correct device and driver.
i have
LIRC_DEVICE="/dev/input/event3"
LIRC_DRIVER="dev/input"

My remote is working again, and lirc_gpio is not needed!
Comment by Wiktor Grebla. (greblus) - Wednesday, 25 July 2007, 17:09 GMT
Dmitry thanks for your suggestion. What IR hardware you have?
Unfortunately I don't have any IR device in the
/proc/bus/input/devices.

I've Lifeview FlyVideo 98FM LR50 card. The only module I've loaded now are
lirc_dev and bttv.

Comment by Dmitry (Marmirus) - Wednesday, 25 July 2007, 19:01 GMT
I have Prolink Pixelview PV-BT878P+ (Rev.4C,8E) [card=70,insmod option]
in /proc/bus/input/devices:
I: Bus=0001 Vendor=109e Product=036e Version=0001
N: Name="bttv IR (card=70)"
.......
Comment by Wiktor Grebla. (greblus) - Wednesday, 25 July 2007, 19:56 GMT
I'll have to ask lirc guys for help. When I insmod bttv with
card=50 or 70 like yours I'm getting

input: bttv IR (card=50) as /class/input/input15

and there is:

I: Bus=0001 Vendor=ffff Product=a1ff Version=0001
N: Name="bttv IR (card=50)"
P: Phys=pci-0000:01:0a.0/ir0
S: Sysfs=/class/input/input15
U: Uniq=
H: Handlers=kbd event6
[...]

in the /proc/bus/input/devices

but there is no sound, even if i use the same tuner=5 option and
irrecord -H dev/input -d /dev/input/event6 somefile
doesn't record proper button codes (0x0 only).

Another issue is that the card is not properly identified by bttv:

bttv0: subsystem: ffff:a1ff (UNKNOWN)
Comment by Dmitry (Marmirus) - Wednesday, 25 July 2007, 20:17 GMT
according to CARDLIST.bttv, which can be found in "Documentation" directory of kernel sources, you should use card=36 or 56
and have you loaded module ir_common?

Good luck!
Comment by Dmitry (Marmirus) - Wednesday, 25 July 2007, 20:26 GMT
also, i've noticed, that number of /dev/input/event can be changed, so i created file
/etc/udev/rules.d/10-lirc.rules:
SUBSYSTEM=="input", ATTR{dev}=="13:72", NAME="input/irdev"

where ATTR{dev} value is from udevinfo -a -p `udevinfo -q path -n /dev/input/event8` | grep dev
now i have /dev/input/irdev, as IR device file.
Comment by Wiktor Grebla. (greblus) - Wednesday, 25 July 2007, 20:40 GMT
Thanks again Dmitry.

When I insmod bttv with card=36 or 56 it doesn't display this is dmesg:

input: bttv IR (card=50) as /class/input/input19

and /proc/bus/input/devices doesn't contain the IR input device.

I'll take a look at the bttv.c and if it's too magical I'll report it
to the lirc people.

Last, but also the easiest option is to build IR receiver ;)

Loading...