![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
Hello, Unregistered You are browsing a READ only archive of the main support categories pre 4/21/2008. You will not be able to post or reply any threads in this section.
|
|
Hardware & Laptops Problems with hardware & laptops not being detected or supported during or after install. |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 1
|
Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Posting here for personal reference, and maybe save some other users some headache.
The post might need some cleanup. References: https://bugs.launchpad.net/ubuntu/+s...dev/+bug/61235 http://ubuntuforums.org/showthread.php?t=168221 System: Ubuntu 7.04 Feisty Fawn Hardware: External USB harddrive, Seagate FreeAgent 500GB Symptoms I noticed lots of I/O errors on my nice new Seagate FreeAgent 500GB, which I first though look like filesystem errors. With JFS filesystem the dmesg error looked like this: sd 6:0:0:0: Device not ready: <6>: Current: sense key: Not ReadyTrying to reformat with EXT3 gave a little different error: sd 6:0:0:0: Device not ready: <6>: Current: sense key: Not ReadySolution As described in the reference bug report: Create a new UDEV rule (using your preferred method): Example (type in Terminal): sudo gedit /etc/udev/rules.d/85-usb-hd-fix.rulesand enter BUS=="scsi", SYSFS{vendor}=="WD", RUN+="/usr/bin/usbhdfix %k"and save the file. Note: The vendor "WD" have to be replaced with the correct one, in my case "Seagate". Check the second reference link to find the correct one on your system. Then create the shell script to be run when harddrive is detected: Still in Terminal, type: sudo gedit /usr/bin/usbhdfixand enter #!/bin/bashand save the file. Make the script executable: Still in Terminal, enter sudo chmod 0755 /usr/bin/usbhdfixThat's it! It solved all problems for me |
|
|
|
|
#2 |
|
Dark Roasted Ubuntu
![]() |
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Thanks for posting your solution and for using the [SOLVED] thread tool. Glad you got it fixed =]
__________________
"The superior man understands what is right; the inferior man understands what will sell" --Confucius |
|
|
|
|
#3 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 7
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
i've been having trouble with my freeagent, but it's a little different than the problems the rest of you guys have been having. it works fine for hours, but then one or two directories will disappear. unmounting and remounting makes the directories reappear. the drive worked fine in windows, so i assumed it must be a problem with linux and ntfs. i reformatted it as fat32 and still had the same problem. finally, i tried formatting it as ext3--still having the same problem.
trying this fix now.... fingers crossed... |
|
|
|
|
#4 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 7
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
36 hours later and my freeagent is running like a charm. still too early to get excited, but it seems like this fix has resolved my problems.
so, what exactly does "allow_restart" do? my guess is that it does a quick scan to see if the drive is responding, and if it isn't, then remounts the drive. i could be way off-base. |
|
|
|
|
#5 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 7
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
3 days later and still no problems. I feel confident that this issue is truly SOLVED.
thanks so much trolav. |
|
|
|
|
#6 | |
|
5 Cups of Ubuntu
![]() Join Date: Jul 2006
Location: Sydney
Beans: 37
Ubuntu 9.10 Karmic Koala
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Quote:
Code:
scsi-spin -u /dev/sdb # or scsi-spin -u -f /dev/sdb # (if scsi-spin thinks the device is properly mounted) But my problem is that if I try to create the allow_restart file (as root) I just get "Permission denied": Code:
root@potter:~# ls /sys/block/sdb/device/scsi_disk:4:0:0:0/ cache_type device FUA uevent root@potter:~# echo 1> /sys/block/sdb/device/scsi_disk:4:0:0:0/allow_restart bash: /sys/block/sdb/device/scsi_disk:4:0:0:0/allow_restart: Permission denied root@potter:~# ls /sys/block/sdb/device/scsi_disk:4:0:0:0/ cache_type device FUA uevent root@potter:~# echo 1 > /sys/class/scsi_disk/4\:0\:0\:0/allow_restart bash: /sys/class/scsi_disk/4:0:0:0/allow_restart: Permission denied luke |
|
|
|
|
|
#7 | |
|
5 Cups of Ubuntu
![]() Join Date: Jul 2006
Location: Sydney
Beans: 37
Ubuntu 9.10 Karmic Koala
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Quote:
For me, I can workaround by becoming root and then doing a umount/scis-spin/mount sequence like so: Code:
root@potter:~# ls /data ls: reading directory /data: Input/output error root@potter:~# scsi-spin -u /dev/sdb scsi-spin: device already in use (mounted partition) root@potter:~# umount /dev/sdb1 root@potter:~# scsi-spin -u /dev/sdb root@potter:~# mount /dev/sdb1 root@potter:~# ls /data audio codecs gentoo lost+found old-logs var cdimages emerge linux-src news tmp |
|
|
|
|
|
#8 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 6
Ubuntu 7.10 Gutsy Gibbon
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
I don't know why trolav's solution worked for you. For me, %k evaluates to sda1 (or sdb1), and /sys/block/sda1 does not exist. However, /sys/block/sda does, so changing the line in usbhdfix to
Code:
echo 1 > /sys/block/${1:0:3}/device/scsi_disk:*/allow_restart
|
|
|
|
|
#9 | |
|
First Cup of Ubuntu
![]() Join Date: Aug 2007
Beans: 1
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Quote:
A better solution would be to change the udev rule in 85-usb-hd-fix.rules to: Code:
BUS=="scsi",KERNEL=="sd?",SYSFS{vendor}=="Seagate",SYSFS{model}=="FreeAgentDesktop",RUN+="/usr/bin/usbhdfix %k"
Code:
#!/bin/bash echo 1024 > /sys/block/$1/device/max_sectors echo 1 > /sys/block/$1/device/scsi_disk:*/allow_restart |
|
|
|
|
|
#10 | |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 6
Ubuntu 7.10 Gutsy Gibbon
|
Re: Trouble with external USB harddrive (Seagate FreeAgent) [SOLVED]
Quote:
Code:
BUS=="scsi", KERNEL=="sd?1", SYSFS{vendor}=="Seagate", SYSFS{model}=="FreeAgentDesktop", SYSFS{rev}=="100D", SYMLINK+="usbhd1", RUN+="/usr/local/bin/usbhdfix %k"
![]() The most proper solution is maybe to have two udev rules then; one for executing the script and one for creating the symlink? That is: Code:
BUS=="scsi", KERNEL=="sd?", SYSFS{model}=="FreeAgentDesktop", RUN+="/usr/local/bin/usbhdfix %k"
BUS=="scsi", KERNEL=="sd?1", SYSFS{model}=="FreeAgentDesktop", SYMLINK+="usbhd1"
Code:
echo 1024 > /sys/block/$1/device/max_sectors |
|
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|