🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.os.divers
Article #156

Disque Dur externe USB - Problème GRAVISSIME - et je pèse mes mots !

#156
From: Hercule POIROT
Date: Sat, 05 Aug 2006 15:26
340 lines
16218 bytes
Bonjour � tous,

Laissez-moi vous exposer l'empleur du probl�me.

J'ai un gros probl�me avec mon disque dur externe sur bus USB, le QPS 200GB.

J'extraie son Master Boot Record (MBR) :

debian:~# dd bs=512 count=1 if=/dev/sda | od -A x -v -t x1
000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000010 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c
000020 bf 1b 06 50 57 b9 e5 01 f3 a4 cb be be 07 b1 04
000030 38 2c 7c 09 75 15 83 c6 10 e2 f5 cd 18 8b 14 8b
000040 ee 83 c6 10 49 74 16 38 2c 74 f6 be 10 07 4e ac
000050 3c 00 74 fa bb 07 00 b4 0e cd 10 eb f2 89 46 25
000060 96 8a 46 04 b4 06 3c 0e 74 11 b4 0b 3c 0c 74 05
000070 3a c4 75 2b 40 c6 46 25 06 75 24 bb aa 55 50 b4
000080 41 cd 13 58 72 16 81 fb 55 aa 75 10 f6 c1 01 74
000090 0b 8a e0 88 56 24 c7 06 a1 06 eb 1e 88 66 04 bf
0000a0 0a 00 b8 01 02 8b dc 33 c9 83 ff 05 7f 03 8b 4e
0000b0 25 03 4e 02 cd 13 72 29 be 5e 07 81 3e fe 7d 55
0000c0 aa 74 5a 83 ef 05 7f da 85 f6 75 83 be 2a 07 eb
0000d0 8a 98 91 52 99 03 46 08 13 56 0a e8 12 00 5a eb
0000e0 d5 4f 74 e4 33 c0 cd 13 eb b8 00 00 00 00 00 00
0000f0 56 33 f6 56 56 52 50 06 53 51 be 10 00 56 8b f4
000100 50 52 b8 00 42 8a 56 24 cd 13 5a 58 8d 64 10 72
000110 0a 40 75 01 42 80 c7 02 e2 f7 f8 5e c3 eb 74 54
000120 61 62 6c 65 20 64 65 20 70 61 72 74 69 74 69 6f
000130 6e 20 65 72 72 6f 6e 82 65 00 45 72 72 65 75 72
000140 20 6c 6f 72 73 20 64 75 20 63 68 61 72 67 65 6d
000150 65 6e 74 20 64 75 20 73 79 73 74 8a 6d 65 20 64
000160 27 65 78 70 6c 6f 69 74 61 74 69 6f 6e 00 53 79
000170 73 74 8a 6d 65 20 64 27 65 78 70 6c 6f 69 74 61
000180 74 69 6f 6e 20 6d 61 6e 71 75 61 6e 74 00 00 00
000190 00 00 00 8b fc 1e 57 8b f5 cb 00 00 00 00 00 00
0001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001c0 00 00 00 00 00 00 00 00 8b 3b 1d e4 00 00 00 01
0001d0 01 00 0c fe ff ff 3f 00 00 00 d2 ea ff 03 00 fe
0001e0 ff ff 83 fe ff ff d2 ea ff 03 d2 ea ff 03 00 00
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000200
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.147472 seconds, 3.5 kB/s
debian:~#

Je vois qu'il est erron� et je veux en �crire un autre � la place
dont j'ai mis les octets dans la varible DATA1 :

debian:~# echo -ne "$DATA1" | wc -c
512
debian:~# echo -ne "$DATA1" | od -A x -v -t x1
000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000010 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c
000020 bf 1b 06 50 57 b9 e5 01 f3 a4 cb be be 07 b1 04
000030 38 2c 7c 09 75 15 83 c6 10 e2 f5 cd 18 8b 14 8b
000040 ee 83 c6 10 49 74 16 38 2c 74 f6 be 10 07 4e ac
000050 3c 00 74 fa bb 07 00 b4 0e cd 10 eb f2 89 46 25
000060 96 8a 46 04 b4 06 3c 0e 74 11 b4 0b 3c 0c 74 05
000070 3a c4 75 2b 40 c6 46 25 06 75 24 bb aa 55 50 b4
000080 41 cd 13 58 72 16 81 fb 55 aa 75 10 f6 c1 01 74
000090 0b 8a e0 88 56 24 c7 06 a1 06 eb 1e 88 66 04 bf
0000a0 0a 00 b8 01 02 8b dc 33 c9 83 ff 05 7f 03 8b 4e
0000b0 25 03 4e 02 cd 13 72 29 be 5e 07 81 3e fe 7d 55
0000c0 aa 74 5a 83 ef 05 7f da 85 f6 75 83 be 2a 07 eb
0000d0 8a 98 91 52 99 03 46 08 13 56 0a e8 12 00 5a eb
0000e0 d5 4f 74 e4 33 c0 cd 13 eb b8 00 00 00 00 00 00
0000f0 56 33 f6 56 56 52 50 06 53 51 be 10 00 56 8b f4
000100 50 52 b8 00 42 8a 56 24 cd 13 5a 58 8d 64 10 72
000110 0a 40 75 01 42 80 c7 02 e2 f7 f8 5e c3 eb 74 54
000120 61 62 6c 65 20 64 65 20 70 61 72 74 69 74 69 6f
000130 6e 20 65 72 72 6f 6e 82 65 00 45 72 72 65 75 72
000140 20 6c 6f 72 73 20 64 75 20 63 68 61 72 67 65 6d
000150 65 6e 74 20 64 75 20 73 79 73 74 8a 6d 65 20 64
000160 27 65 78 70 6c 6f 69 74 61 74 69 6f 6e 00 53 79
000170 73 74 8a 6d 65 20 64 27 65 78 70 6c 6f 69 74 61
000180 74 69 6f 6e 20 6d 61 6e 71 75 61 6e 74 00 00 00
000190 00 00 00 8b fc 1e 57 8b f5 cb 00 00 00 00 00 00
0001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
0001c0 01 00 0c fe ff ff 3f 00 00 00 d2 ea ff 03 00 fe
0001d0 ff ff 83 fe ff ff d2 ea ff 03 d2 ea ff 03 00 00
0001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000200
debian:~# echo -ne "$DATA1" | dd bs=512 count=1 of=/dev/sda
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.044315 seconds, 11.6 kB/s
debian:~# dd bs=512 count=1 if=/dev/sda | od -A x -v -t x1
000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000020 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c
000030 bf 1b 06 50 57 b9 e5 01 f3 a4 cb be be 07 b1 04
000040 38 2c 7c 09 75 15 83 c6 10 e2 f5 cd 18 8b 14 8b
000050 ee 83 c6 10 49 74 16 38 2c 74 f6 be 10 07 4e ac
000060 3c 00 74 fa bb 07 00 b4 0e cd 10 eb f2 89 46 25
000070 96 8a 46 04 b4 06 3c 0e 74 11 b4 0b 3c 0c 74 05
000080 3a c4 75 2b 40 c6 46 25 06 75 24 bb aa 55 50 b4
000090 41 cd 13 58 72 16 81 fb 55 aa 75 10 f6 c1 01 74
0000a0 0b 8a e0 88 56 24 c7 06 a1 06 eb 1e 88 66 04 bf
0000b0 0a 00 b8 01 02 8b dc 33 c9 83 ff 05 7f 03 8b 4e
0000c0 25 03 4e 02 cd 13 72 29 be 5e 07 81 3e fe 7d 55
0000d0 aa 74 5a 83 ef 05 7f da 85 f6 75 83 be 2a 07 eb
0000e0 8a 98 91 52 99 03 46 08 13 56 0a e8 12 00 5a eb
0000f0 d5 4f 74 e4 33 c0 cd 13 eb b8 00 00 00 00 00 00
000100 56 33 f6 56 56 52 50 06 53 51 be 10 00 56 8b f4
000110 50 52 b8 00 42 8a 56 24 cd 13 5a 58 8d 64 10 72
000120 0a 40 75 01 42 80 c7 02 e2 f7 f8 5e c3 eb 74 54
000130 61 62 6c 65 20 64 65 20 70 61 72 74 69 74 69 6f
000140 6e 20 65 72 72 6f 6e 82 65 00 45 72 72 65 75 72
000150 20 6c 6f 72 73 20 64 75 20 63 68 61 72 67 65 6d
000160 65 6e 74 20 64 75 20 73 79 73 74 8a 6d 65 20 64
000170 27 65 78 70 6c 6f 69 74 61 74 69 6f 6e 00 53 79
000180 73 74 8a 6d 65 20 64 27 65 78 70 6c 6f 69 74 61
000190 74 69 6f 6e 20 6d 61 6e 71 75 61 6e 74 00 00 00
0001a0 00 00 00 8b fc 1e 57 8b f5 cb 00 00 00 00 00 00
0001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
0001d0 01 00 0c fe ff ff 3f 00 00 00 d2 ea ff 03 00 fe
0001e0 ff ff 83 fe ff ff d2 ea ff 03 d2 ea ff 03 00 00
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000200
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.050697 seconds, 10.1 kB/s
debian:~#

  Je viens donc d'�crire un secteur 'propre' du point de vue de la signature
"\x55\xaa" pour le BIOS et des quatres descripteurs de partitions primaires.

  La plage 000000 - 0001ba , qui contient normalement le programme de boot
principal et une signature utilis�e par M$ W$$s , est s�rement abherrant !

  Le probl�me, c'est qu'en relisant ce secteur peu apr�s l'avoir �crit, j'
obtiens quelquechose de diff�rent de ce que je viens d'�crire !!!

  L'�criture � bien eu lieu, mais le driver/l'impl�mentation_probl�matique
a �crit un secteur bizarre compos� d'un premier paragraphe (16 Octets)
plein de z�ros, puis les quinze premiers paragraphes du secteur que je
voulais �crire, laissant le dernier paragraphe � �crire quelque-part dans
la nature !!!

debian:~# dd bs=512 count=1 skip=1 if=/dev/sda | od -A x -v -t x1
000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000200
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.063951 seconds, 8.0 kB/s
debian:~#

Quoi qu'il a peut-�tre bien fini dans le secteur suivant, ce seizi�me
paragraphe � �crire.

Il est clair que le driver lit/�crit des blocs de 1 ou 2 ou 4 ... Ko(s)
, en tout cas plus grands qu'un secteur de 512 octets, et que cette
'premi�re' �criture aura r�veill� le Disque Dur en sursaut, le faisant
�crire avec un d�calage de 16 octets, � moins que le problme n'arrive
� la lecture ???

Ce probl�me GRAVISSIME m'arrive autant avec Linux 2.6.15-1-k7 Debian qu'avec
Linux 2.6.16-2-k7 Debian !!!

Qu'en pensez-vous ?
Des pistes ?

Quelques info techniques sur ma configuration :

J'utilise la distribution Debian GNU/Linux 'Testing' � jour en date du
Jeudi 3 Ao�t 2006.

debian:~# uname -a
Linux debian 2.6.15-1-k7 #2 Mon Mar 6 15:42:39 UTC 2006 i686 GNU/Linux
debian:~# lspci
00:00.0 Host bridge: ATI Technologies Inc AGP Bridge [IGP 320M] (rev 13)
00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 320M] (rev 01)
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link
Controller Audio Device (rev 02)
00:07.0 ISA bridge: ALi Corporation M1533/M1535 PCI to ISA Bridge
[Aladdin IV/V/V+]
00:08.0 Modem: ALi Corporation M5457 AC'97 Modem Controller
00:0a.0 CardBus bridge: O2 Micro, Inc. OZ601/6912/711E0
CardBus/SmartCardBus Controller
00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4)
00:11.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
00:12.0 Ethernet controller: National Semiconductor Corporation DP83815
(MacPhyter) Ethernet Controller
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility U1
debian:~# lsusb
Bus 001 Device 007: ID 03e0:6830
Bus 001 Device 005: ID 06b9:4061 Alcatel Telecom SpeedTouch ISDN or ADSL
Modem
Bus 001 Device 004: ID 05a4:9840 Ortek Technology, Inc.
Bus 001 Device 003: ID 045e:00b9 Microsoft Corp. Wireless Optical Mouse 3.0
Bus 001 Device 002: ID 0409:0059 NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 0000:0000
debian:~# lsmod
Module                  Size  Used by
usb_storage            65408  0
sd_mod                 17360  0
radeon                 97120  1
drm                    64724  2 radeon
binfmt_misc            10632  1
cpufreq_ondemand        5916  1
cpufreq_userspace       4312  0
cpufreq_powersave       1728  0
powernow_k7             8232  0
speedstep_lib           4100  0
freq_table              4228  1 powernow_k7
button                  6544  0
ac                      4740  0
battery                 9476  0
ip_nat_irc              2496  0
ip_nat_ftp              3072  0
ip_conntrack_irc        6448  1 ip_nat_irc
ip_conntrack_ftp        7408  1 ip_nat_ftp
ipt_LOG                 5760  3
iptable_mangle          2688  0
iptable_filter          2816  1
iptable_nat             7108  0
ip_nat                 17516  3 ip_nat_irc,ip_nat_ftp,iptable_nat
ip_tables              17536  4
ipt_LOG,iptable_mangle,iptable_filter,iptable_nat
ip_conntrack           49580  6
ip_nat_irc,ip_nat_ftp,ip_conntrack_irc,ip_conntrack_ftp,iptable_nat,ip_nat
nfnetlink               6168  2 ip_nat,ip_conntrack
ppp_deflate             5760  0
bsd_comp                5504  0
ipv6                  222976  16
deflate                 3712  0
zlib_deflate           20888  2 ppp_deflate,deflate
twofish                44096  0
serpent                19584  0
aes                    29248  0
blowfish                8000  0
des                    16384  0
sha256                 12928  0
sha1                    2624  0
crypto_null             2304  0
af_key                 31120  2
nls_utf8                1984  1
ntfs                  191824  1
dm_mod                 51576  0
fuse                   33420  0
scsi_mod              126120  2 usb_storage,sd_mod
cryptoloop              3648  0
sha512                  9600  0
loop                   15432  1 cryptoloop
pppoatm                 5760  1
ppp_generic            26068  7 ppp_deflate,bsd_comp,pppoatm
slhc                    6592  1 ppp_generic
snd_ali5451            21644  2
snd_ac97_codec         82528  1 snd_ali5451
snd_ac97_bus            2112  1 snd_ac97_codec
snd_pcm_oss            46112  1
snd_mixer_oss          16576  1 snd_pcm_oss
i2c_ali1535             6724  0
snd_pcm                77704  3 snd_ali5451,snd_ac97_codec,snd_pcm_oss
snd_timer              21444  1 snd_pcm
i2c_ali15x3             7172  0
yenta_socket           25164  0
rsrc_nonstatic         12096  1 yenta_socket
pcmcia_core            37968  2 yenta_socket,rsrc_nonstatic
shpchp                 39872  0
pci_hotplug            24884  1 shpchp
snd                    48740  8
snd_ali5451,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               8992  2 snd
snd_page_alloc          9992  1 snd_pcm
i2c_core               19408  2 i2c_ali1535,i2c_ali15x3
rtc                    11508  0
ati_agp                 7756  1
agpgart                31496  2 drm,ati_agp
pcspkr                  1732  0
psmouse                32516  0
floppy                 54916  0
parport_pc             32324  0
speedtch               11400  0
firmware_class          9984  1 speedtch
parport                31880  1 parport_pc
usbatm                 14464  2 speedtch
serio_raw               6596  0
joydev                  8960  0
evdev                   8896  3
mousedev               10592  1
ext3                  118664  2
jbd                    48724  1 ext3
mbcache                 8516  1 ext3
ide_cd                 36804  0
cdrom                  33568  1 ide_cd
usbhid                 32608  0
ide_disk               15936  5
generic                 4356  0 [permanent]
natsemi                24224  0
ohci_hcd               17860  0
usbcore               113924  6 usb_storage,speedtch,usbatm,usbhid,ohci_hcd
alim15x3               10892  0 [permanent]
ide_core              112928  5 usb_storage,ide_cd,ide_disk,generic,alim15x3
thermal                13512  0
processor              22976  2 powernow_k7,thermal
fan                     4676  0
debian:~#

Merci pour toute aide.

Cordialement,
Hercule POIROT
Technical Details
Message-ID: <44d4b8b6$0$895$ba4acef3@news.orange.fr>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!news.glorb.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 10de96,ea353924da11af87,start
X-Google-Attributes: gid10de96,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!news.glorb.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mail
Date: Sat, 05 Aug 2006 17:26:43 +0200
From: Hercule POIROT <hercule.poirot@labas.ou>
User-Agent: Thunderbird 1.5.0.4 (X11/20060713)
MIME-Version: 1.0
Newsgroups: fr.comp.os.divers
Subject: Disque Dur externe USB - Problème GRAVISSIME - et je pèse mes mots !
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Lines: 340
Message-ID: <44d4b8b6$0$895$ba4acef3@news.orange.fr>
Organization: les newsgroups par Orange
NNTP-Posting-Date: 05 Aug 2006 17:26:47 CEST
NNTP-Posting-Host: 83.197.220.6
X-Trace: 1154791607 news.orange.fr 895 83.197.220.6:43017
X-Complaints-To: abuse@orange.fr