Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ndiswrapper [Résolu]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Fri Aug 23, 2013 9:08 am    Post subject: ndiswrapper [Résolu] Reply with quote

Bonjour
Je viens d'installer gentoo en chroot à partir d'une session ubuntu. Le systéme boote correctement, mais je bute sur la configuration de réseau. Je suis connecté au réseau à travers une clé usb wifi qui m'amène à utiliser ndiswrapper. J'ai réussi sans trop de mal à installer ndiswrapper sur gentoo dans ma session chroot, mais quand je boote en gentoo, je ne parviens pas à me connecter via wlan0 (que j'ai pourtant configuré dans /etc/conf.d/net).
J'ai du reconfigurer le noyau avant de monter le module ndiswrapper, j'ai utilisé "modinfo ndiswrapper" pour avoir la confirmation de l'installation correcte du module, et 'ndiswrapper -l" me confirme que le pilote correct est bien installé. Où peut bien se cacher l'erreur ? (oui, je sais, entre la chaise et le clavier, ;) mais encore ?)
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)


Last edited by FDZ on Sat Aug 31, 2013 4:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 9:15 am    Post subject: Reply with quote

Bonjour,

Il est très probable que le nom de ton interface réseau n'est pas wlan0 (règles de nommage débiles de udev).

Que donne "ifconfig" ?
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Fri Aug 23, 2013 10:42 am    Post subject: Reply with quote

Voici la réponse de ifconfig, en configuration chroot sous ubuntu :
Code:
Ubuntu linux # ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:1f:d0:95:88:27  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 3353  bytes 273584 (267.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3353  bytes 273584 (267.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::2b0:8cff:fe03:1f64  prefixlen 64  scopeid 0x20<link>
        ether 00:b0:8c:03:1f:64  txqueuelen 1000  (Ethernet)
        RX packets 172133  bytes 22317886 (21.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 253546  bytes 129675663 (123.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Je vais de ce pas vérifier si la réponse est la même en boot gentoo et je vais essayer de poster la réponse
[Edit]
Et voilà la réponse sous gentoo seul
Code:
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Sous gentoo, iwconfig ne connait pas wlan0
Pour info, copie de mon /etc/conf.d/net :
Code:
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /usr/share/doc/openrc*/net.example* and save your configuration
# in /etc/conf.d/net (this file :]!).
modules=("dhcpcd")
modules=("iwconfig")
key_Mon_ESSID="[1] s:Mon_code key [1] enc open"
preferred_aps=( "Mon_ESSID" )
sleep_scan_wlan0="1"
sleep_associate_wlan0="25"
iface_wlan0=("dhcp")

Il me semble bien que j'avais créé un script "/etc/init.d/wlan0", je ne le retrouve plus. J'y retourne !
[/Edit]
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)


Last edited by FDZ on Fri Aug 23, 2013 10:59 am; edited 2 times in total
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 10:44 am    Post subject: Reply with quote

la réponse de Gentoo sera différente, à moins que tu n'aies désactivé la règle de nommage de udev.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 10:56 am    Post subject: Reply with quote

Vois ce sujet-ci pour contourner cette fonctionnalité.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Fri Aug 23, 2013 11:16 am    Post subject: Reply with quote

XavierMiller wrote:
Vois ce sujet-ci pour contourner cette fonctionnalité.

Désolé, noob complet sous gentoo, pas compris.
Par contre, le fichier que j'avais créé sous /etc/init.d se nomme "net.wlan0" et voilà son contenu :
Code:
#!/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.

MODULESDIR="${RC_LIBEXECDIR}/net"
MODULESLIST="${RC_SVCDIR}/nettree"
_config_vars="config routes"

[ -z "${IN_BACKGROUND}" ] && IN_BACKGROUND="NO"

description="Configures network interfaces."

# Handy var so we don't have to embed new lines everywhere for array splitting
__IFS="
"
depend()
{
   local IFACE=${RC_SVCNAME#*.}
   local IFVAR=$(shell_var "${IFACE}")

   need localmount
   if [ "$RC_UNAME" = Linux -a "$IFACE" != lo ]; then
      need sysfs
   fi
   after bootmisc
   keyword -jail -prefix -vserver

   case "${IFACE}" in
      lo|lo0) ;;
      *)
         after net.lo net.lo0 dbus
         provide net
         ;;
   esac

   if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
      depend_${IFVAR}
   fi

   local dep= prov=
   for dep in need use before after provide keyword; do
      eval prov=\$rc_${dep}_${IFVAR}
      if [ -n "${prov}" ]; then
         ${dep} ${prov}
         ewarn "rc_${dep}_${IFVAR} is deprecated."
         ewarn "Please use rc_net_${IFVAR}_${dep} instead."
      fi
   done
}

# Support bash arrays - sigh
_array_helper()
{
   local _a=

   eval _a=\$$1
   _a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g')

   [ -n "${_a}" ] && printf "%s\n" "${_a}"
}

_get_array()
{
   local _a=
   if [ -n "${BASH}" ]; then
      case "$(declare -p "$1" 2>/dev/null)" in
         "declare -a "*)
            ewarn "You are using a bash array for $1."
            ewarn "This feature will be removed in the future."
            ewarn "Please see net.example for the correct format for $1."
            eval "set -- \"\${$1[@]}\""
            for _a; do
               printf "%s\n" "${_a}"
            done
            return 0
            ;;
      esac
   fi

   _array_helper $1
}

# Flatten bash arrays to simple strings
_flatten_array()
{
   if [ -n "${BASH}" ]; then
      case "$(declare -p "$1" 2>/dev/null)" in
         "declare -a "*)
            ewarn "You are using a bash array for $1."
            ewarn "This feature will be removed in the future."
            ewarn "Please see net.example for the correct format for $1."
            eval "set -- \"\${$1[@]}\""
            for x; do
               printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
            done
            return 0
            ;;
      esac
   fi

   _array_helper $1
}

_wait_for_carrier()
{
   local timeout= efunc=einfon

   _has_carrier  && return 0

   eval timeout=\$carrier_timeout_${IFVAR}
   timeout=${timeout:-${carrier_timeout:-0}}

   # Incase users don't want this nice feature ...
   [ ${timeout} -le 0 ] && return 0

   yesno ${RC_PARALLEL} && efunc=einfo
   ${efunc} "Waiting for carrier (${timeout} seconds) "
   while [ ${timeout} -gt 0 ]; do
      sleep 1
      if _has_carrier; then
         [ "${efunc}" = "einfon" ] && echo
         eend 0
         return 0
      fi
      : $(( timeout -= 1 ))
      [ "${efunc}" = "einfon" ] && printf "."
   done

   [ "${efunc}" = "einfon" ] && echo
   eend 1
   return 1
}

_netmask2cidr()
{
   # Some shells cannot handle hex arithmetic, so we massage it slightly
   # Buggy shells include FreeBSD sh, dash and busybox.
   # bash and NetBSD sh don't need this.
   case $1 in
      0x*)
      local hex=${1#0x*} quad=
      while [ -n "${hex}" ]; do
         local lastbut2=${hex#??*}
         quad=${quad}${quad:+.}0x${hex%${lastbut2}*}
         hex=${lastbut2}
      done
      set -- ${quad}
      ;;
   esac

   local i= len=
   local IFS=.
   for i in $1; do
      while [ ${i} -ne 0 ]; do
         : $(( len += i % 2 ))
         : $(( i >>= 1 ))
      done
   done

   echo "${len}"
}

_configure_variables()
{
   local var= v= t=

   for var in ${_config_vars}; do
      local v=
      for t; do
         eval v=\$${var}_${t}
         if [ -n "${v}" ]; then
            eval ${var}_${IFVAR}=\$${var}_${t}
            continue 2
         fi
      done
   done
}

_which()
{
   local i OIFS
   # Empty
   [ -z "$1" ] && return
   # check paths
   OIFS="$IFS"
   IFS=:
   for i in $PATH ; do
      [ -x $i/$1 ] && echo $i/$1 && break
   done
   IFS=$OIFS
}

# Like _which, but also consider shell builtins, and multiple alternatives
_program_available()
{
   [ -z "$1" ] && return 0
   local x=
   for x; do
      case "${x}" in
         /*) [ -x "${x}" ] && break;;
         *) type "${x}" >/dev/null 2>&1 && break;;
      esac
      unset x
   done
   [ -n "${x}" ] && echo $x && return 0
   return 1
}

_show_address()
{
   einfo "received address $(_get_inet_address "${IFACE}")"
}

# Basically sorts our modules into order and saves the list
_gen_module_list()
{
   local x= f= force=$1
   if ! ${force} && [ -s "${MODULESLIST}" -a "${MODULESLIST}" -nt "${MODULESDIR}" ]; then
      local update=false
      for x in "${MODULESDIR}"/*.sh; do
         [ -e "${x}" ] || continue
         if [ "${x}" -nt "${MODULESLIST}" ]; then
            update=true
            break
         fi
      done
      ${update} || return 0
   fi

   einfo "Caching network module dependencies"
   # Run in a subshell to protect the main script
   (
   after() {
      eval ${MODULE}_after="\"\${${MODULE}_after}\${${MODULE}_after:+ }$*\""
   }

   before() {
      local mod=${MODULE}
      local MODULE=
      for MODULE; do
         after "${mod}"
      done
   }

   program() {
      if [ "$1" = "start" -o "$1" = "stop" ]; then
         local s="$1"
         shift
         eval ${MODULE}_program_${s}="\"\${${MODULE}_program_${s}}\${${MODULE}_program_${s}:+ }$*\""
      else
         eval ${MODULE}_program="\"\${${MODULE}_program}\${${MODULE}_program:+ }$*\""
      fi
   }

   provide() {
      eval ${MODULE}_provide="\"\${${MODULE}_provide}\${${MODULE}_provide:+ }$*\""
      local x
      for x in $*; do
         eval ${x}_providedby="\"\${${MODULE}_providedby}\${${MODULE}_providedby:+ }${MODULE}\""
      done
   }

   for MODULE in "${MODULESDIR}"/*.sh; do
      sh -n "${MODULE}" || continue
      . "${MODULE}" || continue
      MODULE=${MODULE#${MODULESDIR}/}
      MODULE=${MODULE%.sh}
      eval ${MODULE}_depend
      MODULES="${MODULES} ${MODULE}"
   done

   VISITED=
   SORTED=
   visit() {
      case " ${VISITED} " in
         *" $1 "*) return;;
      esac
      VISITED="${VISITED} $1"

      eval AFTER=\$${1}_after
      for MODULE in ${AFTER}; do
         eval PROVIDEDBY=\$${MODULE}_providedby
         if [ -n "${PROVIDEDBY}" ]; then
            for MODULE in ${PROVIDEDBY}; do
               visit "${MODULE}"
            done
         else
            visit "${MODULE}"
         fi
      done

      eval PROVIDE=\$${1}_provide
      for MODULE in ${PROVIDE}; do
         visit "${MODULE}"
      done

      eval PROVIDEDBY=\$${1}_providedby
      [ -z "${PROVIDEDBY}" ] && SORTED="${SORTED} $1"
   }

   for MODULE in ${MODULES}; do
      visit "${MODULE}"
   done

   printf "" > "${MODULESLIST}"
   i=0
   for MODULE in ${SORTED}; do
      eval PROGRAM=\$${MODULE}_program
      eval PROGRAM_START=\$${MODULE}_program_start
      eval PROGRAM_STOP=\$${MODULE}_program_stop
      eval PROVIDE=\$${MODULE}_provide
      echo "module_${i}='${MODULE}'" >> "${MODULESLIST}"
      echo "module_${i}_program='${PROGRAM}'" >> "${MODULESLIST}"
      echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
      echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
      echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
      : $(( i += 1 ))
   done
   echo "module_${i}=" >> "${MODULESLIST}"
   )

   return 0
}

_load_modules()
{
   local starting=$1 mymods=

   # Ensure our list is up to date
   _gen_module_list false
   if ! . "${MODULESLIST}"; then
      _gen_module_list true
      . "${MODULESLIST}"
   fi

   MODULES=
   if [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
      eval mymods=\$modules_${IFVAR}
      [ -z "${mymods}" ] && mymods=${modules}
   fi

   local i=-1 x= mod= f= provides=
   while true; do
      : $(( i += 1 ))
      eval mod=\$module_${i}
      [ -z "${mod}" ] && break
      [ -e "${MODULESDIR}/${mod}.sh" ] || continue

      eval set -- \$module_${i}_program
      if [ -n "$1" ]; then
         if ! _program_available "$@" >/dev/null; then
            vewarn "Skipping module $mod due to missing program: $@"
            continue
         fi
      fi
      if ${starting}; then
         eval set -- \$module_${i}_program_start
      else
         eval set -- \$module_${i}_program_stop
      fi
      if [ -n "$1" ]; then
         if ! _program_available "$@" >/dev/null; then
            vewarn "Skipping module $mod due to missing program: $@"
            continue
         fi
      fi

      eval provides=\$module_${i}_provide
      if ${starting}; then
         case " ${mymods} " in
            *" !${mod} "*) continue;;
            *" !${provides} "*) [ -n "${provides}" ] && continue;;
         esac
      fi
      MODULES="${MODULES}${MODULES:+ }${mod}"

      # Now load and wrap our functions
      if ! . "${MODULESDIR}/${mod}.sh"; then
         eend 1 "${RC_SVCNAME}: error loading module \`${mod}'"
         exit 1
      fi

      [ -z "${provides}" ] && continue

      # Wrap our provides
      local f=
      for f in pre_start start post_start; do
         eval "${provides}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
      done

      eval module_${mod}_provides="${provides}"
      eval module_${provides}_providedby="${mod}"
   done

   # Wrap our preferred modules
   for mod in ${mymods}; do
      case " ${MODULES} " in
         *" ${mod} "*)
         eval x=\$module_${mod}_provides
         [ -z "${x}" ] && continue
         for f in pre_start start post_start; do
            eval "${x}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
         done
         eval module_${x}_providedby="${mod}"
         ;;
      esac
   done

   # Finally remove any duplicated provides from our list if we're starting
   # Otherwise reverse the list
   local LIST="${MODULES}" p=
   MODULES=
   if ${starting}; then
      for mod in ${LIST}; do
         eval x=\$module_${mod}_provides
         if [ -n "${x}" ]; then
            eval p=\$module_${x}_providedby
            [ "${mod}" != "${p}" ] && continue
         fi
         MODULES="${MODULES}${MODULES:+ }${mod}"
      done
   else
      for mod in ${LIST}; do
         MODULES="${mod}${MODULES:+ }${MODULES}"
      done
   fi

   veinfo "Loaded modules: ${MODULES}"
}

_load_config()
{
   local config="$(_get_array "config_${IFVAR}")"
   local fallback="$(_get_array fallback_${IFVAR})"

   config_index=0
   local IFS="$__IFS"
   set -- ${config}

   # We should support a space separated array for cidr configs
   # But only as long as they do not contain other parameters for the address
   if [ $# = 1 ]; then
      unset IFS
      set -- ${config}
      # Of course, we may have a single address added old style.
      # If the NEXT argument is a v4 or v6 address, it's the next config.
      # Otherwise, it's arguments to the first config...
      if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
         # Not an IPv4/IPv6
         local IFS="$__IFS"
         set -- ${config}
      fi
   fi

   # Ensure that loopback has the correct address
   if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
      if [ "$1" != "null" ]; then
            config_0="127.0.0.1/8"
         config_index=1
      fi
   else
      if [ -z "$1" ]; then
         ewarn "No configuration specified; defaulting to DHCP"
         config_0="dhcp"
         config_index=1
      fi
   fi


   # We store our config in an array like vars
   # so modules can influence it
   for cmd; do
      eval config_${config_index}="'${cmd}'"
      : $(( config_index += 1 ))
   done
   # Terminate the list
   eval config_${config_index}=

   config_index=0
   for cmd in ${fallback}; do
      eval fallback_${config_index}="'${cmd}'"
      : $(( config_index += 1 ))
   done
   # Terminate the list
   eval fallback_${config_index}=

   # Don't set to zero, so any net modules don't have to do anything extra
   config_index=-1
}

# Support functions
_run_if()
{
   local cmd=$1 iface=$2 ifr=${IFACE} ifv=${IFVAR}
   # Ensure that we don't stamp on real values
   local IFACE= IFVAR=
   shift
   if [ -n "${iface}" ]; then
      IFACE="${iface}"
      [ "${iface}" != "${ifr}" ] && IFVAR=$(shell_var "${IFACE}")
   else
      IFACE=${ifr}
      IFVAR=${ifv}
   fi
   ${cmd}
}
interface_exists()
{
   _run_if _exists "$@"
}
interface_up()
{
   _run_if _up "$@"
}
interface_down()
{
   _run_if _down "$@"
}

start()
{
   local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
   local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
   local metric=0 _up_before_preup
   eval _up_before_preup="\$up_before_preup_${IFVAR}"
   [ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup

   einfo "Bringing up interface ${IFACE}"
   eindent

   if [ -z "${MODULES}" ]; then
      local MODULES=
      _load_modules true
   fi

   # We up the iface twice if we have a preup to ensure it's up if
   # available in preup and afterwards incase the user inadvertently
   # brings it down
   if [ "$(command -v preup)" = "preup" ]; then
      yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
      ebegin "Running preup"
      eindent
      preup || return 1
      eoutdent
   fi

   _up 2>/dev/null

   for module in ${MODULES}; do
      if [ "$(command -v "${module}_pre_start")" = "${module}_pre_start" ]; then
         ${module}_pre_start || exit $?
      fi
   done

   if ! _exists; then
      eerror "ERROR: interface ${IFACE} does not exist"
      eerror "Ensure that you have loaded the correct kernel module for your hardware"
      return 1
   fi

   if ! _wait_for_carrier; then
      if service_started devd; then
         ewarn "no carrier, but devd will start us when we have one"
         mark_service_inactive "${RC_SVCNAME}"
      else
         eerror "no carrier"
      fi
      return 1
   fi

   local config= config_index=
   _load_config
   config_index=0

   eval our_metric=\$metric_${IFVAR}
   if [ -n "${our_metric}" ]; then
      metric=${our_metric}
   elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
      : $(( metric += $(_ifindex) ))
   fi

   while true; do
      eval config=\$config_${config_index}
      [ -z "${config}" ] && break

      set -- ${config}
      if [ "$1" != "null" -a "$1" != "noop" ]; then
         ebegin "$1"
      fi
      eindent
      case "$1" in
         noop)
            if [ -n "$(_get_inet_address)" ]; then
               oneworked=true
               break
            fi
            ;;
         null) :;;
         [0-9]*|*:*) _add_address ${config};;
         *)
            if [ "$(command -v "${config}_start")" = "${config}_start" ]; then
               "${config}"_start
            else
               eerror "nothing provides \`${config}'"
            fi
            ;;
      esac
      if eend $?; then
         oneworked=true
      else
         eval config=\$fallback_${config_index}
         if [ -n "${config}" ]; then
            fallback=true
            eoutdent
            ewarn "Trying fallback configuration ${config}"
            eindent
            eval config_${config_index}=\$config
            unset fallback_${config_index}
            : $(( config_index -= 1 ))
         fi
      fi
      eoutdent
      : $(( config_index += 1 ))
   done

   if ! ${oneworked}; then
      if [ "$(command -v failup)" = "failup" ]; then
         ebegin "Running failup"
         eindent
         failup
         eoutdent
      fi
      return 1
   fi

   local hidefirstroute=false first=true routes=
   if ${fallback}; then
      routes="$(_get_array "fallback_routes_${IFVAR}")"
   fi
   if [ -z "${routes}" ]; then
      routes="$(_get_array "routes_${IFVAR}")"
   fi
   if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
      if [ "${config_0}" != "null" ]; then
         routes="127.0.0.0/8 via 127.0.0.1
${routes}"
         hidefirstroute=true
      fi
   fi

   local OIFS="${IFS}" SIFS="${IFS-y}"
   local IFS="$__IFS"
   for cmd in ${routes}; do
      unset IFS
      if ${first}; then
         first=false
         einfo "Adding routes"
      fi
      eindent
      ebegin ${cmd}
      # Work out if we're a host or a net if not told
      case ${cmd} in
         -net" "*|-host" "*);;
         *" "netmask" "*)                   cmd="-net ${cmd}";;
         *.*.*.*/32*)                       cmd="-host ${cmd}";;
         *.*.*.*/*|0.0.0.0|0.0.0.0" "*)     cmd="-net ${cmd}";;
         default|default" "*)               cmd="-net ${cmd}";;
         *)                                 cmd="-host ${cmd}";;
      esac
      if ${hidefirstroute}; then
         _add_route ${cmd} >/dev/null 2>&1
         hidefirstroute=false
      else
         _add_route ${cmd} >/dev/null
      fi
      eend $?
      eoutdent
   done
   if [ "${SIFS}" = "y" ]; then
      unset IFS
   else
      IFS="${OIFS}"
   fi

   for module in ${MODULES}; do
      if [ "$(command -v "${module}_post_start")" = "${module}_post_start" ]; then
         ${module}_post_start || exit $?
      fi
   done

   if [ "$(command -v postup)" = "postup" ]; then
      ebegin "Running postup"
      eindent
      postup
      eoutdent
   fi

   return 0
}

stop()
{
   local IFACE=${RC_SVCNAME#*.} module=
   local IFVAR=$(shell_var "${IFACE}") opts=

   einfo "Bringing down interface ${IFACE}"
   eindent

   if [ -z "${MODULES}" ]; then
      local MODULES=
      _load_modules false
   fi

   if [ "$(command -v predown)" = "predown" ]; then
      ebegin "Running predown"
      eindent
      predown || return 1
      eoutdent
   else
      if is_net_fs /; then
         eerror "root filesystem is network mounted -- can't stop ${IFACE}"
         return 1
      fi
   fi

   for module in ${MODULES}; do
      if [ "$(command -v "${module}_pre_stop")" = "${module}_pre_stop" ]; then
         ${module}_pre_stop || exit $?
      fi
   done

   for module in ${MODULES}; do
      if [ "$(command -v "${module}_stop")" = "${module}_stop" ]; then
         ${module}_stop
      fi
   done

   # Only delete addresses for interfaces that exist
   if _exists; then
      # PPP can manage it's own addresses when IN_BACKGROUND
      # Important in case "demand" set on the ppp link
      if ! (yesno ${IN_BACKGROUND} && is_ppp) ; then
         _delete_addresses "${IFACE}"
      fi
   fi

   for module in ${MODULES}; do
      if [ "$(command -v "${module}_post_stop")" = "${module}_post_stop" ]; then
         ${module}_post_stop
      fi
   done

   # If not in background, and not loopback then bring the interface down
   # unless overridden.
   if ! yesno ${IN_BACKGROUND} && \
   [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
      eval module=\$ifdown_${IFVAR}
      module=${module:-${ifdown:-YES}}
      yesno ${module} && _down 2>/dev/null
   fi

   type resolvconf >/dev/null 2>&1 && resolvconf -d "${IFACE}" 2>/dev/null

   if [ "$(command -v "postdown")" = "postdown" ]; then
      ebegin "Running postdown"
      eindent
      postdown
      eoutdent
   fi

   return 0
}

(c'est un lien symbolique vers net.lo)
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 12:01 pm    Post subject: Reply with quote

Hello,

Le manuel ne semble pas très utile par rapport à udev (il mentionne toujours eth0 ou wlan0)...

Voici un lien vers le wiki, qui est un peu plus utile : http://wiki.gentoo.org/wiki/Udev/upgrade#Fixing_network_interfaces
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Fri Aug 23, 2013 12:51 pm    Post subject: Reply with quote

Je crois qu'on déplace le problème et qu'on s'éloigne de la solution.
- j'ai un PC qui se connecte au réseau via une clé USB dont le pilote est géré par ndiswrapper
- ndiswrapper est bien installé sous gentoo (dixit "modinfo ndiswrapper"), le pilote est bien détecté (dixit "ndiswrapper -l")
- wlan0 n'est pas actif. Si je dois utiliser une autre appellation que wlan0, peut m'en chaut, du moins que ça tourne !
- ifconfig ne connait que eth0. Peut-être faudrait-il désactiver eth0 au démarrage pour que wlan0 (ou tout autre nom que gentoo peut accepter) soit actif ?

J'avais prévu que la prochaine étape (après la configuration correcte du réseau) serait l'installation de la configuration graphique (CG NVidia, à priori ça risque de ne pas être simple). Peut-être serait-il bon de passer directement à cette étape et essayer d'installer le réseau avec un outil graphique (wicd par ex.)
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 12:53 pm    Post subject: Reply with quote

Tu as une interface nommée eth0 ? Alors en effet, le problème n'est pas lié à udev.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 12:55 pm    Post subject: Reply with quote

Pour nous aider, pourrais-tu nous dire au moins quelle est cette carte réseau wifi ?
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Fri Aug 23, 2013 1:17 pm    Post subject: Reply with quote

Clé WIFI Advance, model WL-54USB
Les drivers que j'utilise sous gentoo sont les mêmes que sous ubuntu. Au fait, mes OS sont en x86-64.
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Fri Aug 23, 2013 1:20 pm    Post subject: Reply with quote

peux-tu nous donner le résultat de lsusb ?
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
CryoGen
Veteran
Veteran


Joined: 11 Feb 2004
Posts: 1426
Location: Bamako - Mali - Afrique

PostPosted: Fri Aug 23, 2013 6:42 pm    Post subject: Reply with quote

et un "ifconfig -a" aussi.
_________________
- CryoGen` on #gentoofr@irc.freenode.net
- ~amd64 / KDE4
- I'm the bone of my sword...
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Sat Aug 24, 2013 8:18 am    Post subject: Reply with quote

lsusb (en mode autonome):
Code:
Bus 001 Device 002: ID 1286:1fab Marvell Semiconductor, Inc. 88W8338 [Libertas] 802.11g
Bus 001 Device 003: ID 03f0:9711 Hewlett-Packard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

ifconfig -a (toujours mode autonome)
Code:
enp0s15: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:1f:d0:95:88:27  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480
        sit  txqueuelen 0  (IPv6-in-IPv4)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ndiswrapper -l (autonome):
Code:
netmw226 : driver installed
   device (1286:1FAB) present

et enfin, toujours en mode autonome, "modinfo ndiswrapper":
Code:
filename:       /lib/modules/3.8.13-gentoo/misc/ndiswrapper.ko
license:        GPL
version:        1.58
description:    NDIS wrapper driver
author:         ndiswrapper team <ndiswrapper-general@lists.sourceforge.net>
srcversion:     4E702FD03ACE7E03040C2C1
depends:       
vermagic:       3.8.13-gentoo SMP mod_unload
parm:           if_name:Network interface name or template (default: wlan%d) (charp)
parm:           proc_uid:The uid of the files created in /proc (default: 0). (int)
parm:           proc_gid:The gid of the files created in /proc (default: 0). (int)
parm:           debug:debug level (int)
parm:           hangcheck_interval:The interval, in seconds, for checking if driver is hung. (default: 0) (int)
parm:           utils_version:Compatible version of utils (read only: 1.9) (charp)


Apparemment, tout y est (ndiswrapper), mais le module (ndiswrapper.ko) semble ne pas être chargé
[Edit]
Bizarre : en mode "chroot" :
Code:
Ubuntu / # lsusb
unable to initialize libusb: -99

NB : je viens de m'installer une carte (hub ?) de 2 ports usb3 via pci-e, ceci explique peut-être celà
[/Edit]
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Sun Aug 25, 2013 7:17 am    Post subject: Reply with quote

Je crois que je viens de faire un grand pas en avant. En compulsant les options de ndiswrapper, j'ai vu passer fugitivement le terme "/proc".
Tilt ! Eureka ! Gonflant, mais c'est bien mur ! :P ! J'ai installé ndiswrapper en mode chroot, seul moyen que j'avais pour avoir une connexion. Or, dans cette configuration, "/proc" est une partition ubuntu montée justement (entre autre) pour permettre l'accès au net ! Donc si j'installe ndiswrapper, la partie qui utilise "/proc" et/ou qui s'y installe ne s'installe pas dans gentoo !
J'ai donc isolé le tarball de ndiswrapper, l'ai décompressé puis, en mode "autonome", j'ai recompilé la bête ("make" puis "make install").
Cependant, "modprobe ndiswrapper" refuse de fonctionner en mode autonome (je viens de vérifier : en mode chroot ça marche!)
Au besoin, je désinstalle tout le bazar (ndiswrapper) et reprend depuis le début.
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Sun Aug 25, 2013 1:30 pm    Post subject: Reply with quote

Ça bute sur wlan0. J'ai modifié /etc/conf.d/net pour utiliser sit0, ça va un peu plus loin, mais ça bute sur "usr/bin/busybox"
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Mon Aug 26, 2013 7:32 am    Post subject: Reply with quote

Impossible de charger ndiswrapper en module. "modprobe ndiswrapper" me renvoit :
Code:
modprobe: ERROR: could not insert 'ndiswrapper': Exec format error

Serait-ce une option erronée dans la config du noyau ?
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Mon Aug 26, 2013 7:36 am    Post subject: Reply with quote

Probablement.
Vérifie le format du module en question : est-il en ELF ? En 64 bits ?
Code:
modinfo ndiswrapper


Essaie d'activer tous les types d'exécutables dans la configuration du noyau (surtout 32 bits).
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Mon Aug 26, 2013 9:33 am    Post subject: Reply with quote

modinfo : voir message 9
lsmod ne renvoie rien (= aucun module chargé ?)
A priori, ndiswrapper est en version "all", je comprend par là compatible 32 et 64 (je l'utilise sous ubuntu et debian avec une config 64 pour les 2, et ça tourne. Avant de passer en 64 bits pour les 2 OS, ndiswrapper tournait aussi en 32)
Par contre, je ne comprend pas "module en ELF" : comment savoir ?
Copie du modinfo ndiswrapper :
Code:

filename:       /lib/modules/3.8.13-gentoo/misc/ndiswrapper.ko
license:        GPL
version:        1.58
description:    NDIS wrapper driver
author:         ndiswrapper team <ndiswrapper-general@lists.sourceforge.net>
srcversion:     4E702FD03ACE7E03040C2C1
depends:       
vermagic:       3.8.13-gentoo SMP mod_unload
parm:           if_name:Network interface name or template (default: wlan%d) (charp)
parm:           proc_uid:The uid of the files created in /proc (default: 0). (int)
parm:           proc_gid:The gid of the files created in /proc (default: 0). (int)
parm:           debug:debug level (int)
parm:           hangcheck_interval:The interval, in seconds, for checking if driver is hung. (default: 0) (int)
parm:           utils_version:Compatible version of utils (read only: 1.9) (charp)


mais lsmod ne détecte aucun module

NB : c'est dans les paramètres renvoyés par "modinfo ndiswrapper" que j'ai détecté la présence de "/proc" relatée dans un précédent post
J'ai depuis réinstallé ndiswrapper en mode autonome, puis tenté la recompilation du noyau (make + make install après make menuconfiig,+> rien de changé, essai avec genkernel => même résultat : aucun module chargé et apparemment aucun module chargeable (c'est ce qui me fait penser à une mauvaise configuration pour la compilation du noyau => quelle option pourrait bloquer l'utilisation de modules ?)
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)


Last edited by FDZ on Mon Aug 26, 2013 9:43 am; edited 1 time in total
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Mon Aug 26, 2013 9:36 am    Post subject: Reply with quote

Pourrais-tu regarder les traces kernel (dmes) après la tentative d'insertion du module ?
Il devrait y avoir des messages un peu plus explicites.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Mon Aug 26, 2013 11:32 am    Post subject: Reply with quote

J'ai d'abord recompilé le noyau afin de valider l'installation du driver "mouveau" pour ma CG NVidia, en module. Au cours du make, j'ai pu vérifier que les éléments concernés s'installaient bien en module (apparition du [M] dans les messages de compil)
Après make install et vérification de la bonne installation du nouveau noyau dans /boot, j'ai rebooté afin d'être sur d'être sous ce noyau. lsmod me dit toujours qu'aucun module n'est présent, et "modprobe ndiswrapper" me renvoie le même message d'erreur.
Les traces dmesg postérieures au "modprobe ndiswrapper" sont
Code:
[   10.870361] ndiswrapper: version magic '3.8.13-gentoo SMP mod_unload modversions ' should be '3.8.13-gentoo SMP mod_unload '
[   10.889851] ndiswrapper: version magic '3.8.13-gentoo SMP mod_unload modversions ' should be '3.8.13-gentoo SMP mod_unload '
[   85.221811] ndiswrapper: version magic '3.8.13-gentoo SMP mod_unload modversions ' should be '3.8.13-gentoo SMP mod_unload '
[  582.385537] conf (2216) used greatest stack depth: 4256 bytes left
[  666.321912] mv (5172) used greatest stack depth: 4008 bytes left
[ 1121.123762] ndiswrapper: version magic '3.8.13-gentoo SMP mod_unload modversions ' should be '3.8.13-gentoo SMP mod_unload '

Bizarre : pourquoi 4 lignes identiques alors que je n'ai utilisé qu'une seule fois modprobe ?
Il semblerait que je doive d'abord désinstaller ndiswrapper, alors que justement je cherche à l'installer ?? :?
Question subsidiaire : faudrait il vider le fichier /var/log/dmesg ? (lignes 4 et 5 : "used greater stack depth")
D'autre part, je suis surpris que ce fichier /var/dmesg soit différent suivant que je suis en mode chroot ou en mode autonome, pourtant /var n'est pas un fichier monté pour chroot (du moins pas volontairement) [ les lignes citées sont bien en mode "autonome" ]
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Mon Aug 26, 2013 11:38 am    Post subject: Reply with quote

Hello,

Pour éviter les ennuis, ne fais plus d'allers-retours entre Ubuntu et Gentoo, on ne s'y retrouve plus.

Comment as-tu installé/configuré ndiswrapper ? Via "emerge ndiswrapper" ?

Essaie de le réinstaller une fois que ton noyau Gentoo tourne.
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8704
Location: ~Brussels - Belgique

PostPosted: Mon Aug 26, 2013 11:43 am    Post subject: Reply with quote

Sinon, as-tu essayé une alternative : le pilote "libertas" du noyau et linux-firmware ?
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Mon Aug 26, 2013 2:26 pm    Post subject: Reply with quote

Installation ndiswrapper : je l'ai installé d'abord avec "emerge ndiswrapper" (en mode chroot, forcément !)
Puis sous gentoo, j'ai isolé le terball et l'ai réinstallé par compilation classique (make puis make install)
Ensuite, je l'ai désinstallé (make uninstall) et réinstallé toujours sous gentoo (mode autonome) avec "emerge ndiswrapper" (le tarball étant dejà présent, la connexion n'est pas indispensable pour l'installation).

ndiswrapper est bien installé et fonctionnel : "ndiswrappper -l" me renvoie bien les données correctes de la clé (pilote win et adresse usb).
"modinfo" me confirme que le module "ndiswrapper.ko" a bien été créé mais lsmod m'informe que les modules ne sont pas rattachés au noyau.
J'avais déjà essayé les pilotes libertas sous ubuntu, ça s'est soldé par un échec ; mais c'était il y a longtemps et je vais voir s'il y a de l'espoir de ce coté là

Noyau : j'ai réinitialisé grub sous ubuntu, il a bien détecté la partition bootable gentoo et c'est ainsi que je me logue en gentoo "autonome" (= sans passer par un autre OS). Le noyau gentoo est donc opérationnel, mais modprobe ne fonctionnne pas (exec format error).
NB : j'ai configuré le noyau pour valider les options (en module) du driver "nouveau" pour ma CG NVidia, mais ces modules n'apparaissent pas dans lsmod.
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
FDZ
Tux's lil' helper
Tux's lil' helper


Joined: 23 Aug 2013
Posts: 86

PostPosted: Tue Aug 27, 2013 5:33 am    Post subject: Reply with quote

J'ai trouvé un site qui me propose un tarball en tant que pilote pour une carte usb homonyme à la mienne.
- problème 1 : je ne suis pas du tout sur que cette solution soit opérationnelle, je parle d'expérience, ayant déjà tenté cette approche sans succès
- problème 2 : il est fort probable que ce pilote soit installable en module : je ne vois pas pourquoi l'installation de ce module se passerait bien alors que je n'arrive pas à faire fonctionner modprobe avec ndiswrapper, il faudrait supposer que le dysfonctionnement de modprobe soit du à ndiswrapper, ce dont je doute fort (tant qu'à faire, je vais essayer d'avancer dans l'installation des modules graphiques)
_________________
"On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre" (Victor HUGO)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum