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

Форум

Вы не вошли.

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

#1 Re: Техническая поддержка » Установка E14-440 на Linux (ядро 5.4.0-73) » 09.06.2021 16:45:37

nub

Алексей!
попробовал на свежеустановленной Ubuntu 20.04 - действительно всё компилируется.

Алексей L Card пишет:

Странно, что у Вас осталось ядро 5.4. А как Вы обновляли дистрибутив - через apt upgrade или apt dist-upgrade? Первая не удаляет пакеты и соответственно не изменяет версию ядра. Возможно у Вас какая-то проблема с тем, что часть утилит обновлено, а ядро используется не последнее (на ubuntu уже сталкивался с проблемами в случаях, когда ядро не обновлялось вместе с другими компонентами).

Обычно через  apt upgrade. Наверное, в этом и причина, как Вы указали.

Спасибо за ответ, всё классно, только, повторюсь, очень не хватает инструкции для юзеров, которые не дружат со сборкой пакетов и т.п., а также консольного приложения для записи из терминала.
Еще раз спасибо за поддержку!

#2 Re: Техническая поддержка » Установка E14-440 на Linux (ядро 5.4.0-73) » 07.06.2021 15:06:29

nub

UPD

nub пишет:

Пробовал установить с нуля на совсем старой машине, которая пылилась на полке года 4 без обновлений (сейчас там Ubuntu 16.04, ядро 4.4.0-83). После мучений с libatomic_ops, который приходится ставить вручную, драйвера и программы вроде бы компилируются. При подключении модуля появляются /dev/ldev* и  /dev/ldevice* (поучему-то пять штук с индексами от 0 до 4). Но ./test 0 E440 дает ошибку

19
CallCreateInstance failed

Даже если удастся временно запустить на старой машине, использовать её не получится по другим причинам.

на этой старой машине (4.4.0-83) после всяческих манипуляций (перезапуск, уже не поймешь что...) всё заработало, но вопрос с новыми ядрами остается открытым.

#3 Техническая поддержка » Установка E14-440 на Linux (ядро 5.4.0-73) » 07.06.2021 13:10:57

nub
Ответов: 4

Здравствуйте, уважаемые разработчики!

Использую модуль E14-440 на компьютере под линукс для сбора данных. Сам ни разу не программист, но примерно 1-1.5 года назад, при помощи данного форума, удалось установить драйвера на Ubuntu из архива https://www.lcard.ru/download/lcomp_linux.tgz и даже переделать тестовую программку test оттуда же в консольное приложение, которое позволяло запускать сбор данных из терминала (дальше всё скриптами). Всё отлично работало некоторое время, потом необходимость в сборе данных отпала, а сейчас появилась опять вместе с новыми проблемами.

Пытаюсь действововать как тогда, но уже на другой машине. Возможно не все помню и/или делаю что-то лишнее.

sudo apt-get install  gcc g++ gdb cmake libfontconfig1 mesa-common-dev build-essential libglu1-mesa-dev 
sudo apt-get install libatomic*
wget https://www.lcard.ru/download/lcomp_linux.tgz
tar -xvzf ./lcomp_linux.tgz
cd ./dstr
sudo cp lcard.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
make

В результате получаю ошибку:

make -C /lib/modules/5.4.0-73-generic/build M=/home/yyy/dstr modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-73-generic'
  CC [M]  /home/yyy/dstr/ldevice.o
  CC [M]  /home/yyy/dstr/l760.o
  CC [M]  /home/yyy/dstr/ldevpciu.o
  LD [M]  /home/yyy/dstr/ldevpci.o
  CC [M]  /home/yyy/dstr/e2010.o
  CC [M]  /home/yyy/dstr/e140.o
  CC [M]  /home/yyy/dstr/e440.o
  CC [M]  /home/yyy/dstr/e154.o
  CC [M]  /home/yyy/dstr/ldevusbu.o
  LD [M]  /home/yyy/dstr/ldevusb.o
  CC [M]  /home/yyy/dstr/l791.o
  CC [M]  /home/yyy/dstr/ldevpcib.o
  LD [M]  /home/yyy/dstr/ldevpcibm.o
  Building modules, stage 2.
  MODPOST 4 modules
FATAL: parse error in symbol dump file
scripts/Makefile.modpost:93: recipe for target '__modpost' failed
make[2]: *** [__modpost] Error 1
Makefile:1673: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-73-generic'
Makefile:28: recipe for target 'modules' failed
make: *** [modules] Error 2

Пробовал на разных машинах с регулярно обновляемой Ubuntu 20.04 - результат один и тот же. Гугл подсказывает, что проблема то ли в ядре, то ли в headers. Выхлоп uname -sr дает:

Linux 5.4.0-73-generic

На той машине с уже установленными драйверами, что работала 1-1.5 года назад, но регулярно обновлялась после этого, sudo ./start выдает ошибку:

insmod: ERROR: could not insert module ldevice.ko: Invalid module format
insmod: ERROR: could not insert module ldevpcibm.ko: Invalid module format
insmod: ERROR: could not insert module ldevpci.ko: Invalid module format
insmod: ERROR: could not insert module ldevusb.ko: Invalid module format

а попытка всё перекомпилировать приводит к той же ошибке, что и на новых машинах (см. выше).

Пробовал установить с нуля на совсем старой машине, которая пылилась на полке года 4 без обновлений (сейчас там Ubuntu 16.04, ядро 4.4.0-83). После мучений с libatomic_ops, который приходится ставить вручную, драйвера и программы вроде бы компилируются. При подключении модуля появляются /dev/ldev* и  /dev/ldevice* (поучему-то пять штук с индексами от 0 до 4). Но ./test 0 E440 дает ошибку

19
CallCreateInstance failed

Даже если удастся временно запустить на старой машине, использовать её не получится по другим причинам.

Действительно ли на новых машинах проблема с новым ядром? Как быть при установке lcomp на свежие системы? Очень не хватает пошаговой инструкции...

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск