LINUX.ORG.RU

помогите скомпилировать драйвер-пожалуйста


0

0

проблема есть.. в школах внедряю линукс(Debian)... в каждом классе стоит интерактивная доска(этакий тачпад большой).. с софтом в Линуксе большие проблемы.. нашел в инете на каталанском языке :\ поделку.. сама программа работает, но драйвер к ней был написан под ядро 2.4.х, у меня как вы понимаете 2.6.х драйвер при сборке дает ошибки.. в С я не силен, может кто оказать посильную помощь? доска фирмы Hitachi-StarBoard драйвер тут:http://sttech.orgfree.com/data/lsadrv-bin-2.0.0a.tar.gz


Ради дебиана и детей - говно вопрос. Сохрани патч в файл patch.diff, скопируй файл в каталог kernel драйвера и наложи его командой patch -p1 -i patch.diff

Пришлось проапдейтить лицензию до GPL, потому что у этих пидаров стояла проприетарная.

Кроме того, твое ядро должно быть сконфигурировано без поддержки CONFIG_NAMESPACES.

За получившийся результат лично я никакой ответственности не несу, ты используешь патч на свой страх и риск. Потому что я это устройство в глаза не видел — портировал логически.

diff -uprN kernel/lsadrv-main.c kernel.new/lsadrv-main.c
--- kernel/lsadrv-main.c	2008-08-05 00:08:22.000000000 +0400
+++ kernel.new/lsadrv-main.c	2010-01-24 14:21:46.000000000 +0300
@@ -240,9 +240,6 @@ static int usb_lsadrv_probe(struct usb_i
 		lsadrv_idev->idev->phys = lsadrv_idev->phys_path;
 	}
 	usb_to_input_id(udev, &lsadrv_idev->idev->id);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 10)
-	lsadrv_idev->idev->cdev.dev = &intf->dev;
-#endif
 
 	/* Add it to the device list */
 	down(&device_list_lock);
@@ -310,9 +307,6 @@ static void usb_lsadrv_disconnect(struct
 		lsadrv_idev->idev->id.vendor = 0;
 		lsadrv_idev->idev->id.product = 0;
 		lsadrv_idev->idev->id.version = 0;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 10)
-		lsadrv_idev->idev->cdev.dev = NULL;
-#endif
 	}
 	kfree(xdev);
 
@@ -419,7 +413,7 @@ static void lsadrv_remove_procfs_dir(voi
 		files->devicesFileEntry = NULL;
 	}
 	if (files->lsadrvDirEntry) {
-		remove_proc_entry("lsadrv", proc_root_driver);
+		remove_proc_entry("driver/lsadrv", NULL);
 		files->lsadrvDirEntry = NULL;
 	}
 }
@@ -429,11 +423,10 @@ static void lsadrv_create_procfs_dir(voi
 {
 	struct lsadrv_proc_files *files = &lsadrv_files;
 	/* Make procfs/driver/lsadrv directory */
-	files->lsadrvDirEntry = create_proc_entry("lsadrv", S_IFDIR, proc_root_driver);
+	files->lsadrvDirEntry = create_proc_entry("driver/lsadrv", S_IFDIR, NULL);
 	if (files->lsadrvDirEntry == NULL) {
 		return;
 	}
-	files->lsadrvDirEntry->owner = THIS_MODULE;
 
 	/* procfs/driver/lsadrv/devices file */
 	files->devicesFileEntry = create_proc_entry("devices",
@@ -443,7 +436,6 @@ static void lsadrv_create_procfs_dir(voi
 		lsadrv_remove_procfs_dir();
 		return;
 	}
-	files->devicesFileEntry->owner = THIS_MODULE;
 	files->devicesFileEntry->data = NULL;
 	files->devicesFileEntry->read_proc = lsadrv_read_devices;
 	files->devicesFileEntry->write_proc = NULL;
@@ -462,7 +454,7 @@ MODULE_PARM_DESC(trace, "For debugging p
 
 MODULE_DESCRIPTION("lsadrv touch sensor driver");
 MODULE_AUTHOR("eIT Co. Ltd. & Xiroku Inc.");
-MODULE_LICENSE("Proprietary");
+MODULE_LICENSE("GPL");
 
 static int __init usb_lsadrv_init(void)
 {
diff -uprN kernel/lsadrv-sub.c kernel.new/lsadrv-sub.c
--- kernel/lsadrv-sub.c	2008-08-05 01:59:14.000000000 +0400
+++ kernel.new/lsadrv-sub.c	2010-01-24 14:43:27.000000000 +0300
@@ -13,6 +13,7 @@
 #include <linux/slab.h>
 #include <linux/version.h>
 #include <asm/uaccess.h>
+#include <linux/pid.h>
ttnl ★★★★★
()
Ответ на: комментарий от darkshvein

про троллей.. и тех кто тут пруфлинки рисует..

старооскольская школа.. номер писать не буду.. у нас в УНО высокоинтеллектульных троллей с избытком.. приходиться бороться молча- скрипя зубами.. потому, что там народ очень далек в плане понимания многих вещей.. им надо отчеты и результаты.. а ваши проблемы нужны вам.. что касаеться проблемы драйвера.. уже патч один мне дали.. ядро его проглотило..я имею ввиду модуль.. но пока все не проверю.. утверждать не буду.. что касается фирмы Hitachi и «скачать тут не пробовали», отвечаю.. ПРОБОВАЛИ.. там винда оунли.. это раз.. в официальное представительство было отослано 3 письма на 3х языках.. ответили только испанцы.. вежливо отправив нас в основную фирму.. а там ответ уже неделю идет..идет.. софт кстати нашел только в испании,.. и то каким то чудом.. там оно есть.. даже релиз.. но старый на убунту 8.04.. это все.. что есть.. .. и отдельное спасибо тем кто помог.. ОГРОМНОЕ просто спасибо.. боюсь еслиб не вы .. не знаю что бы делал.. :)

vix
() автор топика

до кучи..

особенно нас порадовал вендор АЛЬТ..который линукс.. вопрос - а вот у нас тут железка не работает.. помогите.. ответ - идите...... в того кто ее делал.. не наша проблема.. ..вывод? .. хорошее начинание.. сами же и хоронят.. я про дистрибутив школьный..скромно промолчу.. а то опять троллем назовут.. ..но это не самое главное.. главное то что принудительно-добровольно требуют чтобы все школы, ставили АЛТ.. и отчитывались за то скоко компьютеров на нем стоит.. как вам а? .. это называется внедряем СПО.. а как оно там в школах.. да пофиг.. грустно.. :(

vix
() автор топика
Ответ на: комментарий от ttnl

StarBoard Hitachi.. опять не могу запустить..

Привет.. модуль подгружается но xorg валиться если его коннектиш как тачпад.. использовал рекомендации из драйвера.. сделал с опцией и без.. мой конфиг: http://sttech.orgfree.com/data/xorg.conf лог файл когда сваливается xorg: http://sttech.orgfree.com/data/Xorg.err.log лог файл когда отключена опция и запускается xorg, но не работает доска:http://sttech.orgfree.com/data/Xorg.0.log последний вариант драйвера:http://sttech.orgfree.com/data/lsadrv-bin-2.0.1.tar.gz .. может кто помочь с этой проблемой? мне еще дали ссылку тут:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=269860 не думаю что у меня в debian Lenny это есть.. но бог его знает.. плиз хелп.. :(

П.С. знал бы что так нужен будет С, учил бы в институте.. знаний явно не хватает.. :(

vix
() автор топика
Ответ на: комментарий от ttnl

>>Потому что я это устройство в глаза не видел — портировал логически.

0_o

Вот это я понимаю либастрал. Небось заглушил весь радиоканал в радиусе десятка километров, пока писал патч. Замолкли птицы, запаниковали домашние животные, на столбах засветились огни святого Эльма.

mclaudt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.