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 28/11/2011, 00:26] – [ENE Technology Inc CB-712/4] 2.11.46.229 | 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 | ||
