В начале 2000-х годов в продаже имелись платы с контроллером SATA от производителей Firmtek/Seri-Tek, Sonnet, ACard, которые имели поддержку Apple Power Mac и Mac OS 9. Но в настоящее время найти такие платы не просто, а стоимость редкой находки может доходить до 500$. В этой заметке мы рассмотрим процесс модификации недорогих плат с контроллером SATA для работы в Power Mac. Материалы собрались длительное время с разных источников, а сами платы протестированы на личных устройствах. Представленная информация может быть полезна специалистам, которые в силу своей профессиональной деятельности для решения задач всё ещё используют Power Mac.
За основу берём плату Seri-Tek 1S2, которая была оснащена контроллером Sil3112 и одним из трёх EEPROM чипов: Am29LV040B, MX29LV040, Pm39LV040. Данная плата имеет поддержку Mac OS 8, 9 и 10.2-10.5, а также MorphOS.
Оригинальная прошивка имеет защиту, которая выполняет проверку модели чипа EEPROM, если чип не тот, работа платы как устройства не возможна. В 2023 году участнику форума удалось модифицировать утилиту и прошивку версии 5.1.3 — отключить защиту и выполнить сжатие до 128 Кб из исходных 512, поэтому сейчас подготовка подобных плат в большинстве случаев и для большинства Power Mac занимает считанные минуты. Для этого требуется:
- Любая рабочая PCI плата с контроллером Sil3112;
- Компьютер Power Mac с Mac OS 9;
- Модифицированная утилита прошивки с модифицированной прошивкой.
Всё, что необходимо — запустить утилиту и нажать на Update Firmware.
Если нет компьютера с поддержкой Mac OS 9, а плату подготовить необходимо, то можно воспользоваться утилитой flashrom в Linux или DOS, которая будет запущена на PC с слотами PCI. Пример, на Linux Debian 11 процедура будет следующей:
Устанавливаем flashrom:
# apt-get install flashrom
Переходим в каталог с прошивкой и создаём резервную копию текущей прошивки:
# cd /path/to/dir
# flashrom --programmer satasii -r backup.rom
Выполняем прошивку:
# flashrom --programmer satasii -w firmware.ROM
После прошивки, подключаем один или два SATA диска и проверяем работу контроллера.
Пример Apple System Profiler в Mac OS 9, где появилась шина, которая определяется как SCSI:
Пример информации в Apple System Profiler и данных о диске в Дисковой утилите в Mac OS X 10.4:
Иногда попадаются платы с чипами EEPROM типа AM28F010, которым требуется 12V для прошивки, в данном случае утилита flashrom будет бесполезна. Чтобы решить вопрос необходимо выпаять чип и выполнить прошивку через программатор.
Но если приходиться брать в руки паяльную станцию и программатор, можно заменить чип на совместимый и использовать оригинальную прошивку.
В нашем случае используется программатор Xgecu T48, переходник PCCL32 и совместимый EEPROM чип Pm39LV040.
В приложении Xgpro от производителя программатора выбираем модель чипа…
…открываем файл прошивки и шьём. По умолчанию, сразу после прошивки выполняется верификация, но по какой-то причине на этих старых чипах она не проходит, всплывает ошибка "ERROR! FLASH Address: 0x000000 Buf Val:0x12 IC Val:OxFF". Однако, если выполнять верификацию вручную, то она проходит успешно.
Поэтому автозапуск верификации после прошивки в нашем случае был отключен и верификация запускалась вручную.
Приступаем к замене чипа AM28F010 на Pm39LV040. Важный момент: исходный чип для работы требует питание 5V, а новый 3V, поэтому необходимо перенести 0 Ом резистор (перемычка) с позиции R25 на R24.
Такая плата должна работать на всех компьютерах Mac с процессорами PowerPC и слотами PCI за исключением двух моделей:
- Power Mac G4 Digital Audio;
- Power Mac G4 Quicksilver.
После установки платы запуск этих моделей компьютеров невозможен, т.к. зависает инициализация материнской платы. Причина в несовместимом регуляторе напряжения на SATA плате на позиции U2 со своеобразной схемой питания материнской платы. По некоторым предположениям, штатный регулятор напряжения на 3.3V не успевает подготовить плату для запуска. Чтобы исправить это, необходимо заменить регулятор напряжения на совместимый: MIC29150-3.3 или FS8860-33. Конкретно для этих плат больше всего подходит FS8860-33, так как он не отличается габаритами от исходного.
В качестве завершения модификаций рекомендую заменить все конденсаторы, особенно если плата покупалась на известной китайской интернет площадке. Без замены конденсаторов могут воспроизводиться следующие проблемы:
- Контроллер теряет диски;
- Контроллер видит диск, но монтирование и форматирование невозможно;
- Хаотичные зависания ОС.
Платы поставляются с конденсаторами 16V 47μF, если таких же в ближайшем магазине радиодеталей найти не удаётся, можно установить конденсаторы, рассчитанные на большее напряжение. После всех модификаций, плата с конденсаторами 35V 47μF, будет выглядеть примерно так:
Если нет необходимости или возможности запускать Mac OS 8 или 9 c дисков SATA, то есть вариант использования плат с другими контроллерами:
- 4-портовая PCI плата с контроллером Sil3114 и прошивкой от SIIG;
- 2-портовая PCI плата с контроллером Sil3512 и прошивкой от SIIG или Wiebe.
Платы с этими прошивками позволяют запускать Mac OS X 10.2-10.5 и MorphOS. SIIG позволяет монтировать диски в Mac OS 9.
При использовании плат в Power Mac G4 Digital Audio и QuickSilver может так же потребоваться выполнить замену регулятора напряжения на 3.3V, в противном случае запуск компьютера может быть невозможен.
Прошивку можно выполнить с помощью flashrom или программатором, замена EEPROM чипов не потребуется.
Следует учесть, что неопытные "паяльщики" впервые взявшись за эту работу могут испортить EEPROM чип и регулятор напряжения перегревом. Все используемые компоненты выдерживают, нагрев до 260 ℃, но максимальное время такого нагрева отличается.
Элемент | Максимальная температура | Максимальное время нагрева |
MIC29150-3.3 | 260 ℃ | 5 сек |
FS8860-33 | 260 ℃ | 10 сек |
Pm39LV040 | 260 ℃ | 3 сек |
Остался ещё один компьютер, которому необходим особый подход, - Power Mac G5 конца 2005 года, последний Mac на процессоре PowerPC. Особенность этой машины не только в первом двухъядерном процессоре PowerPC, но и в отсутствии устаревающих на тот момент PCI слотов на материнской плате. Здесь используются слоты 4x, 8x и 16x PCI Express (ver. 1).
Материнская плата имеет два встроенных SATA II порта, однако с определением SATA III дисков могут возникнуть проблемы. Например, SSD накопитель Crutial CT250MX500SSD1 встроенный контроллер не видит.
Чтобы не только расширить, но и ускорить работу дисковой подсистемы можно воспользоваться платой LSI Logic SAS 3041E.
По умолчанию это сразу будет работать в Mac OS X 10.5, но для возможности выполнить загрузку ОС необходимо добавить FCode в прошивку.
В данном примере на плате установлена старая версия прошивки 1.24.1.0 без FCode. А с выше упомянутым диском проблем не возникло, он распознан и смонтирован.
Прошивка выполняется с помощью утилит sasflash или lsiutil в DOS, Linux или Windows. В примере для взаимодействия с платой использовался PC, Debian Linux 11 загруженный в Live режиме и SSH сессия с стандартным пользователем "user" и паролем "live".
C помощью утилиты sasflash посмотрим на установленную плату:
sasflash -list
Выполним обновление прошивки и BIOS:
sasflash -f 3041ERB3.fw -b mptsas.rom
Выполним установку FCode:
sasflash -b fcode.rom
Утилитой lsiutil увеличим скорость работы портов с дефолтных 1,5 Gbps до 3.0 Gbps:
Возвращаемся в Mac OS, и проверим как изменилось определение платы в System Profiler.
Версия прошивки определилась верно. Видим, что появилась информация о версии FCode:
Развернём на подключенный диск Sorbet Leopard и выполним перегрузку через апплет startup disk в панели управления выбрав новый диск с ОС.
Если вновь развёрнутая ОС загрузилась, значит всё сделано верно.
Работа плат контроллера SATA с подключенным SSD диском была протестирована в QuickBench, приведу результаты расширенного тестирования с чтением и записью файлов 20-100 мегабайт на всех компьютерах из коллекции.
#1. Apple Power Macintosh G3 Minitower, CPU 266 Mhz, Sil3112, SSD Netac 128 GB
#2. Apple Power Macintosh G3 Blue & White (Rev. B), CPU 300 Mhz, Sil3112, SSD Netac 256 GB
#3. Apple Power Mac G4 Quicksilver, CPU 800 Mhz, Sil3112, SSD Netac 256 GB
#4. Apple Power Mac G4 Quicksilver, CPU Sonnet ST 1 Ghz, Sil3112, SSD Netac 256 GB
#5. Apple Power Mac G4 Mirrored Drive Doors, CPU 1250 Mhz, Sil3112, SSD Netac 256 GB
#6. Apple Power Mac G4 Mirrored Drive Doors, Double CPU 867 Mhz, Sil3112, SSD Netac 256 GB
Для развёртывания Mac OS 9.2.2 использовался образ сообщества MacOS9Lives, тюнинг путём отключения неиспользуемых расширений, в том числе Multiprocessing (Apple CPU Plugins), не выполнялся.
Во время экспериментов из-за роковой ошибки с фишкой питания для SCSI ZIP-Drive был испорчен Apple Power Macintosh G3 Minitower, поэтому не успел провести все эксперименты c этим компьютером.
#7. Apple Power Mac G5 Late 2005, Dual Core 2 Ghz, SAS3041E, Crutial CT250MX500SSD1
Нужно ещё быстрее?
Подключаем 2 одинаковых SSD диска к SAS3041E и создаём в дисковой утилите массив RAID0 (чередование) или RAID1 (зеркалирование). RAID1 по понятным причинам будет медленнее на запись, но надёжнее в случае отказа одного из дисков. ОС так же можно развернуть на такой программный массив и это будет работать.
#8. Apple Power Mac G5 Late 2005, Dual Core 2 Ghz, SAS3041E, 2 x Netac 128 GB, RAID0
#9. Apple Power Mac G5 Late 2005, Dual Core 2 Ghz, SAS3041E, 2 x Netac 128 GB, RAID1
Пропускная способность шины PCI Express 4x (ver. 1) достирает до 1 Gbps, на этом компьютере можно получить ~800 Mbps.
Фокус c RAID не сработал на Sil3112, производительность деградировала почти до 0. Возможно, этот старый контроллер имеет проблемы с программными массивами или программными массивами из SSD.
В целом без использования RAID, Sil3112 показывает примерно двукратное увеличение производительности дисковой подсистемы в сравнении с этим же SSD подключенным через мост SATA-PATA. SAS3041E показывает аналогичное увеличение производительности, при условии включения 3Gbps в сравнении с встроенным контроллером SATA в G5 конца 2005 года.
Архив с утилитами для прошивок и прошивки можно скачать здесь.