I Have 3bon-s35s SATA to USB converter(or controller). It use JMicron JM20339 chipset.
Windows 7 can recognize WD 4TB HDD, but Ubuntu dosen't. dmesg shows below
[ 2.990457] scsi 6:0:0:0: Direct-Access WDC WD40EZRX-00SPEB0 PQ: 0 ANSI: 2 CCS
[ 2.991789] sd 6:0:0:0: Attached scsi generic sg1 type 0
[ 2.992179] sd 6:0:0:0: [sdb] 3519069872 512-byte logical blocks: (1.80 TB/1.63 TiB)
[ 2.993272] sd 6:0:0:0: [sdb] Write Protect is off
[ 2.993281] sd 6:0:0:0: [sdb] Mode Sense: 00 38 00 00
[ 2.994269] sd 6:0:0:0: [sdb] Asking for cache data failed
[ 2.994278] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 3.031761] sdb: unknown partition table
[ 3.035276] sd 6:0:0:0: [sdb] Attached SCSI disk
Under ubuntu, it just reports 1.63TiB. Datasheet says it supports LBA48 (not official. JMicron site has just JM20337)
http://www.chinaeds.com/zl/2007102620325297882.pdf
Anyway when I attached WD 4TB HDD on M/B SATA port, kernel says 4TB
[ 2.466401] scsi 3:0:0:0: Direct-Access ATA WDC WD40EZRX-00S 0A80 PQ: 0 ANSI: 5
[ 2.466705] sd 3:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 2.466709] sd 3:0:0:0: [sdb] 4096-byte physical blocks
[ 2.466723] sd 3:0:0:0: Attached scsi generic sg1 type 0
[ 2.466764] sd 3:0:0:0: [sdb] Write Protect is off
[ 2.466767] sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 2.466792] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2.560959] sdb: sdb1 sdb2
[ 2.561389] sd 3:0:0:0: [sdb] Attached SCSI disk
It seems like that ubuntu kernel has buggy JMicron USB driver. How can I fix the problem?
Tested Platform
- AMD 4850e
- MSI MS-7549 (785g M/B)
- Ubuntu desktop 14.04 LTS 32bit & 64bit(Live USB)
- WD40EZRX 4.0TB HDD GPT / NTFS
- 3bon 3bon-s35s / JMicron JM20339
fdisk & parted log
$ sudo fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ac755
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 621012991 310505472 83 Linux
/dev/sda2 621015038 625141759 2063361 5 Extended
/dev/sda5 621015040 625141759 2063360 82 Linux swap / Solaris
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb: 1801.8 GB, 1801763774464 bytes
256 heads, 63 sectors/track, 218196 cylinders, total 3519069872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 4294967295 2147483647+ ee GPT
.
$ sudo parted /dev/sda print
Model: ATA WDC WD3200BEVT-0 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 318GB 318GB primary ext4 boot
2 318GB 320GB 2113MB extended
5 318GB 320GB 2113MB logical linux-swap(v1)
$ sudo parted /dev/sdb print
Error: Invalid argument during seek for read on /dev/sdb
parted
error you report. (The backup partition table is stored at the end of the disk, so it will seem to be corrupt if the OS can't read the end of the disk.) Filesystems, including NTFS, are stored within partitions, so problems related to NTFS cannot affect partition tables, which define partitions.