JMicron JM20339 USB SATA 控制器问题

JMicron JM20339 USB SATA 控制器问题

我有 3bon-s35s SATA 到 USB 转换器(或控制器)。它使用 JMicron JM20339 芯片组。

Windows 7 可以识别 WD 4TB HDD,但 Ubuntu 不能。dmesg 显示如下

[    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 

在 ubuntu 下,它只报告 1.63TiB。数据表显示它支持 LBA48(非官方。JMicron 网站只有 JM20337)

http://www.chinaeds.com/zl/2007102620325297882.pdf

无论如何,当我将 WD 4TB HDD 连接到 M/B SATA 端口时,内核显示 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 

看来 ubuntu 内核的 JMicron USB 驱动程序有问题。我该如何修复这个问题?

经过测试的平台

  • AMD 4850e
  • MSI MS-7549 (785g 主板)
  • Ubuntu 桌面 14.04 LTS 32 位和 64 位(Live USB)
  • WD40EZRX4.0TB硬盘谷氨酰胺磷酸酶/NTFS
  • 3bon 3bon-s35s /JMicron JM20339

fdisk 和 parted 日志

$ 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 

相关内容