Использование старого драйвера в Linux
Использование старого драйвера в Linux
Добрый день!
Имеется проблема. Есть PCI-плата устройства (PCI-7442 Adlink, хотя это неважно). Стоит Linux Ubuntu текущий релиз.
На сайте устройства имеются драйвера (без исходного кода) и инструкция для установки. Но она не работает, так как файлы лохматого года
еще для Ubuntu 12.04. Соответственно при выполнении insmod пишет Invalid module format. Как я понял требуется совпадение версий текущего ядра и файлов от производителя.
Подскажите пожалуйста, решаема ли проблема?
С Linux я не работал совсем, что делать пока не представляю.
Имеется проблема. Есть PCI-плата устройства (PCI-7442 Adlink, хотя это неважно). Стоит Linux Ubuntu текущий релиз.
На сайте устройства имеются драйвера (без исходного кода) и инструкция для установки. Но она не работает, так как файлы лохматого года
еще для Ubuntu 12.04. Соответственно при выполнении insmod пишет Invalid module format. Как я понял требуется совпадение версий текущего ядра и файлов от производителя.
Подскажите пожалуйста, решаема ли проблема?
С Linux я не работал совсем, что делать пока не представляю.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Это как-раз достаточно важно...
Покажите это устройство в выводе команды lspci.
Текущий - это 20.04? Или...?
Давайте ссылку "сайта устройства" сюда - посмотрим...
Да, должно быть полное абсолютное совпадение ... не только версии ядра, но и сигнатуры сборки, конкретного вида сборки.
Чаще всего, почти всегда, такие проблемы решаются ... но требуют повозиться, убить на то время...
Re: Использование старого драйвера в Linux
Спасибо за ответ. Значит по-простому не решается.
Отвечу, что смогу.
1. lspci только завтра. Я делал. Пишет что устройство есть, тип девайса linux не определил.
2. Стоит ubuntu 20.04
3. сайт https://www.adlinktech.com/Products/Sea ... 443%2F7444.
4. К сожалению конкретный вид сборки для меня сейчас ничем не хуже сигнатуры сборки. Единственно, что мне непонятно -
это как такой драйвер вообще можно подцепить к плате. Даже самый свежий драйвер скорее всего не встанет (сигнатура не совпадет например). А тут операционка 2013 года выпуска. Или все-же не все так плохо?
Я вот хотел бы понять: если я из архива смогу достать и поставить linux и смогу подогнать версию ядра под драйвер
(хотя уже фантастика) - кстати такие данные есть:
Ubuntu-12.04.1 LTS
kernel versions 3.2.0-29-generic-pae
compiled with gcc version 4.6.3, есть шанс, что заработает драйвер? Или по-любому на какую-нибудь несовпадающую сигнатуру напорюсь?
Отвечу, что смогу.
1. lspci только завтра. Я делал. Пишет что устройство есть, тип девайса linux не определил.
2. Стоит ubuntu 20.04
3. сайт https://www.adlinktech.com/Products/Sea ... 443%2F7444.
4. К сожалению конкретный вид сборки для меня сейчас ничем не хуже сигнатуры сборки. Единственно, что мне непонятно -
это как такой драйвер вообще можно подцепить к плате. Даже самый свежий драйвер скорее всего не встанет (сигнатура не совпадет например). А тут операционка 2013 года выпуска. Или все-же не все так плохо?
Я вот хотел бы понять: если я из архива смогу достать и поставить linux и смогу подогнать версию ядра под драйвер
(хотя уже фантастика) - кстати такие данные есть:
Ubuntu-12.04.1 LTS
kernel versions 3.2.0-29-generic-pae
compiled with gcc version 4.6.3, есть шанс, что заработает драйвер? Или по-любому на какую-нибудь несовпадающую сигнатуру напорюсь?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Устройство PCI-7442/7443/7444 ?strap89 писал(а): ↑23 июл 2020, 17:163. сайт https://www.adlinktech.com/Products/Sea ... 443%2F7444.
Посмотрел что у них там с драйвером:High-Density 128-CH Isolated DIO/DI/DO PCI Cards
Но даже после регистрации у них скачать это чудо, на посмотреть, не представляется возможным - загрузка тут-же мгновенно прерывается... Похоже, что самого файла драйвера там у них нет - убрали за давностью лет.Fedora Core 17/Ubuntu-12.04.1 LTS/openSUSE-12.1
(4.34MB)
Upload: 2018-02-21
P.S. Сайт ADLINK так говённо сделан весь, кривыми руками, что и от драйверов и др. того же следует ожидать!
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Это не такая и сильно старая реализация (12.04) - вы вполне можете установить такой Linux.
Драйвер, если он вообще работоспособен, туда легко встанет.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Почему вы вообще решили что тот драйвер "без исходного кода"?
Fedora Core 17/Ubuntu-12.04.1 LTS/openSUSE-12.1 - это настолько разные по формату дистрибутивы Linux, что никакой бинарный драйвер не может быть общим для установки в них. Скорее всего там скрипт, который в своём основном теле содержит как-раз исходный код, из которого сам скрипт потом собирает драйвер- так делают VirtualBox и другие умники.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Вообще то, для Linux есть хорошее правило: если ничего не находится путнего на сайте производителя оборудования - поищите поиском в Интернет по: типу устройства + название производителя...
Мне проба поиска (yandex) по вот такому контенту "Linux PCI-7442 Adlink драйвер" дала кучу интересных мест... из них такое:
ADLINK PCI-7442 Free Driver Download (Official)
Там 2 книжки PDF (126 и 79 страниц) + куча всякого ПО...Supported Models
PCI-7442 Driver
Manufacturers
ADLINK
Supported Operating Systems
Linux
File Name
pci-dask413_RHWS4.tgz (1.5 MB)
И там же ваш модуль ядра:
Код: Выделить всё
olej@nvidia:~/Загрузки/pci-dask_413/drivers/2.6.9-5.EL$ file p7442.ko
p7442.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
Код: Выделить всё
olej@nvidia:~/Загрузки/pci-dask_413/drivers/2.6.9-5.EL$ modinfo p7442.ko
filename: /home/olej/Загрузки/pci-dask_413/drivers/2.6.9-5.EL/p7442.ko
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
license: GPL
vermagic: 2.6.9-5.EL 686 REGPARM 4KSTACKS gcc-3.4
depends:
Re: Использование старого драйвера в Linux
Повозили мордой об стол, повозили. Я к сожалению сегодня был очень занят, только к вечеру прочел сообщения, от стыда чуть не сгорел. За ссылки спасибо, скачаю-попробую, хотя девайс не тот, версия все равно старая.
Как вы говорите ubuntu 12.04.1 не такая и старая, я тоже так подумал. Правда официально на сайте поддержка только с 12.04.5.
Я скачал этот дистрибутив (мне пришла в голову мысль, что проблема в том что у меня версия amd64, а у адлинка i386). Вы правы, версия 12.04
не скачивает firefox'ом файлы с адлинка (на 20.04 я не пробовал, сразу chrome поставил), а тут хром мне поставить не удалось. Но остальное я все проделал, но к сожалению результат такой же: invalid module format. Скрипт по инсталляции там не сложный вылетает на первой же команде insmod -f p7442.ko. И на установочном архиве всего два варианта файлов: для fedora и для ubuntu. Оба реагируют одинаково. И вопрос у меня уже аполне конкретный: драйвер для самой минорной другой версии уже не встал, так как вы мне написали, что версия должна совпасть полностью. Но как тогда пользоваться системой? Вы ставите драйвер удачно, но через два дня после обновления даже не системы, а заплатки в ядре драйвер у вас слетает из-за несовпадения версий? И надо брать у адлинка новый драйвер? Еще на два дня?. Все-таки, мне представляется, не все должно быть так плохо. Хотя в линуксе я ноль полный, чего-то наверно не понимаю. Сегодня опять ставил в очередной раз ubuntu 20.04 после тренинга с 12.04.5 (употел весь пока приладился к старой версии, хотя и на новой уще не работал!). И все равно, зараза такая, не встал он как надо. Почему-то скрипты в 12.04 (да и в первой попытке 20.04) запускаются и что-то делают, а в новой инсталляции (такой-же!) скрипты после разархивации не запускаются (неизвестная команда и все тут, ничего я сделать не смог). Но это я так, от горя - не обращайте внимания.
Как вы говорите ubuntu 12.04.1 не такая и старая, я тоже так подумал. Правда официально на сайте поддержка только с 12.04.5.
Я скачал этот дистрибутив (мне пришла в голову мысль, что проблема в том что у меня версия amd64, а у адлинка i386). Вы правы, версия 12.04
не скачивает firefox'ом файлы с адлинка (на 20.04 я не пробовал, сразу chrome поставил), а тут хром мне поставить не удалось. Но остальное я все проделал, но к сожалению результат такой же: invalid module format. Скрипт по инсталляции там не сложный вылетает на первой же команде insmod -f p7442.ko. И на установочном архиве всего два варианта файлов: для fedora и для ubuntu. Оба реагируют одинаково. И вопрос у меня уже аполне конкретный: драйвер для самой минорной другой версии уже не встал, так как вы мне написали, что версия должна совпасть полностью. Но как тогда пользоваться системой? Вы ставите драйвер удачно, но через два дня после обновления даже не системы, а заплатки в ядре драйвер у вас слетает из-за несовпадения версий? И надо брать у адлинка новый драйвер? Еще на два дня?. Все-таки, мне представляется, не все должно быть так плохо. Хотя в линуксе я ноль полный, чего-то наверно не понимаю. Сегодня опять ставил в очередной раз ubuntu 20.04 после тренинга с 12.04.5 (употел весь пока приладился к старой версии, хотя и на новой уще не работал!). И все равно, зараза такая, не встал он как надо. Почему-то скрипты в 12.04 (да и в первой попытке 20.04) запускаются и что-то делают, а в новой инсталляции (такой-же!) скрипты после разархивации не запускаются (неизвестная команда и все тут, ничего я сделать не смог). Но это я так, от горя - не обращайте внимания.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
Если драйвер прдполагался для Ubuntu 12.04, то он на любой 12.04 должен стать.
К заплаткам это так просто н относится ... да и вам заплатки на ядро ставить ... не советовал бы.strap89 писал(а): ↑24 июл 2020, 18:44Но как тогда пользоваться системой? Вы ставите драйвер удачно, но через два дня после обновления даже не системы, а заплатки в ядре драйвер у вас слетает из-за несовпадения версий? И надо брать у адлинка новый драйвер? Еще на два дня?. Все-таки, мне представляется, не все должно быть так плохо.
А вот при изменении (обновлении) ядра - да, все модули ядра (и драйвера как частный случай) не годятся!
Но:
- обновление ядра из репозитория происходит вместе с обновлением всего набора загруженных модулей ядра;
- именно поэтому модули ядра / драйвера в Linux поставляются в виде исходного кода на языке C ... и все приличные люди именно так и делают!
- именно для этого была сделана система динамической сборки модулей при смене ядра DKMS (Dynamic Kernel Module Support), но она именно и требует наличия кода для сборки модуля (см. автоматическая сборка модулей ядра (DKMS)) ... но это дело на любителя - одни это приветствуют, а другие уже отказываются;
Что за "неизвестная команда"? - это уже очень серьёзный симптом!
Это значит, что у вас а). либо пакет с этой командой (make, gcc и т.д.) ещё не установлен, или б). программа-команда не найдена на путях автовызова $PATH, файл не находится по путям.
Выясняйте какая команда "неизвестная"?
P.S. Кстати, у вас make, gcc установлены? ... и заголовочные файлы ядра, пакет что-то типа linux-headers-generic - по умолчанию он не устанавливается, а без него модули/драйверы не собираются.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя