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

Драйвера для E14-440 под Raspbian

Вы не вошли.

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

04.10.2015 08:53:00
#1

Участник
Здесь с 04.10.2015
Сообщений: 4

Драйвера для E14-440 под Raspbian

Здравствуйте!
Безуспешно пытаюсь собрать драйвера для Е14-440 под Raspbian ( порт Debian для Raspberry Pi (1)).

Пробовал варианты драйверов для linux 2.6.x.x и linux 3.2.xx ( http://www.lcard.ru/download/lcomp_linux-2.6.29.tgz и http://www.lcard.ru/download/lcomp_linux.tgz соответственно).
Собрать пытался с вариантами Raspbian 3.12.38+ и 4.1.7+
Последовательность сборки:
1) Скачиваю исходные тексты ОС, делаю линк ln -s /usr/src/linux-rpi-3.12.y/ /lib/modules/3.12.28+/build
2) Подготавливаю исходные тексты make modules_prepare
3) Забираю актуальный Module.symvers
4) Перехожу в папку dstr драйверов
5) Делаю make. Чтобы прошла компиляция, необходимо незначительно изменить исходные тексты - добавить #include <linux/slab.h>
6) Получаю следующие предупреждения:
WARNING: "__pv_phys_pfn_offset" [/home/pi/LCard/Linux3/dstr/ldevusb.ko] undefined!
WARNING: "page_address" [/home/pi/LCard/Linux3/dstr/ldevpcibm.ko] undefined!
WARNING: "_raw_spin_lock" [/home/pi/LCard/Linux3/dstr/ldevpcibm.ko] undefined!
WARNING: "outer_cache" [/home/pi/LCard/Linux3/dstr/ldevpcibm.ko] undefined!
WARNING: "_raw_spin_unlock_irqrestore" [/home/pi/LCard/Linux3/dstr/ldevpci.ko] undefined!
WARNING: "_raw_spin_lock" [/home/pi/LCard/Linux3/dstr/ldevpci.ko] undefined!
WARNING: "_raw_spin_lock_irqsave" [/home/pi/LCard/Linux3/dstr/ldevpci.ko] undefined!
WARNING: "outer_cache" [/home/pi/LCard/Linux3/dstr/ldevpci.ko] undefined!
WARNING: "_raw_spin_lock" [/home/pi/LCard/Linux3/dstr/ldevice.ko] undefined!

И invalid module format при попытке установки драйверов через insmod

Инструкцию по установке драйверов для Linux 2.6 http://www.lcard.ru/~gorinov/lcdrv/install26.html читал, но в архивах драйверов нет никаких скриптов Patch или Install
Что я делаю не так?

NBarchenko1
04.10.2015 18:04:10
#2

Гость

Re: Драйвера для E14-440 под Raspbian

Сам задал вопрос - сам разобрался, дело в версии исходников ядра, самого ядра и компилятора.
Драйвера собираются. В stubs.h пришлось заменить ассемблерные incl decl на __sync_add_and_fetch __sync_sub_and_fetch, после этого нормально собрался и test
Но увы, драйвера не устанавливаются. При вызове insmod ldevice.ko:
Segmentation fault

Message from syslogd@raspberrypi at Oct  4 07:07:53 ...
kernel:[80487.376999] Internal error: Oops: 5 [#1] PREEMPT ARM

Message from syslogd@raspberrypi at Oct  4 07:07:53 ...
kernel:[80487.377284] Process insmod (pid: 11035, stack limit = 0xcbec0188)

Message from syslogd@raspberrypi at Oct  4 07:07:53 ...
kernel:[80487.377299] Stack: (0xcbec1e80 to 0xcbec2000)

Есть варианты, как установить LCard 14-440 под Raspbian ?

04.10.2015 18:34:30
#3

Участник
Здесь с 04.10.2015
Сообщений: 4

Re: Драйвера для E14-440 под Raspbian

Драйвера версии 3.2.x.x нормально собираются и устанавливаются после незначительной доработки и сборки компилятором gcc 4.8.2. По крайней мере, устанавливаются insmod и test работает.
Спасибо всем, кто читал этот спектакль одного актера.

05.10.2015 13:09:26
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Драйвера для E14-440 под Raspbian

Так оно и есть, достаточно заменить  asm... Клиенты которые запускали на RP уже были.

laf
18.10.2016 13:22:38
#5

Участник
Здесь с 16.09.2016
Сообщений: 13

Re: Драйвера для E14-440 под Raspbian

Poul пишет:

Так оно и есть, достаточно заменить  asm... Клиенты которые запускали на RP уже были.

использую найденное в исходниках ядра

#define atomic_inc(v)           atomic_add(1, v)
#define atomic_dec(v)           atomic_sub(1, v)

Контакты

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

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

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

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