Périphérique

De openmoko-fr.

Sommaire

Introduction

Il est possible via le port usb de brancher un clavier, une souris et probablement n'importe quoi d'usb (un ventilateur ?).

Le premier problème est matériel, il faut trouver un raccord mini-usb male 5 pin vers un usb femelle. Ou y mettre un câble classique mini-male-male et le transexuer avec un raccord femelle-femelle. Ou encore sortir son fer à souder (voir http://wiki.openmoko.org/wiki/Specialized_USB_cables).

Par exemple, les solutions suivantes fonctionnent:

Le NFR est prévu pour être une périphérique d'un PC, il est donc en mode "device" et recevant du courant pour se recharger. Si on veut mettre un clavier, il faut alimenter le clavier et passer en mode "host". On fait donc (http://wiki.openmoko.org/wiki/USB_host)

echo host > /sys/devices/platform/s3c2410-ohci/usb_mode
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode

Pour revenir en mode normal

echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode

Plus une histoire d'ipconfig, et donc il vaut mieux utiliser le script http://wiki.openmoko.org/wiki/USB_host#USB-Mode-Script

#!/bin/sh</nowiki> 
grep -q 'host' /sys/devices/platform/s3c2410-ohci/usb_mode
if [ $? -eq 0 ]
then
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode
echo device > /sys/devices/platform/s3c2410-ohci/usb_mode
ifconfig usb0 up
echo USB-Port is in device-mode now.
else
ifconfig usb0 down
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode
echo 1 > /sys/devices/platform/neo1973-pm-host.0/hostmode
lsusb
echo USB-Port is in host-mode now.
fi

Souris

Vous branchez votre souris et hop, ça marche (testé en debian/xfce).

Clavier

Le clavier est évidemment en qwerty, il faut donc passer en français

En mode console

j'ai pas encore trouvé

En mode graphique (testé sur xfce), rajouter à /etc/X11/xorg.conf

Section "InputDevice"
       Identifier      "Generic Keyboard"
       Driver          "kbd"
       Option          "XkbRules"              "xorg"
       Option          "XkbModel"              "pc105"
       Option          "XkbLayout"             "be"
EndSection

On passe en mode console avec ctrl-alt-F1, et on retourne en mode graphique avec ctrl-alt-F2.

A remarquer que chez moi, les 4 flèches ne fonctionnent pas. Les 4 flèches du pavé numérique fonctionne en graphique mais pas en console.

Mémoire usb

En xfce, une mémoire flash externe est détectée en /sda et /sda1 pour la 1ère partition. Je n'ai pas vu de montage automatique. Créez donc un repertoire

mkdir /mnt/myusb

dans /etc/fstab, rajoutez

/dev/sda1	/mnt/myusb	auto	defaults	0	2

et montez la partition

mount /dev/sda1

ne pas oublier de la démonter, sinon elle se retrouvera en sdb

Hub

Vous désirez plusieurs périphériques, un simple hub fera l'affaire.

A avoir un hub, et son alimentation, vous pouvez charger votre nfr avec celui-ci en le branchant comme sur l'ordi (càd en device et 0).

A creuser, utiliser un ordi ou un autre hub ou le même hub pour alimenter le nfr pendant qu'il fonctionne en host

Webcam

un début [1], (moi, j'ai pas encore réussi (15 déc))

Chargeurs

Allume-cigare

Pour recharger votre nfr pendant de long trajet, vous pouvez acheter un convertisseur Allume-cigare-Usb. Vérifiez les Watt, et si nécessaire changez le courant de charge limité à 100 ma. Lire aussi http://wiki.openmoko.org/wiki/USB_charger

Chargeur solaire

Un chargeur solaire qui contient une batterie interne pour le stockage (pour les questions, voir avec Sleg, heureux possesseur): Page du produit

Elément connexe

Ecran de veille

Comme le nfr se met en veille quand on ne touche pas l'écran, il faut désactiver cette option. voir le script FSO. Comme il marche pas chez moi, j'ai simplifié, ça peut toujours servir si on veut l'intégrer dans un autre script.

#! /usr/bin/python

import dbus
from framework.config import config

idleNotifier = dbus.Interface(dbus.SystemBus().get_object('org.freesmartphone.frameworkd', '/org/freesmartphone/Device/IdleNotifier/0'), 'org.freesmartphone.Device.IdleNotifier')
idleNotifier.SetTimeout('idle', -1)

def set_state(state):
   idleNotifier.SetState(state)

set_state('busy')
set_state('idle')
set_state('busy')

kimaidou : Est ce qu'il y a un script pour désactiver cette fonction une fois qu'on a débranché le clavier USB ? Merci :D

Une autre méthode serait de garder le système tel quel, mais de faire rentrer dans les événements de veille le clavier et la souris usb.

Outils personnels