Есть благородные доны с работающим subj?
У меня (portege 2000) "echo mem > /sys/power/state" с
примерно одинаковой вероятностью сбоит/работает.
Сбоит при выходе из S3: индикатор винчестера горит постоянно - хотя никакой дисковой активности не слышно. Машина повисает наглухо.
После ребота в логах *иногда* можно обнаружить:
Aug 17 17:06:24 censored kernel: Stopping tasks: ========================|
Aug 17 17:06:24 censored kernel: ACPI: PCI Interrupt 0000:00:04.0[A]: no GSI
Aug 17 17:06:24 censored kernel: Restarting tasks... done
Aug 17 17:06:43 censored kernel: hda: dma_timer_expiry: dma status == 0xa1
Aug 17 17:06:53 censored kernel: hda: DMA timeout error
Aug 17 17:06:53 censored kernel: hda: dma timeout error: status=0x58 { DriveReady Se
ekComplete DataRequest }
Aug 17 17:06:53 censored kernel:
Aug 17 17:06:53 censored kernel: ide: failed opcode was: unknown
Aug 17 17:06:53 censored kernel: hda: status error: status=0x58 { DriveReady SeekCom
plete DataRequest }
Aug 17 17:06:53 censored kernel:
Aug 17 17:06:53 censored kernel: ide: failed opcode was: unknown
Aug 17 17:06:53 censored kernel: hda: drive not ready for command
Aug 17 17:06:53 censored kernel: hda: status error: status=0x58 { DriveReady SeekCom
plete DataRequest }
Aug 17 17:06:53 censored kernel:
Aug 17 17:06:53 censored kernel: ide: failed opcode was: unknown
Aug 17 17:06:53 censored kernel: hda: drive not ready for command
Aug 17 17:06:54 censored kernel: hda: status error: status=0x58 { DriveReady SeekCom
plete DataRequest }
Aug 17 17:06:54 censored kernel:
Aug 17 17:06:54 censored kernel: ide: failed opcode was: unknown
Aug 17 17:06:54 censored kernel: hda: drive not ready for command
Aug 17 17:06:54 censored kernel: hda: status error: status=0x58 { DriveReady SeekCom
plete DataRequest }
Aug 17 17:06:54 censored kernel:
Aug 17 17:06:54 censored kernel: ide: failed opcode was: unknown
Aug 17 17:06:54 censored kernel: hda: drive not ready for command
Aug 17 17:06:54 censored kernel: ide0: reset: success
Похоже что-то из-за dma?
PS: собиралось все с включением alim15x3.c
Говоришь прям загадками! Ядро то какое? Линух какое. Почему важно? Да потому что если ядро старое первый ответ будет: обновить ядро. Если используешь Линух Генту, против которого я ничего не имею но столкнулся с тем что ядро собиралось не всегда оккуратно (по крайней мере в моем случае).
> error: status=0x58
Проверь в конфигурации ядра
--> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
--> Include IDE/ATA-2 DISK support
--> []'Use multi-mode by default' (должно быть включено)
Либо поиграйся с hdparm
>--> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
есть
>--> Include IDE/ATA-2 DISK support
есть
>--> []'Use multi-mode by default' (должно быть включено)
о, вЫключено
Включено еще "ALI M15x3 chipset support" (я говорил) и "Use PCI DMA by default when available" (вроде нужно для поддержки этого чипсета - без этого не работает).
Попробовать разве просто с "Generic PCI IDE Chipset Support"?
Попробуй снизить скорость. Для начала надо конечно выяснить на какой он работает:
hdparm -i /dev/hda
он тебе покажет:
=======================start===================================
/dev/hda:
Model=WDC WD80EB-28CGH2, FwRev=24.84G24, SerialNo=WD-WMA9N7936819
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=15509/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
BuffType=DualPortCache, BuffSize=768kB, MaxMultSect=16, MultSect=16
CurCHS=15509/16/63, CurSects=15633072, LBA=yes, LBAsects=15633072
IORDY=on/off, 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 udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: device does not report version:
* signifies the current active mode
=====================end=====================================
в данном случае диск работает в *udma2 (звездочка показывает актуальную "скорость")
значит надо снизить,для начала, до udma1:
hdparm -X udma1 /dev/hda
Давай. Дерзай! ;)
Если дело действительно касаеться ACPI то в 13 большие изменения, но они только тестируться. Если хочешь что бы они у тебя в стабильной ветке работали нужно сначало тестовую <> протестить и если что не работает то ребятам нужно помочь тебе ноутбук сделать.
Set the IDE transfer mode for newer (E)IDE/ATA drives. This is
typically used in combination with -d1 when enabling DMA to/from
a drive on a supported interface chipset, where -X mdma2 is used
to select multiword DMA mode2 transfers and -X sdma1 is used to
select simple mode 1 DMA transfers. With systems which support
UltraDMA burst timings, -X udma2 is used to select UltraDMA
mode2 transfers (you’ll need to prepare the chipset for UltraDMA
beforehand). Apart from that, use of this flag is seldom neces‐
sary since most/all modern IDE drives default to their fastest
PIO transfer mode at power-on. Fiddling with this can be both
needless and risky. On drives which support alternate transfer
modes, -X can be used to switch the mode of the drive only.
Prior to changing the transfer mode, the IDE interface should be
jumpered or programmed (see -p flag) for the new mode setting to
prevent loss and/or corruption of data. Use this with extreme
caution! For the PIO (Programmed Input/Output) transfer modes
used by Linux, this value is simply the desired PIO mode number
plus 8. Thus, a value of 09 sets PIO mode1, 10 enables PIO
mode2, and 11 selects PIO mode3. Setting 00 restores the
drive’s "default" PIO mode, and 01 disables IORDY. For multi‐
word DMA, the value used is the desired DMA mode number plus 32.
for UltraDMA, the value is the desired UltraDMA mode number plus
64.