====== Mise à jour du firmware d'un disque dur ====== >**Sujet** : Mise à jour du firmware d'un disque dur d'un ordinateur portable [[http://www.dell.ch|Dell]] sous GNU/Linux >**Niveau** : Difficile >**Auteur** : [[utilisateurs:waver]] (2 novembre 2005) ===== Introduction ====== Un problème classique quand on est passé complètement à GNU/Linux c’est la [[http://users.linuxbourg.ch/waver/blog/index.php?2005/10/04/59-mise-a-jour-d-un-bios-pour-dell|mise à jour du bios]] ou d'un autre composant comme le disque dur car souvent cela nécessite d’exécuter des ''.exe'' dans un DOS. Quid quand on est sous GNU/Linux et qu’on n’a plus de partition Windows/DOS ni même de lecteur disquette sur la machine? La solution que j'ai pu trouver n'est pas tout à fait libre, car j'ai fait appel à un ami sous Windows pour l'extraction du firmware qui est en ''.exe''. Il faut qu'on trouve une image d’un système DOS libre et la graver sur un CD-ROM en y ajoutant les fichiers pour mettre à jour le firmware. Un petit résumé de ce que fait ce nouveau firmware : (C'est vrai qu'avec cette mise à jour j'ai plus de le bruit clique au niveau du disque dur) * Titre de la version : IDE / EIDE: Western Digital Scorpio 40GB 5400rpm Mobile HDD, Scorpio 60GB 5400rpm Mobile HDD, Scorpio 80GB 5400rpm Mobile HDD, Firmware, Windows 2000, Windows XP, English, Multi System, v.11.07D11, Rev A1 * Date de la version : 29.08.2005 * Description : Western Digital Firmaware patch corrects an intermittent clicking noise issue on the following models: 40G - X7571 - WD400VE-75HDT0 60G - C8579 - WD600VE-75HDT0 80G - W7962 - WD800VE-75HDT0 ===== Procédure ===== - On va télécharger une image de [[http://www.freedos.org/|FreeDos]]; on récupère l’image ''[[http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/old/beta9rc5/fdos1440.img|fdos1440.img]]''. J’ai utilisé une version beta9rc5 qui est maintenant disponible dans les archives. Cette version est différente de la version actuelle (beta9sr1) car elle ne propose plus de charger le driver CD-ROM pour ensuite aller en ligne de commande. - On va télécharger le firmware chez [[http://www.dell.ch|Dell]]. J'ai téléchargé le fichier ''[[http://ftp.us.dell.com/ide/R107305.EXE|R107305.EXE]]'' et je l'ai envoyé à un ami pour l'extraction puis il m'a renvoyé les fichiers. J'ai crée une archive de ces fichiers et je vous la met à disposition [[http://users.linuxbourg.ch/waver/tmp/Software/R107305.tar.bz2|ici]] son empreinte md5 est : 9b7a7753a817dde2f1df721db30bd37b . - On crée le lieu de travail et on commence:23:57 waver@Jupiter ~% mkdir /tmp/hdd && cd /tmp/hdd 23:57 waver@Jupiter /tmp/hdd% wget fdos1440.img (http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/old/beta9rc5/fdos1440.img) 23:57 waver@Jupiter /tmp/hdd% wget R107305.tar.bz2 (http://users.linuxbourg.ch/waver/tmp/Software/R107305.tar.bz2) 23:57 waver@Jupiter /tmp/hdd% md5sum R107305.tar.bz2 9b7a7753a817dde2f1df721db30bd37b R107305.tar.bz2 23:57 waver@Jupiter /tmp/hdd% tar xfj R107305.tar.bz2 23:59 waver@Jupiter /tmp/hdd% ls -l total 3,6M -rw------- 1 waver waver 8,8K 2005-10-31 00:14 DLGLICE.TXT -rw-r--r-- 1 waver waver 1,5M 2004-04-20 05:17 fdos1440.img -rw-r--r-- 1 waver waver 1,1M 2005-10-31 23:48 R107305.tar.bz2 -rw------- 1 waver waver 1,2M 2005-10-31 00:14 wddel023.exe -rw------- 1 waver waver 601 2005-10-31 00:14 wddel023.txt 0:02 waver@Jupiter /tmp/hdd% mkdir firm 0:02 waver@Jupiter /tmp/hdd% mv DLGLICE.TXT fdos1440.img wddel023.exe wddel023.txt firm 0:02 waver@Jupiter /tmp/hdd% ls -l firm total 2,6M -rw------- 1 waver waver 8,8K 2005-10-31 00:14 DLGLICE.TXT -rw-r--r-- 1 waver waver 1,5M 2004-04-20 05:17 fdos1440.img -rw------- 1 waver waver 1,2M 2005-10-31 00:14 wddel023.exe -rw------- 1 waver waver 601 2005-10-31 00:14 wddel023.txt - Générons une image ''iso9660'' bootable que l’on nommera ''firmhdd.iso'' :0:05 waver@Jupiter /tmp/hdd% mkisofs -o firmhdd.iso -b fdos1440.img ./firm/* INFO: ISO-8859-1 character encoding detected by locale settings. Assuming ISO-8859-1 encoded filenames on source filesystem, use -input-charset to override. Size of boot image is 2880 sectors -> Emulating a 1440 kB floppy Total translation table size: 2048 Total rockridge attributes bytes: 0 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 21000 1469 extents written (2 MB) 0:06 waver@Jupiter /tmp/hdd% ls -l total 4,0M drwxr-xr-x 2 waver waver 4,0K 2005-11-01 00:02 firm/ -rw-r--r-- 1 waver waver 2,9M 2005-11-01 00:06 firmhdd.iso -rw-r--r-- 1 waver waver 1,1M 2005-10-31 23:48 R107305.tar.bz2 - Montons l’image pour s’assurer qu’elle soit bien construite et lisible: 0:06 waver@Jupiter /tmp/hdd% sudo mount -o loop,rw firmhdd.iso ~/tmp/iso 0:08 waver@Jupiter /tmp/hdd% ls -l ~/tmp/iso total 2,6M -r-xr-xr-x 1 root root 2,0K 2005-11-01 00:06 boot.cat* -r-xr-xr-x 1 root root 8,8K 2005-10-31 00:14 dlglice.txt* -r-xr-xr-x 1 root root 1,5M 2004-04-20 05:17 fdos1440.img* -r-xr-xr-x 1 root root 1,2M 2005-10-31 00:14 wddel023.exe* -r-xr-xr-x 1 root root 601 2005-10-31 00:14 wddel023.txt* 0:08 waver@Jupiter /tmp/hdd% sudo umount ~/tmp/iso - Il n’y a plus qu’à graver l’image ''firmhdd.iso'' et booter votre ordinateur portable sur le nouveau disque créé en **laissant votre secteur AC branché** : 0:11 waver@Jupiter /tmp/hdd% /usr/bin/cdrecord.mmap -v gracetime=2 dev=/dev/hdd speed =48 -dao driveropts=burnfree -eject -overburn -data /tmp/hdd/firmhdd.iso Une fois que j'ai booté sur le cd j'ai dû répondre au question de cette façon: * FreeDos (speedup, 386+) * 1. Boot without XMS, attempt cdrom loading * 3) I give up. please drop me to the commandline. - Une fois en ligne de commande, il ne vous reste plus qu'à lancer ''wddel023.exe'' moi j'ai du faire directement: X:\> wddel023 /D1 - Le contenu du fichier ''wddel023.txt'': Syntax: WDDEL023 [/A][/Dn][/S][/?] If no command line options are provided, an interactive user interface will display a list of drives and whether a drive update is available. The user can choose which drive(s) to update. Optional parameters (usage indicates acceptance of the license agreement): /A Automatically update all attached drives. /Dn Update drive number . /S Scan and report attached devices only. /? This help screen. ===== Liens ===== * http://users.linuxbourg.ch/waver/blog/index.php?2005/10/31/65-mise-a-jour-du-firmware-d-un-hdd-depuis-linux