[ImoLUG] Debian Sarge, un'inghippo

Daniele daniele_zampighi@tin.it
Ven 5 Ago 2005 08:51:14 CEST


Ciao Franco,

 >allora molto probabilmente si tratta di un prb di configurazione. A 
che pkg appartiene "speedtouch-start" ? Sicuro di averlo >configurato? 
Supporta quel modello?

SI certamente, perchè viene dal suo pacchetto. Il problema e' "quasi 
sicuramente" nel modulo usb. Ti allego il testo che ho inviato a Dennis 
Grilli del RavennaLug. In allegato troverai anche lo script che comanda 
lo start dello Speedtouch.


Denis Grilli ha scritto:

> Perche' non hai potuto fare molto?? Se non e' uno script tanto grande puoi 
> magari postarlo in lista...
> Puoi anche fare una prova semplice: prima di lanciare lo script rimuovi i 
> moduli dalla memoria con il comando rmmod (es. rmmod ehci_hcd). Dopo lanci lo 
> script e vedi se prosegue oppure da sempre errore.

Ok. A parte che mi vengono i brividi a pensare di cancellare un modulo,
come lo ripristino?
Penso che il problema non risieda nello script, che allego, ma nella
configurazione e nei parametri all'interno del modulo ehci.
Faccio questa considerazione perchè 2 volte su 3 all'accensione  il
caricamento del S.O. si blocca proprio quando arriva a caricarsi il
modulo usb (o come conseguena delmodulo shpchp ? ). A quel punto devo
fisicamente togliere la spina per spegnere il computer e far ripartire
il caricamento del S.O.
Come si fa a controllare il modulo USB ? ed eventualmete che parametri
serviranno ? Mi pare una cosa estremamente tecnica........

Ti allego il testo dove il computer si blocca al caricamento:

pciehp: can't be loaded
missing kernel or user mode driver pcichp
shpchp: acpi_Shpchprm:\_SB_PCI0 evaluate_BBN fail=0x25
modprobee: FATAL:Error inserting shpchp
(/lib/modules/2.6.8-2-386/kernel/drivers/pci/hotplug/shpchp.ko)
Operation not permitted

Shpchp:can't be loaded
missing kernel or user mode drivers shchp
     ohci1394: already loaded
     uhci-hdc: already loaded
     uhci-hdc: already loaded
     uhci-hdc: already loaded
     echi-hdci: already loaded
     via-ircc:  already loaded
     via82cxxx:  already loaded
     via82cxxx_audio:  already loaded
     snd-via82xx: loaded successfully
     via-rhine: loaded successfully
     ignoring pci display device 01:00.0
pci
usb

e qui si ferma, o da una scritta di errore 1 o 2 (come gli pare)

Come opereresti? Non è un bug ?

Daniele Zampighi

-------------- parte successiva --------------
#!/bin/sh

# Author: Benoit PAPILLAULT <benoit.papillault@free.fr>
# Creation: 12/05/2004

# Goal: Start the connection

# Ensure to have a working PATH
prefix=/usr/local
exec_prefix=${prefix}
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:${exec_prefix}/sbin:${exec_prefix}/bin

# check for root privileges

if [ "`whoami`" != "root" ]; then
  echo "You must launch this script with root privileges. Enter root password."
  exec su -c "$0 $@"
  exit -1
fi

echo "Starting ADSL connection..."

# load usbcore if needed
if [ ! -d /proc/bus/usb ]; then
    echo -n "Loading USB support... "
    modprobe usbcore
    sleep 1
    if [ ! -d /proc/bus/usb ]; then
        echo "KO";
        exit -1;
    else
        echo "OK";
    fi
fi

# mount usbdevfs is this is not the case
if [ ! -f /proc/bus/usb/devices ]; then
    echo -n "Loading preliminary USB device filesystem support... "
    mount -t usbdevfs usbdevfs /proc/bus/usb
    sleep 1
    if [ ! -f /proc/bus/usb/devices ]; then
        echo "KO";
        exit -1
    else
        echo "OK";
    fi
fi

case `uname -r` in
    2.4.*)
        UHCI=usb-uhci
        UHCI_BIS=uhci
        OHCI=usb-ohci
        EHCI=ehci-hcd
        ;;
    2.5.*)
        UHCI=uhci-hcd
        UHCI_BIS=
        OHCI=ohci-hcd
        EHCI=ehci-hcd
        ;;
    2.6.*)
        UHCI=uhci-hcd
        UHCI_BIS=
        OHCI=ohci-hcd
        EHCI=ehci-hcd
        ;;
esac

# check for UHCI

if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q UHCI; then
    if lspci -v | grep "USB Controller" | grep -q UHCI; then
        echo -n "Loading UHCI support... "
        modprobe $UHCI
        if [ "${UHCI_BIS}" ]; then modprobe $UHCI_BIS; fi
        sleep 1
        if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q UHCI; then
            echo "KO";
        else
            echo "OK";
        fi
    fi
fi

# check for OHCI

if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q OHCI; then
    if lspci -v | grep "USB Controller" | grep -q OHCI; then
        echo -n "Loading OHCI support... "
        modprobe $OHCI
        sleep 1
        if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q OHCI; then
            echo "KO";
        else
            echo "OK";
        fi
    fi
fi

# check for EHCI

if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q EHCI; then
    if lspci -v | grep "USB Controller" | grep -q EHCI; then
        echo -n "Loading EHCI support... "
        modprobe $EHCI
        sleep 1
        if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q EHCI; then
            echo "KO";
        else
            echo "OK";
        fi
    fi
fi

# if one configuration file exists, read it. This file should define :
# 
# FIRMWARE_LOADER_FILE
# FIRMWARE_FILE
# PPPD_PEER
#

# At this point, USB is properly configured (/proc/bus/usb/devices can
# be used)

if [ -f /etc/speedtouch/speedtouch.conf ]; then
  . /etc/speedtouch/speedtouch.conf
fi

if [ "$FIRMWARE_LOADER_FILE" ]; then
  MODEM_RUN_OPTIONS="$MODEM_RUN_OPTIONS -a $FIRMWARE_LOADER_FILE"
fi

if [ "$FIRMWARE_FILE" ]; then
    MODEM_RUN_OPTIONS="$MODEM_RUN_OPTIONS -f $FIRMWARE_FILE"
else
    echo "FIRMWARE_FILE undefined"
    exit -1
fi

# convention : when modem_run returns, meaning that the DSL line is
# up, we create the file /var/run/speedtouch-up. This file is removed
# when the modem is removed (in the hotplug script).

# Of course, this does not work when several modems are connected (we
# should write a small executable that get the mac addresse from the
# modem and use it as a key)

if ! modem_run $MODEM_RUN_OPTIONS; then
    exit 1
fi

#
# for PPPoA connections :
#
# pppd call speedtouch-pppoa updetach
#
# for PPPoE connections :
#
# pppd call speedtouch-pppoe updetach
#

if [ "${PPPD_PEER}" == "" ]; then
    echo "PPPD_PEER undefined"
    exit -1
fi

pppd call "${PPPD_PEER}" updetach

-------------- parte successiva --------------
{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f1\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f2\fnil\fprq2\fcharset0 Bitstream Vera Sans;}{\f3\fnil\fprq2\fcharset0 Tahoma{\*\falt Lucidasans};}{\f4\fnil\fprq0\fcharset0 Tahoma{\*\falt Lucidasans};}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\snext1 Standard;}
{\s2\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext2 Corpo testo;}
{\s3\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon2\snext3 Elenco;}
{\s4\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs20\lang255\ai\ltrch\dbch\af2\afs20\langfe255\ai\loch\f0\fs20\lang1033\i\sbasedon1\snext4 Dicitura;}
{\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext5 Indice;}
}
{\info{\creatim\yr2005\mo8\dy5\hr8\min20}{\revtim\yr2005\mo8\dy5\hr8\min21}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6450}}\deftab709
{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}}
\paperh15840\paperw12240\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af3\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f0\fs24\lang1033 {\loch\f0\fs24\lang1033\i0\b0 #!/bin/sh}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # Author: Benoit PAPILLAULT <benoit.papillault@free.fr>}
\par {\loch\f0\fs24\lang1033\i0\b0 # Creation: 12/05/2004}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # Goal: Start the connection}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # Ensure to have a working PATH}
\par {\loch\f0\fs24\lang1033\i0\b0 prefix=/usr/local}
\par {\loch\f0\fs24\lang1033\i0\b0 exec_prefix=$\{prefix\}}
\par {\loch\f0\fs24\lang1033\i0\b0 export PATH=/sbin:/bin:/usr/sbin:/usr/bin:$\{exec_prefix\}/sbin:$\{exec_prefix\}/bin}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # check for root privileges}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if [ "`whoami`" != "root" ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0   echo "You must launch this script with root privileges. Enter root password."}
\par {\loch\f0\fs24\lang1033\i0\b0   exec su -c "$0 $@"}
\par {\loch\f0\fs24\lang1033\i0\b0   exit -1}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 echo "Starting ADSL connection..."}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # load usbcore if needed}
\par {\loch\f0\fs24\lang1033\i0\b0 if [ ! -d /proc/bus/usb ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0     echo -n "Loading USB support... "}
\par {\loch\f0\fs24\lang1033\i0\b0     modprobe usbcore}
\par {\loch\f0\fs24\lang1033\i0\b0     sleep 1}
\par {\loch\f0\fs24\lang1033\i0\b0     if [ ! -d /proc/bus/usb ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0         echo "KO";}
\par {\loch\f0\fs24\lang1033\i0\b0         exit -1;}
\par {\loch\f0\fs24\lang1033\i0\b0     else}
\par {\loch\f0\fs24\lang1033\i0\b0         echo "OK";}
\par {\loch\f0\fs24\lang1033\i0\b0     fi}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # mount usbdevfs is this is not the case}
\par {\loch\f0\fs24\lang1033\i0\b0 if [ ! -f /proc/bus/usb/devices ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0     echo -n "Loading preliminary USB device filesystem support... "}
\par {\loch\f0\fs24\lang1033\i0\b0     mount -t usbdevfs usbdevfs /proc/bus/usb}
\par {\loch\f0\fs24\lang1033\i0\b0     sleep 1}
\par {\loch\f0\fs24\lang1033\i0\b0     if [ ! -f /proc/bus/usb/devices ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0         echo "KO";}
\par {\loch\f0\fs24\lang1033\i0\b0         exit -1}
\par {\loch\f0\fs24\lang1033\i0\b0     else}
\par {\loch\f0\fs24\lang1033\i0\b0         echo "OK";}
\par {\loch\f0\fs24\lang1033\i0\b0     fi}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 case `uname -r` in}
\par {\loch\f0\fs24\lang1033\i0\b0     2.4.*)}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI=usb-uhci}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI_BIS=uhci}
\par {\loch\f0\fs24\lang1033\i0\b0         OHCI=usb-ohci}
\par {\loch\f0\fs24\lang1033\i0\b0         EHCI=ehci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         ;;}
\par {\loch\f0\fs24\lang1033\i0\b0     2.5.*)}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI=uhci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI_BIS=}
\par {\loch\f0\fs24\lang1033\i0\b0         OHCI=ohci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         EHCI=ehci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         ;;}
\par {\loch\f0\fs24\lang1033\i0\b0     2.6.*)}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI=uhci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         UHCI_BIS=}
\par {\loch\f0\fs24\lang1033\i0\b0         OHCI=ohci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         EHCI=ehci-hcd}
\par {\loch\f0\fs24\lang1033\i0\b0         ;;}
\par {\loch\f0\fs24\lang1033\i0\b0 esac}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # check for UHCI}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q UHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0     if lspci -v | grep "USB Controller" | grep -q UHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0         echo -n "Loading UHCI support... "}
\par {\loch\f0\fs24\lang1033\i0\b0         modprobe $UHCI}
\par {\loch\f0\fs24\lang1033\i0\b0         if [ "$\{UHCI_BIS\}" ]; then modprobe $UHCI_BIS; fi}
\par {\loch\f0\fs24\lang1033\i0\b0         sleep 1}
\par {\loch\f0\fs24\lang1033\i0\b0         if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q UHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "KO";}
\par {\loch\f0\fs24\lang1033\i0\b0         else}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "OK";}
\par {\loch\f0\fs24\lang1033\i0\b0         fi}
\par {\loch\f0\fs24\lang1033\i0\b0     fi}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # check for OHCI}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q OHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0     if lspci -v | grep "USB Controller" | grep -q OHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0         echo -n "Loading OHCI support... "}
\par {\loch\f0\fs24\lang1033\i0\b0         modprobe $OHCI}
\par {\loch\f0\fs24\lang1033\i0\b0         sleep 1}
\par {\loch\f0\fs24\lang1033\i0\b0         if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q OHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "KO";}
\par {\loch\f0\fs24\lang1033\i0\b0         else}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "OK";}
\par {\loch\f0\fs24\lang1033\i0\b0         fi}
\par {\loch\f0\fs24\lang1033\i0\b0     fi}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # check for EHCI}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q EHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0     if lspci -v | grep "USB Controller" | grep -q EHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0         echo -n "Loading EHCI support... "}
\par {\loch\f0\fs24\lang1033\i0\b0         modprobe $EHCI}
\par {\loch\f0\fs24\lang1033\i0\b0         sleep 1}
\par {\loch\f0\fs24\lang1033\i0\b0         if ! grep "^S:  Product=" /proc/bus/usb/devices |grep -q EHCI; then}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "KO";}
\par {\loch\f0\fs24\lang1033\i0\b0         else}
\par {\loch\f0\fs24\lang1033\i0\b0             echo "OK";}
\par {\loch\f0\fs24\lang1033\i0\b0         fi}
\par {\loch\f0\fs24\lang1033\i0\b0     fi}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # if one configuration file exists, read it. This file should define :}
\par {\loch\f0\fs24\lang1033\i0\b0 # }
\par {\loch\f0\fs24\lang1033\i0\b0 # FIRMWARE_LOADER_FILE}
\par {\loch\f0\fs24\lang1033\i0\b0 # FIRMWARE_FILE}
\par {\loch\f0\fs24\lang1033\i0\b0 # PPPD_PEER}
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # At this point, USB is properly configured (/proc/bus/usb/devices can}
\par {\loch\f0\fs24\lang1033\i0\b0 # be used)}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if [ -f /etc/speedtouch/speedtouch.conf ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0   . /etc/speedtouch/speedtouch.conf}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if [ "$FIRMWARE_LOADER_FILE" ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0   MODEM_RUN_OPTIONS="$MODEM_RUN_OPTIONS -a $FIRMWARE_LOADER_FILE"}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if [ "$FIRMWARE_FILE" ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0     MODEM_RUN_OPTIONS="$MODEM_RUN_OPTIONS -f $FIRMWARE_FILE"}
\par {\loch\f0\fs24\lang1033\i0\b0 else}
\par {\loch\f0\fs24\lang1033\i0\b0     echo "FIRMWARE_FILE undefined"}
\par {\loch\f0\fs24\lang1033\i0\b0     exit -1}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # convention : when modem_run returns, meaning that the DSL line is}
\par {\loch\f0\fs24\lang1033\i0\b0 # up, we create the file /var/run/speedtouch-up. This file is removed}
\par {\loch\f0\fs24\lang1033\i0\b0 # when the modem is removed (in the hotplug script).}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 # Of course, this does not work when several modems are connected (we}
\par {\loch\f0\fs24\lang1033\i0\b0 # should write a small executable that get the mac addresse from the}
\par {\loch\f0\fs24\lang1033\i0\b0 # modem and use it as a key)}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if ! modem_run $MODEM_RUN_OPTIONS; then}
\par {\loch\f0\fs24\lang1033\i0\b0     exit 1}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par {\loch\f0\fs24\lang1033\i0\b0 # for PPPoA connections :}
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par {\loch\f0\fs24\lang1033\i0\b0 # pppd call speedtouch-pppoa updetach}
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par {\loch\f0\fs24\lang1033\i0\b0 # for PPPoE connections :}
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par {\loch\f0\fs24\lang1033\i0\b0 # pppd call speedtouch-pppoe updetach}
\par {\loch\f0\fs24\lang1033\i0\b0 #}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 if [ "$\{PPPD_PEER\}" == "" ]; then}
\par {\loch\f0\fs24\lang1033\i0\b0     echo "PPPD_PEER undefined"}
\par {\loch\f0\fs24\lang1033\i0\b0     exit -1}
\par {\loch\f0\fs24\lang1033\i0\b0 fi}
\par 
\par {\loch\f0\fs24\lang1033\i0\b0 pppd call "$\{PPPD_PEER\}" updetach}
\par }
-------------- parte successiva --------------
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.0/63 - Release Date: 03/08/2005


Maggiori informazioni sulla lista Imolug