Официальный форум СВД Встраиваемые Системы
03 Декабря, 2016, 07:42:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Поиск PCI SATA контроллера  (Прочитано 2555 раз)
LH
Опытный пользователь

Сообщений: 249


« : 13 Октября, 2011, 19:53:06 »

Пожалуйста посоветуйте доступный PCI SATA контроллер для подключения Жесткого Диска по SATA, который поддержит
драйвер Fsys.atapi.

Какой максимальный размер жесткого диска поддержит QNX4?

Спасибо.
« Последнее редактирование: 13 Октября, 2011, 19:56:55 от LH » Записан
Олег Большаков
Администратор
Житель форума

Сообщений: 2929



WWW
« Ответ #1 : 13 Октября, 2011, 20:38:05 »

Если именно PCI, то поищите на чипе от VIA 6421, например, Espada VT6421. Или Sil 3114 тоже под брендом Espada. На PCI-E стоит посискать на чипе JMicron JMB363 производства Espada, ORIENT и другие. Можно попробовать и другие контроллеры, велика вероятность, что они будут работать. Но рекомендуется проверить работоспособность перед покупкой.

Мы обычно рекомендуем ориентироваться на интегрированные контроллеры Intel ICHx. С их поддержкой обычно не бывает проблем.

Кстати, совсем скоро должен выйти драйвер Fsys.ahci. Правда пока только бета-версия. Но мы его уже отлаживаем и тестируем вовсю. Smiley


Насколько я помню, драйвер Fsys.atapi поддерживает режим lba48, так что теоретически размер дисков может быть очень большим.
« Последнее редактирование: 13 Октября, 2011, 20:41:41 от Олег Большаков » Записан

LH
Опытный пользователь

Сообщений: 249


« Ответ #2 : 20 Октября, 2011, 11:56:57 »

Приобрели контроллер SATA/PCI/ST-Lab A-214 2 ext (SATA150) + 4 int (SATA150)  на микросхеме Silicon Image SIL3114

Источник покупки
http://fvd.ru/AdvPrice/MyAdvPrContent.aspx?typeid=2851

Драйвер Fsys.atapi от 16 мая 2011 у меня не увидел данный контроллер. Запускал просто

Fsys.atapi & и
Fsys.atapi atapi did=0x3114,vid=0x1095

Пож. посоветуйте правильное действие.

вывод от show_pci:

PCI version    = 2.10
...
Vendor ID      = 1095h, CMD
Device ID      = 3114h,
PCI index      = 0h
Class Code     = 018000h Mass Storage (Other 128) ProgIF=0
Revision ID    = 2h
Bus number     = 1
Device number  = 12
Function num   = 0
Status Reg     = 2b0h
Command Reg    = 7h
Header type    = 0h Single-function
BIST           = 0h Build-in-self-test not supported
Latency Timer  = 20h
Cache Line Size= 8h un-cacheable
Base Address   = IO@d100h length 8 bytes IO@d200h length 4 bytes IO@d300h length 8 bytes IO@d400h length 4 bytes IO@d500h length 16 bytes MEM@f8480000h,32bit length 1024
Subsystem Vendor ID = 1095h
Subsystem ID        = 3114h
Max Lat        = 0ns
Min Gnt        = 0ns
PCI Int Pin    = 1, INT A
Interrupt line = 5
Capabilities Pointer = 60h
Capability ID        = 1h
Capabilities         = 622h - 64004000h



Записан
Олег Большаков
Администратор
Житель форума

Сообщений: 2929



WWW
« Ответ #3 : 20 Октября, 2011, 15:58:16 »

Рассмотрели Вашу ситуацию. По всей видимости проблема в контроллере. Драйвер проверяет Class Code устройства, который должен быть 010100. А в Вашем случае там 018000. К сожалению, без устройства разрешить эту ситуацию мы не можем. Неизвестно, какие ещё особенности есть у устройства. Рекомендуем Вам, если есть такая возможность, обменять SATA-контроллер на контроллер другого производителя.
Записан

LH
Опытный пользователь

Сообщений: 249


« Ответ #4 : 20 Октября, 2011, 17:07:56 »

Спасибо за оперативный ответ.

Есть ли для Вас смысл, чтобы мы выслали Вам почтой указанный выше  контроллер ( без поддержки в QNX4 он нам не нужен ) для отладки
Вашего экспериментального драйвера Fsys.ahci?
Записан
LH
Опытный пользователь

Сообщений: 249


« Ответ #5 : 21 Октября, 2011, 06:41:21 »

Нам нужен именно PCI-SATA контроллер для встраивания Ж/Диска в уже имеющуюся систему.

Будем приобретать Контроллер PCI,SATA+ATA133 VT6421, RAID combo, ESPADA.

Скажите пожалуйста: у Вас есть реальный опыт работы Fsys.atapi с данным контроллером?

Каким образом до покупки можно узнать Сlass Code контроллера, а так же его VID и DID, чтобы сверить с таблицей
поддерживаемых контроллеров для Fsys.atapi?

Если посмотреть в эту таблицу

http://www.pcidatabase.com/vendor_details.php?id=648

то для микросхемы VT6421 Device ID будет скорее всего Did=0x3249, Vid=0x1106.

Заработает ли Fsys.atapi для такого случая?


Спасибо.
« Последнее редактирование: 21 Октября, 2011, 07:26:08 от LH » Записан
Олег Большаков
Администратор
Житель форума

Сообщений: 2929



WWW
« Ответ #6 : 21 Октября, 2011, 10:15:53 »

Высылайте неработающий контроллер, мы посмотрим. Устройство с идентификаторами 0x1106:0x3249 должно работать с Fsys.atapi, class code должен быть 0x018000. К сожалению, у нас таких контроллеров в наличии нет, так что реального опыта работы с ними нет.

Лучше всего подготовить LiveCD или LiveUSB с QNX4, с помощью которого, проводить тестирование оборудования на совместимость с QNX перед покупкой. Можно для этих целей использовать установочный диск QNX4 2011 года. Зачастую магазины идут навстречу. Значение class code можно посмотреть при помощи утилиты show_pci.
Записан

LH
Опытный пользователь

Сообщений: 249


« Ответ #7 : 02 Ноября, 2011, 06:34:36 »

Приобрели еще один "нонаме" PCI-SATA контроллер.

show_pci показала:

Vendor ID = 1106h
Device ID = 3249h
...
Class Code = 010400h Mass Storage (RAID) Prog_IF=0
...

Fsys.atapi и Fsys.ahci не увидели устройство.  Нам опять "не повезло" c Class Code?

М.б. дать возможность драйверу среди  atapi (ahci) параметров наряду с VID и DID задавать ClassCode?

Надеюсь что посылка с контроллером до Вас уже дошла.

Спасибо.
Записан
kukabu
Пользователь

Сообщений: 44


« Ответ #8 : 02 Ноября, 2011, 13:50:11 »

Драйвер проверяет Class Code устройства, который должен быть 010100.
это ж сата, какой 0x01, 0x06 должно быть
Class Code = 010400h Mass Storage (RAID) Prog_IF=0
а это типа RAID контроллер и что?

зачем такая проверка? class code проверять надо, а вот subclass code то зачем?
Записан
Павел Козлов
Модератор
Пользователь

Сообщений: 96



WWW
« Ответ #9 : 07 Ноября, 2011, 15:01:01 »

То что Олег писал про проверку ClassCode относилось к драйверу Fsys.atapi. В данном драйвере именно для контроллеров SiliconImage есть проверка на ClassCode 0x010100, почему это было сделано в общем-то можно понять. Драйвер Fsys.atapi работает с EIDE/ATA, мне давно не попадались IDE RAID контроллеры, возможно у SiliconImage был как раз такой, но теперь они почти все SATA.

Другое дело Fsys.ahci. Действительно, многие контроллеры аппаратно реализующие RAID, взаимодействуют с системой через интерфейс AHCI. Нужно признать, что в драйвере Fsys.ahci имеет место проверка по Subclass 0x06 (Serial ATA), что ограничивает список оборудования с которым мог бы работать драйвер. Эта проверка введена поскольку Fsys.ahci не будет работать с ATA (0x01) и некоторыми RAID (0x04) контроллерами.
Я подготовил версию драйвера Fsys.ahci, которая при явном указании параметров vid и did не осуществляет проверку по Subclass. Думаю это будет вполне допустимый компромисс.

LH, попробуйте данный драйвер с вашим оборудованием.
Еще одно замечание, при работе с RAID, драйвер может не корректно определить базовый адрес, потребуется явно его указать через параметр iobase. Для примера, для Вашей первой платы SATA/PCI/ST-Lab A-214 2 ext (SATA150) я бы попробовал следующую строку запуска:

Fsys.ahci ahci vid=0x1095,did=0x3114,ioport=0xf8480000,irq=5

Думаю после тестирования данную версию можно будет выложить как официальный релиз.

Архив с драйвером:
Fsys.ahci.20111107.tar.gz - сборка от 2011-11-07

$ cksum Fsys.ahci.20111107.tar.gz
2019495299 48456 Fsys.ahci.20111107.tar.gz

Записан

LH
Опытный пользователь

Сообщений: 249


« Ответ #10 : 07 Ноября, 2011, 17:38:31 »

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

Насколько  я понял, первая плата уже в Вашем почтовом отделении и скоро ее передадут Вам
для опробования.

Спасибо.
Записан
LH
Опытный пользователь

Сообщений: 249


« Ответ #11 : 08 Ноября, 2011, 09:04:29 »

К сожалению драйвер Fsys.ahci от 07.11.11 вновь контроллер не увидел.

Привожу полный вывод show_pci для контроллера:


Vendor ID      = 1106h, VIA Technologies
Device ID      = 3249h,
PCI index      = 0h
Class Code     = 010400h Mass Storage (RAID) ProgIF=0
Revision ID    = 50h
Bus number     = 0
Device number  = 18
Function num   = 0
Status Reg     = 290h
Command Reg    = 7h
Header type    = 0h Single-function
BIST           = 0h Build-in-self-test not supported
Latency Timer  = 20h
Cache Line Size= 0h
Base Address   = IO@ac00h length 16 bytes IO@b000h length 16 bytes IO@b400h length 16 bytes IO@b800h length 16 bytes IO@bc00h length 32 bytes IO@c000h length 256 bytes
Subsystem Vendor ID = 1106h
Subsystem ID        = 3249h
Max Lat        = 0ns
Min Gnt        = 0ns
PCI Int Pin    = 1, INT A
Interrupt line = 5
Capabilities Pointer = e0h
Capability ID        = 1h
Capabilities         = 2h - 0h

Device Dependent Registers:
0x40: 33 03 f1 44 0e af 00 00 00 00 00 03 00 00 00 00
0x50: 00 00 00 00 00 00 00 00 00 10 10 00 05 00 10 00
0x60: 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
0x70: 00 00 00 00 01 f0 00 00 01 00 01 00 01 00 00 00
0x80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xA0: 0b f2 c9 35 10 ac c0 00 a8 a8 a8 a8 ff 00 b6 b6
0xB0: 0f 0f 0f 0f 34 00 00 00 00 00 20 00 00 00 00 00
0xC0: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00
0xD0: 02 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00
0xE0: 01 00 02 00 00 00 00 00 50 01 49 32 06 11 49 32
0xF0: 00 00 70 00 00 00 00 00 00 00 00 00 8e 1f 00 00

Значение порта в/в из этого вывода я не увидел.

Пробовал
#Fsys.ahci ahci vid=0x1106,did=0x3249,irq=5,ioport=0xac000000 ( 0xb0000000, 0xb4000000... ),
но это не помогло:

No Adaptor found!
и
*** NULL assigment detected.

Жду Ваших советов. Спасибо.

Записан
Павел Козлов
Модератор
Пользователь

Сообщений: 96



WWW
« Ответ #12 : 08 Ноября, 2011, 11:06:01 »

Судя по описанию контроллера и по его ресурсам (BAR'ам), данный контроллер не реализует интерфейс AHCI и с драйвером Fsys.ahci работать не будет. Остается надежда только на Fsys.atapi. В драйвере есть поддержка VIA VT6421.

Хотелось бы взглянуть на вывод драйвера, если запустить его следующим образом:
#Fsys.atapi atapi verbose=6

Попробуйте запустить драйвер с явным указанием параметров ioport, irq, chnl.

Насколько  я понял, первая плата уже в Вашем почтовом отделении и скоро ее передадут Вам
для опробования.

Да, так и есть. Как только мы получим вашу плату, я ее проверю и отпишусь о результатах.
Записан

LH
Опытный пользователь

Сообщений: 249


« Ответ #13 : 09 Ноября, 2011, 09:06:29 »

Попробовал с Fsys.atapi ( от 16.05.2011 длиной 110613 байт)

#Fsys.atapi atapi vid=0x1106,did=0x3249,verbose=6

В ответ только:

No devices found for Fsys.

Похоже что Fsys.atapi не видит контроллер.

Есть желание сдать его в магазин и приобрести какой-нибудь другой доступный PCI-SATA контроллер, чтобы он был не "noname".

Записан
Павел Козлов
Модератор
Пользователь

Сообщений: 96



WWW
« Ответ #14 : 15 Ноября, 2011, 14:03:30 »

LH, мы получили вашу плату. Удалось ее подружить с драйвером Fsys.atapi, правда после небольшого изменения Fsys.atapi.
Драйвер мы готовы Вам передать.
Записан

Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 02 Декабря, 2016, 05:39:57