Не компилится драйвер контроллера Promise FastTrak TX4650

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Не компилится драйвер контроллера Promise FastTrak TX4650

Непрочитанное сообщение kpp » 2010-03-19 16:05:23

Линукс Debian Lenny, SATA\SAS контроллер Promise FastTrak TX4650.
Исходники дров для линуксов есть.
Для Suse и RedHat отдельно и для всех остальных линуксов для ядра 2.6
Не компилится. Говорит Ошибка 1, Ошибка 2.
Может кто сталкивался?
Куда хоть копать?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Гость » 2010-03-19 16:13:30

искать в гугле ошибка 1 ошибка 2

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-19 16:26:14

происходит примерно следущее:

Код: Выделить всё

# make 
make ARCH=i386 V=1 CC=cc LD=ld ARCH=i386 DRIVER_SRC_DIR=/usr/src/2/tx4650 -C /usr/src/linux SUBDIRS=`pwd` modules 
make[1]: Entering directory `/usr/src/linux-source-2.6.26' 
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \ 
echo; \ 
echo " ERROR: Kernel configuration is invalid."; \ 
echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \ 
echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ 
echo; \ 
/bin/false) 
mkdir -p /usr/src/2/tx4650/.tmp_versions ; rm -f /usr/src/2/tx4650/.tmp_versions/* 
make -f scripts/Makefile.build obj=/usr/src/2/tx4650 
cc -Wp,-MD,/usr/src/2/tx4650/linux/.osd_main.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.3.2/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -fno-delete-null-pointer-checks -fno-strict-overflow -Os -fno-stack-protector -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-generic -Iinclude/asm-x86/mach-default -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -Wno-multichar -D_LINUXDRIVER -D_X8632B -D_32BPLATFORM -I/usr/src/linuxinclude -I/usr/src/linux/include/scsi -I/usr/src/linux/drivers/scsi -I/usr/src/linux/include -I/usr/src/linux/include/scsi -I/usr/src/linux/drivers/scsi -I/usr/src/2/tx4650 -I/usr/src/2/tx4650/linux -I/usr/src/2/tx4650/include -DARCH_HAS_NMI_WATCHDOG -D_OBSOLETE_PROC_ -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(osd_main)" -D"KBUILD_MODNAME=KBUILD_STR(t3sas)" -c -o /usr/src/2/tx4650/linux/.tmp_osd_main.o /usr/src/2/tx4650/linux/osd_main.c 
In file included from include/asm/irq.h:2, 
from include/linux/nmi.h:8, 
from /usr/src/2/tx4650/linux/osd_inc.h:6, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
include/asm/irq_32.h:24:1: warning: "ARCH_HAS_NMI_WATCHDOG" redefined 
: warning: this is the location of the previous definition 
In file included from /usr/src/2/tx4650/include/napa_cfg.h:9, 
from /usr/src/2/tx4650/linux/osd_inc.h:79, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
/usr/src/2/tx4650/linux/cfg_linux.h:102:5: warning: "VDEBUG" is not defined 
In file included from /usr/src/2/tx4650/linux/osd_inc.h:80, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
/usr/src/2/tx4650/include/gen_typs.h:97:1: warning: "do_div" redefined 
In file included from include/linux/kernel.h:53, 
from include/linux/sched.h:52, 
from include/linux/nmi.h:7, 
from /usr/src/2/tx4650/linux/osd_inc.h:6, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
include/asm/div64.h:20:1: warning: this is the location of the previous definition 
In file included from /usr/src/2/tx4650/linux/osd_inc.h:81, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
/usr/src/2/tx4650/include/gen_ds.h:38:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/include/gen_ds.h:91:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/include/gen_ds.h:110:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/include/gen_ds.h:116:5: warning: "VDEBUG" is not defined 
In file included from /usr/src/2/tx4650/linux/osd_inc.h:85, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
/usr/src/2/tx4650/include/eng_req.h:114:5: warning: "VDEBUG" is not defined 
In file included from /usr/src/2/tx4650/linux/osd_inc.h:88, 
from /usr/src/2/tx4650/linux/osd_main.c:47: 
/usr/src/2/tx4650/include/osd_dbg.h:179:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c:318:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘wrap_P2V’: 
/usr/src/2/tx4650/linux/osd_main.c:353: warning: passing argument 1 of ‘phys_to_virt’ makes integer from pointer without a cast 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘wrap_HIGHMAP_PAGE’: 
/usr/src/2/tx4650/linux/osd_main.c:371: warning: unused variable ‘i’ 
/usr/src/2/tx4650/linux/osd_main.c:371: warning: unused variable ‘idx’ 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘wrap_HIGHUNMAP_PAGE’: 
/usr/src/2/tx4650/linux/osd_main.c:399: warning: unused variable ‘idx’ 
/usr/src/2/tx4650/linux/osd_main.c:648:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c:669:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘prepare_sg_table2’: 
/usr/src/2/tx4650/linux/osd_main.c:854: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:855: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:856: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:890: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘prepare_sg_table’: 
/usr/src/2/tx4650/linux/osd_main.c:953: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:954: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:955: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1006: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1009: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:1012: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1134:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_queue’: 
/usr/src/2/tx4650/linux/osd_main.c:1179: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:1184: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1218:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c:1222:5: warning: "VDEBUG" is not defined 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘init_pci_resource’: 
/usr/src/2/tx4650/linux/osd_main.c:1380: warning: cast to pointer from integer of different size 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_probe’: 
/usr/src/2/tx4650/linux/osd_main.c:2032: warning: statement with no effect 
/usr/src/2/tx4650/linux/osd_main.c: At top level: 
/usr/src/2/tx4650/linux/osd_main.c:2098: warning: function declaration isn’t a prototype 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_remove’: 
/usr/src/2/tx4650/linux/osd_main.c:2120: warning: statement with no effect 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_shutdown_1’: 
/usr/src/2/tx4650/linux/osd_main.c:2140: warning: statement with no effect 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_shutdown_2’: 
/usr/src/2/tx4650/linux/osd_main.c:2152: warning: statement with no effect 
make[2]: *** [/usr/src/2/tx4650/linux/osd_main.o] Ошибка 1 
make[1]: *** [_module_/usr/src/2/tx4650] Ошибка 2 
make[1]: Leaving directory `/usr/src/linux-source-2.6.26' 
make: *** [default] Ошибка 2

Описание к дровам:

Код: Выделить всё

/**********************************************************************************
*   PROMISE FastTrak TX2650/4650 Series Linux Driver Installation Guide
*
*   PROMISE Linux support team <support@promise.com.tw>   2007/01/03
***********************************************************************************/

Now we support Linux kernel version : 2.6.18
	
How to make driver  for FastTrak & load it?

1.) Please ensure cc, the source compiler , version is above 3 by issuing Linux command :
    	# gcc -v
     If you do not install the compiler, you will not be able to built Promise driver. 
    
2.) Please ensure linux kernel source directory is "/usr/src/linux". 
	For SuSE EL9 platform, it always release its kernel source in /usr/src/linux-2.6.7-97.
		Please make a link to the appropriate directory, for example:
			# ln -s /usr/src/linux-2.6.7-97 /usr/src/linux
			
	For RHEL4 platform, it always release its kernel source in /usr/src/kernels/2.6.9-5.EL.??? which ??? means various kernel images.

3.) Setup Kernel Compile Environment
	For SuSE EL9, SuSE 10:
    		# cd /usr/src/linux/
   		# make mrproper
   		# cp arch/$(ARCH)/defconfig.??? .config
   		# Execute 'make' for a while about 5 sec. and then stop its execution. (Avoid below  make menuconfig fail...)
    		# Execute 'make menuconfig' & exit with configuration save.
    		# Execute 'make' for a while about 10 sec. and then stop its execution.
    		
    	For RHEL4:
    		DO NOTHING.
    
    	[1].  $(ARCH) means architecture, which is i386 or x86_64.
    	[2]. ??? is options to make choose, default, smp and bigmem, depend on your booting image.
    	 
4.) Check /lib/modules/$(UTS_RELEASE)/build directy was linked properly to /usr/src/linux. 
     UTS_RELEASE is the current version of your booting image. You can get it by issuing Linux command :
    	 #uname -r

5.) Goto directory where the PROMISE driver source was located.

5.) Issue Linux command to make FastTrak driver: t3sas.o
	#make clean
    	#make or #make all

6.) Load PROMISE driver
	# modprobe -a sd_mod
	# insmod t3sas.ko or # insmod t3sas.o
	
7.) You can copy this module to /lib/modules/$(UTS_VERSION)/kernel/drivers/scsi/ for automatic load when boot system.
    
Note:
	1. Promise partial source can be adapted on kernel 2.6. 
	2. Different OS may has different kernel source location, please  do some modifications of above steps to fit their requirements.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-19 16:29:09

У меня ядро 2.6.26
В описании к дровам:
Now we support Linux kernel version : 2.6.18
Означает ли это что поставить эти дрова на линух с ядром 2.6.26 не удастся никак?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Гость
проходил мимо

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Гость » 2010-03-19 16:29:56

в линупсе все всегда банально, не соответсвие ядра

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-19 16:40:22

Если производитель пишет

Код: Выделить всё

Promise partial source can be adapted on kernel 2.6.
Означает ли это совместимочть для всей линейки ядер 2.6. ??
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение hizel » 2010-03-19 16:42:53

нет, это вряд ли, там много ломалось в течении 2.6
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Гость » 2010-03-19 16:43:40

это означает что если вы будете портировать(адаптировать) то у вас это вызовен минимум манипуляций

:-D

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-19 16:55:53

Правильно ли я понимаю, что копать нужно в сторону исправления ошибок:

Код: Выделить всё

usr/src/2/tx4650/linux/osd_main.c: In function ‘prepare_sg_table2’: 
/usr/src/2/tx4650/linux/osd_main.c:854: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:855: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:856: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:878: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:890: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘prepare_sg_table’: 
/usr/src/2/tx4650/linux/osd_main.c:953: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:954: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:955: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:989: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1006: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c:1009: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:1012: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’ 
/usr/src/2/tx4650/linux/osd_main.c: In function ‘t3_queue’: 
/usr/src/2/tx4650/linux/osd_main.c:1179: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’ 
/usr/src/2/tx4650/linux/osd_main.c:1184: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-20 1:13:18

Удалось скомпилить.
Правка osd_main.c и osd_inc.h
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-20 18:22:19

Итак подытожу мои изыскания с контроллером Promise FastTrak TX4650 (под Линукс Debian Lenny).
Рейд не собирал.
Драйвера контроллера успешно скомпилировались после серъезной доработки исходников
К контроллеру подключено два WD20EADS. Винты видны, один отформатил для теста - все нормально.
Скорость записи(на один винт) 70-82Мб\с что является пределом винта.
Софт от производителя WebPam установить не удалось.
smarttools пишет что эти винты не поддерживают SMART.
Т.е. под линуксами смарт смотреть невозможно (может подскажет кто чем можно еще попытаться смотреть смарт?).
Горячую замену винтов контроллер+драйвера под линукс не поддерживают:
-винт подключен до загрузки ОС, загружаем - видим винт, файловую систему на нем
-отключаем питание на винт, включаем - винт видится, но ОС говорит что файловой системы на нем нет(типа не отформатирован ).

Ну и странную особенность заметил:
после загрузки компа, примерно через мин 5 контроллер каждые 10сек(замерял секундомером ) обращается последовательно ко всем подключенным к нему винтам
(у меня на каждый винт своя индикация) с характрерным звуком перемещения головок - что это и зачем, и нормально ли это???
Причем вне зависимости от того смонтированы винты или нет.

В общем этот контроллер явно не подходит для юниксовых систем. Печально.
Как по мне, за такие деньги можно было дрова написать получшее для линуксов..
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

NiTr0
мл. сержант
Сообщения: 109
Зарегистрирован: 2008-08-29 0:05:24

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение NiTr0 » 2010-03-20 21:35:56

ИМХО - куда рациональнее пользовать набортный AHCI + софтовый рэйд, если будут висеть обычные SATA... У нас в хозяйстве имеется один промайс EX8350, пользуется в режиме глупого сата контроллера (ибо массив на 16 винтов) - смарт штатно не поддерживает (возможно, вендор-утиль позволит что-то выпытать), при обнаружении бэда на винте винт отваливается (набортный SATA - пытается записать валидный блок поверх, что приводит к римэпу бэда), + с дровами из 2.6.24 федориного ведра все это хозяйство часто падало в кернел паник (что характерно - уже 2 года прекрасно крутится на 2.6.18 от центоси без паник). В общем, впечатления от данного девайса - :bad:

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-28 22:56:54

Debian Lenny

Код: Выделить всё

# uname -a
Linux 2.6.26-2-amd64
Пересобираю драйвер для контроллера Primise TX4650.
Закачиваю linux-headers-2.6.26-2-amd64 linux-headers-2.6.26-2-common linux-kbuild-2.6.26 linux-source-2.6.26
Компилирую модуль ядра (t3sas.ko) нормально компилится, ошибок нет.
Делаю

Код: Выделить всё

# insmod /usr/src/tx4650/t3sas.ko
insmod: error inserting '/usr/src/tx4650/t3sas.ko': -1 Invalid module format
Начитался в нете, что такое возможно если несовпадают версии исходников ядра и рабочего ядра, но более подходящих сырцов не нашел.
Тоже самое делал на предыдущем Дебиане (Linux 2.6.26-1-amd64) модуль нормально скомпилися и заработал.
Полностью переставил Дебиан(теперь уже Linux 2.6.26-2-amd64) и вот такая петрушка.
Куда копать?
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

NiTr0
мл. сержант
Сообщения: 109
Зарегистрирован: 2008-08-29 0:05:24

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение NiTr0 » 2010-03-28 23:54:12

kpp писал(а):Начитался в нете, что такое возможно если несовпадают версии исходников ядра и рабочего ядра
Нет. Такое возможно при несовпадении версий компиляторов, которыми собрано ядро и модуль. Т.е., если модуль собран 4.2.4 гнусью - то и ядро должно быть собрано 4.2.x и не иначе.
Качните пакет с сырцами ядра (как он в дебиане зовется - хз, я дебиан не пользовал), пересоберите ядро, пересоберите модуль (на всякий).

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-29 10:44:14

Код: Выделить всё

# dmesg |grep gcc
[    0.000000] Linux version 2.6.26-2-amd64 (Debian 2.6.26-21lenny4) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Tue Mar 9 22:29:32 UTC 2010

# gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1.1)
Получается что ядро собрано gcc version 4.1.3, а сейчас есть gcc version 4.3.2 .
Как лучше поступить: пересобрать ядро gcc version 4.3.2 или установить gcc version 4.1.3 и перекомпилить модуль?
(Пытался снести gcc version 4.3.2 и поставить gcc version 4.1.3 - что-то не особо получилось - gcc -v пишет нет gcc :cz2: )
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

NiTr0
мл. сержант
Сообщения: 109
Зарегистрирован: 2008-08-29 0:05:24

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение NiTr0 » 2010-03-29 13:33:44

Проще ядро пересобрать.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-03-31 13:38:58

Чтобы сравнять версии компилятора gcc :
1.Пересобирал ядро уже несколько раз, родным для дебиана методом, ядро компилится, но при загрузке тупо останавливается на начальной стадии, ошибок никаких не пишет(ftp://hi.dp.ua/pub/Debian/new_kern_1.jpg). Может лог какой пишет?
2.Менял симплинк на /usr/bin/gcc был на /usr/bin/gcc-4.3 , сделал на /usr/bin/gcc-4.1, перекомпилил драйвер(t3sas.ko) - скомпилился, ошибок нет, делаю:

Код: Выделить всё

# insmod t3sas.o
insmod: error inserting 't3sas.o': -1 Invalid module format
Переставил Дебиан уже пару раз :crazy:
Что делать - не знаю.
Самое интересное, что в самом начале скомпилиля и поставился драйвер с полпинка, потом по неосторожности удалил линух, переставил с тогоже дистрибутива - делаю вроде все как и тогда - капец...
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Mikola
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-25 18:03:25

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Mikola » 2010-04-12 12:35:27

Я с этим драйвером намучался на Сусе 11.0
Компилил под железку 2650 SAS был нужен.
Долго курил сайте colinmackenzie (сейчас он сайт сменил, все обсуждение не сохранилось), но дрова есть http://www.colinmackenzie.net/index.php ... &Itemid=18 написано что под новые ядра, но фигвам, у меня так и не скомпилилось.
Я качал оттуда разные драйвера под разные ядра, пробовал компилировать ядра потом под ядра драйвера в общем нихрена не получилось.
Если есть у кого решение как эти драйвера, или драйвера от производителя можно доделать, буду очень признателен.
А то tx2650 единственный SAS контроллер в своей ценовой категории.
"Если в мире нет цветовой дифференциации штанов то нет цели! А если нет цели..." - пацак Би.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-04-12 13:10:04

2 Mikola
Скомпилить мне удалось - тут вопросов нет. Телодвижений, конечно много, но компилится.
Если смогу-помогу.
А вот уже скомпиленный подгрузить(insmod t3sas.ko) - не удается..
То, что его вообще можно подгрузить - однозначно - сам проверял, вот только повторить не могу :shock:
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Mikola
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-25 18:03:25

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Mikola » 2010-04-12 14:04:19

От така херня у меня происходит:

Код: Выделить всё

vr01:/home/tx2650_driver/2.6.27.32/tx4650-k32 # make
make ARCH=x86_64 V=1  CC=cc LD=ld ARCH=x86_64 DRIVER_SRC_DIR=/home/tx2650_driver/2.6.27.32/tx4650-k32 -C /usr/src/linux SUBDIRS=`pwd` modules
make[1]: Entering directory `/usr/src/linux-2.6.32'
test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \
        echo;                                                           \
        echo "  ERROR: Kernel configuration is invalid.";               \
        echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";      \
        echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
        echo;                                                           \
        /bin/false)
mkdir -p /home/tx2650_driver/2.6.27.32/tx4650-k32/.tmp_versions ; rm -f /home/tx2650_driver/2.6.27.32/tx4650-k32/.tmp_versions/*

  WARNING: Symbol version dump /usr/src/linux-2.6.32/Module.symvers
           is missing; modules will have no dependencies and modversions.

make -f scripts/Makefile.build obj=/home/tx2650_driver/2.6.27.32/tx4650-k32
  cc -Wp,-MD,/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/.osd_main.o.d  -nostdinc -isystem /usr/lib64/gcc/x86_64-suse-linux/4.3/include -Iinclude  -I/usr/src/linux-2.6.32/arch/x86/include -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -Wno-multichar -D_LINUXDRIVER -D_AMD64B -D_64BPLATFORM -I/usr/src/linuxinclude -I/usr/src/linux/include/scsi -I/usr/src/linux/drivers/scsi -I/usr/src/linux/include -I/usr/src/linux/include/scsi -I/usr/src/linux/drivers/scsi -I/home/tx2650_driver/2.6.27.32/tx4650-k32 -I/home/tx2650_driver/2.6.27.32/tx4650-k32/linux -I/home/tx2650_driver/2.6.27.32/tx4650-k32/include -DARCH_HAS_NMI_WATCHDOG -D_OBSOLETE_PROC_  -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(osd_main)"  -D"KBUILD_MODNAME=KBUILD_STR(t3sas)"  -c -o /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/.tmp_osd_main.o /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c
In file included from include/linux/nmi.h:8,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:6,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/usr/src/linux-2.6.32/arch/x86/include/asm/irq.h:19:1: warning: "ARCH_HAS_NMI_WATCHDOG" redefined
<command-line>: warning: this is the location of the previous definition
In file included from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:11:27: error: linux/ioctl32.h: No such file or directory
In file included from /home/tx2650_driver/2.6.27.32/tx4650-k32/include/napa_cfg.h:9,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:79,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/cfg_linux.h:102:5: warning: "VDEBUG" is not defined
In file included from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:81,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/gen_ds.h:38:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/gen_ds.h:91:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/gen_ds.h:110:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/gen_ds.h:116:5: warning: "VDEBUG" is not defined
In file included from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:85,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/eng_req.h:114:5: warning: "VDEBUG" is not defined
In file included from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_inc.h:88,
                 from /home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:47:
/home/tx2650_driver/2.6.27.32/tx4650-k32/include/osd_dbg.h:179:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:318:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘wrap_P2V’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:353: warning: passing argument 1 of ‘phys_to_virt’ makes integer from pointer without a cast
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘wrap_HIGHMAP_PAGE’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:371: warning: unused variable ‘i’
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:371: warning: unused variable ‘idx’
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘wrap_HIGHMAP’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:393: warning: cast from pointer to integer of different size
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘wrap_HIGHUNMAP_PAGE’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:399: warning: unused variable ‘idx’
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:648:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:669:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:1134:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:1218:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:1222:5: warning: "VDEBUG" is not defined
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘t3_probe’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:2022: warning: statement with no effect
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: At top level:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:2088: warning: function declaration isn’t a prototype
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘t3_remove’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:2110: warning: statement with no effect
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘t3_shutdown_1’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:2130: warning: statement with no effect
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c: In function ‘t3_shutdown_2’:
/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.c:2142: warning: statement with no effect
make[2]: *** [/home/tx2650_driver/2.6.27.32/tx4650-k32/linux/osd_main.o] Error 1
make[1]: *** [_module_/home/tx2650_driver/2.6.27.32/tx4650-k32] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.32'
make: *** [default] Error 2
Если есть предложения - буду рад. В самом начале написаны ошибки так вот и make oldconfig и make prepare делал и по отдельности и вместе - не пропадает.

Весь прикол в том что на официальном сайте дрова есть, но они под ядра раньше чем 2.6.18. После 2.6.18 изменились IRQ и старые дрова уже не подходят. В промайзе подумали - достали вы нас с вашими ядрами и забили на новый драйвер. А спецификаций на железки они не дают, один товарищ на ЛОРе им даже письмо писал - они его побрили.
С ядра 2.6.32 контроллеры tx 2650/4650 поддерживаются, но только как SATA. Хотите RAID или SAS (как я) берите официальные дрова.
Еще я делал такой финт ушами: Официальный драйвер записывается на дискету из под винды и ставится. Я изменил версию ядра в файле make с более старой на свою - более новую. Драйвер вроде встал, но отвалилась сеть. Посмотрел через YaST висят на одном прерывании, на 17-ом.
Дальше начались очень долгие пляски с бубном, тк я бздун, и с линуксом ковырялся в первые так и не смог найти где именно подгружается драйвер t3sas и отключить его.
Кончилось тем что скопировал раздел boot и запустил восстановление системы, оно мне переписало и ядро и initrd.
Если прерывания можно развести вручную после установки - можно попробовать этот способ.
"Если в мире нет цветовой дифференциации штанов то нет цели! А если нет цели..." - пацак Би.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-04-12 14:15:16

Я взял родные старые дрова с сайта промайза, подрихтовал их, теперь на ядре 2.6.26 компилятся. Могу поделиться.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

_Andy
проходил мимо

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение _Andy » 2010-04-12 14:19:20

kpp писал(а):Я взял родные старые дрова с сайта промайза, подрихтовал их, теперь на ядре 2.6.26 компилятся. Могу поделиться.
Надо не говорить, а патч постить. В поиске же вылезет это сообщение.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-04-12 14:37:16

Я взял за основу ftp://hi.dp.ua/pub/SATA/tx4650/patches/
подправил два файла исходников (файлы с исправлениями osd_inc.h, osd_main.c) ftp://hi.dp.ua/pub/SATA/tx4650
Это для TX4650, думаю для 2650 можно сделать аналогично.

2 _Andy попроще нужно быть. Здесь никто никому ничего не обязан.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.

Mikola
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-25 18:03:25

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение Mikola » 2010-04-12 14:57:09

Так конечно поделись, добрый человек.
Я смотрю там под 2.6.32 дрова?
И процесс установки - берем родный и патчим, или берем сразу с ftp правим файлы и компилим?
"Если в мире нет цветовой дифференциации штанов то нет цели! А если нет цели..." - пацак Би.

kpp
лейтенант
Сообщения: 613
Зарегистрирован: 2009-08-05 16:10:46
Откуда: Украина Днепропетровск-Киев
Контактная информация:

Re: Не компилится драйвер контроллера Promise FastTrak TX465

Непрочитанное сообщение kpp » 2010-04-12 15:08:18

Взял родные старые дрова с сайта промайза(v1.1.0.12), подрихтовал их - откорректированные файлы на фтп (osd_inc.h, osd_main.c).
Потому как готовые патчи не заработали.
В общем берем родные(v1.1.0.12) и либо патчим, либо берем говотые osd_inc.h, osd_main.c(на фтп) , меняем, компилим.
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.