Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Linux и L-761, L-780 и иже с ними

Вы не вошли.

 Поиск | Регистрация | Вход 

Валентин Ханбеков
31.08.2006 08:25:33
#1

Гость

Linux и L-761, L-780 и иже с ними

Уважаемые Коллеги!

В связи с тем что Л-Кард сейчас не может оказывать техподдержку по Линуксу, спасение утопающих становится делом самих утопающих.

Поэтому открываю эту ветку, где предлагаю постить проблемы по теме- авось изредка будут заглядывать опытные товарищи и давать умные советы.

Валентин Ханбеков
31.08.2006 08:41:03
#2

Гость

Re: Linux и L-761, L-780 и иже с ними

И вот первые вопросы (пробовались RedHat 7.3 и ASP 9.2, ядро 2.4, драйверы Л-Карда 1.0.25 и 1.0.26 - результат аналогичен во всех случаях):

1. Необходимо внести некоторые изменения в BIOS платы L-761. Однако исходных текстов BIOS для Linux-драйвера не поставляется, а при попытке использования версий BIOS от Windows-драйвера, команды перестают работать (выдаются сообщения о таймауте). Мы предполагаем, BIOS для Linux версии либо написан по-другому, либо получен модификацией BIOSa от Windows; и соответственно сейчас необходимо или найти исходные тексты BIOS для Linux или знать суть его модификации. В Лкарде их нет и не знают.

2. Если после открытия устройства L-761 выполнить команду чтения из EEPROM , то потом команда ввода данных с АЦП не работает (зависает). Например, если в лкардском файле примера lreg.c после команды ldspOpen вставить такой фрагмент (выделен комментарием), то последующий ввод данных "зависает":
x = ldspOpen(&dd, dname, LDSP_ADC /*| LDSP_NONBLOCK*/);
if(x < 0)
{
  fprintf(stderr, "Unable to open device '%s'/n", dname);
  return -1;
}
/****** ЧТЕНИЕ ППЗУ ***************/
char device_data[20*2];
x=ldspLoad(dd, LC_READ_EEPROM, device_data, 20, 2, 0);
/***********************************/
ldspChannels(dd, &channels);
...

3. Команда установки способа синхронизации, при параметре sm.sync_type = SYNC_TYPE_NONE; выдает сообщение о таймауте. Эта ошибка очевидно известна лкардским разработчикам, поскольку в поставляемом ими файле примера lreg.c эта команда «закомментарена», а аналогичное сообщение в этой конференции полгода назад так и осталось без ответа.

4. В этой конференции 3.05.2004 была тема об ошибке драйвера 1.0.25 для L-7xx - регулярно терял информацию (с интервалом 0.224 сек), и приведен текст исправлений. Однако в версии 1.0.26 эти исправления не внесены. Ложная тревога или нет?

Lcard info
31.08.2006 09:01:17
#3

Гость

Re: Linux и L-761, L-780 и иже с ними

Не совсем так. 11 сентября выходит из отпуска один из наших программистов, попробуем разобраться с возникшими у Вас проблемами.

Андрей
31.08.2006 09:21:07
#4

Гость

Re: Linux и L-761, L-780 и иже с ними

Предлагаю не использовать ldsp а все сделать напрямую через ioctl().
И если не поможет, лезть в исходники драйверов. Как показывает практика (см. ветки про e140) драйверишки написаны кое-как.
Хотя обработка напильником дает результаты.
Еще предлагаю воспользоваться ядром 2.6.x и версией  драйверов 1.0.27 (незнаю вот только есть ли там драйвера для указанных карт).
В любом случае их можно попробовать адаптировать.

Валентин Ханбеков
31.08.2006 11:34:11
#5

Гость

Re: Linux и L-761, L-780 и иже с ними

Андрею: " не использовать ldsp а все сделать напрямую через ioctl(). И если не поможет, лезть в исходники драйверов." - дык там в исходниках практически тот же самый ioctl().
Ядро менять сейчас критично- далеко зашли.
А версии дров 1.0.27 в библиотеке файлов нет...

Андрей
01.09.2006 04:35:26
#6

Гость

Re: Linux и L-761, L-780 и иже с ними

дык там в исходниках практически тот же самый ioctl().
- вот именно "практически тот же самый".
Понятно, что открыть устройство и закрыть устройство, можно и не переделывать, но вот разобраться с синхронизацией и прочими прелестями...
Вся система состоит из железяки - подсистемы PCI ядра - драйвер устройства - ldsp - приложение.
И на каждом этапе возможны ошибки и неточности.
Так хоть будет понятно кто кривит.

Валентин Ханбеков
01.09.2006 10:59:10
#7

Гость

Re: Linux и L-761, L-780 и иже с ними

Мои исследования:
В 2002 году BIOS для L-761 был действительно одинаков (судя по размеру 11 344) для драйверов под DOS, Windows и  Linux.
И действительно, он подходит к драйверу Linux 1.0.26 (данные собираются, хотя проблемы с таймаутами остались, так что это видимо "залепы" в драйвере).
Зато есть его исходные тексты.

Затем BIOS для драйверов DOS и Windows был переработан, и с 2004 он имеет размер 10 958;
в то же время BIOS для Linux так же был изменен, но незначительно (размер стал 11 352) байта- и его исходных текстов, увы- я так понимаю в Лкарде не сохранилось.
Может быть у кого-то есть лкардовские диски 2002-2004 годов, на которых найдутся исходные тесты BIOSа с конечным размером BIO-файла 11 352 байта?