[linux] проблема с SATA

Fragaria

И снова я, и снова та же проблема.
Симптомы: При монтировании систем, указанных в fstab, не монтируются фаловые системы с SATA-диска. Драйвер SATA-контроллера вкомпилен в ядро.
Кусок .config, где указано, что его надо вкомпилить - вот:
 
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_OPTI621=m
CONFIG_BLK_DEV_RZ1000=m
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
CONFIG_BLK_DEV_SIIMAGE=y
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

При этом есть ещё один кусочек, где упоминается SATA:
 
#
# SCSI low-level drivers
#
[...]
CONFIG_SCSI_SATA=y
# CONFIG_SCSI_SATA_AHCI is not set
CONFIG_SCSI_SATA_SVW=m
CONFIG_SCSI_ATA_PIIX=m
CONFIG_SCSI_SATA_NV=m
CONFIG_SCSI_SATA_PROMISE=m
# CONFIG_SCSI_SATA_QSTOR is not set
CONFIG_SCSI_SATA_SX4=m
CONFIG_SCSI_SATA_SIL=m
CONFIG_SCSI_SATA_SIS=m
# CONFIG_SCSI_SATA_ULI is not set
CONFIG_SCSI_SATA_VIA=m
CONFIG_SCSI_SATA_VITESSE=m

Вот. В итоге в /lib/modules/2.6.11.10/kernel/drivers/scsi появился файл sata_sil.ko, в /lib/modules/2.6.11.10/kernel/drivers/ide ничего про SATA нет. В dmesg тоже никаких сообщений об ошибках нет:

NFORCE2: 0000:00:09.0 (rev a2) UDMA133 controller
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: Maxtor 6E030L0, ATA DISK drive
hdb: WDC WD1200JB-00EVA0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: SONY DVD RW DW-D22A, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
hda: max request size: 128KiB
hda: 60058656 sectors (30750 MB) w/2048KiB Cache, CHS=59582/16/63, UDMA(133)
hda: cache flushes supported
hda: hda1 hda2 hda3
hdb: max request size: 1024KiB
hdb: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=16383/255/63, UDMA(100)
hdb: cache flushes supported
hdb: hdb1 hdb2 hdb3
hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
...
<skipped>
...
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 240k freed
kjournald starting. Commit interval 5 seconds
NET: Registered protocol family 1
Adding 1025128k swap on /dev/hda3. Priority:-1 extents:1
EXT3 FS on hda2, internal journal
ieee1394: Initialized config rom entry `ip1394'
SCSI subsystem initialized
sbp2: $Rev: 1219 $ Ben Collins <debian.org>
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hdb3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hdb1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hdb2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
...
<skipped>
...
libata version 1.10 loaded.
sata_sil version 0.8
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI interrupt 0000:01:0b.0[A] -> GSI 18 (level, high) -> IRQ 201
ata1: SATA max UDMA/100 cmd 0xF88F6080 ctl 0xF88F608A bmdma 0xF88F6000 irq 201
ata2: SATA max UDMA/100 cmd 0xF88F60C0 ctl 0xF88F60CA bmdma 0xF88F6008 irq 201
ohci1394: fw-host0: SelfID received outside of bus reset sequence
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:207f
ata1: dev 0 ATA, max UDMA/133, 312581808 sectors: lba48
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ieee1394: Host added: ID:BUS[0-00:1023] GUID[00e0180000501bf2]
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
Vendor: ATA Model: ST3160827AS Rev: 3.42
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

В голову приходит идея вкомпилить sata_sil в ядро, но непонятно, как же тогда быть с СONFIG_BLK_DEV_SIIMAGE=y? Причём тут вообще SCSI? Какой из драйверов нужен для нормальной работы контроллера SATA и почему? Короче, что делать?

deestr

не в компилин он в ядро о чем говорят вот эти строчки:
## SCSI low-level drivers#[...]CONFIG_SCSI_SATA=y# CONFIG_SCSI_SATA_AHCI is not setCONFIG_SCSI_SATA_SVW=mCONFIG_SCSI_ATA_PIIX=mCONFIG_SCSI_SATA_NV=mCONFIG_SCSI_SATA_PROMISE=m# CONFIG_SCSI_SATA_QSTOR is not setCONFIG_SCSI_SATA_SX4=m CONFIG_SCSI_SATA_SIL=m CONFIG_SCSI_SATA_SIS=m# CONFIG_SCSI_SATA_ULI is not setCONFIG_SCSI_SATA_VIA=mCONFIG_SCSI_SATA_VITESSE=m
так торучками ручками подгружай
modprobe....

Marinavo_0507

Наверное у тебя модуль sata_sil слишком поздно грузится.
Он в /etc/modules есть?
SCSI тут при том, что в линуксе libata использует общий код со scsi-подсистемой, поэтому sata-устройства выглядят сказёвыми.
CONFIG_BLK_DEV_SIIMAGE - исключение, так как этот драйвер был написан раньше, чем libata, но видимо он не опознаёт твой контроллер (какой? так что надо использовать sata_sil

Fragaria

то есть мне забить на CONFIG_BLK_DEV_SIIMAGE и просто вкомпилить sata_sil?
Контроллер у меня Silicon Image 3112, тот что в ASUS A7N8x-E Deluxe встроен

Marinavo_0507

попробуй сначала просто в /etc/modules дописать sata_sil

Fragaria

угу, попробую
Короче, то, что мне нужно было, я выяснил - что без sata_sil мой винт не заработает. Спасибо. Странно всё это. Вроде бы мой контроллер (3112) должен поддерживаться BLK_DEV_SIIMAGE. Вот что написано в хелпе про него:
Silicon Image chipset support (BLK_DEV_SIIMAGE)
This driver adds PIO/(U)DMA support for the SI CMD680 and SII
3112 (Serial ATA) chips.

krishtaf

menuconfig не кошерно ?

Julie16

Кстати, в 2.6.x xconfig переписали на qt. Теперь им даже можно пользоваться Хотя menuconfig - вне конкуренции.

Fragaria

Я и так пользуюсь menuconfig (и xconfig но не будешь же скриншоты выкладывать, гораздо удобнее часть .config выложить.
Оставить комментарий
Имя или ник:
Комментарий: