Journal hardware4linux.info

Posté par (page perso) .
0
17
juin
2007
Je travaille sur un nouveau site http://hardware4linux.info/ pour reporter et chercher les compatibilités et incompatibilités entre le matériel et les distribs Linux. J'ai besoin d'aide pour valider les premières étapes d'analyse du système. Si vous avez un peu de temps et que vous voulez m'aider, pourriez-vous suivre les étapes suivantes:



Tout feedback bienvenu!
  • # Super idée !

    Posté par (page perso) . Évalué à 1.

    Merci pour ton travail,

    Par contre j'ai juste un petit problème : je suis sous ubuntu 7.04, j'ai suivis la procédure avec alien etc...

    Et quand j'exécute ton programme voici ce que ça me donne :


    $ sudo /opt/hardware4linux.info/bin/hwreport /tmp/report.
    /opt/hardware4linux.info/bin/hwreport: 78: scan-printers: not found

  • # Beep - 404

    Posté par (page perso) . Évalué à 10.

    Pour s'inscrire, il faut être d'accord avec les "Terms of Service". mais quand on clique dessus, on a droit à un joli message du type : "Error, the page you requested doesn't exist." :(

    J'aime pas m'inscrire à un service dont je ne connais pas les conditions d'utilisation.
  • # super mais

    Posté par (page perso) . Évalué à 2.

    Je n'ai ni debian, ni redhat, ni mandriva, ni ubuntu ni ....
    J'ai ArchLinux ... qui n'est pas pris en compte par alien.

    n'y a-t-il pas un tar.gz contenant la source du soft qu'on pourrait compiler... et faire un package adapté a notre distrib ?
    • [^] # Re: super mais

      Posté par (page perso) . Évalué à 2.

      Archlinux n'est pas compatible avec la LSB ?

      Sinon tu peux prendre le src.rpm pour avoir les sources. Tu peux extraire un rpm sur une Archlinux ? Sinon je mettrai aussi l'archive tar.
      • [^] # Re: super mais

        Posté par . Évalué à 1.

        Oui, mais il semble que le src.rpm mène aussi à une page non disponible ...

        Si vous n'aimez pas ce commentaire c'est qu'il est ironique.

        • [^] # Re: super mais

          Posté par (page perso) . Évalué à 1.

          oops désolé. C'est corrigé.
          • [^] # Re: super mais les sources ?

            Posté par (page perso) . Évalué à 3.

            Je suis aussi en attente des sources. J'ai bien envie de contribuer au projet, mais installer un paquet pour extraire les sources, ça me plaît pas (oui, je sais, c'est de la flemmardise).

            Donc si ya juste un tarball à télécharger/compiler, je fonce.
          • [^] # Re: super mais

            Posté par (page perso) . Évalué à 4.

            C'est rigolo, lorsque je clique sur le lien src.rpm epiphany me lance le plugin mplayer ... mais par contre ni son ni vidéo :(

            je crois que je vais élécharger avec wget. Et tenter de trouver un outil pour le décompresser.
            • [^] # Re: super mais

              Posté par (page perso) . Évalué à 2.

              Pareil ici, wget reporte :

              Length: unspecified [audio/x-pn-realaudio-plugin]

              Des histoires de MIME-type foirés, probablement (aucune idée de comment ces machins marchent).
              • [^] # Re: super mais

                Posté par . Évalué à 2.

                tu peux éditer le fichier /etc/mailcap pour ganger cela (où créer un .mailcap dans ton home si tu veux que ça ne s'applique qu'à ton user).
                • [^] # Re: super mais

                  Posté par . Évalué à 4.

                  s/ganger/changer

                  et man mailcap pour info sur la syntaxe.

                  typiquement tu peux créer dans un .mailcap avec une ligne de la sorte :

                  application/x-rpm-package; /chemin/vers/la/commande/a/utiliser '%s' ; needsterminal; description=rpm package; nametemplate=%s.rpm

                  le needsterminal est optionnel si ta commande doit se lancer dans une console
      • [^] # Re: super mais

        Posté par (page perso) . Évalué à 10.

        Il y a plein de distros qui n'ont pas d'outils rpm (enfin ceux-ci ne sont pas supportés par la distro), par exemple gentoo, mais je suis bien sûr que ce n'est pas la seule.

        Quand on dit "télécharger les sources", on attend une archive toute bête avec des fichiers dedans, pas un paquet dans un format pas supporté par plein de gens. Surtout que la page de téléchargement n'est pas claire du tout.

        Enfin brefle, tout ça pour dire que fournir un .tar.gz pour les sources me paraît indispensable.
        • [^] # Re: super mais

          Posté par (page perso) . Évalué à 3.

          Bon, je viens d'essayer de compiler tout ça, ce fut galère (pas de LSB sur mon système, le .spec est lisible mais franchement, pourquoi ne pas faire un bête Makefile ?). Dans pciutils, j'ai eu un problème de compilation :

          In file included from i386-ports.c:16:
          i386-io-linux.h:14: error: redefinition of ‘inb’
          /usr/include/sys/io.h:45: error: previous definition of ‘inb’ was here


          Avec un gros "#if 0" autour des définitions qui enquiquinaient, c'est passé (pi j'avais déjà pciutils, de toute manière).

          Un --help ou --usage pour hwreport me paraît indispensable (et qui ne soit pas considéré comme le nom du fichier...), j'ai du revenir sur ton journal pour trouver la syntaxe.

          Sinon, /proc/cpuinfo n'est pas un vrai fichier, donc le copier ne marche pas (ça donne un fichier vide). Remplacer par "cat /proc/cpuinfo > $DEST/cpuinfo" devrait bien mieux marcher.

          Enfin, osinfo trouve la version de gentoo avec /etc/gentoo-release, qui correspond à la première installation (2.5 ans dans mon cas), pas très intéressant. Bien mieux de voir sur quoi pointe /etc/make.profile.


          Sinon, c'est une bonne initiative, mais il faudrait que ce soit aussi foolproof que possible. Or là, si on n'a pas ubuntu ou une distro rpm based, c'est franchement galère. Virer la dépendance LSB, rajouter un vrai Makefile, fournir un bête tar.gz et permettre de lancer hwreport sans rien installer (juste en patchant le PATH) seraient déjà de bons changements.
    • [^] # Re: super mais

      Posté par (page perso) . Évalué à 3.

      ma contribution, ce PKGBUILD. Si vous voulez l'adapter pour d'autres distributions, je pense que c'est facile. C'est un simple script bash.
      # Contributor: Mildred <silkensedai@online.fr>
      # kate: hl Bash; space-indent on; indent-width 2;
      
      pkgname=hardware4linux.info-collector
      pkgver=0.7.1
      pkgrel=1
      pkgdesc="Collect system informations for the hardware4linux.info site"
      arch=(i686)
      url="http://hardware4linux.info"
      license=('GPL')
      depends=()
      makedepends=(rpmextract)
      provides=()
      conflicts=()
      replaces=()
      backup=()
      install=
      _dmiver=2.9
      _pciver=2.2.4
      source=('http'://hardware4linux.info/res/lsb-hardware4linux.info-collector-$pkgver-1.src.rpm
              'http'://download.savannah.gnu.org/releases/dmidecode/dmidecode-$_dmiver.tar.bz2
              'ftp'://atrey.karlin.mff.cuni.cz/pub/linux/pci/pciutils-$_pciver.tar.gz)
      noextract=()
      md5sums=('d6f0fecf0458b99e2cbc147b2922857b'
               '3dac4b1817012ffebd78671473d8f56c'
               '5629fdb049f189fb853e7021f85553d2')
      
      build() {
        ( set -e
        cd "$startdir/src/"
      
        msg "In `pwd` extract sources ..."
      
        rpmextract.sh lsb-hardware4linux.info-collector-$pkgver-1.src.rpm
        tar jxf hwreport-$pkgver.tar.bz2
      
        msg "Build ..."
      
        cd "hwreport-$pkgver"
        cc -o scan-printers scan-printers.c
        cd ..
        cd dmidecode-$_dmiver
        make CC=cc
        cd ..
        cd pciutils-$_pciver
        make CC="cc -D__KERNEL_STRICT_NAMES -D__GLIBC__=2 -D__GLIBC_MINOR__=4 -O2"
        cd ..
      
        msg "Install ..."
      
        mkdir -p "$startdir/pkg/usr/bin"
        install "hwreport-$pkgver/scan-printers" "$startdir/pkg/usr/bin/"
        install "hwreport-$pkgver/hwreport"      "$startdir/pkg/usr/bin/"
        install "hwreport-$pkgver/osinfo"        "$startdir/pkg/usr/bin/"
        install "dmidecode-$_dmiver/dmidecode"   "$startdir/pkg/usr/bin/"
        install "pciutils-$_pciver/lspci"        "$startdir/pkg/usr/bin/"
        )
      }
      
      Par contre, lorsque je lance hwreport /tmp/report, j'ai :
      Unsupported operating system
      • [^] # Re: super mais

        Posté par (page perso) . Évalué à 1.

        tu es sur quelle distrib ? C'est osinfo qui n'arrive pas à détecter ta distrib. Tu peux m'indiquer comment la détecter et trouver la version et l'architecture ?
        • [^] # Re: super mais

          Posté par (page perso) . Évalué à 3.

          ArchLinux.

          le fichier /etc/arch-release existe mais est vide.

          Le seul moyen que je vois pour détecter la release c'est avec /etc/issue qui est utilisé par agetty pour afficher la distribution au dessus du prompt de login. Tu peux ainsi avoir le nom de la release avec la commande : grep Arch /etc/issue | sed -r 's/^Arch Linux \(([^\)]*)\).*$/\1/'

          Mais en fait, comme Arch Linux n'a pas vraiment de releases (toujours mis à jour) ... le mieux c'est de ne pas chercher à détecter la release :


          Originally /etc/arch-release was removed because it's wrong for Arch as we use rolling release system.
          But then it was added again for compatability (some packages check for its existence to know they are running on Arch)
          http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/base/filesystem(...)

          http://bugs.archlinux.org/task/7163

          Je te propose aini pour osinfo :


          elif [ -r /etc/arch-release ]; then
          n="Arch Linux"
          r=`sed 's/.* \([0-9.]*\) .*/\1/' < /etc/arch-release`
          [ -z "$r" ] && r=None
          • [^] # Re: super mais

            Posté par (page perso) . Évalué à 1.

            Je préfère avoir une info sur la version même si c'est variable. Tu peux essayer la version de osinfo dispo sur http://moustix.dyndns.org/fred/share/osinfo et me reporter le résultat ?
            • [^] # Re: super mais

              Posté par (page perso) . Évalué à 3.

              Distribution "Arch Linux"
              Version "Duke"

              Enfin je ne trouve pas ça très propre car si je veux changer le prompt de agetty je me retrouve dans les choux.

              je pense que ce serait quand même bien, si après cela il ne trouve toujours pas de version, de mettre par exemple "Unspecified" afin de ne pas tout bloquer.

              Mais tu peux aussi prendre la version de pacman installée (le gestionnaire de paquets) comme indication de version. Par exemple pacman -Qi pacman | grep "^Version " | sed 's/^.*: \(.*\)$/\1/' me donne 3.0.4-4
              • [^] # Re: super mais

                Posté par (page perso) . Évalué à 2.

                --- archlinux.fr/hardware4linux.info-collector/pkg/usr/bin/osinfo 2007-06-18 08:44:00.000000000 +0200
                +++ /usr/bin/osinfo 2007-06-18 09:04:09.000000000 +0200
                @@ -88,7 +88,8 @@
                # tested on:
                elif [ -r /etc/arch-release ]; then
                n="Arch Linux"
                - r=`sed 's/.* \([0-9.]*\) .*/\1/' < /etc/arch-release`
                +# r=`sed 's/.* \([0-9.]*\) .*/\1/' < /etc/arch-release`
                + r=`grep -o '(\w*)' < /etc/issue`
                # tested on:
                elif [ -r /etc/slackware-version ]; then
                n=`sed 's/\([^0-9.]*\) [0-9.]*.*/\1/' < /etc/slackware-version`
                qui n'est pas propre du tout, mais qui fonctionne au moins un petit peu ! La version de pacman ne coïncide pas avec la version de Arch, ceux-ci ayant décider de faire coïncider le calendrier de leurs releases avec les releases du noyau.
                • [^] # Re: super mais

                  Posté par (page perso) . Évalué à 4.

                  Mon patch est légèrement différent :
                  === modified file 'osinfo'
                  --- osinfo	2007-06-19 20:50:43 +0000
                  +++ osinfo	2007-06-19 20:54:19 +0000
                  @@ -88,7 +88,9 @@
                   # tested on:
                   elif [ -r /etc/arch-release ]; then
                       n="Arch Linux"
                  -    r=`sed 's/.* \([0-9.]*\) .*/\1/' < /etc/arch-release`
                  +    #r=`sed 's/.* \([0-9.]*\) .*/\1/' < /etc/arch-release`
                  +    r=`grep -o '(\w*)' /etc/issue | sed 's/(\(.*\))/\1/'`
                  +    [ -z "$r" ] && r=None
                   # tested on:
                   elif [ -r /etc/slackware-version ]; then
                       n=`sed 's/\([^0-9.]*\) [0-9.]*.*/\1/' < /etc/slackware-version`
                  
                  
                  Tu peux mettre sur ton site que pour installer ce paquet sur ArchLinux, il faut :
                  $ cd
                  $ mkdir hardware4linux
                  $ cd hardware4linux
                  $ wget 'http://aur.archlinux.org/packages/hardware4linux.info-collec(...)
                  $ makepkg
                  $ pacman -U hardware4linux.info-collector-0.7.1-1-i686.pkg.tar.gz
                  Et que pour générer le rapport :
                  $ sudo hwreport /tmp/report
                  L'adresse du package source est : http://aur.archlinux.org/packages.php?do_Details=1&ID=11(...)
  • # confirmation?

    Posté par (page perso) . Évalué à 2.

    Bonjour,
    J'ai essayé de m'inscrire sur le site. A priori ça a fonctionné, mais j'attends toujours le mail de confirmation pour valider mon inscription.

    Pour le reste, téléchargement du rpm, alien et génération du tarball, tout semble avoir correctement fonctionné (Debian Sid)
    • [^] # Re: confirmation?

      Posté par (page perso) . Évalué à 2.

      Vérifie dans ton répertoire de spam, c'est là que ça avait atterri dans mon cas.
      • [^] # Re: confirmation?

        Posté par (page perso) . Évalué à 2.

        Même pas, ni chez moi (faut d'ailleurs que je pense à remettre un antispam, merci de m'y refaire penser) ni chez mon FAI (Orange).
        Je viens de refaire un inscription, avec un autre nom d'utilisateur (le premier étant pris par ma précédente inscription, je pense), je verrais bien ce que cela va donner.
        • [^] # Re: confirmation?

          Posté par (page perso) . Évalué à 1.

          C'était effectivement un problème d'antispam :/ Il a été mis en place le 14 et je n'ai été prévenu qu'hier (j'ignore s'il s'agit d'une demande de mes parents, puisque mon mail est lié à leur abonnement, ou si mon FAI l'a mis tout seul).
          Pardon du dérangement...
  • # Fedora

    Posté par (page perso) . Évalué à 2.

    Le projet Fedora est en train de développer un truc qui y ressemble :
    https://hosted.fedoraproject.org/projects/LHCP
    Ca vaut peut-être le coup de jeter un oeil ?
    • [^] # Re: Fedora

      Posté par (page perso) . Évalué à 1.

      Merci pour le lien mais il n'y a pas grand chose pour l'instant.
      • [^] # Re: Fedora

        Posté par (page perso) . Évalué à 2.

        • [^] # Re: Fedora

          Posté par . Évalué à 3.

          Ubuntu intègre également un programme de collecte de données : hal-device-manager.
          Il pose un certain nombre de questions avant de renvoyer le résultat quelque part... je n'ai pas trop cherché où.

          Ce que j'espère avec ton projet, c'est un "vrai" projet de collecte d'informations hardware "compatible linux".

          Je cherche en ce moment à changer de PC, et alors que tu as trouvé la super carte mère qui va mettre le feux à ta tour. Tu te rends compte après quelques recherches sur les forums, qu'il y a des incompatibilités avec le PATA à cause de contrôleurs JMicron et que tu n'auras pas de réseau non plus a cause d'un certain Marvell...

          Bref, si ton projet peu aboutir à un client équivalent à celui d'ubuntu mais installé en standard sur les TOUTES les distributions, ça sera un grand pas en avant...

          J'ai aussi une autre idée en tête qui me laisser rêver que quelqu'un qui a plus de compétences que moi fasse un live-CD pour que les sites de test de matériels puissent *simplement* faire des test de compatibilité et/ou bench.
          C'est entre autre comme cela que les constructeurs auront une plus grande pression.
        • [^] # Re: Fedora

          Posté par (page perso) . Évalué à 2.

          Oui c'est intéressant mais mon projet devrait permettre d'accéder à plus de détails sur les composants et être indépendant des distribs.
  • # Oh oui !

    Posté par . Évalué à 2.

    Depuis le temps que j'attends un site unique pour savoir quel matériel compatible Linux acheter, je ne peux que t'encourager dans ce projet, bravo !

    Quand l'étape de recueil des données constructeurs sera sans bugs (pour moi ça a très bien fonctionné ), il faudra penser à un indicateur visuel du niveau de compatibilité comme «fonctionne parfaitement», «fonctionne partiellement», «ne fonctionne pas du tout» ou «nécessite une manipulation», et à la possibilité de laisser des commentaires pour ce dernier cas notamment.

    À terme, tu peux même envisager, pour financer le site, des liens publicitaires de constructeurs de matériel qui s'intéressent à ce marché de niche .
    • [^] # Re: Oh oui !

      Posté par (page perso) . Évalué à 1.

      Merci. Effectivement c'est l'étape suivante dans le développement du site mais je voudrais être sûr de ne pas avoir de problème de collecte avant d'attaquer cette étape.

      En ce qui concerne le financement, ce n'est pas à l'ordre du jour. Je veux rester indépendant.
    • [^] # Re: Oh oui !

      Posté par . Évalué à 3.

      Dans le même genre, ça serait d'indiquer s'il faut des blobs proprios pour faire tourner le matos.
      Genre firmware fermé, utilisation des pilotes windows via ndiswrapper, ou pilotes proprios.

      (Je pense notamment pour les cartes WiFi. Trouver quelle carte est compatible avec Linux, sans aucun blob proprio s'pas une sinécure.)
      • [^] # Re: Oh oui !

        Posté par (page perso) . Évalué à 2.

        Oui ce sont des choses auxquelles je récléchie mais ce n'est pas toujours évident pour les utilisateurs de savoir comment leur distrib à installer les drivers.
        • [^] # Re: Oh oui !

          Posté par . Évalué à 2.

          Cela ne peut pas se faire automatiquement à la collecte des informations hardware ?

          "La première sécurité est la liberté"

          • [^] # Re: Oh oui !

            Posté par (page perso) . Évalué à 1.

            Est-ce qu'il y a une liste quelque part de tous les drivers proprio ? Et la deuxième difficulté, c'est d'identifier quel driver gère quel périphérique. Toute idée bienvenue...
            • [^] # Re: Oh oui !

              Posté par . Évalué à 2.

              "quel driver gère quel périphérique" C'est pas une info donnée par lspcidrake ?

              Ou alors on peut le déduire de "lsmod".

              "La première sécurité est la liberté"

              • [^] # Re: Oh oui !

                Posté par (page perso) . Évalué à 1.

                Oui je peux dans certains cas récupérer l'info en croisant la sortie de lsmod et les fichiers pcimap/usbmap du noyau.
  • # scan-printers not found. Aborting

    Posté par . Évalué à 1.

    J'ai téléchargé les sources.
    Mais quand je fais la commande je tombe sur :

    scan-printers not found. Aborting

    J'utilise une Gentoo.
  • # Zenwalk

    Posté par (page perso) . Évalué à 1.

    Bon pas facile de faire un paquet Zenwalk avec tout ça, mais bon c'est fait :

    http://jrdasm.info/temp/hardware4linux-0.7.1-i386-1.tgz

    J'ai modifié le script "osinfo" pour qu'il aille lire /etc/zenwalk-version également.

    Bon le paquet Zenwalk est pas top il manque le zenbuild mais bon j'ai fait ça vite fait, désolé.
  • # HCL ?

    Posté par (page perso) . Évalué à 3.

    Tu comptes faire revivre la HCL (Hardware Compatibility List) Mandriva, et la rendre multi distros ?
    http://yoho.wordpress.com/2007/05/29/hardware-compatibility/
  • # Et le noyau ?

    Posté par (page perso) . Évalué à 2.

    C'est une super idée que tu as développée.
    Bravo et bon courage pour la suite car le chemin risque d'être encore long.

    Juste une petite question, est-ce qu'il existe quelque-part une approche similaire qui permet de spécifier les options du noyau si on veut le recompiler en fonction du matos ? genre on coche le contenu du matos ou on balance un lspci à un site, on coche des options supplémentaires le cas échéant (net/bootsplash/...) et ca génère le fichier de config du kernel totomatiquement ?
    Si non, avec une telle initiative, est-ce faisable ?

    Un jour libre ?

    • [^] # Re: Et le noyau ?

      Posté par (page perso) . Évalué à 2.

      Ce que je prévois pour l'instant, c'est de pouvoir mettre des commentaires pour pouvoir indiquer comment faire marcher un périphérique si il ne fonctionne pas tout seul sur la distrib. Mais je ne prévois rien d'automatique.
      • [^] # Re: Et le noyau ?

        Posté par (page perso) . Évalué à 2.

        tu peux aussi collecter la config du kernel ...

        Mais je ne sais pas si c'est utile. par exemple j'ai une carte PCI qui permet d'ajouter des ports parallèles à mon PC. Le kernel de la knoppix la reconnaît très bien mais lorsque je cherche a trouver les options du kernel qui font que ca marche pour l'adapter au kernel de ma distribution, je n'y arrive pas.

        En tout cas ce n'est pas les options sur les ports parallèles. C'est peut être les options PCI remarque (il y a surement un problème d'interruptions car il y a en mêem temps 2 ports série sur cette carte qui eux fontionnent)
        • [^] # Re: Et le noyau ?

          Posté par (page perso) . Évalué à 1.

          Il y a aussi les options ligne de commande du kernel et des modules. Pour le kernel je sais comment faire mais pour les modules, je ne sais pas où les récupérer. Une idée ?
          • [^] # Re: Et le noyau ?

            Posté par . Évalué à 2.

            J'aurais bien dit "modinfo", mais il ne touche qu'au fichier objet et donc ne récupère pas d'info "dynamique".

            "La première sécurité est la liberté"

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.