Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483903
  • 博文数量: 51
  • 博客积分: 1056
  • 博客等级: 少尉
  • 技术积分: 676
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-10 22:53
文章存档

2018年(2)

2017年(1)

2013年(2)

2012年(9)

2011年(36)

2010年(1)

分类: LINUX

2011-09-17 16:51:39

调NANDriver 的linux驱动调到吐血
报错
ata1.00: Drive reports diagnostics failure. This may indicate a drive
ata1.00: fault or invalid emulation. Contact drive vendor for information.

内核源码注释里写着
/* Let the user know. We don't want to disallow opens for
rescue purposes, or in case the vendor is just a blithering idiot */

直接骂制造商是白痴了

以下是黑名单,选型的时候注意了
  1. static const struct ata_blacklist_entry ata_device_blacklist [] = {
  2.     /* Devices with DMA related problems under Linux */
  3.     { "WDC AC11000H",    NULL,        ATA_HORKAGE_NODMA },
  4.     { "WDC AC22100H",    NULL,        ATA_HORKAGE_NODMA },
  5.     { "WDC AC32500H",    NULL,        ATA_HORKAGE_NODMA },
  6.     { "WDC AC33100H",    NULL,        ATA_HORKAGE_NODMA },
  7.     { "WDC AC31600H",    NULL,        ATA_HORKAGE_NODMA },
  8.     { "WDC AC32100H",    "24.09P07",    ATA_HORKAGE_NODMA },
  9.     { "WDC AC23200L",    "21.10N21",    ATA_HORKAGE_NODMA },
  10.     { "Compaq CRD-8241B",     NULL,        ATA_HORKAGE_NODMA },
  11.     { "CRD-8400B",        NULL,         ATA_HORKAGE_NODMA },
  12.     { "CRD-848[02]B",    NULL,        ATA_HORKAGE_NODMA },
  13.     { "CRD-84",        NULL,        ATA_HORKAGE_NODMA },
  14.     { "SanDisk SDP3B",    NULL,        ATA_HORKAGE_NODMA },
  15.     { "SanDisk SDP3B-64",    NULL,        ATA_HORKAGE_NODMA },
  16.     { "SANYO CD-ROM CRD",    NULL,        ATA_HORKAGE_NODMA },
  17.     { "HITACHI CDR-8",    NULL,        ATA_HORKAGE_NODMA },
  18.     { "HITACHI CDR-8[34]35",NULL,        ATA_HORKAGE_NODMA },
  19.     { "Toshiba CD-ROM XM-6202B", NULL,    ATA_HORKAGE_NODMA },
  20.     { "TOSHIBA CD-ROM XM-1702BC", NULL,    ATA_HORKAGE_NODMA },
  21.     { "CD-532E-A",         NULL,        ATA_HORKAGE_NODMA },
  22.     { "E-IDE CD-ROM CR-840",NULL,        ATA_HORKAGE_NODMA },
  23.     { "CD-ROM Drive/F5A",    NULL,        ATA_HORKAGE_NODMA },
  24.     { "WPI CDD-820",     NULL,        ATA_HORKAGE_NODMA },
  25.     { "SAMSUNG CD-ROM SC-148C", NULL,    ATA_HORKAGE_NODMA },
  26.     { "SAMSUNG CD-ROM SC",    NULL,        ATA_HORKAGE_NODMA },
  27.     { "ATAPI CD-ROM DRIVE 40X MAXIMUM",NULL,ATA_HORKAGE_NODMA },
  28.     { "_NEC DV5800A",     NULL,        ATA_HORKAGE_NODMA },
  29.     { "SAMSUNG CD-ROM SN-124", "N001",    ATA_HORKAGE_NODMA },
  30.     { "Seagate STT20000A", NULL,        ATA_HORKAGE_NODMA },
  31.     /* Odd clown on sil3726/4726 PMPs */
  32.     { "Config Disk",    NULL,        ATA_HORKAGE_DISABLE },

  33.     /* Weird ATAPI devices */
  34.     { "TORiSAN DVD-ROM DRD-N216", NULL,    ATA_HORKAGE_MAX_SEC_128 },
  35.     { "QUANTUM DAT DAT72-000", NULL,    ATA_HORKAGE_ATAPI_MOD16_DMA },

  36.     /* Devices we expect to fail diagnostics */

  37.     /* Devices where NCQ should be avoided */
  38.     /* NCQ is slow */
  39.     { "WDC WD740ADFD-00",    NULL,        ATA_HORKAGE_NONCQ },
  40.     { "WDC WD740ADFD-00NLR1", NULL,        ATA_HORKAGE_NONCQ, },
  41.     /* http://thread.gmane.org/gmane.linux.ide/14907 */
  42.     { "FUJITSU MHT2060BH",    NULL,        ATA_HORKAGE_NONCQ },
  43.     /* NCQ is broken */
  44.     { "Maxtor *",        "BANC*",    ATA_HORKAGE_NONCQ },
  45.     { "Maxtor 7V300F0",    "VA111630",    ATA_HORKAGE_NONCQ },
  46.     { "ST380817AS",        "3.42",        ATA_HORKAGE_NONCQ },
  47.     { "ST3160023AS",    "3.42",        ATA_HORKAGE_NONCQ },
  48.     { "OCZ CORE_SSD",    "02.10104",    ATA_HORKAGE_NONCQ },

  49.     /* Seagate NCQ + FLUSH CACHE firmware bug */
  50.     { "ST31500341AS",    "SD1[5-9]",    ATA_HORKAGE_NONCQ |
  51.                         ATA_HORKAGE_FIRMWARE_WARN },

  52.     { "ST31000333AS",    "SD1[5-9]",    ATA_HORKAGE_NONCQ |
  53.                         ATA_HORKAGE_FIRMWARE_WARN },

  54.     { "ST3640[36]23AS",    "SD1[5-9]",    ATA_HORKAGE_NONCQ |
  55.                         ATA_HORKAGE_FIRMWARE_WARN },

  56.     { "ST3320[68]13AS",    "SD1[5-9]",    ATA_HORKAGE_NONCQ |
  57.                         ATA_HORKAGE_FIRMWARE_WARN },

  58.     /* Blacklist entries taken from Silicon Image 3124/3132
  59.      Windows driver .inf file - also several Linux problem reports */
  60.     { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, },
  61.     { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, },
  62.     { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },

  63.     /* https://bugzilla.kernel.org/show_bug.cgi?id=15573 */
  64.     { "C300-CTFDDAC128MAG",    "0001",        ATA_HORKAGE_NONCQ, },

  65.     /* devices which puke on READ_NATIVE_MAX */
  66.     { "HDS724040KLSA80",    "KFAOA20N",    ATA_HORKAGE_BROKEN_HPA, },
  67.     { "WDC WD3200JD-00KLB0", "WD-WCAMR1130137", ATA_HORKAGE_BROKEN_HPA },
  68.     { "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_HORKAGE_BROKEN_HPA },
  69.     { "MAXTOR 6L080L4",    "A93.0500",    ATA_HORKAGE_BROKEN_HPA },

  70.     /* this one allows HPA unlocking but fails IOs on the area */
  71.     { "OCZ-VERTEX",         "1.30",    ATA_HORKAGE_BROKEN_HPA },

  72.     /* Devices which report 1 sector over size HPA */
  73.     { "ST340823A",        NULL,        ATA_HORKAGE_HPA_SIZE, },
  74.     { "ST320413A",        NULL,        ATA_HORKAGE_HPA_SIZE, },
  75.     { "ST310211A",        NULL,        ATA_HORKAGE_HPA_SIZE, },

  76.     /* Devices which get the IVB wrong */
  77.     { "QUANTUM FIREBALLlct10 05", "A03.0900", ATA_HORKAGE_IVB, },
  78.     /* Maybe we should just blacklist TSSTcorp... */
  79.     { "TSSTcorp CDDVDW SH-S202[HJN]", "SB0[01]", ATA_HORKAGE_IVB, },

  80.     /* Devices that do not need bridging limits applied */
  81.     { "MTRON MSP-SATA*",        NULL,    ATA_HORKAGE_BRIDGE_OK, },

  82.     /* Devices which aren't very happy with higher link speeds */
  83.     { "WD My Book",            NULL,    ATA_HORKAGE_1_5_GBPS, },

  84.     /*
  85.      * Devices which choke on SETXFER. Applies only if both the
  86.      * device and controller are SATA.
  87.      */
  88.     { "PIONEER DVD-RW DVRTD08",    NULL,    ATA_HORKAGE_NOSETXFER },
  89.     { "PIONEER DVD-RW DVR-212D",    NULL,    ATA_HORKAGE_NOSETXFER },
  90.     { "PIONEER DVD-RW DVR-216D",    NULL,    ATA_HORKAGE_NOSETXFER },

  91.     /* End Marker */
  92.     { }
  93. };


阅读(1727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~