diff options
author | Richard Purdie <richard@openedhand.com> | 2005-08-31 10:45:47 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2005-08-31 10:45:47 +0000 |
commit | 4b46c1f6e891b1ddd5968536440b888661fade3e (patch) | |
tree | e0ba2c1f56f61b868bf746da5c4feabb25b800b2 /openembedded/packages/pcmcia-cs | |
download | openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.gz openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.bz2 openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.zip |
Initial population
git-svn-id: https://svn.o-hand.com/repos/poky@1 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/pcmcia-cs')
15 files changed, 477 insertions, 0 deletions
diff --git a/openembedded/packages/pcmcia-cs/files/arm/pcmcia b/openembedded/packages/pcmcia-cs/files/arm/pcmcia new file mode 100644 index 0000000000..d42bc84e77 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/files/arm/pcmcia @@ -0,0 +1,30 @@ +case `awk 'BEGIN { FS=":" } /Processor/ { gsub(/ /, "", $2) ; print $2 } ' </proc/cpuinfo` in + *XScale-PXA2*) + + case "`uname -r`" in + 2.4*) + PCIC=pxa_cs + ;; + 2.6*) + PCIC=pxa2xx_core + ;; + esac + ;; + *StrongARM-1100* | *StrongARM-1110*) + PCIC=sa1100_cs + ;; + *) + echo "Unable to determine PCIC value for this CPU" + exit 1 + ;; +esac + +if grep -q iPAQ /proc/cpuinfo; then + case `module_id` in + "HP iPAQ H2200") + ;; + *) + PCIC_EXTRA=h3600_generic_sleeve + ;; + esac +fi diff --git a/openembedded/packages/pcmcia-cs/files/network.conf b/openembedded/packages/pcmcia-cs/files/network.conf new file mode 100644 index 0000000000..b35ec5c0fe --- /dev/null +++ b/openembedded/packages/pcmcia-cs/files/network.conf @@ -0,0 +1,6 @@ +card "TRENDnet TE-CF100" +manfid 0x0149, 0xc1ab +version "Fast Ethernet", "CF Size PC Card", "1.0" +bind "pcnet_cs" + + diff --git a/openembedded/packages/pcmcia-cs/files/pcmcia b/openembedded/packages/pcmcia-cs/files/pcmcia new file mode 100644 index 0000000000..c42fea0691 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/files/pcmcia @@ -0,0 +1 @@ +# no defaults for /etc/sysconfig/pcmcia diff --git a/openembedded/packages/pcmcia-cs/files/wnv.conf b/openembedded/packages/pcmcia-cs/files/wnv.conf new file mode 100644 index 0000000000..f293b67178 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/files/wnv.conf @@ -0,0 +1,14 @@ +device "wnv_cs" + module "wnv_cs" + +# +# Winnov PCMCIA Camera +# +card "Winnov VideumMPC Camera" + version "Winnov", "VideumMPC", "Rev 1.0", "" + bind "wnv_cs" + +## handhelds.org bugzilla bug 188 +card "Winnov VideumCam Traveler" + manfid 0x01a5, 0x0000 + bind "wnv_cs" diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch new file mode 100644 index 0000000000..5f11147eb8 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch @@ -0,0 +1,19 @@ +--- pcmcia-cs-3.2.8/etc/shared.orig 2004-12-15 02:21:11.000000000 +0100 ++++ pcmcia-cs-3.2.8/etc/shared 2004-12-27 17:09:51.000000000 +0100 +@@ -55,8 +55,15 @@ + fi + if is_true $DO_MOUNT ; then + O=${OPTS:+-o $OPTS} ; FS=${FSTYPE:+-t $FSTYPE} +- log mount $O $FS $1 $MOUNTPT || return 1 ++ if test -x /etc/pcmcia/ide_automount ++ then ++ /etc/pcmcia/ide_automount ++ else ++ log mount $O $FS $1 $MOUNTPT || return 1 ++ fi + fi ++ ++ logger "SHARED [$MOUNTPT] [$1]" + return 0 + } + diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/borzoi/ide.opts b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/borzoi/ide.opts new file mode 100644 index 0000000000..c67df8e348 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/borzoi/ide.opts @@ -0,0 +1,28 @@ +# ATA/IDE drive adapter configuration +# +# The address format is "scheme,socket,serial_no[,part]". +# +# For multi-partition devices, first return list of partitions in +# $PARTS. Then, we'll get called for each partition. +# +case "$ADDRESS" in +*,1,*,*) + # Socket 1 is the internal HD; don't do anything clever as it's / + ;; +*,*,*,1) + #INFO="Sample IDE setup" + DO_FSTAB="n"; + #DO_FSCK="y" ; + DO_MOUNT="y" + #FSTYPE="msdos" + #FSTYPE="auto" + #OPTS="" + #MOUNTPT="/mnt/ide" + ;; +*,*,*) + PARTS="1" + # Card eject policy options + NO_CHECK=n + NO_FUSER=y + ;; +esac diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch new file mode 100644 index 0000000000..7237f3b813 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch @@ -0,0 +1,20 @@ +--- pcmcia-cs-3.2.3/etc/shared~ide 2003-03-11 10:26:14.000000000 -0600 ++++ pcmcia-cs-3.2.3/etc/shared 2003-03-11 10:32:39.000000000 -0600 +@@ -57,7 +57,7 @@ + fi + if is_true $DO_MOUNT ; then + O=${OPTS:+-o $OPTS} ; FS=${FSTYPE:+-t $FSTYPE} +- log mount -v $O $FS $1 $MOUNTPT || return 1 ++ log mount $O $FS $1 $MOUNTPT || return 1 + fi + return 0 + } +@@ -85,7 +85,7 @@ + test -b $1 || return 1 + do_fuser -k -m $1 > /dev/null + if mount | grep -q "$1 on" ; then +- log umount -v $1 || return 1 ++ log umount $1 || return 1 + fi + if is_true $DO_FSTAB ; then + grep -v $1 /etc/fstab > /etc/fstab.N diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts new file mode 100644 index 0000000000..d13dab0015 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts @@ -0,0 +1,25 @@ +# ATA/IDE drive adapter configuration +# +# The address format is "scheme,socket,serial_no[,part]". +# +# For multi-partition devices, first return list of partitions in +# $PARTS. Then, we'll get called for each partition. +# +case "$ADDRESS" in +*,*,*,1) + #INFO="Sample IDE setup" + DO_FSTAB="n"; + #DO_FSCK="y" ; + DO_MOUNT="y" + #FSTYPE="msdos" + #FSTYPE="auto" + #OPTS="" + #MOUNTPT="/mnt/ide" + ;; +*,*,*) + PARTS="1" + # Card eject policy options + NO_CHECK=n + NO_FUSER=y + ;; +esac diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch new file mode 100644 index 0000000000..fb808e209c --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch @@ -0,0 +1,92 @@ +--- pcmcia-cs/etc/network.old 2004-07-01 00:31:59.000000000 +0100 ++++ pcmcia-cs/etc/network 2004-07-01 00:32:57.000000000 +0100 +@@ -31,16 +31,39 @@ + + RESOLV=/etc/resolv.conf + ++# if this interface has an entry in /etc/network/interfaces, let ifupdown ++# handle it ++if grep -q "iface \+$DEVICE" /etc/network/interfaces; then ++ case $ACTION in ++ start) ++ ifup $DEVICE ++ ;; ++ stop) ++ ifdown $DEVICE ++ ;; ++ restart) ++ ifdown $DEVICE ++ ifup $DEVICE ++ ;; ++ esac ++ ++ exit 0 ++fi ++ ++## see if it is a wireless card. Jamey and AntiProxy ++CHECK_WIRELESS=`grep "$DEVICE" /proc/net/wireless` ++if [ -n "$CHECK_WIRELESS" ] ; then + # Now, run the specific script for Wireless LAN interfaces + # Note : we need the wireless parameters to be set up before IP parameters, + # so that we can perform DHCP over the Wireless link if needed. Jean II +-O_INFO=$INFO ; INFO= +-if [ -x ./wireless ] ; then +- . ./wireless +-else +- . /etc/pcmcia/wireless ++ O_INFO=$INFO ; INFO= ++ if [ -x ./wireless ] ; then ++ . ./wireless ++ else ++ . /etc/pcmcia/wireless ++ fi ++ INFO=$O_INFO + fi +-INFO=$O_INFO + + bootp_setup () + { +@@ +225,6 -188,11 @@ + fi + /sbin/dhcpcd -XYZZY 2>&1 | grep -q DHCP || \ + rm -f /var/run/dhcpcd-$DEVICE.pid ++ # modified for udhcpc ++ elif [ -x /sbin/udhcpc ] ; then ++ PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null` ++ if [ -n "$PID" ] ; then kill -TERM $PID ; fi ++ # end of modification + elif [ -x /sbin/dhclient ] ; then + PID=`cat /var/run/dhclient.pid 2>/dev/null` + if [ -n "$PID" ] ; then kill -TERM $PID ; fi +@@ +282,7 -250,30 @@ + [ -n "$IPADDR" ] && /sbin/ifconfig $DEVICE down up + ;; + ++'resume') ++ #logger RESUME EVENT PCMCIA SEEN FROM CARDMGR ++ if [ -z "$IPADDR" ] || is_true $DHCP ; then ++ if [ ! -x /sbin/dhcpcd ] && [ -x /sbin/udhcpc ] ; then ++ PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null` ++ if [ -n "$PID" ] ; then ++ kill -USR1 $PID ++ fi ++ fi ++ fi ++ ;; ++ ++'suspend') ++ #logger SUSPEND EVENT SEEN FROM CARDMGR ++# ## uncomment this code below if you get problems where ++# ## you are getting in IP conflict upon resume on DHCP networks ++# if [ -z "$IPADDR" ] || is_true $DHCP ; then ++# if [ ! -x /sbin/dhcpcd ] && [ -x /sbin/udhcpc ] ; then ++# PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null` ++# if [ -n "$PID" ] ; then ++# ifconfig $DEVICE 0.0.0.0 ++# fi ++# fi ++# fi +-'suspend'|'resume') + ;; + + *) diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch new file mode 100644 index 0000000000..afebb5a9b9 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch @@ -0,0 +1,11 @@ +--- pcmcia-cs-3.2.8/etc/rc.pcmcia.orig 2005-04-22 23:14:56.308784152 +0100 ++++ pcmcia-cs-3.2.8/etc/rc.pcmcia 2005-04-22 23:15:34.637957232 +0100 +@@ -140,7 +140,7 @@ + echo -n "Shutting down PCMCIA services: " + if [ -s /var/run/cardmgr.pid ] ; then + PID=`cat /var/run/cardmgr.pid` +- kill $PID ++ kill -9 $PID + # Give cardmgr a few seconds to handle the signal + for N in 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 ; do + kill -0 $PID 2>/dev/null || break diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch new file mode 100644 index 0000000000..e78d0c5c6b --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch @@ -0,0 +1,33 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- pcmcia-cs-3.2.8/etc/rc.pcmcia~pcic-extra ++++ pcmcia-cs-3.2.8/etc/rc.pcmcia +@@ -105,10 +105,16 @@ + echo "using yenta_socket instead of $PCIC") || + /sbin/modprobe $PCIC $PCIC_OPTS || break + /sbin/modprobe ds || break ++ if [ "x$PCIC_EXTRA" != "x" ]; then ++ /sbin/modprobe $PCIC_EXTRA ++ fi + elif [ -d $PC ] ; then + /sbin/insmod $PC/pcmcia_core.o $CORE_OPTS + /sbin/insmod $PC/$PCIC.o $PCIC_OPTS + /sbin/insmod $PC/ds.o ++ if [ "x$PCIC_EXTRA" != "x" ]; then ++ /sbin/insmod $PC/$PCIC_EXTRA ++ fi + else + echo "module directory $PC not found." + break +@@ -154,7 +160,7 @@ + ;; + + status) +- pid=`/sbin/pidof cardmgr` ++ pid=`/bin/pidof cardmgr` + if [ "$pid" != "" ] ; then + echo "cardmgr (pid $pid) is running..." + EXITCODE=0 diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch new file mode 100644 index 0000000000..069aa65bdd --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch @@ -0,0 +1,23 @@ +--- pcmcia-cs/etc/config 2005-02-06 17:02:39.714620456 +1300 ++++ pcmcia-cs/etc/config 2005-02-06 17:05:06.123362944 +1300 +@@ -131,6 +131,9 @@ + device "ohci1394_cb" + class "ieee1394" module "cb_enabler", "ohci1394_cb" + ++device "hc_sl811_cs" ++ class "usb" module "usbcore", "hc_sl811", "hc_sl811_cs" ++ + # dummy drivers + + device "dummy_cs" module "dummy_cs" +@@ -2169,6 +2172,10 @@ + manfid 0x0137, 0x0003 + bind "parport_cs" + ++card "RATOC USB HOST CF+ Card" ++ manfid 0xc015, 0x0001 ++ bind "hc_sl811_cs" ++ + card "TELES S0/PC ISDN" + version "TELES", "S0/PC" + bind "teles_cs" diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts new file mode 100644 index 0000000000..c67df8e348 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts @@ -0,0 +1,28 @@ +# ATA/IDE drive adapter configuration +# +# The address format is "scheme,socket,serial_no[,part]". +# +# For multi-partition devices, first return list of partitions in +# $PARTS. Then, we'll get called for each partition. +# +case "$ADDRESS" in +*,1,*,*) + # Socket 1 is the internal HD; don't do anything clever as it's / + ;; +*,*,*,1) + #INFO="Sample IDE setup" + DO_FSTAB="n"; + #DO_FSCK="y" ; + DO_MOUNT="y" + #FSTYPE="msdos" + #FSTYPE="auto" + #OPTS="" + #MOUNTPT="/mnt/ide" + ;; +*,*,*) + PARTS="1" + # Card eject policy options + NO_CHECK=n + NO_FUSER=y + ;; +esac diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts new file mode 100644 index 0000000000..3e498297fc --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts @@ -0,0 +1,47 @@ +# Wireless LAN adapter configuration +# +# Theory of operation : +# +# The script attempts to match a block of settings to the specific wireless +# card inserted, the *first* block matching the card is used. +# The address format is "scheme,socket,instance,hwaddr", with * as a wildcard. +# 'scheme' is the pcmcia scheme (set via 'cardctl scheme XXX'). +# 'hwaddr' is the unique MAC address identifier of the wireless card. +# The MAC address is usually printed on the card, or can be found via ifconfig. +# Some examples here use only half of the MAC address with a wildcard to +# match a whole family of cards... +# +# All the Wireless specific configuration is done through the Wireless +# Extensions, so we will just call 'iwconfig' with the right parameters +# defined below. +# Of course, you need to have iwconfig installled on your system. +# To download iwconfig, or for more info on Wireless Extensions : +# http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html +# +# Note : you don't need to fill all parameters, leave them blank, in most +# cases the driver will initialise itself with sane defaults values or +# automatically figure out the value... And no drivers do support all +# possible settings... +# +# If you make any mistakes, you'll get a cryptic message in the system +# log. You'll need to figure out on your own which parameter was wrong: +# cardmgr[310]: executing: './network start wvlan0' +# cardmgr[310]: + SIOCSIWMODE: Invalid argument +# I've tried to give more troubleshooting help at : +# http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html#debug +# In case of doubts, just check "/etc/pcmcia/wireless" for the gory details... +# +# Note also that this script will work only with the original Pcmcia scripts, +# and not with the default Red Hat scripts. Send a bug report to Red Hat ;-) +# +# Finally, send comments and flames to me, Jean Tourrilhes <jt@hpl.hp.com> +# + +case "$ADDRESS" in +*,*,*,*) + INFO="Default Config" + ESSID=any + MODE=Managed + RATE=auto + ;; +esac diff --git a/openembedded/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb b/openembedded/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb new file mode 100644 index 0000000000..2aa41a6c32 --- /dev/null +++ b/openembedded/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb @@ -0,0 +1,100 @@ +DESCRIPTION = "Utilities and system configuration files for the Linux PCMCIA card services" +SECTION = "base" +PRIORITY = "required" +LICENSE = "GPL" +DEPENDS = "virtual/kernel" +PR = "r19" + +SRC_URI = "${SOURCEFORGE_MIRROR}/pcmcia-cs/pcmcia-cs-${PV}.tar.gz \ + file://busybox.patch;patch=1 \ + file://network.patch;patch=1 \ + file://pcic-extra.patch;patch=1 \ + file://automount.patch;patch=1 \ + file://ratoc-cfu1u.patch;patch=1 \ + file://pcmcia \ + file://ide.opts \ + file://wireless.opts \ + file://network.conf \ + file://wnv.conf" + +SRC_URI_append_spitz = " file://nocleanup.patch;patch=1" +S = "${WORKDIR}/pcmcia-cs-${PV}" + +INITSCRIPT_NAME = "pcmcia" +INITSCRIPT_PARAMS = "defaults" + +inherit update-rc.d module-base + +export KERNEL_SOURCE = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')} + +sbindir = "/sbin" + +do_configure() { + touch .prereq.ok + touch config.out + cat >config.mk <<EOF +UCC=${CC} +UFLAGS=${CFLAGS} -I${S}/include +HAS_WORDEXP=y +SYSV_INIT=y +RC_DIR=/etc +CONFIG_PNP_BIOS=n +ARCH=${ARCH} +CONFIG_CARDBUS=n +CONFIG_PCMCIA=y +CONFIG_INET=y +CONFIG_SCSI=y +DO_IDE=y +EOF + cat >include/pcmcia/autoconf.h <<EOF +#define HAS_WORDEXP 1 +EOF +} + +do_compile() { + oe_runmake all HAS_XPM= FLIBS="" XMANDIR="" +} + +INSTALL_ETC = "ftl ide ieee1394 memory network parport scsi serial wireless" +INSTALL_ETC_DATA = "config config.opts ftl.opts ieee1394.opts memory.opts network.opts parport.opts scsi.opts serial.opts shared" +INSTALL_ETC_DATA_arm = "config ftl.opts ieee1394.opts memory.opts network.opts parport.opts scsi.opts serial.opts shared" + +do_install() { + install -d ${D}${sbindir} + for f in cardmgr/cardctl cardmgr/cardmgr cardmgr/ide_info cardmgr/ifport cardmgr/ifuser cardmgr/pcinitrd flash/ftl_check flash/ftl_format + do + install -m 0755 $f ${D}${sbindir}/ + done + install -d ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/pcmcia \ + ${D}${sysconfdir}/pcmcia/cis + + install -m 0644 ${WORKDIR}/network.conf ${D}${sysconfdir}/pcmcia/ + install -m 0644 ${WORKDIR}/wnv.conf ${D}${sysconfdir}/pcmcia/ + + for i in ${INSTALL_ETC}; do + install -m 0755 etc/${i} ${D}${sysconfdir}/pcmcia/ + done + for i in ${INSTALL_ETC_DATA}; do + install -m 0644 etc/${i} ${D}${sysconfdir}/pcmcia/ + done + + # ensure that config.opts always exists, albeit empty + echo >> ${D}${sysconfdir}/pcmcia/config.opts + + install -m 0644 ${WORKDIR}/ide.opts ${D}${sysconfdir}/pcmcia/ + install -m 0644 ${WORKDIR}/wireless.opts ${D}${sysconfdir}/pcmcia/ + for i in etc/cis/*; do + install -m 0644 $i ${D}${sysconfdir}/pcmcia/cis/ + done + install -m 0755 etc/rc.pcmcia ${D}${sysconfdir}/init.d/pcmcia + install -d ${D}${sysconfdir}/sysconfig + install -m 0755 ${WORKDIR}/pcmcia ${D}${sysconfdir}/sysconfig/pcmcia +} + +PACKAGES =+ "${PN}-ftl ${PN}-pcinitrd" + +FILES_${PN} = "${sbindir} ${sysconfdir}" +FILES_${PN}-ftl = "/sbin/ftl_format /sbin/ftl_check /etc/pcmcia/ftl*" +FILES_${PN}-pcinitrd = "/sbin/pcinitrd" + |