Использование старого драйвера в Linux
Re: Использование старого драйвера в Linux
Вот это уже конкретно. Спасибо. Хотя... На 12.04 я сделал просто установку, даже без подключения к интернету, вряд ли там gcc, но скрипты работают!, а на 20.04 до этого gcc и cmake стояли и скрипты запускались, а сегодня на новой установке (штатной, без gcc) скрипт не пускается. Установку 20.04 я сохранил, попробую конечно и gcc и cmake и найденные вами драйвера. Я вот хотел понять, если у меня стоит версия amd64, а драйвера от x86, драйвер принципиально не заработает? 64 бит и 32 бит в драйвере не состыкуются?
И далее я не совсем понял: "К заплаткам это так просто н относится ... да и вам заплатки на ядро ставить ... не советовал бы.
А вот при изменении (обновлении) ядра - да, все модули ядра (и драйвера как частный случай) не годятся!". Там буквы наверно не хватает,
я не понял смысла фразы. А вот по поводу изменения ядра понял. Я же смог поставить только 12.04.5, а драйвер для версии 12.04.1, я думаю версия ядра точно сменилась, а это значит, что команда insmod не заработает? НО это опять подводит нас к томуже вопросу: неужели адлинк должен выставлять ВСЕ драйвера, для ВСЕХ версий системы? Это же список длины немерянной. И поддержка нехилая нужна. А адлинк 7 лет назад ОДИН раз выставил драйвера - и все довольны (кроме меня). И у всех поставилось (кроме меня). Вот такой я тупица.
И Dynamic Kernel Module Support - классная штука (наверно), но мне-то с ней что делать?
"именно поэтому модули ядра / драйвера в Linux поставляются в виде исходного кода на языке C ... и все приличные люди именно так и делают!". Тут вы тонко (по-английски) намекнули, что в адлинке все люди неприличные, я готов с вами согласиться, но где тогда
приличные люди? Неужели за 7 лет никому не понадобился драйвер? Опять мне не повезло.
Пока-что все идет к тому, чтобы писать драйвер самому, под DOS, как и до этого писал. Здесь хоть в мануале описание регистров есть, значит вяко получится быстрее, чем найти драйвер под линукс и потом после каждой смены в ядре лихорадочно искать, где этот долбаный драйвер есть. Лишь бы "packet driver" встал под DOS, хрен найдешь теперь.
И далее я не совсем понял: "К заплаткам это так просто н относится ... да и вам заплатки на ядро ставить ... не советовал бы.
А вот при изменении (обновлении) ядра - да, все модули ядра (и драйвера как частный случай) не годятся!". Там буквы наверно не хватает,
я не понял смысла фразы. А вот по поводу изменения ядра понял. Я же смог поставить только 12.04.5, а драйвер для версии 12.04.1, я думаю версия ядра точно сменилась, а это значит, что команда insmod не заработает? НО это опять подводит нас к томуже вопросу: неужели адлинк должен выставлять ВСЕ драйвера, для ВСЕХ версий системы? Это же список длины немерянной. И поддержка нехилая нужна. А адлинк 7 лет назад ОДИН раз выставил драйвера - и все довольны (кроме меня). И у всех поставилось (кроме меня). Вот такой я тупица.
И Dynamic Kernel Module Support - классная штука (наверно), но мне-то с ней что делать?
"именно поэтому модули ядра / драйвера в Linux поставляются в виде исходного кода на языке C ... и все приличные люди именно так и делают!". Тут вы тонко (по-английски) намекнули, что в адлинке все люди неприличные, я готов с вами согласиться, но где тогда
приличные люди? Неужели за 7 лет никому не понадобился драйвер? Опять мне не повезло.
Пока-что все идет к тому, чтобы писать драйвер самому, под DOS, как и до этого писал. Здесь хоть в мануале описание регистров есть, значит вяко получится быстрее, чем найти драйвер под линукс и потом после каждой смены в ядре лихорадочно искать, где этот долбаный драйвер есть. Лишь бы "packet driver" встал под DOS, хрен найдешь теперь.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
НЕ относится.
Если патчи накладывать и пересобирать ядро, то модули нужно бы пересобирать ... но можно и не пересобирать (с риском) если сигнатура - vermagic - ядра при этом не меняется (см. вывод команды modinfo).
Но лучше вам этим (патчи для ядра) не заниматься ... ещё лет 5 ближайшие. Посмотрите, если интересны эти подробности, патченье и сборку hard realtime Linux ядра: Xenomai и real-time Linux
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
ADLINK не "должен выставлять ВСЕ драйвера, для ВСЕХ версий системы" .strap89 писал(а): ↑24 июл 2020, 20:05НО это опять подводит нас к томуже вопросу: неужели адлинк должен выставлять ВСЕ драйвера, для ВСЕХ версий системы? Это же список длины немерянной. И поддержка нехилая нужна. А адлинк 7 лет назад ОДИН раз выставил драйвера - и все довольны (кроме меня). И у всех поставилось (кроме меня).
ADLINK, если бы они дурку не валяли и шлангом не прикидывались, обязаны были бы выставить для Linux один раз исходный код драйвера на языке C, для сборки (компиляции) любыми желающими с любых дистрибутивах и окружениях (вообще не дистрибутивный полу-embedded OpenWRT, например).
А на аргумент: а если ADLINK не хочет выставлять открытый код драйвера?
Ответ: а вы прекращайте тогда использовать изделия ADLINK - на ADLINK свет клином не сошёлся.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
А зачем вам DOS? ... Фу-у-у-уstrap89 писал(а): ↑24 июл 2020, 20:05Пока-что все идет к тому, чтобы писать драйвер самому, под DOS, как и до этого писал. Здесь хоть в мануале описание регистров есть, значит вяко получится быстрее, чем найти драйвер под линукс и потом после каждой смены в ядре лихорадочно искать, где этот долбаный драйвер есть. Лишь бы "packet driver" встал под DOS, хрен найдешь теперь.
Напишите свой драйвер под Linux. Вот руководство целое, на 400 стр., по этому делу где-то здесь лежит: Драйверы и модули ядра Linux
P.S. Но не спешите с этим делом - вы ещё далеко не исчерпали возможности поиском по сети найти решение!
Re: Использование старого драйвера в Linux
Я уже этих руководств понакупал - не прочту за всю жизнь. И в результате - ничего абсолютно непонятно с тем как инсталлировать модули, куда и когда. Р. Лав пишет скачивайте и ставьте последнюю версию ядра и будете счастливы. А при этом, если исходников нет, ставить новое ядро просто нельзя, драйвер не встанет. Адлинк сделал свою плату в 2006 примерно, выпустил к ней драйвер, потом еще несколько раз выпускал файлы под новые релизы ( версия 417 это то что вы нашли первым же поиском), а к 2013 решил, что достаточно, выдпл версию 427, как я у него и взял и на этом закончил. Кстати для такой-же pci-express 7442 платы адлинк вообще драйвер не выпустил (понял, что это абсурд).
Зачем мне DOS? А вот вопрос кстати (не в эту тему правда) - если мне нужен real-time жесткий (порядка транспортные задержки ~1мс), то что мне использовать в реальном проекте? Без геморроя - только DOS я пока нашел. Вот тут никаких проблем - все тайминги в твоих руках, пишешь не столько код операционки, сколько код контроллера в операционке.
Извините за офф-топ - насущная задача, а решить не могу.
У меня вот какой вопрос: я посмотрел повнимательней скрипт для инсталляции драйвера (там совсем незатейливо написано) -
там в папку /etc/pdask/fw копируются все файлы с расширением rbf (их всего два: типа 9116.rbf - не мои имена, т.е. для инсталляции не нужны?) и общая библиотека pci_dask.so в /usr/lib, потом запускается insmod -f p7442.ko и если в системе нет udev еще mknod. Еще забыл: в /etc/udev/rules.d скачивается pci7442.rules (или с каким-то модифицированным именем). Я только в будни посмотрю, проделалась эта работа или застряла, но вопрос в другом insmod реально что будет делает: просто сверит версии и в какой-то conf впишет ссылку о драйвере, или он реально проводит какую-то операцию по линковке файлов *.so, *.ko (или совсем круто в *.h)?
Просто, меня смущает то, что я пробовал инсталлироваться на версию 20.04, (а она только amd64 бывает) с установленным gcc и пр., а версию 12.04.5 i386 пытался ставить из desktop-поставки, т.е. наверно без gcc. Для простой регистрации insmod'у gcc-то вряд ли нужен, значит он какие-то действия по линковке все-таки проделывает, а значит у меня еще есть шансы.
Зачем мне DOS? А вот вопрос кстати (не в эту тему правда) - если мне нужен real-time жесткий (порядка транспортные задержки ~1мс), то что мне использовать в реальном проекте? Без геморроя - только DOS я пока нашел. Вот тут никаких проблем - все тайминги в твоих руках, пишешь не столько код операционки, сколько код контроллера в операционке.
Извините за офф-топ - насущная задача, а решить не могу.
У меня вот какой вопрос: я посмотрел повнимательней скрипт для инсталляции драйвера (там совсем незатейливо написано) -
там в папку /etc/pdask/fw копируются все файлы с расширением rbf (их всего два: типа 9116.rbf - не мои имена, т.е. для инсталляции не нужны?) и общая библиотека pci_dask.so в /usr/lib, потом запускается insmod -f p7442.ko и если в системе нет udev еще mknod. Еще забыл: в /etc/udev/rules.d скачивается pci7442.rules (или с каким-то модифицированным именем). Я только в будни посмотрю, проделалась эта работа или застряла, но вопрос в другом insmod реально что будет делает: просто сверит версии и в какой-то conf впишет ссылку о драйвере, или он реально проводит какую-то операцию по линковке файлов *.so, *.ko (или совсем круто в *.h)?
Просто, меня смущает то, что я пробовал инсталлироваться на версию 20.04, (а она только amd64 бывает) с установленным gcc и пр., а версию 12.04.5 i386 пытался ставить из desktop-поставки, т.е. наверно без gcc. Для простой регистрации insmod'у gcc-то вряд ли нужен, значит он какие-то действия по линковке все-таки проделывает, а значит у меня еще есть шансы.
Re: Использование старого драйвера в Linux
Хотя... Ужкак бы он прост не был: в отсутствие gcc он бы написал - "нету gcc", а он пишет - "invalid module format".И вряд ли gcc тут поможет...
Re: Использование старого драйвера в Linux
он - это insmod, извините.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
А вы не читайте всё "понакупил", а читайте то, что я вам показал по ссылке выше (и что я написал на практическом опыте) - это практический курс лекций для программистов-разработчиков такой международной софтверной компании как Global Logic - и они в результате многие и без труда писали потом свои драйверы + кроме того там есть огромный приложенный архив примеров программного кода.strap89 писал(а): ↑25 июл 2020, 18:53Я уже этих руководств понакупал - не прочту за всю жизнь. И в результате - ничего абсолютно непонятно с тем как инсталлировать модули, куда и когда. Р. Лав пишет скачивайте и ставьте последнюю версию ядра и будете счастливы. А при этом, если исходников нет, ставить новое ядро просто нельзя, драйвер не встанет.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Использование старого драйвера в Linux
То что MS DOS имеет что-то близкое к realtime - это глупость, которая повторяется из раза в раз по Интернет.strap89 писал(а): ↑25 июл 2020, 18:53Зачем мне DOS? А вот вопрос кстати (не в эту тему правда) - если мне нужен real-time жесткий (порядка транспортные задержки ~1мс), то что мне использовать в реальном проекте? Без геморроя - только DOS я пока нашел. Вот тут никаких проблем - все тайминги в твоих руках, пишешь не столько код операционки, сколько код контроллера в операционке.
MS-DOS - это 1980 год, 40 лет назад ... с таким же успехом вы можете пытаться поставить паровой двигатель на "Запорожец" в надежде получить "удивительный эффект", как это называет М.Жванецкий:
Код: Выделить всё
А вы не пробовали слабительное со снотворным? Удивительный получается эффект!
То, что у вас под MS DOS наблюдается что-то похожее на realtime и что "тайминги в твоих руках" - так это вам просто показалось.
Для любой многозадачной операционной системы (с вытеснением) получить realtime - очень сложная вещь, если вообще возможная. Но даже в Linux получают hard realtime, самое что ни есть жёсткое реальное время, см. Xenomai и real-time Linux ... это очень серьёзная контора, производитель серийного оборудования мечтала себе заполучить realtime ... только как оказалось по итогу - оно им и не нужно было до такой степени. Можете взять и повторить..
Это общее правило: все работающие с железом начинают с того, мечтают что им нужен realtime... потому что не очень сильно понимают что оно такое вообще realtime. А пободавшись с ним некоторое время - приходят к пониманию того, что он им и не нужен.
Там где возникает мнение что нужен realtime - это почти наверняка индикатор того, что сама задача, системотехника изначально сформулирована неправильно и её нужно переосмыслить.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей