منتديــــات المـفيـــد

مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل المنتدى معنا.


إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه


رجاءا لا يلهيك منتدانا عن الصلاة


منتديــــات المـفيـــد

مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل المنتدى معنا.


إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه


رجاءا لا يلهيك منتدانا عن الصلاة


منتديــــات المـفيـــد
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


نـتـمـنـى لـكـم الإفـادة و الإسـتـفـادة مـع منتديـــات المـــفيـــد
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 utilisateurs d'usb_modeswitch

اذهب الى الأسفل 
كاتب الموضوعرسالة
master
مؤســس الـموقــع
مؤســس الـموقــع
master


ذكر
العمر : 40
utilisateurs d'usb_modeswitch Studen10
utilisateurs d'usb_modeswitch Pi-ca-18
utilisateurs d'usb_modeswitch Male_m12
الـمـدينة : الـربــاط
utilisateurs d'usb_modeswitch Sports10
تاريخ التسجيل : 24/02/2009
عدد الرسائل : 364
نقاط : 6443
وسام : صاحب الحضور الدائم

utilisateurs d'usb_modeswitch Empty
مُساهمةموضوع: utilisateurs d'usb_modeswitch   utilisateurs d'usb_modeswitch Emptyالإثنين 11 مايو - 15:36

A l'attention des utilisateurs d'usb_modeswitch : Josua Dietze a mis à jour cet utilitaire ainsi que son fichier de configuration en date du 9 janvier 2009. De nouveaux périphériques sont à présents supportés.

USB_ModeSwitch - Activer les périphériques USB commutables (switchables) sous Linux
USB_ModeSwitch est (surprise!) est un outil de switch (changement) de mode pour des clefs USB à fonctions multiples.
Plusieurs nouvelles clefs USB contiennent leur propre driver MS Windows; quand on les insère pour la première fois, ces périphériques agissent comme un périphérique de stockage et installent leur driver. Après cela (et ceci à chaque nouvelle insertion de la clef) ce driver commute (switch) le mode interne, le périphérique de stockage disparait (dans la majorité des cas), et un nouveau périphérique (tel un modem USB) apparaît. Le fabriquant de clés WWAN Option appelle ce dispositif "ZeroCD (TM)".
Comme vous l'aurez suremement noté, il n'existe aucune documentation sous quelque forme que ce soit, et il n'existe pas plus de driver officiel disponible pour Linux. Heureusement nombreux sont les périphériques connus qui fonctionnent avec des divers Linux disponibles tels que "usb-storage" ou "usbserial". Mais celà laisse entier le problème du changement de mode, pour que le périphérique passe du mode "stockage" à ce qu'il est censé faire.
Néanmoins, il existe des choses telles que le raisonnement humain, les applications d'USB sniffing et "libusb". Il est ainsi possible "d'espionner" la communication du driver MS Windows, pour isoler la commande ou l'action qui fait la commutation, et de reproduire la même chose avec Linux.
USB_ModeSwitch facilite grandement la dernière étape en utilisant les paramètres importants contenus dans un fichier de configuration et en réalisant l'initialisation et la communication nécessaires .
A ce jour, il ne vérifie PAS si l'opération s'est correctement déroulée. La meilleure approche serait de consulter /proc/bus/usb/devices (ou la sortie de "lsusb") avant et après l'execution d' USB_ModeSwitch et de noter tout changement.
Pour des conseils concernant la résalisation de votre propre sniffing, merci de vous référer au paragraphe "Contribuez" ci-dessous..
Info de dernière minute : la découverte de ce petit utilitaire dans le code source du routeur Dovado UMR , qui a été publé en conformité avec la licence GPL. Si vous souhaitez connaître les joies de l'utilisation de votre clef 3G sans le "fun" d'une installation sous Linux, vous pouvez envisager d'investir dans ce type de machine.

Téléchargement


La dernière version est la 0.9.6. L'archive contient la source et un fichier binaire 686 (32 bit, VIA C7, GCC 4.2.2). Pour ce faire, le concepteur d'USB_modeswitch a utilisé libusb-0.1.12.
Les changements et mises à jour sont proposées plus régulièrement pour le fichier de configuration que pour le soft lui-même; la majeure partie des informations connues sur les périphériques s'y trouve. Il est donc préférable d'utiliser la dernière version dont le lien est ci-dessous.




Un exécutable préparé pour ARM/OMAP est disponible ICI . D'autres variantes de binaires pour la version 0.9.6 seront prochainement mises en ligne
Comment installer


Si vous souhaitez le compiler vous-même, lancez "compile.sh" ou tapez en console:

$ gcc -l usb -o usb_modeswitch usb_modeswitch.c


C'est aussi simple que ça en a l"air... Et devrait être FACILEMENT transposable (certaines limites sont connues sur les systèmes basés sur FreeBSD).

Prenez le nouvel exécutable "usb_modeswitch" (ou celui fourni avec l'archive) et mettez le dans votre path (de préférence "/sbin" ou "/usr/sbin").
Mettez "usb_modeswitch.conf" dans "/etc" et éditez le en fonction de votre matériel. Le fichier contient une documentation très complète qui devrait vous indiquer ce qu'il est nécessaire de faire.
Alternativement vous pouvez utiliser la toute nouvelle interface en ligne de commande pour dire à USB_ModeSwitch ce qu'il doit savoir; essayez "usb_modeswitch -h" pour lister les paramètres. De cette manière, vous pouvez manipuler des configurations multiples. Si un quelconque paramètre est utilisé en ligne de commande, le fichier de configuration n'est PAS lu.
Important: USB_ModeSwitch - comme tous les programmes qui utilisent libusb - doit être lancé en root. Sinon, d'étranges erreurs feront leur apparition...

Dépannage



Si vous êtes d'avoir les bonnes valeurs pour votre matériel, que vous avez bien suivi les préconnisations (voir le paragraphes "Matériels connus pour fonctionner") et que lancement après lancement USB_ModeSwitch semble avoir une action mais que dans les faits rien ne change, il y a surement une solution à mettre en place.
La majorité des distributions actuelles utilisent "udev" comme dispositif et manageur de branchement à chaud (hotplug), qui, dans certains ca, ne reflète pas les changements sur un périphérique switché, dans certains cas, ce daemon n'est pas en mesure de "dégager" la connexion établie par un périphérique commuté et de le voir comme un périphérique fraîchement inséré.
Il existe plusieurs manières d'analyser et d'aborder le problème:




  • Pour voir ce que fait udev, lancez udevmonitor en console et regardez ce qui se passe lorsque vous insérez le périphérique et lancez USB_ModeSwitch. lsusb et dmesg peuvent apporter des informations additionnelles.
  • Si vous soupçonnez des problèmes de timing, tentez de lncer USB_ModeSwitch avec un délai défini après l'insertion de la clef
  • Trouvez l'accès sysfs du périphérique. Il se situe dans le /sys/bus/usb/device.
    dmesg vous indique l'adresse bus qui lui correspond après insertion : quelque chose du style "1-2" ou "2-4" (ou similaire). Ensuite, après avoir effectué le switch, mettez son niveau de puissance en mode suspend. par exemple comme ceci :

    $ echo suspend > /sys/bus/usb/devices/1-2/power/level

    Pensez que l'option USB powersaving (économie d'énergie pour USB) doit être activée dans votre kernel. Merci à mixmaxtw pour cette astuce qui devrait bientôt être intégrée à l'utilitaire.
  • Tentez l'option ResetUSB avec votre périphérique. Cela est quelque peu brutal et réinitialisera le périphérique en le commutant à nouveau sur le mode stockage.
  • Perfois il est recommandé d'utiliser la dernière version du driver ce qui évitera certains problèmes connus par le passé avec certains périphériques (comme la Icon 7.2 pour laquelle le problème est désormais résolu). Dans d'autres cas, certains périphériques ne fonctionnent plus avec le driver générique usb_serial après une mise à jour du firmware. Le conseil est donc : mettez à jour si cela ne fonctionne pas, dans le cas contraire, n'effectuez pas de mise à jour.

Sur certains nouveaux kernels, certaines familles de périphériques (Huawei ZTE depuis 2.6.26) ont droit à un traiement particulier dans le code usb-storage, pour activer la commutation. Vous n'avez plus à utiliser USB_Modeswitch : d'un autre côté, vous n'avez plus la possibilité d'accéder à la partie "CD-ROM" de votre périphérique. Ceci dit, il arrive que ce traitement particulier ne donne aucun résultat et qu'il empêche USB_ModeSwitch de fonctionner correctement ensuite (cela est arrivé avec des ZTE, error "-2"
Si vous rencontrez des difficultés, regardez dans le fichier unusual_devs.h situé dans le dossier drivers/usb/storage de votre kernel source. Si vos ID par défaut (vendor et product ID de la partie stockage) se reouvent ici et que vous avez une quelconque erreur en lançantUSB_ModeSwitch, tentez de blacklister "usb-storage". Si cela aide, recompilez votre kernel en commentant (désactivant) cette entrée dans unusual_devs.h
La seule chose qui se produira est que usb_storage fonctionnera par défaut ensuite.






  • Consultez le forum d'usb_modeswitch pour avoir des informations ou faites une demande d'aide sur le forum de Bullteam .

    Matériels connus pour fonctionner


    NOTE TRES IMPORTANTE



  • Josh le concepteur de cet outil, n'a personnelIement pu tester que son Option Icon; la liste suivante, ainsi que les informations nécessaires repose sur les rapports de tiers. Ne soyez donc pas surpris si vous vous heurtez à des obstacles alors que votre périphérique est listé ici. Vous aurez été prévenus.
    Il existe trois méthodes connues pour initialiser le processus de commutation :
    1. l'envoi d'une commande standard rarement ou jamais utilisée (équivalente à celle du SCSI) au périphérique
    2. éliminer (ou plutôt détacher) le driver de stockage du périphérique
    3. envoyer un message de contrôle spécifique au périphérique



    • Option GlobeSurfer Icon (connu comme "Vodafone EasyBox")
      Celui par lequel tout a commencé, parce que Josh, le concepteur d'USB_ModeSwitch a voulu le faire fonctionner sur son Linux
      .Tous les périphériques Option connus utilisent la commande REZERO UNIT pour opérer la commutation.
    • Option GlobeSurfer Icon 7.2
      Si vous rencontrez des mises en sécurité matérielles à l'insertion (voyant clignotant très rapidement), mettez le pilote à jour.
    • Option GlobeSurfer Icon 7.2 en interface avec le driver HSO
      Une génération plus récente de firmware avec des ID vendor/device inchangés. Votre périphérique "7.2 ready" devrait changer son comportement après re-flashage avec ce pilote; les nouveaux périphériques Option fonctionnent très probablement avec celui-ci. Utilisez le nouveau paramètre "TargetClass" pour reconnaître les périphériques déjà commutés.
      Si vous avez un nouveau périphérique Option device non listé ici, il est vraissemblable de pouvoir le faire fonctionner en utilisant ces paramètres si vous adaptez vos ID vendor/product
      Note: les questions sur le driver HSO driver questions and howtos disponibles (en anglais) sur le site Pharscape ou sur le site de Bullteam dans la section 3G Linux (en français)!

    • "font-size: 12pt">AT&T USBConnect Quicksilver (fabriquée par Option, HSO driver)
    • Option Icon 225 HSDPA (connu comme "T-Mobile web'n'walk Stick")
      Nouveau Firmware, interface HSO
    • Option GlobeTrotter HSUPA Modem (connu comme "T-Mobile wnw Card Compact III")
      Nouveau Firmware, interface HSO
    • Option GlobeTrotter GT MAX 3.6 (connu comme"T-Mobile wnw Card Compact II")
    • Option GlobeTrotter EXPRESS 7.2 (connu comme "T-Mobile wnw Card Express II")
    • Option GlobeTrotter GT MAX "7.2 Ready"


    • Huawei E220 (connu comme "Vodafone EasyBox II", connu comme "T-Mobile wnw Box Micro")
      Nous avons à présent deux options (ne voyez ici aucun calembour!) pour les périphériques Huawei 1. suppression de "usb-storage" 2. le message de contrôle spécifique trouvé par Miroslav Bobovsky. Ce dernier est dépendant de "usb-storage" laisse même la partie de stockage du périphérique fonctionnelle.
    • Huawei E160, Huawei E160G, Huawei E169, Huawei E270, Huawei E280
      Installation similaire à celle du E220. Si vous disposez d'un périphérique Huawei plus récent, essayer d'adapter simplement vos ID vendor/product
    • Huawei E630
      Il existe evidemment des variantes "modem uniquement" (sans la partie stockage) pour celles-ci, aucune commutation n'est nécessaire.
    • Novatel Wireless Ovation MC950D HSUPA, Ovation 930D et Merlin XU950D
      Ils utilisent la commande de contrôle START/STOP (Eject) pour effectuer la commutation.
    • Novatel Wireless U727 USB modem
      Installation similaire au MC950D, mais ID product différente
    • Novatel Wireless MC990D
      Utilise les nouvelles fonctionnalités de la version 0.9.5
    • ZTE MF620 (connu comme "Onda MH600HS")
      Utilise la commande TEST UNIT READY pour effectuer la commutation
    • ZTE MF622
      Détacher le driver de stockage est suffisant






الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://almofid.yoo7.com
master
مؤســس الـموقــع
مؤســس الـموقــع
master


ذكر
العمر : 40
utilisateurs d'usb_modeswitch Studen10
utilisateurs d'usb_modeswitch Pi-ca-18
utilisateurs d'usb_modeswitch Male_m12
الـمـدينة : الـربــاط
utilisateurs d'usb_modeswitch Sports10
تاريخ التسجيل : 24/02/2009
عدد الرسائل : 364
نقاط : 6443
وسام : صاحب الحضور الدائم

utilisateurs d'usb_modeswitch Empty
مُساهمةموضوع: Suite   utilisateurs d'usb_modeswitch Emptyالإثنين 11 مايو - 15:44


  • ZTE MF626, MF628, ZTE MF628+
    Si vous êtes le possesseur d'une ZTE lisez impérativement le dernier paragraphe de la section "Dépannage" ci-dessus


  • ZTE MF638 (connu comme "Onda MDC525UP")


  • ONDA MT503HS (très certainement un modèle ZTE)


  • ONDA MT505UP (très certainement un modèle ZTE)


  • Alcatel OT-X020 (connu comme "MBD-100HU", connu comme "Nuton 3.5G", fonctionne avec "Emobile D11LC")


  • AnyDATA ADU-500A, AnyDATA ADU-510A, AnyDATA ADU-520A


  • BandLuxe C120
    Il a été rapporté qu'une utilisation particulière était nécessaire. Consultez ce post
    sur le Forum


  • Solomon S3Gm-660
    Consultez les informations sur la BandLuxe C120 ci-dessus


  • C-Motech D-50 (connu comme "CDU-680")
    Des informations importantes sur ce post du Forum


  • Toshiba G450


  • UTStarcom UM175 (distributeur "Alltel")


  • Hummer DTM5731


  • A-Link 3GU


  • Quanta MU-Q101, également référencé comme "Quanta (NU) MU-Q101"
    Vous devrez probablement utiliser le truc du "power suspend" (voir la section "Dépannage ci-dessus) pour le rendre utilisable


  • Sierra Wireless AirCard 881U (très probablement aussi 880U)
    Supporté par les nouveaux kernels. Si vous êtes coincés avec un plus ancien, utilisez ceci


  • Sony Ericsson MD400
    Experimental. Merci de nous reporter vos résultats !


  • LG LDU-1900D EV-DO (Rev. A)


  • Samsung SGH-Z810 USB (avec carte microSD)


    MobiData MBD-200HU




    Comment automatiser le processus


    Dites-vous que vous devez lancer USB_ModeSwitch à chaque fois que vous inserez votre clef ou que vous bootez avec. Si vous avez "udev" sur votre distribution il n'est vraiment pas compliqué de l'automatiser et de l'oublier.
    Notez qu'un délai avant le lancement du tool est nécessaire avec de nombreuses installations récentes. Si votre commutation automatique est incertaine (irrégulière) le délai dans l'exécution d'USB_ModeSwitch devrait vous aider. Référez-vous au script ci-dessous. Ceci étant dit, depuis la version 0.9.4, cela n'est presque jamais nécessaire.

    Vous devriez avoir un dossier nommé "/etc/udev" ou quelque chose de similaire. A l'intérieur de celui-ci (sur certains systèmes dans un dossier "rules.d") vous trouverez quelques fichiers avec l'extension ".rules". Créez-en un nouveau ou éditez-en un existant, (mais par convention pas un "50-quelque_chose.rules"). Par exemple celui nommé "45-hotplug.rules" puisqu'il s'agit de hotplug USB après tout.
    Dans le fichier choisi/créé ajoutez/entrez la ligne

    SUBSYSTEM=="usb", SYSFS{idProduct}=="", SYSFS{idVendor}=="", RUN+=""

    En gros, c'est tout!
    A partir de là, il y a plusieurs voies pour poursuivre. Si votre périphérique GSM est reconnu par une version récente du driver of the "option" vous ne devriez plus rien avoir à faire qu'à charger le module (ce dont se charge très certainement udev automatiquement). Certains périphériques switchent sur la class ACM et sont liés au module "cdc-acm" ("USB Abstract Control Model driver for USB modems and ISDN adapters"). Le s ports crées sont nommés "ttyACM0", "..1", etc. au lieu de "ttyUSB0" ...
    Sinon si votre (serial) périphérique n'est pas supporté par ce module vous pouvez toujours utiliser use "usbserial", mais vous devez alors communiquer à ce module les IDde votre dispositif (plus une option liée à la performance): SUBSYSTEM=="usb", SYSFS{idProduct}=="", SYSFS{idVendor}=="",
    RUN+="/sbin/modprobe usbserial vendor= product= maxSize=4096"


    Quant à la différence entre usbserial et option ,voici une citation issue de option.c:

    Ce driver existe parce que le driver "normal" ne fonctionne pas très bien avec les modems GSM
    Résultat:
    - perte de données -- un unique Receive URB est loin d'être suffisant
    - contrôle de flux (périphériques Option) non standard
    - contrôler le baud rate n'a pas de sens


    Il est donc recommandé d'essayer le driver the option en premier lieu. Dans les kernels récent, il reconnaît plusieurs périphériques Option, Huawei and Novatel (et d'autres) directement. Et suivant les mails de développeurs de kernels, il semble qu'il soit entrain de devenir le standard pour les périphériques GSM depuis que de nombreux modèles ont été ajoutés. Dans les derniers kernels, l'entrée du module est "USB driver for GSM and CDMA modems" (Device Drivers / USB support / USB Serial Converter support).

    Les périphériques qui fonctionnent avec le driver option qui ne changent pas leurs ID après la commutation semblent avoir des soucis parce que le driver semble voiloir être rattaché avant que le switch ne soit effectué. Dans ce cas, il peut être intéressant de le blacklister et de le charger manuellement avec le script ci dessous après l'execution de usb_modeswitch. Une fois encore, les développeurs travaillent sur le driver option pour sonder la classe de périphérique avant de le lier, ce problème devrait donc être reglé à partir du kernel 2.6.24.
    Dans tous les cas si votre périphérique fonctionne bien avec usbserial et que vous n'êtes pas effrayé par l'édition des sources du kerneln pourquoi ne pas juste ajouter les ID vendor et product (après commutation bien-sûr) au driver option. Josh, le développeur d'usb_modeswitch, a tenté l'expérience avec son téléphone portable, et à présent, le module "option" est lié à lui automatiquement lorsqu'il est branché.Regardez vos autres produits inclus dans "option.c" et ajoutez simplement vos ID de la même façon. C'est tout. Deux ou trois lignes dans la majorité des cas. Recompilez, ajoutez votre périphérique à l'une des règles udev (les .rules comme ci-dessus) et faites vous plaisir ! Pour les dispositifs qui conservent leurs ID après commutation, le script "/sbin/mydevice_switch.sh" peut être créé:
    #!/bin/sh
    /sbin/usb_modeswitch
    sleep # probablement pas nécessaire, essayez sans
    /sbin/modprobe usbserial vendor= product= maxSize=4096
    Et ensuite ajoutez cette règle:
    SUBSYSTEM=="usb", SYSFS{idProduct}=="", SYSFS{idVendor}=="", RUN+="/sbin/mydeviceswitch.sh"

    Si la mise en place d'un délai d'exécution est une solution pour votre matériel ou installation, il peut être utilse de différer le lancement de USB_ModeSwitch, pour autoriser d'autres drivers tel "usb-storage" à finir leur activation.
    Utilisez alors à nouveau le script appellé ici "/sbin/mydevice_switch.sh" et complétez-e ainsi:
    #!/bin/sh
    sh -c "sleep 4; /usr/bin/usb_modeswitch" &
    exit 0

    Luigi Iotti a rapporté des problèmes sur certains systèmes (RHEL 5, CentOS 5) avec udev restant dans l'attente de l'achèvement de certains scripts en tâche de fond.
    Dans ce cas la solution pour un "/sbin/mydevice_switch.sh" modifié:

    #!/bin/sh
    # pour détachr de l'udev
    exec 1<&- 2<&- 5<&- 7<&-
    sh -c "sleep 4; /usr/bin/usb_modeswitch" &
    exit 0

    Contribuez

    USB_ModeSwitch est tout à fait utilisable pour mener des tests avec votre propre matériel s'il n'est pas encore supporté. Vous pouvez tenter cette approche:
    Notez les ID Vendor et Product ID depuis /proc/bus/usb/devices (ou de la sortie de "lsusb"); le driver assigné est habituellement "usb-storage".
    Ensuite, tentez de découvrir la communication USB communication vers le périphérique avec la même ID dans M$ Windows.
    L'outil suivant est recommandé : SniffUSB
    Vous trouverez un excellent exemple par Mark A. Ziesemer ici :
    Alltel UM175AL USB EVDO under Ubuntu Hardy Heron
    Merci de partager vos avancées, ou les nouvelles informations sur des périphériques que vous auriez découvertes soit sur le forum de Bullteam soit sur le ModeSwitchForum !


    Le développeur


    Un grand Merci à Josua Dietze de nous avoir permis de vous proposer la traduction des informations qu'il diffuse sur son site. Vielen Dank Josh !



    Les Mentions légales concernant usb_modeswitch diffusé sous la licence GNU General Public License sont disponibles sur le site du développeur
  • الرجوع الى أعلى الصفحة اذهب الى الأسفل
    https://almofid.yoo7.com
     
    utilisateurs d'usb_modeswitch
    الرجوع الى أعلى الصفحة 
    صفحة 1 من اصل 1

    صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
    منتديــــات المـفيـــد :: المـفيـــد في الكمبيوتر و البرامج :: منتدى لغات و دروس البرمجة-
    انتقل الى: