[RESOLU]Via l'interface web impossible de monter une clé USB

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[RESOLU]Via l'interface web impossible de monter une clé USB

Messagepar Arpanet » 11 Juin 2007 14:22

Bonjour

Je migre actuellement mon IpCop vers un serveur DELL PowerEdge 1750, voici la procédure que j’ai suivie :
- Installation d’IpCop 1.4.15 (à l'installation pas de clé USB détectée)
- Via SSH, copy de bakup.key de mon futur exIpCop sur mon nouveau IpCop pour pouvoir utiliser la sauvegarde de mon exIpCop.
- Via l’interface WEB, copy de la sauvegarde de mon futurexIpCop sur le nouveau
- Restauration en ayant coché l’option pour le matos de la sauvegarde.
- Reboot

Voici mon prb :
Quand je branche une clé USB, dans la partie sauvegarde de l’interface web il me la détecte en sdd, et là impossible de monter le system de fichier.
Dans une console d’administration quand je tape la commande
Code: Tout sélectionner
fdisk -l
il me détecte la clé en /dev/sdc1 (et non pas en sdd comme indiqué sur l'interface WEB) :-k

Avec la commande
Code: Tout sélectionner
mount /dev/sdc1 /testusb
je n’ai pas de prb ma clé USB est bien montée en /testusb et elle fonction très bien.


Avez-vous une piste pour résoudre ce prb ?
Dernière édition par Arpanet le 11 Juin 2007 18:14, édité 1 fois au total.
Avatar de l’utilisateur
Arpanet
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 170
Inscrit le: 05 Mars 2004 01:00
Localisation: ANGERS - France

Messagepar Arpanet » 11 Juin 2007 18:12

complément d'info -> Mon RAID SCSI est détecté en sda.

Après des tests j’ai constaté qu’entre l’info affichée sur l’interface WEB et la réalité il y a systématiquement une lettre d’écart, par exemple si la clé est détectée en sdb l’interface l’affiche en sdc.

Pour résoudre mon prb j'ai modifié le fichier /home/httpd/cgi-bin/backup.cgi à la ligne 302 j'ai remplacé la valeur 97 (a dans la table ASCII) par 96 (' dans la table ASCII) table ASCII.

Avant
Code: Tout sélectionner
# there is always one controller with each usb mass-storage device
      # but with real scsi disk, on the same host, number vary
      if ($key =~ /Host scsi(.)/) {
         my $letter =97; # scsi0 => sda
         my $hostnumber=$1;
         foreach (`/bin/cat /proc/scsi/scsi | /bin/grep 'Host: scsi'`) {
            if ( /scsi$hostnumber/ ) {
               #we have the right host, stop to increment


Après
Code: Tout sélectionner
# there is always one controller with each usb mass-storage device
      # but with real scsi disk, on the same host, number vary
      if ($key =~ /Host scsi(.)/) {
         my $letter =96; # scsi0 => sda
         my $hostnumber=$1;
         foreach (`/bin/cat /proc/scsi/scsi | /bin/grep 'Host: scsi'`) {
            if ( /scsi$hostnumber/ ) {
               #we have the right host, stop to increment


PS: Cela fonctionne dans mon cas car le /dev/sda est utilisé par mon RAID, dans une configuration en ide le /dev/sda est libre (donc pas de prb d'USB)

Avez-vous une autre solution?
Avatar de l’utilisateur
Arpanet
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 170
Inscrit le: 05 Mars 2004 01:00
Localisation: ANGERS - France

Messagepar Gesp » 13 Juin 2007 22:41

Peux-tu reporter le résultat de:
Code: Tout sélectionner
cat /proc/partitions

cat `/bin/ls -F1 /proc/scsi/usb-storage*/*`

cat /proc/scsi/scsi | /bin/grep 'Host: scsi'
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Arpanet » 14 Juin 2007 10:36

Bonjour Gesp

Voici les résultats

Code: Tout sélectionner
cat /proc/partitions
major minor  #blocks  name

   8     0   35512320 sda
   8     1      16064 sda1
   8     2   10241437 sda2
   8     4   25254180 sda4
   8    16     127824 sdb
   8    17     127808 sdb1


Code: Tout sélectionner
cat `/bin/ls -F1 /proc/scsi/usb-storage*/*`
   Host scsi1: usb-storage
       Vendor: Unknown
      Product: Unknown
Serial Number: None
     Protocol: Transparent SCSI
    Transport: Bulk
         GUID: 020460250000000000000000
     Attached: No


Code: Tout sélectionner
cat /proc/scsi/scsi | /bin/grep 'Host: scsi'
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Host: scsi0 Channel: 04 Id: 06 Lun: 00
Host: scsi1 Channel: 00 Id: 00 Lun: 00


Si tu as besoin de plus d'info n'hésite pas.

Bonne journée :wink:
Avatar de l’utilisateur
Arpanet
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 170
Inscrit le: 05 Mars 2004 01:00
Localisation: ANGERS - France

Messagepar Gesp » 14 Juin 2007 13:41

Je vois d'où vient le problème avec le code existant parce que
Code: Tout sélectionner
      if ($key =~ /Host scsi(.)/) {
         my $letter =97; # scsi0 => sda
         my $hostnumber=$1;
         foreach (`/bin/cat /proc/scsi/scsi | /bin/grep 'Host: scsi'`) {
            if ( /scsi$hostnumber/ ) {
               #we have the right host, stop to increment
               last;
            } else {
               ++$letter;
            }
         }
         $val = $m = 'sd' . chr($letter);
         $key = 'Host';
      }

cela incrémente la lettre pour chaque ligne ne correspondant pas à scsi1
Code: Tout sélectionner
cat /proc/scsi/scsi | /bin/grep 'Host: scsi'
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Host: scsi0 Channel: 04 Id: 06 Lun: 00
Host: scsi1 Channel: 00 Id: 00 Lun: 00


Donc le second 'Host: scsi0' occasionne le décalage
Il faut que je remette une carte scsi pour tester une modification.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Arpanet » 14 Juin 2007 17:28

Ok, si tu as besoin de d'autres manip, pas de prb.
2 Dell PowerEdge = IPCop v1.4.21 RBG + advproxy v3.0.5 avec WPAD 2.2 + Accelerator 2.1.3 + BOT 3.0.0 build3 + SARG 2.2.5
Avatar de l’utilisateur
Arpanet
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 170
Inscrit le: 05 Mars 2004 01:00
Localisation: ANGERS - France


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron