2011-05-04 3 views
1

Je dois écrire des données "brutes" sur le port USB d'un de mes projets (pas de problème si la racine doit être requise).Ecriture de données brutes sur le port série Android (USB)

J'ai trouvé un port of libusb for Android et réussi à le compiler avec NDK. J'ai lié la bibliothèque à un exécutable à moi (exécuté en tant que root), mais la fonction "libusb_init" renvoie toujours une erreur (LIBUSB_ERROR_OTHER).

Je trouve que le problème (maintenant ...) est dans le fichier « linux_usbfs.c », plus précisément dans cette fonction:

static const char *find_usbfs_path(void) 
{ 
    const char *path = "/dev/bus/usb"; 
    const char *ret = NULL; 

    if (check_usb_vfs(path)) { 
     ret = path; 
    } else { 
     path = "/proc/bus/usb"; 
     if (check_usb_vfs(path)) 
      ret = path; 
    } 

    usbi_dbg("found usbfs at %s", ret); 
    return ret; 
} 

/dev/bus/usb ne évidemment existe pas sur mon N1.

Répondre

1

Pourquoi ne pas essayer pyserial? Python semble plus simple pour moi. Vous avez besoin d'un noyau avec le mode hôte USB ou votre téléphone prend en charge en série sur un ttyMSM0 nativement, ce que vous devez savoir. Une fois que vous êtes sûr que vous avez un port série sur votre téléphone, regardez ce link qui est destiné à huawei idéos U8150, mais le truc pyserial fait en utilisant python pour Android est l'alternative que je suggère.