Как определить, находится ли мой контроллер в режиме IDE или AHCI в Linux?

у меня есть старый MacBook Pro 4,1 (начало 2008 года), но я подозреваю, что ответ будет применяться ко многим MacBook Pro.

оно имеет регулятор Intel IDE/SATA (ICH8M/ICH8M-E).

Я установил исправленную MBR, которая должна перевести мой контроллер в режим AHCI. Он делает это, установив некоторое значение порта контроллера, которое я не понимаю.

это, кажется, работает, как я получаю это от lspci:

00:1f.1 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 03)

Теперь большинство, наверное все, сайтов, которые предоставляют решение (включение AHCI) предположим, что после цикла сна/пробуждения контроллер вернется в режим IDE из-за того, как Apple поддерживает Windows.

они рекомендуют отключить сон.

от автора patchedcode.бен, я думаю,

включение AHCI для Windows на MacBook

NB: у меня не установлен Boot Camp и не установлена Windows.

есть ли способ доказать, что мой контроллер в IDE или режим AHCI?

Исходные Данные

использование patchedcode.bin MBR я получаю это в syslog:

Jun 12 22:33:22 max kernel: [    1.860955] ahci 0000:00:1f.2: version 3.0
Jun 12 22:33:22 max kernel: [    1.861052] ahci 0000:00:1f.2: irq 45 for MSI/MSI-X
Jun 12 22:33:22 max kernel: [    1.861117] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 3 ports 1.5 Gbps 0x1 impl SATA mode
Jun 12 22:33:22 max kernel: [    1.861120] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio slum part ccc ems 
Jun 12 22:33:22 max kernel: [    1.861130] ahci 0000:00:1f.2: setting latency timer to 64
Jun 12 22:33:22 max kernel: [    1.880880] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Jun 12 22:33:22 max kernel: [    1.880983] scsi2 : ahci
Jun 12 22:33:22 max kernel: [    1.884552] scsi3 : ahci
Jun 12 22:33:22 max kernel: [    1.886932] scsi4 : ahci
Jun 12 22:33:22 max kernel: [    1.886998] ata3: SATA max UDMA/133 abar m2048@0xdb504000 port 0xdb504100 irq 45
Jun 12 22:33:22 max kernel: [    1.887000] ata4: DUMMY
Jun 12 22:33:22 max kernel: [    1.887002] ata5: DUMMY
Jun 12 22:33:22 max kernel: [    2.204103] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
Jun 12 22:33:22 max kernel: [    2.204656] ata3.00: ATA-8: FUJITSU MHY2200BH, 0081000D, max UDMA/100
Jun 12 22:33:22 max kernel: [    2.204662] ata3.00: 390721968 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
Jun 12 22:33:22 max kernel: [    2.205324] ata3.00: configured for UDMA/100
Jun 12 22:33:22 max kernel: [    2.205554] scsi 2:0:0:0: Direct-Access     ATA      FUJITSU MHY2200B 0081 PQ: 0 ANSI: 5

используя мой оригинальный MBR я получаю это от syslog:

Jun 13 18:07:13 max kernel: [    0.622861] ata_piix 0000:00:1f.1: version 2.13
Jun 13 18:07:13 max kernel: [    0.622869] ata_piix 0000:00:1f.1: power state changed by ACPI to D0
Jun 13 18:07:13 max kernel: [    0.622924] ata_piix 0000:00:1f.1: setting latency timer to 64
Jun 13 18:07:13 max kernel: [    0.623339] scsi0 : ata_piix
Jun 13 18:07:13 max kernel: [    0.623730] scsi1 : ata_piix
Jun 13 18:07:13 max kernel: [    0.623765] ata1: PATA max UDMA/100 cmd 0x8108 ctl 0x811c bmdma 0x80e0 irq 21
Jun 13 18:07:13 max kernel: [    0.623767] ata2: PATA max UDMA/100 cmd 0x8100 ctl 0x8118 bmdma 0x80e8 irq 21
Jun 13 18:07:13 max kernel: [    0.623810] ata_piix 0000:00:1f.2: MAP [
Jun 13 18:07:13 max kernel: [    0.623811]  P0 -- -- -- ]
Jun 13 18:07:13 max kernel: [    0.623866] ata_piix 0000:00:1f.2: setting latency timer to 64
Jun 13 18:07:13 max kernel: [    0.624241] scsi2 : ata_piix
Jun 13 18:07:13 max kernel: [    0.624558] scsi3 : ata_piix
Jun 13 18:07:13 max kernel: [    0.624862] ata3: SATA max UDMA/133 cmd 0x80f8 ctl 0x8114 bmdma 0x8020 irq 18
Jun 13 18:07:13 max kernel: [    0.624865] ata4: SATA max UDMA/133 cmd 0x80f0 ctl 0x8110 bmdma 0x8028 irq 18
Jun 13 18:07:13 max kernel: [    1.208879] ata3.00: ATA-8: FUJITSU MHY2200BH, 0081000D, max UDMA/100
Jun 13 18:07:13 max kernel: [    1.208882] ata3.00: 390721968 sectors, multi 16: LBA48 NCQ (depth 0/32)
Jun 13 18:07:13 max kernel: [    1.208961] ata1.01: ATAPI: MATSHITA DVD+/-RW UJ-867S, 1.00, max UDMA/33
Jun 13 18:07:13 max kernel: [    1.216186] ata3.00: configured for UDMA/100
Jun 13 18:07:13 max kernel: [    1.224396] ata1.01: configured for UDMA/33
6
задан nc4pk
25.01.2023 23:13 Количество просмотров материала 2521
Распечатать страницу

1 ответ

lspci-это все, что мне нужно. Режим IDE означает, что в режиме IDE и AHCI означает, что в режиме AHCI/SATA-контроллеров.

у меня есть документальное подтверждение этого здесь

этот модифицированный MBR, о котором я говорил, кажется, просто что-то вроде этого:

setpci -s 0:1f.2 90.b=40

который будет работать для ряда Apple MacBook, которые используют контроллеры ICH7 и ICH8, но важно использовать правильное значение слота PCI, которое легко получить из lspci.

например, в то время как в IDE режим, запишите слот, который равен 0: 1f.2 в моем случае. В режиме AHCI, этот слот, кажется, изменить.

lspci
...
00:1f.2 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (rev 03)
...
1
отвечен philcolbourn 2023-01-27 07:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх