[hal] semble buggé !

Reconnaissance et configuration du matériel / kernel linux
Répondre
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

[hal] semble buggé !

Message par cabaflo »

Bonjour,

J'ai un problème avec hal : il s'agit de mon lecteur de cartes (SD mmc, ...) interne : quand je mets une carte, hal ne réagit pas toujours, et je suis obligé de refaire l'opération parfois dix fois avant que ça fonctionne. Je suspecte là un bug, mais c'est peutêtre autre chose. Ceci ne se produit pas avec une clé usb.

Mon matériel :
- toshiba satellite P200-13i
- KDE 3.5.9 (rq : kdebindings 3.5.8 - pas de mise à jour pour arch)

Pouvez-vous m'aider ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

salut, tu es sur que c'est hal :?:

regarde si la carte est bien reconnue à chaque fois déjà:

Code : Tout sélectionner

tail -f /var/log/everything.log
avant d'insérer la carte

ensuite, tu peux vérifier si hal la reconnait:

Code : Tout sélectionner

hal-find-by-property --key block.device --string /dev/sdb1
remplace /dev/sdb1 par le fichier du périphérique reconnu

tu peux voir les différentes propriétés du périphériques:

Code : Tout sélectionner

hal-device resultat_de_la_commande_d_avant
après, ca peut etre aussi du à kde, mais la, il te faut un connaisseur de kde :)
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

Message par cabaflo »

Alors voilà : quand tout fonctionne bien, j'ai ceci :
- Pour la commande tail -f /var/log/everything.log :
Apr 9 18:56:42 Marguerite dhcpcd[4812]: wlan0: writing /etc/resolv.conf
Apr 9 18:56:42 Marguerite dhcpcd[4812]: wlan0: writing /var/lib/dhcpcd/dhcpcd-wlan0.info
Apr 9 18:56:42 Marguerite dhcpcd[4812]: wlan0: forking to background
Apr 9 18:56:42 Marguerite dhcpcd[4813]: wlan0: waiting on select for 43200 seconds
Apr 9 18:56:42 Marguerite dhcpcd[4812]: wlan0: exiting
Apr 9 18:56:52 Marguerite wlan0: no IPv6 routers present
Apr 9 19:26:19 Marguerite tifm_core: MMC/SD card detected in socket 0:1
Apr 9 19:26:20 Marguerite mmc1: new SD card at address 8000
Apr 9 19:26:20 Marguerite mmcblk0: mmc1:8000 SD256 247040KiB
Apr 9 19:26:20 Marguerite mmcblk0: p1
- Pour la commande hal-find-by-property --key block.device --string /dev/sdb1 :
/org/freedesktop/Hal/devices/volume_uuid_4D9B_1090
-Pour la commande hal-device /org/freedesktop/Hal/devices/volume_uuid_4D9B_1090 :
udi = '/org/freedesktop/Hal/devices/volume_uuid_4D9B_1090'
block.minor = 1 (0x1) (int)
volume.label = 'CANON_DC' (string)
volume.ignore = false (bool)
org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount', 'Eject' } (string list)
info.capabilities = { 'volume', 'block' } (string list)
volume.partition.flags = { } (string list)
volume.is_partition = true (bool)
volume.mount_point = '' (string)
info.category = 'volume' (string)
info.product = 'CANON_DC' (string)
volume.is_disc = false (bool)
volume.is_mounted = false (bool)
volume.partition.type = '0x06' (string)
block.is_volume = true (bool)
volume.linux.is_device_mapper = false (bool)
block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_0x605da3e5' (string)
info.parent = '/org/freedesktop/Hal/devices/storage_serial_0x605da3e5' (string)
volume.block_size = 512 (0x200) (int)
volume.partition.number = 1 (0x1) (int)
volume.num_blocks = 493979 (0x7899b) (int)
volume.fsversion = 'FAT16' (string)
block.device = '/dev/mmcblk0p1' (string)
volume.uuid = '4D9B-1090' (string)
volume.partition.label = '' (string)
volume.partition.scheme = 'mbr' (string)
volume.partition.media_size = 252968960 (0xf140000) (uint64)
volume.partition.uuid = '' (string)
volume.fsusage = 'filesystem' (string)
volume.is_mounted_read_only = false (bool)
org.freedesktop.Hal.Device.Volume.method_argnames = { 'mount_point fstype extra_options', 'extra_options', 'extra_options' } (string list)
info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string list)
storage.model = '' (string)
volume.size = 252917248 (0xf133600) (uint64)
info.udi = '/org/freedesktop/Hal/devices/volume_uuid_4D9B_1090' (string)
volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=', 'flush' } (string list)
org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as', 'as' } (string list)
block.major = 179 (0xb3) (int)
volume.fstype = 'vfat' (string)
org.freedesktop.Hal.Device.Volume.method_execpaths = { 'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject' } (string list)
volume.unmount.valid_options = { 'lazy' } (string list)
linux.hotplug_type = 3 (0x3) (int)
volume.partition.start = 51712 (0xca00) (uint64)
linux.sysfs_path = '/sys/block/mmcblk0/mmcblk0p1' (string)
Quand ça ne fonctionne pas :
- Pour la première commande :
Apr 9 19:26:19 Marguerite tifm_core: MMC/SD card detected in socket 0:1
Apr 9 19:26:20 Marguerite mmc1: new SD card at address 8000
Apr 9 19:26:20 Marguerite mmcblk0: mmc1:8000 SD256 247040KiB
Apr 9 19:26:20 Marguerite mmcblk0: p1
Apr 9 19:27:36 Marguerite tifm0 : demand removing card from socket 0:1
Apr 9 19:27:36 Marguerite mmc1: card 8000 removed
Apr 9 19:27:37 Marguerite tifm_core: MMC/SD card detected in socket 0:1
Apr 9 19:27:38 Marguerite mmc1: new SD card at address 8000
Apr 9 19:27:38 Marguerite mmcblk0: mmc1:8000 SD256 247040KiB
Apr 9 19:27:38 Marguerite mmcblk0: p1
Donc la carte semble toujours bien détectée par l'ordi.

Mais la seconde commande renvoit un vide. Donc si je comprends bien, hal ne le détecte plus. Si on retire et on enlève en série la carte, ça finit par refonctionner. De plus, je précise que ça fonctionne toujours la première fois.

Y a-t-il une solution au problème ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

le /dev/sdb1 était un exemple, ta carte doit être reconnue sous /dev/mmcblk0p1, mais bon, il doit y avoir un pont entre les 2...

c'est la même carte que tu essaies dans les 2 cas?

d'après une petite recherche sous google, la cause pourrait etre le système de fichier, si tu peux te le permettre, formate la carte en fat32 (vfat) et regarde si ca fonctionne mieux
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

Message par cabaflo »

Je ne sais pas trop, j'ai peut être fait avec /dev/mmcblk0p1 en fait...

Ma carte est en fait une carte d'appareil photo. Je ne peux la formater qu'avec l'appareil photo, sinon, c'est ce dernier qui aura des problèmes. De toute manière, il semble la formater en fat (mais 32 ou 16, je ne sais pas), car c'est ainsi qu'elle est montée !

Y a-t-il quand même une solution ?
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Pourquoi ne pas essayer de la monter à la main en essayant de préciser le type de fs, genre :

#mount -t fat 16 /dev/sdX /media/carte

et si ça ne marche pas tu essaie fat32, puis si ainsi tu trouves, tu fixerais ça dans /etc/fstab ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

cabaflo a écrit :Je ne sais pas trop, j'ai peut être fait avec /dev/mmcblk0p1 en fait...
du coup, on en revient au point de départ, on sait pas si c'est vraiment hal :)
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

Message par cabaflo »

Ben si...

Puisque mon périphérique EST sur /dev/mmcblk0p1 ! Donc ce que j'ai dit reste vrai, non ? Il me semble que vu que dans tous les cas, la première commande fonctionne mais que celle relative à hal ne marche pas toujours, le problème vient de hal, non ?
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

Message par cabaflo »

mélodie a écrit :Pourquoi ne pas essayer de la monter à la main en essayant de préciser le type de fs, genre :

#mount -t fat 16 /dev/sdX /media/carte

et si ça ne marche pas tu essaie fat32, puis si ainsi tu trouves, tu fixerais ça dans /etc/fstab ?
Ben, bonne idée pour savoir si c'est du fat 16 ou 32, mais... chez moi, si je met ceci dans fstab :
/dev/mmcblk0p1 /media/carte vfat defaults 0 0
hal ne fonctionne plus, comme si il y avait un conflit : à ce moment-là, on me propose toujours d'ouvrir le périphérique, mais konqueror me répond qu'il n'a pas accès au répertoire (ou un truc du genre) !

Ca fonctionne si tu le mets comme ça chez toi ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

cabaflo a écrit :
volume.fsversion = 'FAT16' (string)
cette ligne indique que la carte est en fat16
cabaflo a écrit :
/dev/mmcblk0p1 /media/carte vfat defaults 0 0
hal ne fonctionne plus, comme si il y avait un conflit : à ce moment-là, on me propose toujours d'ouvrir le périphérique, mais konqueror me répond qu'il n'a pas accès au répertoire (ou un truc du genre) !
ce n'est pas hal qui s'occupe de monter les périphériques mais les programmes genre gnome-mount (gnome), exo-mount (xfce) ou leur équivalent sur les autres dm

l'erreur indique que tu n'a pas le droit de monter le périphérique parce que tu ne donnes pas les droits dans le fstab, il suffit de rajouter "user" dans les options:

Code : Tout sélectionner

/dev/mmcblk0p1 /media/carte msdos defaults,user 0 0
Avatar de l’utilisateur
cabaflo
Hankyu
Messages : 40
Inscription : sam. 05 avr. 2008, 02:53

Message par cabaflo »

Modification effectuée, mais le problème reste le même : hal qui lance le montage automatique de la clef un peu quand il veut. La solution n'existe vraiment pas ? Hal est véritablement buggé ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

tu peux essayer ca:
http://gentoo-wiki.com/HOWTO_SD_and_MMC ... leshooting

la section parlant de udev (en modifiant pmount par mount)
Répondre