How to use an external USB3.0 drive with 4k sectors?

Thomas Mueller mueller23 at insightbb.com
Thu May 31 22:14:16 UTC 2012


On 05/31/12 09:57, Jens Schweikhardt wrote:

> so I decided to try two HW technology advancements in one go.
> I have a brand new shiny 1TB USB3.0 external disk, that when plugged
> to an USB2(two!) reports

>      da5 at umass-sim2 bus 2 scbus6 target 0 lun 0
>      da5:<ST1000LM 024 HN-M101MBB 0000>  Fixed Direct Access SCSI-2 device
>      da5: 40.000MB/s transfers
>      da5: 953869MB (244190646 4096 byte sectors: 255H 63S/T 15200C)

> and
> # diskinfo -v da5
> da5
>          4096            # sectorsize
>          1000204886016   # mediasize in bytes (931G)
>          244190646       # mediasize in sectors
>          0               # stripesize
>          0               # stripeoffset
>          15200           # Cylinders according to firmware.
>          255             # Heads according to firmware.
>          63              # Sectors according to firmware.
>          00A123456789    # Disk ident.


> (The vendor, Jmicron, has put an NTFS on it, with a disk manual as a pdf file.
> Strangely, I cannot mount it with
> # ll /dev/da5*
> crw-r-----  1 root  operator    0, 236 May 31 15:05 /dev/da5
> crw-r-----  1 root  operator    0, 237 May 31 15:05 /dev/da5s1
> # mount -t ntfs -o ro /dev/da5s1  /mnt
> mount_ntfs: /dev/da5s1: Invalid argument
> )

> When I plug it to one of the two USB3.0 ports (using the xhci driver), I
> don't get device nodes in /dev created for it, but instead an ever
> growing list of

>      ugen4.2:<Jmicron Corp.>  at usbus4
>      umass2:<Jmicron Corp. Usb production, class 0/0, rev 2.10/1.00, addr 1>  on usbus4
>      ugen4.2:<Jmicron Corp.>  at usbus4 (disconnected)
>      umass2: at uhub4, port 4, addr 1 (disconnected)
 
> The USB3.0 ports otherwise work fine with a 16BG USB3.0 Stick. Windows 7
> can use the disk as well on the USB3.0 port, which makes me look for

> things I have missed. For example, my kernel config is stripped down
> quite a bit, so it might be that my custom kernel does not have all the
> necessary drivers built in or kldloaded. Do I need "device ada"? What is
> the magic needed to hook up 4k secotr drives via USB3.0?

Gary Aitken <freebsd at dreamchaser.org> responded:

> According to the handbook you need all of the following drivers:

>   scbus da pass uhci ohci ehci usb umass

> Don't know if this helps, but 512K sectorsize on usb 3 seems to work fine here:

> %diskinfo -v da0
> da0
>         512             # sectorsize
>         1500301909504   # mediasize in bytes (1.4T)
>         2930277167      # mediasize in sectors
>         0               # stripesize
>         0               # stripeoffset
>         182401          # Cylinders according to firmware.
>         255             # Heads according to firmware.
>         63              # Sectors according to firmware.
>         NA05EA2N        # Disk ident.

> dmesg:

> ugen0.2: <Seagate> at usbus0
> umass0: <Seagate FreeAgent GoFlex, class 0/0, rev 3.00/1.00, addr 1> on usbus0
> umass0:  SCSI over Bulk-Only; quirks = 0x4100
> umass0:8:0:-1: Attached to scbus8
> da0 at umass-sim0 bus 0 scbus8 target 0 lun 0
> da0: <Seagate FreeAgent GoFlex 211> Fixed Direct Access SCSI-0 device
> da0: 400.000MB/s transfers
> da0: 1430799MB (2930277167 512 byte sectors: 255H 63S/T 182401C)

> Plugging it in adds only da0, da0s1, and ugen0.2 to /dev

> My disk is bigger than what you're dealing with but not the big sector size;
> can't say about that difference.

I think you also need xhci driver in kernel config.  xhci is for USB 3.0.

I have a Western Digital My Book Essentials 3 TB USB 3.0 hard drive, and that works with FreeBSD and Linux, but not NetBSD.

As far as I know, Linux and FreeBSD are the only open-source OSes that support USB 3.0.

But I don't think the motherboard supports directly booting from this USB 3.0.

This USB 3.0 hard drive is not recognized when plugged in to USB 2.0 port on the motherboard, but is recognized when plugged in to USB 2.0 port on a USB bracket connected to USB 2.0 headers on the motherboard.  This would be useful with NetBSD, and possibly for booting with GRUB2.

That Western Digital 3.0 TB USB 3.0 was partitioned with one MBR partition, formatted for NTFS.  

I needed the System Rescue CD (http://sysresccd.org/) to copy the software files from the CD, and to migrate MBR partition scheme to GPT.  Then I deleted the big NTFS partition and added my partitions.

FreeBSD sees these partitions as /dev/da0p1, /dev/da0p2 and so on.

Tom


More information about the freebsd-questions mailing list