USBIP, Raspberry Pi Raspbian, Kinect et S.A.R.A.H.

Dans cet article, je vais vous présenter comment transférer le signal d’un Kinect branché à un Raspberry Pi mais utilisé depuis Windows 7. Pour arriver à cette fin, nous allons utiliser le projet USBIP.

Serveur USBIP sur un Raspberry Pi

Installation

# aptitude install usbip usbip-source
# rpi-update

La dernière commande a mis mon RPI à la version de noyau 3.12.26+.

git clone git://github.com/raspberrypi/linux.git kernel --depth=1
cd kernel
wget https://raw.github.com/raspberrypi/firmware/master/extra/Module.symvers
make bcmrpi_defconfig
make

Cette dernière commande a pris 16 heures ! Vous compilez le noyau du RPI.

make modules
# make modules_install
# cp arch/arm/boot/Image /boot/kernel.img

Avec les commandes précédentes, vous aurez installé les modules de bases demandés par le nouveau noyau et mis en place ce dernier.

Ajouter à la fin du fichier .config :

CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_HOST=m
CONFIG_USBIP_DEBUG=n

Continuer avec les commandes suivantes :

make LOCALVERSION=+ modules_prepare
make SUBDIRS=drivers/staging/usbip
# make SUBDIRS=drivers/staging/usbip modules_install
# depmod -a
# modprobe usbip-host

Et voilà, vous pouvez utiliser USBIP !

Quelques commandes utiles

Lister les périphériques

# usbip list -l

Partager un périphérique

# usbip bind --busid [BUS-ID]

Cette commande retourne

bind device on busid [BUS-ID]: complete

Pour ajouter usbip-host au démarrage :

Éditez /etc/modules ajouter sur une nouvelle ligne contenant :

usbip-host

Source : http://www.raspberrypi.org/forums/viewtopic.php?p=121691

Client USBIP sur Windows 7 64 bits

Attention, cette section du tutoriel n’est pas encore fonctionnelle

Installation

  • Lancez une session en tant qu’Administrateur
  • Récupérez une version corrigée de l’outil à l’adresse suivante : https://www.dropbox.com/s/oox021z1d7zblmu/usbip.zip
  • Avec l’outil cmd, exécutez :
    bcdedit /set testsigning on
  • Ouvrez le Panneau de configuration > Matériel et audio > Périphériques et imprimantes > Gestionnaire de périphériques
  • Faites un clic droit sur votre ordinateur > Ajoutez un matériel d’ancienne génération
  • Cliquez sur Suivant
  • Sélectionnez Installer le matériel que je sélectionne… (Option 2)
  • Cliquez sur Suivant
  • Cliquez sur Disque fourni
  • Cliquez sur Parcourir et rendez vous là où vous avez décompresser l’archive pour sélectionne le seul fichier sélectionnable
  • Continuez jusqu’à la fin de l’installation

 Utilisation

  • Ouvrez une invite de commande windows ou Powershell
  • Rendez vous dans le répertoire où vous avez décompressé l’archive

Pour lister les périphériques mis à disposition part [HOTE]

usbip -l [HOTE]

Pour importer tous les périphériques mis à disposition part [HOTE]

usbip -x [HOTE]

Pour importer un périphérique mis à disposition part [HOTE]

usbip -a [HOTE] [BUS-ID]

Source : http://sourceforge.net/p/usbip/discussion/418507/thread/7ff86875/?page=4

Utilisation d’Owncloud sur un Linux headless

J’ai cherché un petit moment comment utiliser OwnCloud sur un serveur Linux (Ubuntu). J’ai finalement choisi de passer par un montage webdav avec davfs2.

J’ai donc installé davfs2 :

#aptitude install davfs2

Comme j’avais besoin que le partage OwnCloud soit disponible au démarrage du serveur, j’ai effectué les réglages suivants.

Pour /etc/fstab

http://[serveur-owncloud]:80/owncloud/remote.php/webdav/[dossier] /[adresse-de-montage] davfs user,rw,auto,_netdev,file_mode=000 0 0
  • auto permet le montage automatique du partage
  • _netdev permet de monter le partage quand le réseau est disponible.
  • file_mode=000 permet à tout le monde d’écrire dedans

Pour /etc/davfs2/secrets

/[adresse-de-montage] [utilisateur-owncloud] [mot-de-passe-owncloud]

Pour /etc/davfs2/secrets

dav_user [utilisateur-machine]
dav_group [groupe-machine]
use_locks       0

use_locks permet d’utiliser le partage, sinon OwnCloud n’est pas content.

Et voilà !

Attention cependant, les fichiers ne sont pas copiés, mais nous travaillons directement sur les données d’ OwnCloud.