comment "Utilities ---"
source "package/madwifi-tools/Config.in"
source "package/usbutils/Config.in" # lsusb
+source "package/pcmcia-cs/Config.in" # pcmcia-utils
source "package/strace/Config.in"
# what are we going to do with both of you
package-$(BR2_PACKAGE_OPENSWAN) += openswan
package-$(BR2_PACKAGE_OPENVPN) += openvpn
package-$(BR2_PACKAGE_OSIRIS) += osiris
+package-$(BR2_COMPILE_PCMCIA_CS) += pcmcia-cs
package-$(BR2_PACKAGE_PCRE) += pcre
package-$(BR2_PACKAGE_PICOCOM) += picocom
package-$(BR2_PACKAGE_PMACCT) += pmacct
--- /dev/null
+config BR2_COMPILE_PCMCIA_CS
+ tristate
+ default n
+ depends BR2_PACKAGE_PCMCIA_UTILS
+
+config BR2_PACKAGE_PCMCIA_UTILS
+ tristate "pcmcia-utils - PCMCIA/Cardbus management utilities"
+ select BR2_COMPILE_PCMCIA_CS
+ select BR2_PACKAGE_KMOD_PCMCIA
+ default m
+ help
+ PCMCIA/Cardbus management utilities
+
+ http://pcmcia-cs.sourceforge.net/
+
--- /dev/null
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pcmcia-cs
+PKG_VERSION:=3.2.8
+PKG_RELEASE:=1
+PKG_MD5SUM:=0d6d65be8896eff081aee996049afaa5
+
+PKG_SOURCE_URL:=@SF/$(PKG_NAME)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,PCMCIA_UTILS,pcmcia-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+ ( cd $(PKG_BUILD_DIR); \
+ ./Configure \
+ --noprompt \
+ --kernel="$(LINUX_DIR)" \
+ --target="$(PKG_INSTALL_DIR)" \
+ --arch="$(ARCH)" \
+ --ucc="$(TARGET_CC)" \
+ --uflags="$(TARGET_CFLAGS)" \
+ --srctree \
+ --cardbus \
+ --noapm \
+ --nopnp \
+ --notrust \
+ --nox11 \
+ --sysv --rcdir="/etc" \
+ )
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ all install
+ touch $@
+
+$(IPKG_PCMCIA_UTILS):
+ install -m0755 -d $(IDIR_PCMCIA_UTILS)/etc
+ $(CP) $(PKG_INSTALL_DIR)/etc/pcmcia $(IDIR_PCMCIA_UTILS)/etc/
+ install -m0755 -d $(IDIR_PCMCIA_UTILS)/usr/sbin
+ $(CP) $(PKG_INSTALL_DIR)/sbin/cardctl $(IDIR_PCMCIA_UTILS)/usr/sbin/
+ $(CP) $(PKG_INSTALL_DIR)/sbin/cardmgr $(IDIR_PCMCIA_UTILS)/usr/sbin/
+ install -d -m0755 $(IDIR_PCMCIA_UTILS)/etc/init.d/
+ install -m0755 ./files/pcmcia.init $(IDIR_PCMCIA_UTILS)/etc/init.d/S20pcmcia
+ $(RSTRIP) $(IDIR_PCMCIA_UTILS)
+ $(IPKG_BUILD) $(IDIR_PCMCIA_UTILS) $(PACKAGE_DIR)
+
--- /dev/null
+#!/bin/sh
+case "$1" in
+ start|restart)
+ cardmgr
+ ;;
+esac
--- /dev/null
+Package: pcmcia-utils
+Priority: optional
+Section: sys
+Depends: kmod-pcmcia
+Description: PCMCIA/Cardbus management utilities
--- /dev/null
+diff -ruN pcmcia-cs-3.2.8-old/etc/config pcmcia-cs-3.2.8-new/etc/config
+--- pcmcia-cs-3.2.8-old/etc/config 2004-07-16 18:38:25.000000000 +0200
++++ pcmcia-cs-3.2.8-new/etc/config 2005-11-21 08:52:54.000000000 +0100
+@@ -2413,6 +2413,10 @@
+ pci 0x115d, 0x0101
+ bind "serial_cb"
+
++card "Novatel Wireless - Merlin U630 UMTS Modem"
++ manfid 0x00a4, 0x0276
++ bind "serial_cs" to 0, "serial_cs" to 1
++
+ # Include configuration files for add-on drivers
+
+ source ./*.conf
--- /dev/null
+diff -urN pcmcia-cs-3.2.8-old/etc/shared pcmcia-cs-3.2.8-new/etc/shared
+--- pcmcia-cs-3.2.8-old/etc/shared 2004-02-28 17:49:45.000000000 +0100
++++ pcmcia-cs-3.2.8-new/etc/shared 2006-03-29 18:49:07.000000000 +0200
+@@ -167,7 +167,7 @@
+ STAB=/var/run/stab
+ fi
+ grep_stab $1 < $STAB || usage
+- eval `/sbin/cardctl info $SOCKET`
++ eval `/usr/sbin/cardctl info $SOCKET`
+ fi
+ }
+
--- /dev/null
+diff -urN pcmcia-cs-3.2.8-old/cardmgr/cardmgr.c pcmcia-cs-3.2.8-new/cardmgr/cardmgr.c
+--- pcmcia-cs-3.2.8-old/cardmgr/cardmgr.c 2004-05-21 08:39:36.000000000 +0200
++++ pcmcia-cs-3.2.8-new/cardmgr/cardmgr.c 2006-03-29 20:27:03.000000000 +0200
+@@ -739,10 +739,7 @@
+ int ret;
+
+ strcpy(cmd, "insmod ");
+- if (strchr(mod, '/') != NULL)
+- sprintf(cmd+7, "%s/%s.o", modpath, mod);
+- else
+- sprintf(cmd+7, "%s/pcmcia/%s.o", modpath, mod);
++ sprintf(cmd+7, "%s/%s.o", modpath, mod);
+ if (access(cmd+7, R_OK) != 0) {
+ syslog(LOG_NOTICE, "module %s not available", cmd+7);
+ free(cmd);
+@@ -808,11 +805,13 @@
+ }
+
+ if (do_modprobe) {
+- if (try_modprobe(mod, opts) != 0)
++ if (try_modprobe(mod, opts) != 0) {
+ try_insmod(mod, opts);
++ }
+ } else {
+- if (try_insmod(mod, opts) != 0)
++ if (try_insmod(mod, opts) != 0) {
+ try_modprobe(mod, opts);
++ }
+ }
+ }
+
+@@ -1113,8 +1112,9 @@
+
+ /* remove kernel modules in inverse order */
+ for (i = 0; i < card->bindings; i++) {
+- for (j = dev[i]->modules-1; j >= 0; j--)
++ for (j = dev[i]->modules-1; j >= 0; j--) {
+ remove_module(dev[i]->module[j]);
++ }
+ free_device(dev[i]);
+ }
+ /* Remove any MTD's bound to this socket */