Mounting a msdos-formated USB Mass storage device

Brice Gensburger brice at mouarf.net
Tue Apr 8 09:12:17 PDT 2003


	Hello,

I'm having a bit of a hard time with an external USB2.0/Firewire HD.

[localhost][~]$ uname -a
FreeBSD localhost.localdomain 4.8-STABLE FreeBSD 4.8-STABLE #2: Mon Apr  7 12:21:33 CEST 2003     root at localhost.localdomain:/usr/src/sys/compile/IPSEC  i386

(was CVSup'ed just before compile)


The problem doesn't seem to be in  the USB part: the modules are OK, the drive is recognized OK:

from dmesg:

uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xfce0-0xfcff irq 11 at device 4.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
umass0: DMI USB 2.0 Storage Adaptor, rev 2.00/11.10, addr 2

(...)
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Maxtor 6 Y120P0 YAR4> Fixed Direct Access SCSI-0 device 
da0: 650KB/s transfers
da0: 117246MB (240121728 512 byte sectors: 64H 32S/T 51710C)
(da0:umass-sim0:0:0:0): READ(6)/WRITE(6) not supported, increasing minimum_cmd_size to 10.

Disconnection/Reconnection works OK

umass0: at uhub0 port 2 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
umass0: detached
umass0: DMI USB 2.0 Storage Adaptor, rev 2.00/11.10, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Maxtor 6 Y120P0 YAR4> Fixed Direct Access SCSI-0 device 
da0: 650KB/s transfers
da0: 117246MB (240121728 512 byte sectors: 64H 32S/T 51710C)
(da0:umass-sim0:0:0:0): READ(6)/WRITE(6) not supported, increasing minimum_cmd_size to 10.

The CAM Part seems to work OK too:
# camcontrol inquiry 0:0
pass0: <Maxtor 6 Y120P0 YAR4> Fixed Direct Access SCSI-0 device 
pass0: Serial Number 
pass0: 650KB/s transfers 

my problem is when i try to mount it. It's already formatted (Win)(yeah, yeah, but i want to be able to use it on windows boxes, unices and maybe MacOSX ones..).

 fdisk /dev/da0
******* Working on device /dev/da0 *******
parameters extracted from in-core disklabel are:
cylinders=14946 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=14946 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 15,(Extended DOS, LBA)
    start 16065, size 240091425 (117232 Meg), flag 0
        beg: cyl 1/ head 0/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

disklabel /dev/da0
# /dev/da0:
type: SCSI
disk: Maxtor 6
label: Y120P0          
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 14946
sectors/unit: 240121728
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0 

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 240121728        0    unused        0     0        # (Cyl.    0 - 14946*)

ok, let's try to mount that

# mount /dev/da0s1c /usbdrive 
mount: /dev/da0s1c on /usbdrive: incorrect super block

which is only natural, since it's not UFS.

# mount_msdos /dev/da0s1c /usbdrive
mount_msdos: /dev/da0s1c: Invalid argument

I googled for this, and found several posts saying to try to mount the 4th slice for Zip Drives and such. Ok, let's try that:

# mount_msdos /dev/da0s4 /usbdrive
mount_msdos: /dev/da0s4: Invalid argument 

Now, i don't understand...
What am i missing???


More information about the freebsd-questions mailing list