Package: hw-detect

Forwarding since I don't have time or ability to work on this, and we
have a partial patch.

----- Forwarded message from Per Olofsson <[EMAIL PROTECTED]> -----

From: Per Olofsson <[EMAIL PROTECTED]>
Date: Thu, 16 Sep 2004 22:14:06 +0200
To: Joey Hess <[EMAIL PROTECTED]>
Subject: Re: pcmcia-cs
User-Agent: Mutt/1.5.6+20040722i

Joey Hess:
> > I'm thinking that maybe I should only make a small change - add some
> > minimal detection code for Dell Inspiron 8000's to ddetect and don't
> > bother changing the actual pcmcia-cs package for sarge. The smaller
> > the change the less can go wrong. I should probably look over the BTS
> > reports to see if any other laptops than I8Ks are problematic though.
> 
> Any update on the status of this change?

Not really, unfortunately. I've not been feeling very well lately and
I haven't had the energy to do anything.

I did however at one point compile a small list of problematic laptops
and added an initial implementation to hw-detect. The list and the
patch is attached. I haven't tested the patch though, and even if I
had I would still not been able to test whether it works on the
problematic hardware as I don't own any such hardware. In addition,
dmidecode-udeb will have to be present on the image.

-- 
Pelle

Dell Latitude D800 (#267531)
Dell Inspiron 8600
Fujitsu-Siemens Amilo A7620 (#254403)
Gericom Blockbuster
Dell Inspiron 8100 (verified, 0x800-0x8ff)
Dell Inspiron 8000
Dell Latitude D505
Dell Latitude D600

Index: hw-detect.sh
===================================================================
--- hw-detect.sh        (revision 19659)
+++ hw-detect.sh        (working copy)
@@ -490,6 +490,44 @@
        fi
 fi
 
+DMIDATA=/etc/dmidata
+
+get_dmidata() {
+       if ! [ -f $DMIDATA ]; then
+               if [ -x /usr/sbin/dmidecode ]; then
+                       dmidecode > $DMIDATA | logger -t hw-detect
+               else
+                       log "dmidecode not available"
+                       return 1
+               fi
+       fi
+}
+
+dmi_field() {
+    cat $DMIDATA | sed -n "/$1\$/,\$p" | sed '/^Handle/,$d' | tr -d '\t' \
+        | tail +2 | grep "^$2" | cut -d: -f2 \
+        | sed 's/^ *\([^ ].*[^ ]\) *$/\1/'
+}
+
+detect_pcmcia_resource_opts() {
+       if ! get_dmidata; then
+               return
+       fi
+       local manufacturer=$(dmi_field "System Information" "Manufacturer")
+       local product_name=$(dmi_field "System Information" "Product Name")
+
+       case "$manufacturer" in
+       Dell*)
+               case "$product_name" in
+               "Inspiron 8"*|"Latitude D800"*|"Latitude D505"*|
+               "Latitude D600"*)
+                       echo "exclude port 0x800-0x8ff"
+                       ;;
+               esac
+               ;;
+       esac
+}
+
 apply_pcmcia_resource_opts() {
        local config_opts=/etc/pcmcia/config.opts
        
@@ -535,6 +573,8 @@
        fi
        if db_go && db_get hw-detect/start_pcmcia && [ "$RET" = true ]; then
                if ! [ -e /var/run/cardmgr.pid ]; then
+                       db_set hw-detect/pcmcia_resources \
+                               $(detect_pcmcia_resource_opts) || true
                        db_input medium hw-detect/pcmcia_resources || true
                        db_go || true
                        db_get hw-detect/pcmcia_resources || true


----- End forwarded message -----
-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to