# USB Hard Drive mount [solved]

## nirax

Hi all,

i bought a Western Digital USB 2.0 External 200gb Hard Drive and want to use it under gentoo also not only under win2k.

I compiled USB support and SCSI in Kernel. The drive is also found correctly

fdisk -l shows the drive but upon trying to mount it i get an error message.

please see the messages, maybe someone figures out the problem:

```

Disk /dev/sda: 200.0 GB, 200049647616 bytes

255 heads, 63 sectors/track, 24321 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1       24321   195358401    c  W95 FAT32 (LBA)

dinu root # mount /dev/sda1 /mnt/dosc/

mount: wrong fs type, bad option, bad superblock on /dev/sda1,

       or too many mounted file systems

dinu root # mount -t vfat /dev/sda1 /mnt/dosc/

mount: wrong fs type, bad option, bad superblock on /dev/sda1,

       or too many mounted file systems

```

dmesg | grep usb*   gives following output:

```

Linux version 2.6.9-gentoo-r1 (root@dinu) (gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)) #2 SMP Sun Nov 14 21:10:16 Local time zone must be set--see zic

 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)

 BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)

ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)

ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)

ACPI: IRQ0 used by override.

ACPI: IRQ2 used by override.

ACPI: IRQ9 used by override.

per-CPU timeslice cutoff: 1462.71 usecs.

PCI: PCI BIOS revision 2.10 entry at 0xfb770, last bus=3

PCI: Probing PCI hardware (bus 00)

usbcore: registered new driver usbfs

usbcore: registered new driver hub

mice: PS/2 mouse device common for all mice

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

hda: cache flushes not supported

 /dev/ide/host0/bus0/target0/lun0: p1

hdd: cache flushes supported

 /dev/ide/host0/bus1/target1/lun0: p1 p2 p3

usbcore: registered new driver usblp

drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver

usbcore: registered new driver usb-storage

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.0:USB HID core driver

usbcore: registered new driver hci_usb

intel8x0_measure_ac97_clock: measured 49294 usecs

oprofile: using NMI interrupt.

Freeing unused kernel memory: 220k freed

ohci1394: fw-host0: SelfID received outside of bus reset sequence

ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1

ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2

agpgart: Maximum main memory to use for agp memory: 816M

usb 1-1: new full speed USB device using address 2

usb 1-2: new low speed USB device using address 3

input: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse� Explorer] on usb-0000:00:02.0-2

usb 2-3: new full speed USB device using address 2

 /dev/scsi/host0/bus0/target0/lun0: p1

```

does someone has an idea how to successfully mount the drive ?

thanks in advance for any help.

greetings,

nirax

----------

## NeddySeagoon

nirax,

I had something similar, it was because the codepage containg the symbol set the filesystem uses was not loaded/built. The defualt is codepage 437 but you may choose any available by using

```
 -o codepage=nnn 
```

at mount time.

Check your kernel config to see what you built.

Using strange codepages will cause incorrect symbols to be displayed in filenames.

----------

## nirax

hi,

thanks for the reply !

i checked my current kernel config and found out to use the standard:

```

#

# DOS/FAT/NT Filesystems

#

CONFIG_FAT_FS=y

CONFIG_MSDOS_FS=y

CONFIG_VFAT_FS=y

CONFIG_FAT_DEFAULT_CODEPAGE=437

CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

CONFIG_NTFS_FS=y

# CONFIG_NTFS_DEBUG is not set

CONFIG_NTFS_RW=y

```

seems perfectly ok for me

mounting was tried using

mount -t vfat /dev/sda1 /mnt/dosc -o codepage=437 

greetings,

nirax

----------

## pgf

Possibly a stupid question, but you didn't say for sure: does the disk have a filesystem on it? You can't mount it until it does. Have you formatted it under Windows or done the UN*X equivalent (mkfs)?

----------

## NeddySeagoon

nirax,

That config entry tells vfat what to use by default. You also have to choose to make that codepage under Native Language Support, a little further down the config.

----------

## nirax

hi Neddy,

that was the solution.

my NLS codepage was 850.

with

mount -t vfat /dev/sda1 /mnt/usbhd -o codepage=850

it worked flawless !

thanks pgf also for reply, hd was formatted.

thanks all and happy new year !!

greetings,

nirax

----------

## RockChops

Hello all,

I have an external HDD as well and I've managed to mount it so far. Or at least half of it. It is a 120 GB drive partitioned into two 60 GB parts, both NTFS, since I'm a loser and started out with winXP. 

I have two problems really. First, I cannot change the permision of the directory where I mounted it using chmod.

I mounted it with

```
 mount -t ntfs /dev/sda1 /mnt/usbdrv
```

and when I try chmod -ing it I get

```
chmod -v 555 usbdrv/

failed to change mode of `usbdrv/' to 0555 (r-xr-xr-x)

chmod: changing permissions of `usbdrv/': Read-only file system

```

I realize NTFS is read only, I compiled that feature into my kernel (2.6.1). but all I'm asking it for is read and execute permissions. 

I even tried umask and that seems to do nothing as well.

of course, my other problem is how do I mount the second partition? mounting sda1 only mounts one of the partitions.

any help appreciated!

Thank you very much for your help in advance!   :Smile: 

----------

## pgf

After the filesystem is mounted RO the chmod will not work, as you have found out. I have never tried executing files from an NTFS partition, but you will need t make sure that you use the "exec" option when you mount it. The man page says that is the default, but try it explicitly.

If your first partition is at /dev/sda1, then the second should be at /dev/sda2. If there are "hidden" partitions you are unaware of, then it may be sda3, sda4, etc.

You should be able to see the partitions by doing "fdisk -l /dev/sda"

----------

## RockChops

awesome, thanks pgf!   :Smile:   :Smile:   :Smile: 

I got the permissions working right, by modeling it after my fstab line which mounts my windows partition (which is still a mystery as to why ONLY this set of options works  :Confused:  )

```
mount -t ntfs -o noatime,umask=022 /dev/sda1 /mnt/usbdrv/
```

and you were also correct about sda2

Thank you so much once again!  :Smile: 

----------

