begin process at 2010 02 10 00:51:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications Linux

 > SCANNER LES PORTS USB SOUS LINUX

SCANNER LES PORTS USB SOUS LINUX


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Applications Linux Classé sous :scannerlesportsusbsouslinux, usb, yasmin, usblib Niveau :Débutant Date de création :14/06/2006 Date de mise à jour :14/06/2006 14:49:09 Vu / téléchargé :11 077 / 558

Auteur : yasmin

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

J'ai commencé à ecrire un Driver USB sous linux et j ai rencontré bcp de problèmes et peu de solutions. alors pour palier à ce manque je m engage à fournir les infos et les source au fur et à mesure que j'avance.
Je commence par vous dire qu'il vous faut lire alors lire en français certes mais surtout en anglais le plus chiant.
Les liens qui m ont le plus aidé sont les suivants.
Comprendre l'USB : http://acquier.developpez.com/cours/USB/
Comprendr e l'USB : http://www.xml.com/ldd/chapter/book/bookindexpdf.h tml
Le tutorial de la librairie : http://libusb.sourceforge.net/doc/index.html
Avant de compiler je tiens à dire qu'il vous faut installer la librairie USB si vous l avez pas enccore disponible ici : http://superb-west.dl.sourceforge.net/sourceforge/ libusb/libusb-0.1.12.tar.gz

Source

  • /*
  • * Main
  • *
  • * Written by:
  • * Copyright 2006, Yasmin OROU GUIDOU <ogyasmin@yahoo.fr>
  • *
  • * USB
  • */
  • #include <stdio.h>
  • #include <usb.h>
  • #include <errno.h> // Bibliothèque des erreurs.
  • struct usb_bus *busses;
  • struct usb_bus *bus;
  • struct usb_device *dev,*fdev;
  • usb_dev_handle *device_handle = 0;
  • void driver_init(void)
  • {
  • usb_init(); //Initialisation de la librairie (par example determine le chemin du repertoire des bus et peripheriques)
  • usb_find_busses(); // Enumère tous les bus USB du systemes
  • usb_find_devices();// Enumère tous les peripheriques sur tous les Bus présents)
  • // Parcours de la liste des bus et des périphériques
  • }
  • void usb_scan(void)
  • {
  • for (bus = usb_busses; bus; bus = bus->next)
  • {
  • for (dev = bus->devices; dev; dev = dev->next)
  • {
  • printf("bus : %s Device %s \n id Vendor: %d | id Product : %d | Manufacturer Name : | Product Name : \n", bus->dirname,dev->filename ,dev->descriptor.idVendor,dev->descriptor.idProduct); // dev->descriptor.iManufacturer,dev->descriptor.iProduct ( Vous pouvez ajouter ces infos mais si les périphériques n'ont pas fournit au système les info il y aura erreur de segmentation
  • }
  • }
  • }
  • struct usb_device *usb_find_My_device(int idV, int idP)
  • {
  • for (bus = usb_busses; bus; bus = bus->next)
  • {
  • for (dev = bus->devices; dev; dev = dev->next)
  • {
  • // condition vérifié si c'est un Mon flash disque iProduct=Flash Disk
  • if ((dev->descriptor.idVendor == idV) && (dev->descriptor.idProduct ==idP )) //Caract de ma clé USB32 idV=0x0ea0 idP=0x2168
  • return(dev);
  • }
  • }
  • return(0);
  • }
  • int main (void)
  • {
  • int send_status;
  • int open_status;
  • unsigned char send_data=0xff;
  • unsigned char receive_data=0;
  • driver_init();
  • usb_scan();
  • return 0;
  • }
/*
 * Main 
 *
 * Written by:
 * Copyright 2006, Yasmin  OROU GUIDOU <ogyasmin@yahoo.fr>
 *
 * USB 
 */
#include <stdio.h>
#include <usb.h>
#include <errno.h>  // Bibliothèque des erreurs.
struct usb_bus *busses;
struct usb_bus *bus;
struct usb_device *dev,*fdev;
usb_dev_handle *device_handle = 0;
void driver_init(void)
{
	usb_init();	//Initialisation de la librairie (par example determine le chemin du repertoire des bus et peripheriques)
	usb_find_busses(); // Enumère tous les bus USB du systemes
	usb_find_devices();// Enumère tous les peripheriques sur tous les Bus présents)
 	// Parcours de la liste des bus et des périphériques
}
void usb_scan(void)
{
	for (bus = usb_busses; bus; bus = bus->next)
	{
		for (dev = bus->devices; dev; dev = dev->next)	
		{	
		printf("bus : %s  Device %s \n id Vendor: %d |  id Product : %d | Manufacturer Name :  | Product Name :  \n", bus->dirname,dev->filename ,dev->descriptor.idVendor,dev->descriptor.idProduct); // dev->descriptor.iManufacturer,dev->descriptor.iProduct ( Vous pouvez ajouter ces infos mais si les périphériques n'ont pas fournit au système les info il y aura erreur de segmentation
		}
	}
}	
struct usb_device *usb_find_My_device(int idV, int idP)
{
	for (bus = usb_busses; bus; bus = bus->next)
	{
		for (dev = bus->devices; dev; dev = dev->next)	
		{	
			// condition vérifié si c'est un Mon flash disque iProduct=Flash Disk
			if ((dev->descriptor.idVendor == idV) && (dev->descriptor.idProduct ==idP ))	//Caract de ma clé USB32 idV=0x0ea0 idP=0x2168
				return(dev);
		}
	}
	return(0);
}	
int main (void)
{
	int send_status;
	int open_status;
	unsigned char send_data=0xff;
	unsigned char receive_data=0;
	driver_init();	
	usb_scan();
  return 0;
}



 Historique

14 juin 2006 14:49:09 :
MEILLEURS CRITERES DE RECHERCHES

 Sources de la même categorie

Source avec Zip Source avec une capture ANIMATIION GRAPHIQUE DES STRUCTURES DE DONNÉES par algoro
PILOTAGE DES 8 SORTIES DU PORT // par cedpic
Source avec Zip PARALLEL OBJECT PROGRAMMING IN C++ (POP-C++) : DEMO par lwinkler
Source avec Zip VOTE ELECTRONIQUE par luvianne
Source avec une capture REMOTE POST PHP WITH SOCKET LINUX par 0x0syscall

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture USB DETECTION par abandonware
Source avec Zip Source avec une capture DOSSIER MAGIC! par f_l_a_s_h_b_a_c_k
Source avec Zip ENUMERER LES PARTITIONS SUR PERIFERIQUE USB par draluorg
CHARGER SON IPHONE À PARTIR DE LINUX VIA LE CÂBLE USB [LINUX... par abdoulax
Source avec Zip Source avec une capture USB : 8 ENTREES / 16 SORTIES AVEC UN PIC18F4550 (HID). (C++ ... par rylryl

Commentaires et avis

Commentaire de deck_bsd le 14/06/2006 16:41:52

Source intéressente et qui plus est sous linux , c'est rare, 10/10.

Commentaire de yasmin le 16/06/2006 14:29:42

Merci DECK_BSD
je compte l ameliorer dès que possible je fais mes recherche dans le domaine.

Commentaire de Bearnaise le 06/09/2006 15:34:23

Merci pour les conseils (liens) et pour l'exemple.
J'attends la suite avec impatience.

Commentaire de jmcorsu le 05/01/2007 14:26:49

Trés intéressant mais il manque le code gérant la communication pour lire ou envoyer des paquets via un port USB...

Commentaire de turnerom le 16/01/2007 10:53:07

Plusieurs infos :
pour compiler :
g++ -o test main.cpp -lusb

Par contre, a l'execution, voila ce que j'obtiens :

bus : 007 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 006 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 001 Device 003
id Vendor: 1133 | id Product : 49174 | Manufacturer Name : | Product Name :
bus : 001 Device 004
id Vendor: 16700 | id Product : 8197 | Manufacturer Name : | Product Name :
bus : 001 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 005 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 004 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 003 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :
bus : 002 Device 001
id Vendor: 0 | id Product : 0 | Manufacturer Name : | Product Name :

Commentaire de ptitcon51 le 22/03/2007 10:30:38

Salut, peut-être pourrais tu m'aider.
J'essaie d'utiliser libusb, je l'ai correctement installé et j'arrive bien a compiler les tests.
Je possède une webcam motorisée et j'aimerai lui envoyer des trames de commande pour la faire pivoter, je possède toutes les trames necessaires (pour le rotations) ainsi que le vendorId et le productId. Seulement je ne comprend pas comment utiliser les fonctions de la librairie pour commander la webcam.

Il s'agit surtout d'un problème de compréhension.

Merci

Commentaire de nallno le 03/09/2007 13:23:18

Bonjour,
je travaille sous ubuntu et apparemment la libusb n'est pas la même que celle citée, il reconnait pas les fonctions usb_init().....
J'ai pas essayé celle de sourceforge, car j'avais un problème à résoudre, ce que j'ai fait avec le programme usbview (.deb).

A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

port usb [ par agouti ] Comment peut on faire pour lire avec un lecteur de carte sur port usb merci d'avance lecture sur le port usb [ par Draven ] je souhaite branche une webcam sur le port usb et faire la lecture de ce que transmet la webcam. mais je sais pas koment lire le port usb.alors si vou port usb [ par voodoudic ] salut a tous vous n'auriez pas des source pour lire les port usb?j'ai chercher sur tout le site j'ai pas trouvésource orienté plus sur l'empreinte dig Espion Serie [ par BarthOlivier ] Bonjour.... Je voudrais savoir si quelqu'un c'est déjà intéressé a ce sujet.Je voudrais en fait avoir deux logiciels ouvrant le même port de Communica pilote usb [ par Bobdesbois ] bin voila je voulais savoir si qqu a deja fait un prog qui ce sert de l'usb... si c le cas je voudrais bien qu'il m'aide a comprendre comment ca marc le port usb [ par stefisen ] bonjour,J'aimerais savoir comment procede t'on pour ecrire sur le port usb(octet) via visual c++ 6.0Merci d'avancestef Déconnecter un periph USB [ par kha ] Hello, Quand on met une clé USB sur win xp, ou un hdd usb ou firewire, ya une petite icone qui se met dans la tray barre et qui permet de "l ejecter" Pb débit USB / affichage progress bar [ par goondy ] Bon, soyons concis et précis!Je veux transférer des fichiers sur mon baladeur mp3, c'est comme une clé usb.Pour copier : j'ai utilisé SHFileOperation, RS232 et USB [ par zinotron ] Salut et Bonsoir tous (et ptet meme toutes).Je cherche de la doc sur la programmation des ports rs232 et USB en C (pas le C++) et n'utilisant pas les alimentation de modem, redémarage, bip [ par perig ] BonjoursJ'ai des notions de C et j'aimerais développer un petit prog.Voilà mon objectif :J'ai un modem (bewan adsl usb) qui a la fâcheuse tendance a c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales