W jaki sposób można wyłączyć w kontrolerze SATA obsługiwanie UDMA na jednym z kanałów ? Mam podłączoną kartę CF PQI x120 na takim kontrolerze http://allegro.pl/item993329556_ssd_na_sata_cf_microdysk.html Karta zgłasza się jako obsługująca UDMA
# hdparm -i /dev/sdc /dev/sdc: Model=FLASH CARD, FwRev=20080308, SerialNo=CF0000000000000001E5 Config={ HardSect NotMFM Removeable DTR>10Mbs nonMagnetic } RawCHS=1942/16/63, TrkSize=0, SectSize=576, ECCbytes=4 BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=off CurCHS=1942/16/63, CurSects=1957536, LBA=yes, LBAsects=1957536 IORDY=no, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 *udma4 AdvancedPM=yes: disabled (255) Drive conforms to: Unspecified: ATA/ATAPI-4 * signifies the current active mode # hdparm -I /dev/sdc /dev/sdc: CompactFlash ATA device Model Number: FLASH CARD Serial Number: CF0000000000000001E5 Firmware Revision: 20080308 Standards: Supported: 4 Likely used: 6 Configuration: Logical max current cylinders 1942 1942 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 1957536 LBA user addressable sectors: 1957536 Logical/Physical Sector size: 512 bytes device size with M = 1024*1024: 955 MBytes device size with M = 1000*1000: 1002 MBytes (1 GB) cache/buffer size = 1 KBytes (type=DualPort) Capabilities: LBA, IORDY(may be)(cannot be disabled) Standby timer values: spec'd by Vendor R/W multiple sector transfer: Max = 1 Current = 0 Advanced power management level: disabled DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 *udma3 udma4 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set Power Management feature set WRITE_BUFFER command READ_BUFFER command NOP cmd CFA feature set Advanced Power Management feature set * Gen1 signaling speed (1.5Gb/s) * Host-initiated interface power management Device-initiated interface power management * CFA advanced modes: pio5 *pio6 mdma3 *mdma4 * CFA Power Level 1 (max 500mA) Security: Master password revision code = 65534 supported not enabled not locked not frozen not expired: security count not supported: enhanced erase 2min for SECURITY ERASE UNIT. HW reset results: CBLID- below Vih Device num = 0 Integrity word not set (found 0x0000, expected 0xc3a5) W rzeczywistości jest to tania karta nie posiadająca kontrolera UDMA. Wyłączenie w BIOS-ie trybu UDMA (zostawianie tylko MWDMA2) niczego nie zmieniło, krenel pewnie ignoruje ustawienia w BIOSIE. Następstwem powyższego są powtarzające się błędy CRC: [134732.966636] ata4.00: exception Emask 0x50 SAct 0x0 SErr 0x1280900 action 0x6 frozen [134732.966650] ata4: SError: { UnrecovData HostInt 10B8B BadCRC TrStaTrns } [134732.966659] ata4.00: failed command: READ DMA [134732.966677] ata4.00: cmd c8/00:08:c0:d7:01/00:00:00:00:00/e0 tag 0 dma 4096 in [134732.966681] res 40/00:00:00:00:00/00:00:00:00:00/e0 Emask 0x54 (ATA bus error) [134732.966689] ata4.00: status: { DRDY } [134732.966704] ata4: hard resetting link [134733.493363] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300) [134733.513452] ata4.00: configured for UDMA/66 [134733.513462] ata4.00: device reported invalid CHS sector 0 [134733.513480] ata4: EH complete [134745.372614] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 [134745.372621] ata4.00: BMDMA stat 0x24 [134745.372628] ata4.00: failed command: WRITE DMA [134745.372642] ata4.00: cmd ca/00:00:00:3d:01/00:00:00:00:00/e0 tag 0 dma 131072 out [134745.372645] res 51/84:00:ff:3d:01/00:00:00:00:00/e0 Emask 0x10 (ATA bus error) [134745.372652] ata4.00: status: { DRDY ERR } [134745.372656] ata4.00: error: { ICRC ABRT } [134745.372668] ata4: hard resetting link [134745.896690] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300) [134745.916784] ata4.00: configured for UDMA/66 [134745.916806] ata4: EH complete [134763.988311] ata4.00: exception Emask 0x52 SAct 0x0 SErr 0x880d00 action 0x6 [134763.988318] ata4.00: BMDMA stat 0x26 [134763.988325] ata4: SError: { UnrecovData Proto HostInt 10B8B LinkSeq } [134763.988332] ata4.00: failed command: READ DMA [134763.988346] ata4.00: cmd c8/00:08:e8:6b:03/00:00:00:00:00/e0 tag 0 dma 4096 in [134763.988349] res 50/00:00:e8:6b:03/00:00:00:00:00/e0 Emask 0x72 (host bus error) Opisywany problem występuje na płycie X7SPA-HF w serwerze SuperServer 5015A-PHF firmy Supermicro http://www.supermicro.com/products/system/1U/5015/SYS-5015A-PHF.cfm # lspci 00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge (rev 02) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02) 00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02) 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02) 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92) 00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02) 00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA IDE Controller (rev 02) 02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection 03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection 04:04.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200eW WPCM450 (rev 0a) Pamiętam, że kiedyś trzeba było wygenerować initrd z modułem kontrolera IDE (PATA) ładowanym z odpowiednim parametrem wymuszającym wyłączenie UDMA. Jak to wygląda teraz ? Korzystam ze sterownika ata_piix ponieważ w trybie ahci nie udało mi się podnieć systemu na karcie CF z używanym adapterem. Czy poleceniem sdparm można wyłączyć tryb UDMA na danym kanale ? Z góry dziękuję za pomoc. Krzysztof _______________________________________________ pld-users-pl mailing list pld-users-pl@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-users-pl