Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lecteur_carte_memoire [Le 18/12/2014, 03:46] – [Ricoh Co Ltd R5C822] 192.109.140.189 | lecteur_carte_memoire [Le 16/02/2018, 12:59] (Version actuelle) – [Recompiler le pilote V2] L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== Lecteurs de carte mémoire ====== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ===== Détection du type de lecteur ===== | ||
+ | |||
+ | La première étape est de déterminer quel est le lecteur dans votre portable, pour cela : | ||
+ | < | ||
+ | 02:06.0 CardBus bridge: Texas Instruments PCIxx21/ | ||
+ | 02:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller</ | ||
+ | |||
+ | Dans le cas de mon pc (un Acer Extensa 3001WLMi) il s'agit du contrôleur Texas Instruments PCIxx21 | ||
+ | |||
+ | Ou : | ||
+ | < | ||
+ | 03:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/ | ||
+ | 03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01) | ||
+ | 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) | ||
+ | 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)</ | ||
+ | |||
+ | Dans le cas de mon pc (le Dell Inspiron 9400 de Pezzos), il s'agit du contrôleur Ricoh. | ||
+ | |||
+ | |||
+ | ===== Texas Instruments PCIxx21 ===== | ||
+ | |||
+ | |||
+ | ==== Recompiler le pilote V2 ==== | ||
+ | |||
+ | < | ||
+ | Fonctionne sous Ubuntu 9.04 pour les lecteurs de carte Texas Instrument PCIxx21. | ||
+ | |||
+ | Merci de préciser si ça marche pour d' | ||
+ | </ | ||
+ | |||
+ | Le pilote nécessaire pour l' | ||
+ | |||
+ | <note important> | ||
+ | Compiler un kernel prend du temps (1h - 1h30 suivant votre système), alors préparez quelque chose à faire pendant ce temps là. ^_^ | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Méthode manuelle === | ||
+ | |||
+ | * Activer les [[tutoriel: | ||
+ | * Ouvrir un [[: | ||
+ | * Récupérer les " | ||
+ | < | ||
+ | sudo apt-get build-dep linux-image-`uname -r` | ||
+ | </ | ||
+ | * Récupérer les fichiers sources du kernel | ||
+ | < | ||
+ | sudo apt-get source linux-image-`uname -r` | ||
+ | </ | ||
+ | * Entrer dans le répertoire où ont été téléchargé les fichiers sources | ||
+ | < | ||
+ | cd linux-`uname -r` | ||
+ | </ | ||
+ | ou | ||
+ | < | ||
+ | cd linux-`eval "uname -r" | cut -f1 -d-` | ||
+ | </ | ||
+ | suivant lequel fonctionne. | ||
+ | * Activer la compilation du pilote des lecteurs de carte mémoire | ||
+ | Si vous utiliser un système 32 bit : | ||
+ | < | ||
+ | sudo gedit debian/ | ||
+ | </ | ||
+ | Si vous utiliser un système 64 bit : | ||
+ | < | ||
+ | sudo gedit debian/ | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Rapportez vous à votre CD d' | ||
+ | </ | ||
+ | * Rechercher la ligne : | ||
+ | < | ||
+ | # CONFIG_MEMSTICK is not set | ||
+ | </ | ||
+ | * Remplacer par : | ||
+ | < | ||
+ | CONFIG_MEMSTICK=m | ||
+ | </ | ||
+ | * Enregistrer et fermer la fenêtre. | ||
+ | * Dans le terminal taper : | ||
+ | < | ||
+ | sudo AUTOBUILD=1 NOEXTRAS=1 skipabi=true fakeroot debian/ | ||
+ | </ | ||
+ | * Mettre en place le nouveau pilote et l' | ||
+ | < | ||
+ | sudo cp -r debian/ | ||
+ | sudo depmod -a | ||
+ | </ | ||
+ | * Insérer la carte, ça marche sans avoir besoin de redémarrer 8-) | ||
+ | |||
+ | |||
+ | === Méthode automatique === | ||
+ | |||
+ | < | ||
+ | |||
+ | * Ouvrez [[nautilus]] (l' | ||
+ | * Clic droit --> Créer un document --> Fichier vierge | ||
+ | * Copier-coller ce qui suit : | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | if [ " | ||
+ | echo "Vous ne m'avez pas donné le type d' | ||
+ | return | ||
+ | fi | ||
+ | cd tmp_kernel_files && echo "Je dois être utilisé dans un répertoire où il n'y a pas de sous-répertoire nommé : tmp_kernel_files" | ||
+ | echo " | ||
+ | #0.) Création du répertoire temporaire : ./ | ||
+ | mkdir tmp_kernel_files | ||
+ | cd tmp_kernel_files | ||
+ | #1.) Télécharge les fichiers sources du dernier noyau linux : | ||
+ | apt-get build-dep linux-image-`uname -r` | ||
+ | apt-get source linux-image-`uname -r` | ||
+ | cd linux-`uname -r` || cd linux-`eval "uname -r" | cut -f1 -d-` | ||
+ | #2.) Ajoute " | ||
+ | echo CONFIG_MEMSTICK=m >> debian/ | ||
+ | #3.) Compile le noyau entier : | ||
+ | AUTOBUILD=1 NOEXTRAS=1 skipabi=true fakeroot debian/ | ||
+ | #4.) Copie le pilote " | ||
+ | cp -r debian/ | ||
+ | #5.) Applique les changements au système: | ||
+ | depmod -a | ||
+ | #6.) Nettoie les fichiers temporaires : | ||
+ | cd .. | ||
+ | cd .. | ||
+ | rm -r -f tmp_kernel_files | ||
+ | echo " | ||
+ | </ | ||
+ | * Enregistrer sous : ~/ | ||
+ | * Fermer le fichier et le rendre [[permissions|exécutable]] | ||
+ | * Ouvrir un terminal et taper : | ||
+ | < | ||
+ | * chmod 755 ~/ | ||
+ | </ | ||
+ | ou | ||
+ | * Utiliser la méthode graphique décrite [[permissions|ici]] et permettre l' | ||
+ | * Et ben... maintenant, il faut ouvrir un terminal (là il n'y a pas le choix) ;-) | ||
+ | < | ||
+ | sudo apt-get install fakeroot | ||
+ | sudo sh ~/ | ||
+ | </ | ||
+ | <note tip>Lors de l' | ||
+ | * Une fois fini, insérer une carte, elle devrait fonctionner. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Ricoh Co Ltd R5C822 ===== | ||
+ | |||
+ | Note: aucune de ces 2 méthodes ne fonctionne pour le Ricoh Co Ltd R5C822. | ||
+ | |||
+ | Note 2: pensez à blacklister le module sdhci sur les versions récentes (10.04+), pour cela ajouter " | ||
+ | |||
+ | === 1 ere méthode === | ||
+ | |||
+ | J'ai un portable Dell Inspiron 9400 qui intègre un lecteur de carte SD Ricoh. Ce lecteur marche très bien d' | ||
+ | Ce que ne voulons est simple, que la carte SD monte automatiquement dès son insertion dans le slot. | ||
+ | |||
+ | \\ | ||
+ | Pour ceci, il suffit d' | ||
+ | |||
+ | sudo cp / | ||
+ | \\ | ||
+ | Nous allons maintenant simplement éditer le fichier / | ||
+ | |||
+ | gksu gedit / | ||
+ | \\ | ||
+ | Et rajouter à la fin de ce fichier dans une nouvelle ligne : | ||
+ | |||
+ | tifm_sd | ||
+ | \\ | ||
+ | Lors du redémarrage, | ||
+ | |||
+ | < | ||
+ | sudo modprobe tifm_sd | ||
+ | \\ | ||
+ | </ | ||
+ | |||
+ | |||
+ | Sous 12.04, il peut être utile d' | ||
+ | pciehp | ||
+ | acpiphp | ||
+ | jmb38x_ms | ||
+ | sdhci-pci | ||
+ | flash_bd | ||
+ | xd_card | ||
+ | jmb38x_xd</ | ||
+ | Ou encore : | ||
+ | < | ||
+ | tifm_core | ||
+ | tifm_ms | ||
+ | tifm_sd | ||
+ | mmc_block | ||
+ | mmc_spi</ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | === 2 ieme méthode === | ||
+ | \\ | ||
+ | Il existe une autre méthode pour activer votre lecteur de carte (testé avec un DELL inspiron 6400 ) | ||
+ | \\ | ||
+ | tapez la commande : | ||
+ | lspci | ||
+ | \\ | ||
+ | vous allez avoir une liste, dans cette liste repérer la ligne qui contient : | ||
+ | SD Host controller: Ricoh Co Ltd R5C822 SD/ | ||
+ | \\ | ||
+ | à gauche de cette ligne vous avez quelque chose de ce genre : | ||
+ | 03:01.1 | ||
+ | \\ | ||
+ | ensuite il suffit de taper ces commandes en changeant le 03:01.1 par ce que vous avez vous : | ||
+ | sudo setpci -s 03:01.1 0xCA=0x57 | ||
+ | sudo setpci -s 03:01.1 0xCB=0x02 | ||
+ | sudo setpci -s 03:01.1 0xCA=0x00 | ||
+ | |||
+ | \\ | ||
+ | et ca marche pour une carte du type MMC ! | ||
+ | |||
+ | \\ \\ | ||
+ | source : | ||
+ | http:// | ||
+ | |||
+ | ===== ENE Technology Inc CB-712/4 ===== | ||
+ | |||
+ | Pour que votre lecteur fonctionne, il faut [[: | ||
+ | tifm_sd | ||
+ | mmc_core</ | ||
+ | |||
+ | ===== O2 Micro Inc Oz776 SmartCard Reader ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Le tarball (tar.bz2) - fichier archive des sources du pilote - est disponible dans [[http:// | ||
+ | |||
+ | * Décompressez l' | ||
+ | * Aller dans le dossier qui contient l' | ||
+ | * Cliquer droit entre les fichiers > menu " | ||
+ | * Entrez votre mot de passe pour exécuter la compilation en tant qu' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | < | ||
+ | |||
+ | Retour à nos moutons: | ||
+ | * Entrez la commande de compilation < | ||
+ | Si vous obtenez un message d' | ||
+ | Poursuivez le processus de compilation du pilote; | ||
+ | * Entrez < | ||
+ | |||
+ | CheckInstall vous demande le nom du paquet DEB des sources du pilote; | ||
+ | * Entrez < | ||
+ | * Faîtes Entrée deux fois; | ||
+ | Checkinstall créé le paquet dans le répertoire des sources. | ||
+ | |||
+ | ===== Realtek Card Reader RTL8411 Device 5286/5289 ===== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Une méthode de contournement consiste à utiliser l' | ||
+ | |||
+ | **En attendant que ce problème soit résolu, __merci de ne pas supprimer cette section__**. Hélas cette méthode ne fonctionne plus sous [[16.04|Ubuntu 16.04]].</ | ||
+ | |||
+ | Le problème vient du fait que proc-info n'est plus présent dans les noyaux récents. Voir [[https:// | ||
+ | |||
+ | Il faut donc supprimer les assertions relatives à '' | ||
+ | - Télécharger [[https:// | ||
+ | - Extraire l' | ||
+ | - Supprimer "_ _devinit" | ||
+ | - Supprimer "_ _devexit" | ||
+ | - Enlever "_ _devexit_p()" | ||
+ | - Supprimer les lignes 125 à 156< | ||
+ | char **start, off_t offset, int length, int inout) | ||
+ | { | ||
+ | char *pos = buffer; | ||
+ | |||
+ | if (inout) | ||
+ | return length; | ||
+ | |||
+ | SPRINTF(" | ||
+ | |||
+ | SPRINTF(" | ||
+ | SPRINTF(" | ||
+ | SPRINTF(" | ||
+ | SPRINTF(" | ||
+ | |||
+ | /* | ||
+ | * Calculate start of next buffer, and return value. | ||
+ | */ | ||
+ | *start = buffer + offset; | ||
+ | |||
+ | if ((pos - buffer) < offset) | ||
+ | return (0); | ||
+ | else if ((pos - buffer - offset) < length) | ||
+ | return (pos - buffer - offset); | ||
+ | else | ||
+ | return (length); | ||
+ | }</ | ||
+ | - Supprimer la ligne 259 (227 si vous avez déjà supprimé les lignes précédentes) < | ||
+ | - Compiler avec " | ||
+ | - Puis "sudo make install" | ||
+ | - Puis "sudo modprobe rts_bpp" | ||
+ | - Blacklister rtsx_pci dans le fichier / | ||
+ | - Redémarrer |