LINUX.ORG.RU

Solaris 8/x86 и SiI3114

 , , ,


0

1

Всем здравствуйте.

Собственно, есть такой контроллер: Silicon Image 3114. Он вставляется в PCI-шину, поддерживает до 4-х SATA-дисков, может работать в режиме IDE-совместимости и потому идеален для миграции старого железа с уходящих в небытие IDE HDD-дисков.

Например, на него можно установить голый DOS (и загрузиться), не говоря уже о том, что любой Linux моложе 2004 года становится на эту железку просто на «ура».

Я решил перенести старый восьмой «Солярис» с IDE-диска. Сделал всё, как рекомендуют советчики в сети:

  1. Добавил в базу устройств, используемую Solaris Configuration Assistant (/boot/solaris/devicedb/master):

    pci1095,3114 pci-ide msd pci ata.bef "Silicon Image 3114 SATA Controller"
    

    Пробовал также вместо pci-ide pci1095,3114:

    pci1095,3114 pci1095,3114 msd pci ata.bef "Silicon Image 3114 SATA Controller"
    
  2. В /etc/driver_aliases явно сказал, что устройство pci1095,3114 – это ATA-контроллер:

    ata "pci1095,3114"
    
  3. Перезагрузил систему (touch /reconfigure; reboot -- -r).

В результате Configuration Assistant таки находит устройство, котороя я заботливо вписал ему в базу (снимок), но загружаться предлагает только со старого IDE-диска (снимок).

После загрузки самого Solaris утилиты format и fdisk «видят» только исходный IDE-диск (что подтверждается файлами устройств в /devices), а prtconf -pv выводит следующее:

        Node 0x190798
            66mhz-capable:  
            assigned-addresses:  81005810.00000000.0000d800.00000000.00000008.81005814.00000000.0000dc00.00000000.00000004.81005818.00000000.0000e000.00000000.00000008.8100581c.00000000.0000e400.00000000.00000004.81005820.00000000.0000e80
0.00000000.00000010.82005824.00000000.df000000.00000000.00000400.82005830.00000000.00000000.00000000.00080000
            class-code:  00010600
            compatible:  31696370.2c353930.34313133.69637000.35393031.3131332c.63700034.39303169.31332c35.70003431.6c636963.2c737361.36303130.00003030
            device-id:  00003114
            devsel-speed:  00000001
            fast-back-to-back:  
            interrupts:  00000001
            max-latency:  00000000
            min-grant:  00000000
            model:  'PCI: 1095,3114 - Silicon Image 3114 SATA Controller'
            name:  'pci1095,3114'
            power-consumption:  00000001.00000001
            reg:  00005800.00000000.00000000.00000000.00000000.01005810.00000000.00000000.00000000.00000008.01005814.00000000.00000000.00000000.00000004.01005818.00000000.00000000.00000000.00000008.0100581c.00000000.00000000.00000000.00000004.01005820.00000000.00000000.00000000.00000010.02005824.00000000.00000000.00000000.00000400.02005830.00000000.00000000.00000000.00080000
            revision-id:  00000002
            slot:  00000003
            subsystem-id:  00003114
            subsystem-vendor-id:  00001095
            unit-address:  'b'
            vendor-id:  00001095

Для сравнения, для встроенного IDE-контроллера выводится в т. ч. и список присоединённых к нему устройств:

        Node 0x18f5d8
            #address-cells:  00000001
            #size-cells:  00000000
            assigned-addresses:  81003910.00000000.000001f0.00000000.00000008.81003914.00000000.000003f6.00000000.00000001.81003918.00000000.00000170.00000000.00000008.8100391c.00000000.00000376.00000000.00000001.81003920.00000000.0000d000.00000000.00000010.81003924.00000000.00000000.00000000.00000000
            boot-interface:  00000013.00000000.00000000.00000010
            class-code:  0001018a
            compatible: 'pci-ide' + 'pci1106,571' + 'pciclass,01018a'
            device-id:  00000571
            device_type:  'pci-ide'
            devsel-speed:  00000001
            fast-back-to-back:  
            max-latency:  00000000
            min-grant:  00000000
            model:  'PCI: 1106,571 - Bus Mastering IDE controller'
            name:  'pci-ide'
            power-consumption:  00000001.00000001
            reg:  00003900.00000000.00000000.00000000.00000000.81003910.00000000.000001f0.00000000.00000008.81003914.00000000.000003f6.00000000.00000001.81003918.00000000.00000170.00000000.00000008.8100391c.00000000.00000376.00000000.00000001.01003920.00000000.00000000.00000000.00000010.01003924.00000000.00000000.00000000.00000000
            revision-id:  00000010
            slot:  00000000
            unit-address:  '7,1'
            vendor-id:  00001106

            Node 0x18fb78
                name:  'ide'
                reg:  00000000
                unit-address:  '0'

            Node 0x18fc48
                name:  'ide'
                reg:  00000001
                unit-address:  '1'

Вопрос: был ли у кого-нибудь положительный опыт?

★★★★★

Судя по копеечной цене контроллера, ты не продакшн Оракл на солярке крутишь. Поэтому если хочется непременно 8-ю солярку гонять на более шустром железе - купи parallel scsі адаптер, adaptec например. Их сейчас как весенней грязи и не нужны никому, впрочем, как и твоя солярка. К нему пару винтов. Поставишь на них новую соляру и загрузишься, а старое говно, мне с дивана этот хорошо видно, просто скопируешь.

anonymous ()

https://community.oracle.com/tech/apps-infra/discussion/1927935/additional-pci-ide-controller-does-not-work

Вот этом треде всё закончилось успешно.

У тебя похоже драйвер pci-ide не приаттачился к pci устройству.

Мне кажется алиас ata "pci1095,3114" неправильный. Драйвер pci-ide это драйвер pci устройства. При аттаче к pci устройству драйвер создаёт дочерние устройства ide каналы. Драйвер ata это драйвер ide канала. Алиас должен быть pci-ide "pci1095,3114".

P.S.: Интересно, а зачем гонять Solaris 8 не в виртуалке? Просто хочется?

iliyap ★★★★★ ()
Ответ на: комментарий от iliyap

Ты прав. В выводе prtconf -D для обычного IDE-контроллера наблюдаю:

pci-ide, instance #0 (driver name: pci-ide)
    ide, instance #0 (driver name: ata)
        cmdk, instance #0 (driver name: cmdk)
    ide, instance #1 (driver name: ata)
        sd, instance #0 (driver name: sd)

Сейчас попробую.

Bass ★★★★★ ()
Ответ на: комментарий от iliyap

В общем, попробовал – драйвер присоединился, но не получилось. Встроенный IDE-контроллер:

        pci-ide, instance #0 (driver name: pci-ide)
            ide, instance #0 (driver name: ata)
                cmdk, instance #0 (driver name: cmdk)
            ide, instance #1 (driver name: ata)
                sd, instance #0 (driver name: sd)

SiI3114:

        pci1095,3114, instance #1 (driver name: pci-ide)

Вызов devfsadm ни к чему не приводит.

Буду накатывать патчи – авось, поможет.

Bass ★★★★★ ()
Ответ на: комментарий от anonymous

Судя по копеечной цене контроллера, ты не продакшн Оракл на солярке крутишь.

Всё верно. На самом деле, хотелось не «ускорить железо», а именно полностью переползти на SATA SSD.

Сейчас ко мне едут переходники, позволяющие воткнуть SATA-диск в IDE-канал, но хотелось поэкспериментировать с Silicon Image, благо все остальные известные ОС с ним совместимы (и скорость чуть выше, чем ATA-66).

Bass ★★★★★ ()
Ответ на: комментарий от Bass

Насколько я понял, Sil3114 контроллер может содержать на борту флеш с PCI BIOS Extension. Он исполняется на писюке и конфигурирует чип контроллера до этапа загрузки. Есть разные версии PCI BIOS Extension для этих контроллеров, одни так называемые IDE, другие так называемые RAID. Возможно у твоего контроллера прошит RAID PCI BIOS Extension, он конфигурирует чип контроллера так, что он не реализует PCI Bus Master IDE.

Ты уверен, что твой контроллер «в режиме IDE»? В интернете говорят, что надо прошивать в него BIOS SiI3114_5500 отсюда.

iliyap ★★★★★ ()
Ответ на: комментарий от iliyap

Да, это было отдельное эротическое приключение, но это уже в прошлом.

Контроллер прошит «чистым» IDE-биосом (сейчас он SiI3114, был SiI3114r5).

Собственно, DOS и Оффтопик 98 видят его как обычный IDE.

Bass ★★★★★ ()
Ответ на: комментарий от alt-x

Нет, Артём, я просто забил.

Помимо описанных проблем, у SiI3114, даже при наличии драйверов, проблемы с совместимостью со старыми системами вплоть до Windows 2000 включительно.

В результате подключил диск к IDE-контроллеру через переходник IDE2SATA (только не к такому, как продаётся на nix.ru, а такому, который рекомендует Phil’s Computer Lab). В целом, всё достаточно стабильно. На больших файлах скорость ограничена пропускной способностью IDE-контроллера. На мелких – вырастает многократно.

Попутно сменил материнку, воткнул туда «топовый» Tualatin 1400-S и чудом найденный на помойке SB AWE64.

Проброс видеоплаты, боюсь, занял бы у меня больше времени, и не факт, что удалось бы решить вопрос.

Bass ★★★★★ ()