diff options
Diffstat (limited to 'net-wireless/irda-utils/files')
-rw-r--r-- | net-wireless/irda-utils/files/irda-setup.sh | 68 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-usb.sh | 62 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-asneeded.patch | 15 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-dofail.patch | 26 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-headers.patch | 11 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-io.h.diff | 48 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-ldflags.patch | 132 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-makefile.diff | 11 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-0.9.18-smcinit.diff | 14 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda-utils-rh1.patch | 11 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda.confd | 27 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda.initd | 85 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda.modsd | 48 | ||||
-rw-r--r-- | net-wireless/irda-utils/files/irda.rules | 18 |
14 files changed, 576 insertions, 0 deletions
diff --git a/net-wireless/irda-utils/files/irda-setup.sh b/net-wireless/irda-utils/files/irda-setup.sh new file mode 100644 index 000000000000..a7c781989c57 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-setup.sh @@ -0,0 +1,68 @@ +#!/bin/sh +# +# irda-setup +# +# Initialize IrDA devices. Based on a Ubuntu init-script, +# but adapted to be called directly from udev. +# +# params: sir/fir <module> <options> + +MODE="${1}" +shift + +SYSFS="/sys" +RESOURCES="${SYSFS}${DEVPATH}/resources" + +# Work out resource ranges, so we know which serial port to work with +PORTS=$(/bin/sed -n 's/io \(.*\)-.*/\1/p' "${RESOURCES}") +for PORT in ${PORTS}; do + case "${PORT}" in + 0x3f8) + PORT="/dev/ttyS0" + break;; + 0x2f8) + PORT="/dev/ttyS1" + break;; + 0x3e8) + PORT="/dev/ttyS2" + break;; + 0x2e8) + PORT="/dev/ttyS3" + break;; + default) + PORT="UNKNOWN";; + esac +done + +# Handle FIR dongles +if [ "${MODE}" = "fir" ]; then + # The BIOS doesn't always activate the device. Prod it + echo disable > "${RESOURCES}" + echo activate > "${RESOURCES}" + + UART="unknown"; + if [ "${PORT}" != "UNKNOWN" ]; then + # We should attempt to disable the UART. However, we need to store + # it - there's a chance that things could still go horribly wrong + UART=$(/bin/setserial ${PORT} | /bin/sed 's/.*UART: \(.*\), Port.*/\1/') + /bin/setserial ${PORT} uart none + fi + + # Load FIR module + /sbin/modprobe -sq "${@}" && exit 0 # OK + + # Try to recover + [ "${UART}" != "undefined" ] && /bin/setserial ${PORT} uart ${UART} +fi + +# We'll only have got here if we have SIR or the FIR module has failed +if [ "${PORT}" != "UNKNOWN" ]; then + # The BIOS doesn't always activate the device. Prod it + echo disable > "${RESOURCES}" + echo activate > "${RESOURCES}" + + # The IRQ is not always set correctly, so try to deal with that + /bin/setserial ${PORT} $(/bin/grep -h '^irq ' "${RESOURCES}") +fi + +exit 0 # never fail diff --git a/net-wireless/irda-utils/files/irda-usb.sh b/net-wireless/irda-utils/files/irda-usb.sh new file mode 100644 index 000000000000..d0250eab891f --- /dev/null +++ b/net-wireless/irda-utils/files/irda-usb.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# +# irda-usb +# +# Hotplug IrDA-USB devices. Only USB devices are handled! +# To initialize normal SIR/FIR dongles, please use /etc/init.d/irda + +SYSFS="/sys" + +checkusb() { + # quick check, but not always available + [ "${PHYSDEVBUS}" = "usb" ] && return 0 + + # alternative check via modalias + /bin/grep -q '^usb:' "${SYSFS}${DEVPATH}/device/modalias" 2>/dev/null +} + +checkconfig() { + . /etc/conf.d/irda + + if [ "${DISCOVERY}" = "yes" ]; then + DISCOVERY="-s" + else + DISCOVERY="" + fi + + NET_IRDA_OPTS="" + + # Set maximum baud rate for IrDA + if [ -n "${MAX_BAUD_RATE}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.max_baud_rate=${MAX_BAUD_RATE}" + fi + + # Disable discovery (enabling is done automatically by irattach) + if [ -z "${DISCOVERY}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.discovery=0" + fi +} + +case "${ACTION}" in + add) + # We handle USB only + checkusb || exit 0 + + # Load config + checkconfig + + # Load IrDA modules + /sbin/modprobe -sqa ircomm-tty ${LOAD_MODULES} + + # Set IrDA options + [ -n "${NET_IRDA_OPTS}" ] && /sbin/sysctl -e -q -w ${NET_IRDA_OPTS} + + # Finally, attach IrDA device + /usr/sbin/irattach ${INTERFACE} ${DISCOVERY} + ;; + + remove) + # Unconditionally kill irattach instance + /usr/bin/pkill -f "^/usr/sbin/irattach ${INTERFACE} ?" + ;; +esac diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-asneeded.patch b/net-wireless/irda-utils/files/irda-utils-0.9.18-asneeded.patch new file mode 100644 index 000000000000..b678e6d6be44 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-asneeded.patch @@ -0,0 +1,15 @@ +Fixing as-needed issues + +http://bugs.gentoo.org/show_bug.cgi?id=318135 + +--- irda-utils-0.9.18/irdadump/Makefile ++++ irda-utils-0.9.18/irdadump/Makefile +@@ -40,7 +40,7 @@ + + irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET) + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) ++ $(ECMD)$(CC) $(CFLAGS) -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) `pkg-config --libs glib-2.0` + + + .c.o: diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-dofail.patch b/net-wireless/irda-utils/files/irda-utils-0.9.18-dofail.patch new file mode 100644 index 000000000000..9c752407a362 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-dofail.patch @@ -0,0 +1,26 @@ +--- a/Makefile ++++ b/Makefile +@@ -31,19 +31,19 @@ + CFLAGS= -O2 -W -Wall + + all: +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + + + install: +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + + + clean: + $(prn_clean) +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + + + distclean: + $(prn_distclean) +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-headers.patch b/net-wireless/irda-utils/files/irda-utils-0.9.18-headers.patch new file mode 100644 index 000000000000..a9814b3167ad --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-headers.patch @@ -0,0 +1,11 @@ +--- irda-utils-0.9.18/tekram/Makefile.orig 2010-11-02 22:41:43.000000000 +0100 ++++ irda-utils-0.9.18/tekram/Makefile 2010-11-02 22:41:53.000000000 +0100 +@@ -38,7 +38,7 @@ + # + # System stuff + # +-SYS_INCLUDES = -I/usr/src/linux/include -I/usr/include -I../include ++SYS_INCLUDES = -I/usr/include -I../include + SYS_LIBRARIES = + SYS_LIBPATH = -L/usr/lib -L/usr/local/lib + diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-io.h.diff b/net-wireless/irda-utils/files/irda-utils-0.9.18-io.h.diff new file mode 100644 index 000000000000..13de1f944007 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-io.h.diff @@ -0,0 +1,48 @@ +diff -Naur irda-utils-0.9.18-orig/findchip/nsc.c irda-utils-0.9.18/findchip/nsc.c +--- irda-utils-0.9.18-orig/findchip/nsc.c 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/findchip/nsc.c 2007-09-25 01:34:32.000000000 +0200 +@@ -33,7 +33,7 @@ + #include <string.h> + #include <unistd.h> + #include <fcntl.h> +-#include <asm/io.h> ++#include <sys/io.h> + + #include "findchip.h" + +diff -Naur irda-utils-0.9.18-orig/findchip/smc.c irda-utils-0.9.18/findchip/smc.c +--- irda-utils-0.9.18-orig/findchip/smc.c 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/findchip/smc.c 2007-09-25 01:34:32.000000000 +0200 +@@ -32,7 +32,7 @@ + #include <string.h> + #include <unistd.h> + #include <fcntl.h> +-#include <asm/io.h> ++#include <sys/io.h> + + #include "findchip.h" + +diff -Naur irda-utils-0.9.18-orig/findchip/winbond.c irda-utils-0.9.18/findchip/winbond.c +--- irda-utils-0.9.18-orig/findchip/winbond.c 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/findchip/winbond.c 2007-09-25 01:34:32.000000000 +0200 +@@ -32,7 +32,7 @@ + #include <stdio.h> + #include <unistd.h> + #include <fcntl.h> +-#include <asm/io.h> ++#include <sys/io.h> + + #include "findchip.h" + +diff -Naur irda-utils-0.9.18-orig/pcmcia/ircard_cs.c irda-utils-0.9.18/pcmcia/ircard_cs.c +--- irda-utils-0.9.18-orig/pcmcia/ircard_cs.c 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/pcmcia/ircard_cs.c 2007-09-25 01:34:32.000000000 +0200 +@@ -41,7 +41,7 @@ + #include <linux/timer.h> + #include <linux/delay.h> + #include <linux/ioport.h> +-#include <asm/io.h> ++#include <sys/io.h> + #include <asm/system.h> + + #include <net/irda/irda.h> diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-ldflags.patch b/net-wireless/irda-utils/files/irda-utils-0.9.18-ldflags.patch new file mode 100644 index 000000000000..d8548ed79ff0 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-ldflags.patch @@ -0,0 +1,132 @@ +diff -uNr irda-utils-0.9.18.ORIG/findchip/Makefile irda-utils-0.9.18/findchip/Makefile +--- irda-utils-0.9.18.ORIG/findchip/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/findchip/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -47,7 +47,7 @@ + + findchip: $(OBJS) + $(prn_cc_o) +- $(ECMD)$(CC) $(OBJS) $(CFLAGS) -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(OBJS) $(CFLAGS) -o $@ + + + clean: +@@ -65,5 +65,5 @@ + + gfindchip: gfindchip.c + $(prn_cc) +- $(ECMD))$(CC) $(CFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs` ++ $(ECMD))$(CC) $(LDFLAGS) $(CFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs` + +diff -uNr irda-utils-0.9.18.ORIG/irattach/Makefile irda-utils-0.9.18/irattach/Makefile +--- irda-utils-0.9.18.ORIG/irattach/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/irattach/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -49,13 +49,13 @@ + + irattach: irattach.o util.o + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) irattach.o util.o -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) irattach.o util.o -o $@ + + + + dongle_attach: dongle_attach.o + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) dongle_attach.o -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) dongle_attach.o -o $@ + + + install: $(TARGETS) +diff -uNr irda-utils-0.9.18.ORIG/irdadump/Makefile irda-utils-0.9.18/irdadump/Makefile +--- irda-utils-0.9.18.ORIG/irdadump/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/irdadump/Makefile 2010-10-17 14:31:31.000000000 +0100 +@@ -40,7 +40,7 @@ + + irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET) + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) `pkg-config --libs glib-2.0` ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) `pkg-config --libs glib-2.0` + + + .c.o: +diff -uNr irda-utils-0.9.18.ORIG/irdaping/Makefile irda-utils-0.9.18/irdaping/Makefile +--- irda-utils-0.9.18.ORIG/irdaping/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/irdaping/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -56,7 +56,7 @@ + + irdaping: $(OBJS) + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) -o $@ + + + .c.o: +diff -uNr irda-utils-0.9.18.ORIG/irnetd/Makefile irda-utils-0.9.18/irnetd/Makefile +--- irda-utils-0.9.18.ORIG/irnetd/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/irnetd/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -50,7 +50,7 @@ + + irnetd: $(OBJS) + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) -o $@ + + + install: irnetd +diff -uNr irda-utils-0.9.18.ORIG/irsockets/Makefile irda-utils-0.9.18/irsockets/Makefile +--- irda-utils-0.9.18.ORIG/irsockets/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/irsockets/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -54,7 +54,7 @@ + + %: %.o + $(prn_cc_o) +- $(ECMD)$(CC) $(XCFLAGS) -o $@ $^ $(LIBS) ++ $(ECMD)$(CC) $(LDFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS) + + + %.o: %.c +diff -uNr irda-utils-0.9.18.ORIG/psion/Makefile irda-utils-0.9.18/psion/Makefile +--- irda-utils-0.9.18.ORIG/psion/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/psion/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -25,4 +25,4 @@ + CFLAGS += -g -I../include -Wall -Wstrict-prototypes $(RPM_OPT_FLAGS) + irpsion5: + $(prn_cc_o) +- $(ECMD)$(CC) $(CFLAGS) $(PSION_SRC) -o $@ +\ No newline at end of file ++ $(ECMD)$(CC) $(LDFLAGS) $(CFLAGS) $(PSION_SRC) -o $@ +diff -uNr irda-utils-0.9.18.ORIG/smcinit/Makefile irda-utils-0.9.18/smcinit/Makefile +--- irda-utils-0.9.18.ORIG/smcinit/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/smcinit/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -26,17 +26,17 @@ + + smcinit: smcinit.o + $(prn_cc_o) +- $(ECMD)$(CC) -o $@ $^ $(LIBS) -lpci ++ $(ECMD)$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) -lpci + + + tosh1800-smcinit: tosh1800-smcinit.o + $(prn_cc_o) +- $(ECMD)$(CC) $(XCFLAGS) -o $@ $^ $(LIBS) -lpci ++ $(ECMD)$(CC) $(LDFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS) -lpci + + + tosh2450-smcinit: tosh2450-smcinit.o + $(prn_cc_o) +- $(ECMD)$(CC) $(XCFLAGS) -o $@ $^ $(LIBS) -lpci ++ $(ECMD)$(CC) $(LDFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS) -lpci + + + %o: %c +diff -uNr irda-utils-0.9.18.ORIG/tekram/Makefile irda-utils-0.9.18/tekram/Makefile +--- irda-utils-0.9.18.ORIG/tekram/Makefile 2010-10-17 14:30:57.000000000 +0100 ++++ irda-utils-0.9.18/tekram/Makefile 2010-10-17 14:31:21.000000000 +0100 +@@ -55,7 +55,7 @@ + + irkbd: $(OBJS) + $(prn_cc_o) +- $(ECMD)$(CC) $(OBJS) -o $@ ++ $(ECMD)$(CC) $(LDFLAGS) $(OBJS) -o $@ + + + .c.o: diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-makefile.diff b/net-wireless/irda-utils/files/irda-utils-0.9.18-makefile.diff new file mode 100644 index 000000000000..02e3b8909db5 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-makefile.diff @@ -0,0 +1,11 @@ +--- irda-utils-0.9.18-orig/irnetd/Makefile 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/irnetd/Makefile 2007-09-25 01:38:13.000000000 +0200 +@@ -55,7 +55,7 @@ + + install: irnetd + $(prn_install) +- $(ECMD) install irnetd /usr/sbin/ ++ $(ECMD) install irnetd $(ROOT)/usr/sbin/ + + + clean: diff --git a/net-wireless/irda-utils/files/irda-utils-0.9.18-smcinit.diff b/net-wireless/irda-utils/files/irda-utils-0.9.18-smcinit.diff new file mode 100644 index 000000000000..bd4936259dc7 --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-0.9.18-smcinit.diff @@ -0,0 +1,14 @@ +--- irda-utils-0.9.18/smcinit/smcinit.c.orig 2006-07-11 08:16:06.000000000 +0200 ++++ irda-utils-0.9.18/smcinit/smcinit.c 2008-03-22 05:49:38.000000000 +0100 +@@ -292,9 +292,9 @@ + } + + twobyte = pci_read_word(dev, DID); +- if ((twobyte != 0x24cc) & (twobyte != 0x248c)) { ++ if ((twobyte != 0x244c) & (twobyte != 0x24cc) & (twobyte != 0x248c)) { + fprintf(stderr, +- "%s IO hub device %x not 82801CAM (0x248c or 0x24cc)\n", ++ "%s IO hub device %x not 82801BAM/82801CAM (0x24cc or 0x244c or 0x248c)\n", + PROGNAME, twobyte); + return 1; + } diff --git a/net-wireless/irda-utils/files/irda-utils-rh1.patch b/net-wireless/irda-utils/files/irda-utils-rh1.patch new file mode 100644 index 000000000000..6e4bfca618ae --- /dev/null +++ b/net-wireless/irda-utils/files/irda-utils-rh1.patch @@ -0,0 +1,11 @@ +--- irda-utils-0.9.15/irattach/irattach.c.rh1 2003-11-24 17:30:21.000000000 +0100 ++++ irda-utils-0.9.15/irattach/irattach.c 2003-11-24 17:34:51.000000000 +0100 +@@ -614,7 +614,7 @@ + /* First arg is device name. Save it now, because in some cases + * getopt() will remove it... */ + strncpy(device, argv[1], 20); +- device[20] = '\0'; ++ device[19] = '\0'; + + /* Look for options */ + /* Do this before processing device, to handle "-h" and -v" diff --git a/net-wireless/irda-utils/files/irda.confd b/net-wireless/irda-utils/files/irda.confd new file mode 100644 index 000000000000..6b6ac85413a6 --- /dev/null +++ b/net-wireless/irda-utils/files/irda.confd @@ -0,0 +1,27 @@ +# Set your startup settings for irattach, the IrDA-daemon, here. +# please also look at /etc/modprobe.d/irda.conf + +# Set discovery mode which usually is a good idea for finding other devices. +# If set 'yes' or 'no' irattach and sysctl are used to enable and disable +# discovery mode. By default discover mode is disabled. +DISCOVERY="yes" + +# Set IRDA device to access (e.g. /dev/ttyS1 or irda0). In case of irda0, +# the proper module for FIR-mode has to be set in /etc/modprobe.d/irda. +DEVICE="/dev/ttyS1" + +# Set dongle type, e.g. none, tekram, esi, actisys, actisys+, ep7211, girbil, +# litelink, airport, old_belkin, mcp2120, act200l, ma600). You do not need +# a dongle for FIR mode. See "man 8 irattach" for more information. +DONGLE="none" + +# Set the serial device to quiet with setserial. This is only useful on some +# machines in FIR-mode, so most people should leave it blank. +#SETSERIAL="/dev/ttyS1" + +# Sets the maximum baud rate for the IrDA serial port. +# Some devices (e.g. Nokia mobile phones) need this. +#MAX_BAUD_RATE="115200" + +# Load extra modules +#LOAD_MODULES="irlan irnet" diff --git a/net-wireless/irda-utils/files/irda.initd b/net-wireless/irda-utils/files/irda.initd new file mode 100644 index 000000000000..a66ac39ae276 --- /dev/null +++ b/net-wireless/irda-utils/files/irda.initd @@ -0,0 +1,85 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 + +# Hint: We don't use start-stop-daemon, because pidfile is the same +# for every irattach instance. So it isn't reliable if we have more +# than one IrDA device (i.e. with IrDA-USB). + +depend() { + use serial +} + +checkconfig() { + if [ -z "${DEVICE}" ]; then + DEVICE="/dev/ttyS1" + fi + + if [ -z "${DONGLE}" -o "${DONGLE}" = "none" ]; then + DONGLE="" + else + DONGLE="-d ${DONGLE}" + fi + + if [ "${DISCOVERY}" = "yes" ]; then + DISCOVERY="-s" + else + DISCOVERY="" + fi + + NET_IRDA_OPTS="" + + # Set maximum baud rate for IrDA + if [ -n "${MAX_BAUD_RATE}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.max_baud_rate=${MAX_BAUD_RATE}" + fi + + # Disable discovery (enabling is done automatically by irattach) + if [ -z "${DISCOVERY}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.discovery=0" + fi + + # Ensure that SIR driver is loaded (needed for pmac_zilog) + case "${DEVICE}" in + /dev/ttyS*) LOAD_MODULES="${LOAD_MODULES} irtty-sir";; + esac +} + +remove_module() { + local CNT=0 + while ! /sbin/modprobe -sqr ${1}; do + [ $((CNT++)) -eq 10 ] && break + sleep 0.25 + done +} + +start() { + checkconfig + ebegin "Starting IrDA" + + # Needed for some machines in FIR-mode + [ -n "${SETSERIAL}" ] && /bin/setserial ${SETSERIAL} uart none port 0x0 irq 0 + + # Load IrDA modules + /sbin/modprobe -sqa ircomm-tty ${LOAD_MODULES} + + # Set IrDA options + [ -n "${NET_IRDA_OPTS}" ] && /sbin/sysctl -e -q -w ${NET_IRDA_OPTS} + + # Finally, attach IrDA device + /usr/sbin/irattach ${DEVICE} ${DONGLE} ${DISCOVERY} + eend ${?} +} + +stop() { + ebegin "Shutting down IrDA" + /usr/bin/pkill -f "^/usr/sbin/irattach ${DEVICE} ?" + eend ${?} + + # Try to remove IrDA driver + case "${DEVICE}" in + /dev/ttyS*) remove_module irtty-sir;; + irda[0-9]*) remove_module ${DEVICE};; + esac + return 0 # never fail +} diff --git a/net-wireless/irda-utils/files/irda.modsd b/net-wireless/irda-utils/files/irda.modsd new file mode 100644 index 000000000000..a32c9a6829f8 --- /dev/null +++ b/net-wireless/irda-utils/files/irda.modsd @@ -0,0 +1,48 @@ +# IrDA module configuration +# please also look at /etc/conf.d/irda + +# IrDA over a normal serial port, or a serial port compatible IrDA port +alias tty-ldisc-11 irtty + +# IrCOMM/IrLPT support (virtual serial/parallel over IrDA) +alias char-major-161 ircomm-tty # Official allocation of IrCOMM + +# IrLAN support (Ethernet over IrDA) +alias irlan0 irlan +# Access type DIRECT=1, PEER=2, HOSTED=3 (int) +#options irlan access=2 + +# IrNET support (Synchronous PPP over IrDA) +alias char-major-10-187 irnet # Official allocation of IrNET + +# Serial Dongles +# These values are hard-coded in irattach (not instance order) +alias irda-dongle-0 tekram # Tekram IrMate IR-210B +alias irda-dongle-1 esi # ESI JetEye +alias irda-dongle-2 actisys # Actisys IR-220L +alias irda-dongle-3 actisys # Actisys IR-220L+ +alias irda-dongle-4 girbil # Greenwich GIrBIL +alias irda-dongle-5 litelink # Parallax LiteLink (+ modern ESI) +alias irda-dongle-6 airport # Adaptec Airport 1000 and 2000 +alias irda-dongle-7 old_belkin # Old Belkin (9600 baud only) +alias irda-dongle-8 ep7211 # ??? +alias irda-dongle-9 mcp2120 # Crystal compatible chipset + +# To use the NSC driver on a Thinkpad laptop +#alias irda0 nsc-ircc +#options nsc-ircc dongle_id=0x09 + +# To use the NSC driver on a HP OB6000 laptop +#alias irda0 nsc-ircc +#options nsc-ircc dongle_id=0x08 + +# SMC driver +#alias irda0 smsc-ircc2 +#options smsc-ircc2 ircc_dma=1 ircc_irq=10 ircc_fir=0x0130 ircc_sir=0x02f8 + +# Some laptops (Toshiba Satellites and others with SMCS LPC47N227) require +# running smcinit to initialize the irda device prior to use. If your device +# is one of them, uncomment the required SMC-IRCC initializer. +#install smsc-ircc2 /usr/sbin/smcinit && /sbin/modprobe -i smsc-ircc2 +#install smsc-ircc2 /usr/sbin/tosh1800-smcinit && /sbin/modprobe -i smsc-ircc2 +#install smsc-ircc2 /usr/sbin/tosh2450-smcinit && /sbin/modprobe -i smsc-ircc2 diff --git a/net-wireless/irda-utils/files/irda.rules b/net-wireless/irda-utils/files/irda.rules new file mode 100644 index 000000000000..54dd3c2a4cfe --- /dev/null +++ b/net-wireless/irda-utils/files/irda.rules @@ -0,0 +1,18 @@ +# IrDA-PNP (autodetect and setup some known SIR/FIR devices) +# you need to run /etc/init./irda to activate your device + +ACTION!="add", GOTO="irda_pnp_end" +SUBSYSTEM!="pnp", GOTO="irda_pnp_end" + +ATTR{id}=="PNP0510", RUN+="irda-setup sir" +ATTR{id}=="PNP0511", RUN+="irda-setup sir" +ATTR{id}=="NSC*", RUN+="irda-setup fir nsc-ircc" +ATTR{id}=="IBM0071", RUN+="irda-setup fir nsc-ircc dongle_id=0x09" +ATTR{id}=="SMC*", RUN+="irda-setup fir smsc-ircc2" +ATTR{id}=="ALI5123", RUN+="irda-setup fir ali-ircc" +ATTR{id}=="VIA3076", RUN+="irda-setup fir via-ircc" + +LABEL="irda_pnp_end" + +# IrDA-USB (start/stop irattach automatically) +KERNEL=="irda[0-9]*", SUBSYSTEM=="net", RUN+="irda-usb" |