Portál AbcLinuxu, 26. dubna 2024 17:53

Oprava nefunkčního připojování externího disku do Linuxu

31.1.2011 14:17 | Přečteno: 2818× | Výběrový blog | poslední úprava: 31.1.2011 20:26

Tohle je můj první blogový zápisek na AbcLinuxu.cz :-)
Mám externí šuplíkovou mechaniku na 3,5" IDE zařízení ViPower VPM-6248T, která se připojuje přes USB a v tom mám PATA disk 160GB, jeden oddíl se souborovým systémem NTFS. Naposledy jsem tento externí disk používal v dubnu 2010 a pak jsem ho nějakou dobu nepoužíval. Nedávno jsem potřeboval na tento disk uložit zálohu dat z jednoho notebooku při přeinstalování rozbitých Windows XP na Ubuntu, externí disk se po připojení do USB neobjevil v Linuxu. Tak jsem zagooglil po řešení a našel jsem něco, co mi fungovalo a chci se s Vámi podělit o toto řešení problému.

Pevný disk je samozřejmě v pořádku, když ho připojím do stolního počítače přímo na IDE rozhraní, funguje.
Nejdříve je tu část výpisu příkazu dmesg, kde jsou hlášky po připojení mechaniky s diskem do USB:
[ 1080.850230] usb 2-3: new high speed USB device using ehci_hcd and address 4
[ 1081.003089] usb-storage 2-3:1.0: Quirks match for vid 05e3 pid 0702: 520
[ 1081.003143] scsi6 : usb-storage 2-3:1.0
[ 1103.240271] usb 2-3: USB disconnect, address 4
[ 1103.240432] scsi 6:0:0:0: Device offlined - not ready after error recovery
Ve výpisu dmesg není žádná chybová hláška ohledně externího disku, jen informace o tom, že zařízení je odpojeno. Ve výpisu lsusb není žádná změna mezi stavy, kdy disk není ještě připojen do USB a po připojení disku do USB.
Našel jsem jednu diskuzi na Root.cz, kde někdo píše o nedostatečném času pro detekci nového zařízení modulem scsi a má se udělat něco jako echo 30 > /sys/module/scsi_mod/parameters/inq_timeout, odkaz na příspěvek, v tom příspěvku se dále odkazuje na další diskuzi s tématem Linux: Voyager 16Gb not recognized.

Můj původní timeout modulu scsi je:
mira@phoenix:~$ cat /sys/module/scsi_mod/parameters/inq_timeout 
20
Jednorázové zvýšení tohoto času (do restartu systému) se dělá takto:
sudo sh -c "echo 30 > /sys/module/scsi_mod/parameters/inq_timeout"
Nový čas je:
mira@phoenix:~$ cat /sys/module/scsi_mod/parameters/inq_timeout 
30
Připojuji znovu disk, chvilku čekám, disk začne slyšitelně (v rámci běžných mezí hlučnosti :-) ) pracovat a v tu chvíli se objeví okno s obsahem disku, paráda, připojil se a můžu s ním pracovat. Dmesg po připojení disku vypadá takto:
[ 6392.800148] usb 2-3: new high speed USB device using ehci_hcd and address 5
[ 6392.953059] usb-storage 2-3:1.0: Quirks match for vid 05e3 pid 0702: 520
[ 6392.953116] scsi7 : usb-storage 2-3:1.0
[ 6415.820970] scsi 7:0:0:0: Direct-Access     WDC WD16 00JB-00GVC0      0811 PQ: 0 ANSI: 0
[ 6415.822411] sd 7:0:0:0: Attached scsi generic sg3 type 0
[ 6415.824878] sd 7:0:0:0: [sdc] 312579695 512-byte logical blocks: (160 GB/149 GiB)
[ 6415.827997] sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
[ 6415.828007] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[ 6415.832558] sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
[ 6415.832566] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[ 6415.832579]  sdc: sdc1
[ 6415.858114] sd 7:0:0:0: [sdc] Test WP failed, assume Write Enabled
[ 6415.858118] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[ 6415.858122] sd 7:0:0:0: [sdc] Attached SCSI disk
V lsusb přibyl jeden řádek navíc:
Bus 002 Device 005: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
V tuto chvíli můžu s diskem pracovat do té doby, než se znovu nastartuje Linux (po vypnutí či restartu). A já mám na Vás dotaz, jak udělat změnu toho času pro detekci nového zařízení trvale, nevím jak to udělat a na stránce s diskuzí Voyager 16Gb not recognized se píše o postupu, kdy se do souboru /etc/modprobe.d/options vloží řádek options scsi_mod inq_timeout=30, pak se přeinstaluje aktuální jádro: sudo aptitude reinstall linux-image-'uname-r', po dokončení přeinstalace restart a prý má být ten čas detekce nového zařízení na nové hodnotě, což se tak u mě nestalo.

UPDATE:
Pro trvalé nastavení času pro inicializaci se zapíše řádek
echo 30 > /sys/module/scsi_mod/parameters/inq_timeout
do startup skriptu, který se v Ubuntu nachází v /etc/rc.local. Pozor, exit 0 musí být vždy na konci skriptu.
Ukázka:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 30 > /sys/module/scsi_mod/parameters/inq_timeout

exit 0
Tímto se správný čas čekání na inicializaci externího disku nastaví během bootování Linuxu.        

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Amarok avatar 31.1.2011 14:54 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Já bych si to nekomplikoval a prostě bych
echo 30 > /sys/module/scsi_mod/parameters/inq_timeout
hodil někam do startup-skriptu, aby se to během bootování provedlo.
GNUniverse - May the source be with you...
Jaromír Svoboda avatar 31.1.2011 18:33 Jaromír Svoboda | skóre: 9 | blog: netblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Děkuji za návrh, startup skripty jsem ještě nikdy nedělal, jak by se to dalo provést?
Tom & Jerry: # cat /dev/input/mouse0
Amarok avatar 31.1.2011 18:45 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
V Ubuntu nemam poneti, to bude stacit projit jejich wiki. V Archu hazim takove veci do /etc/rc.local, coz se spousti vzdy na zaver bootovani.
GNUniverse - May the source be with you...
31.1.2011 19:10 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
V ubuntu je to taky /etc/rc.local . Je dulezite, aby byl prikaz napsany pred tim exit 0 na konci souboru. Pak se ten prikaz spusti pri startu (pro autora blogpostu).

Ukázka:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 30 > /sys/module/scsi_mod/parameters/inq_timeout

exit 0

Baník pyčo!
31.1.2011 19:10 Ondřej Profant | Praha
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
V Ubuntu je to stejně. Jsou tam i instrukce:
keddie@musa:~$ cat /etc/rc.local 
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
31.1.2011 19:04 Dusan | skóre: 23 | blog: Moje_trable_s_internetom
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Len aby som ťa trochu doplnil vzhľadom na to, že to je začiatočník

Napríklad mandriva 2010.2 ten skript v

/etc/rc.d/rc.local

Sleep_Walker avatar 31.1.2011 19:26 Sleep_Walker
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
pozor na ty uvozovky (back quotes) `uname -r` je vlozeni vystupu prikazu
Jaromír Svoboda avatar 31.1.2011 19:59 Jaromír Svoboda | skóre: 9 | blog: netblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
To je ale v pořádku, tím se dosáhne to, že se v případě mého příkladu v zápisku přeinstaluje vždy aktuální běžící jádro, uname -r má výstup třeba 2.6.35-25-generic, takže sudo aptitude reinstall linux-image-'uname-r' je to stejné jako napsat v tu samou chvíli sudo aptitude reinstall linux-image-2.6.35-25-generic
Tom & Jerry: # cat /dev/input/mouse0
Sleep_Walker avatar 31.1.2011 21:10 Sleep_Walker
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Ano, mate pravdu, jen ten typ uvozovek je spatne a proto na to reaguji.
sudo aptitude reinstall linux-image-'uname-r' si bude stezovat, ze takovy balik neexistuje, ale
sudo aptitude reinstall linux-image-`uname-r` jiz snad zafunguje.
pavlix avatar 31.1.2011 21:16 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
sudo aptitude reinstall linux-image-`uname-r` jiz snad zafunguje.
To si zas bude stěžovat, že neexistuje takový příkaz.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
Sleep_Walker avatar 31.1.2011 21:24 Sleep_Walker
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Ok, mas recht. Hanba mi :)
Jaromír Svoboda avatar 31.1.2011 21:55 Jaromír Svoboda | skóre: 9 | blog: netblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Teď zkouším něco podobného:
mira@phoenix:~$ apt-cache search linux-image-'uname -r'
mira@phoenix:~$ apt-cache search linux-image-"uname -r"
mira@phoenix:~$ apt-cache search linux-image-`uname -r`
linux-image-2.6.35-25-generic - Linux kernel image for version 2.6.35 on x86/x86_64
Tak to tedy vypadá, že to funguje s ` ` :-)
Tom & Jerry: # cat /dev/input/mouse0
Jaromír Svoboda avatar 31.1.2011 20:07 Jaromír Svoboda | skóre: 9 | blog: netblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Děkuji všem za informace o startup skriptech.
Tom & Jerry: # cat /dev/input/mouse0
31.1.2011 20:19 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Mne taktiez disk dlho nabieha, ale interny. A BIOS sa nijak takto jednoducho postelovat neda, aby pockal trocha dlhsie, takze z toho disku nejde bootovat. Nez nabehne disk, tak to BIOS vzda s tym, ze nenasiel bootovaci disk. Pokial ho hned potom resetnem, tak na 2. pokus (uz roztoceny z 1. kola) disk najde a hura. Ale nie je to velmi pouzitelne.
If you hold a Unix shell up to your ear, you can you hear the C.
Jaromír Svoboda avatar 31.1.2011 20:34 Jaromír Svoboda | skóre: 9 | blog: netblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
To je docela blbý, to se asi nedá spravit jinak než výměnou disku. V mém případě ze zápisku je problém v rychlosti naběhnutí disku v externí mechanice, jinak disk samotný v IDE rozhraní je v pohodě.
Tom & Jerry: # cat /dev/input/mouse0
gtz avatar 1.2.2011 00:22 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Tohle rády dělaly staré disky PATA - některé modely 80/120/180 GB disků s tím měly hodně velké problémy. Musel se vypnout quit-boot a skoro vždy to pomohlo.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
1.2.2011 10:53 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Toto je SATA 1TB Western Digital EcoGreen. Pravdepodobne, aby sa mohli chvalit, ze ani pri rozbehu neberie viac ako x mA, tak sa roztaca pomaly.
If you hold a Unix shell up to your ear, you can you hear the C.
Chytrex avatar 2.2.2011 17:16 Chytrex | skóre: 30 | Bohumín
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Hmm a nějaká option v hdparm ? Například politika hlučnosti nebo jak se tomu říká.. Zkusil bych hledat tam.. Možná že když vypneš politiku hlučnosti nebo tak něco, bude ten disk startovat rychleji.. Samosebou nesmíš zapomenout uložit změny permanentně.
Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..
Amarok avatar 31.1.2011 21:14 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Mohl bys jedine zkusit treba "quick boot" vypnout, pokud to mas v BIOSu zapnute. Mozna to nepomuze, ale za pokus to stoji. A nebo zkusit najit nejaky jiny zpusob, jak start pocitace zpomalit.
GNUniverse - May the source be with you...
31.1.2011 21:27 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
Jojo, třeba nastavit jako primární bootovací medium CD-ROM, pokud to tak teď nemá. Nebo v něm mít vždy navíc ještě (nebootovatelné) CD ;-).
Baník pyčo!
gtz avatar 1.2.2011 00:20 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Oprava nefunkčního připojování externího disku do Linuxu
No mně to dělal Suse s jedním IEEE1394 boxem, kdy se odmítal připojit když běžel systém. Když jsem ho nechal zapnutý při rebootu tak se normálně připojil.
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.