ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] ipw2x00
@ 2005-07-13 11:50 Alexey Shabalin
  2005-07-13 12:25 ` [devel] ipw2x00 Sergey Vlasov
  0 siblings, 1 reply; 9+ messages in thread
From: Alexey Shabalin @ 2005-07-13 11:50 UTC (permalink / raw)
  To: ALT Devel discussion list, Sergey Vlasov

Смотрю новые драйверы для ipw2x00.
есть следующий  вопрос.
модули  ieee80211 вынесены в отдельный пакет, есть хедеры ieee80211.h 
и ieee80211_crypt.h, которые  нужны для сборки ipw2x00.
_НО_  ieee80211.h  есть в kernel-headers-modules (/lib/modules/`uname 
-r`/build/drivers/net/wireless). конечно они разные.
куда мне положить новые хедеры - куда-нибудь просто в net/, в ipw-net/
или можно их в
kernel-headers-modules принять.
Как будет правильно?
-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: ipw2x00
  2005-07-13 11:50 [devel] ipw2x00 Alexey Shabalin
@ 2005-07-13 12:25 ` Sergey Vlasov
  2005-07-14 10:25   ` Alexey Shabalin
  0 siblings, 1 reply; 9+ messages in thread
From: Sergey Vlasov @ 2005-07-13 12:25 UTC (permalink / raw)
  To: shaba; +Cc: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1453 bytes --]

On Wed, Jul 13, 2005 at 03:50:26PM +0400, Alexey Shabalin wrote:
> Смотрю новые драйверы для ipw2x00.
> есть следующий  вопрос.
> модули  ieee80211 вынесены в отдельный пакет, есть хедеры ieee80211.h 
> и ieee80211_crypt.h, которые  нужны для сборки ipw2x00.
> _НО_  ieee80211.h  есть в kernel-headers-modules (/lib/modules/`uname 
> -r`/build/drivers/net/wireless). конечно они разные.

Так это совсем разные файлы - ieee802_11.h и ieee80211.h.  Начало там,
правда, похожее (опять-таки с разницей в подчёркивании).

ieee80211.h предполагалось держать в include/net/ (и в 2.6.13-rc он там
уже есть - вот с ним-то как раз и конфликтуют заголовки из этого
ieee80211; в 2.6.12 его там ещё нет).  drivers/net/wireless/ieee802_11.h
был нужен каким-то другим драйверам.

> куда мне положить новые хедеры - куда-нибудь просто в net/, в ipw-net/
> или можно их в
> kernel-headers-modules принять.
> Как будет правильно?

В принципе у нас есть пример зависимостей между kernel-modules-* -
kernel-modules-lirc-%flavour использует при компиляции заголовки из
kernel-modules-v4l-%flavour (точнее, там собирается пакет
kernel-headers-v4l-%flavour).  Там, кстати, ещё используется фокус с
вытаскиванием зависимостей из файла (чтобы lirc тянул за собой именно ту
сборку v4l, с заголовками от которой он собирался).  Но всё это под 2.4 -
с 2.6 будут дополнительные трудности с .tmp_versions/, с которыми пока не
совсем понятно, что делать.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: ipw2x00
  2005-07-13 12:25 ` [devel] ipw2x00 Sergey Vlasov
@ 2005-07-14 10:25   ` Alexey Shabalin
  2005-07-14 12:23     ` Alexander Bokovoy
  2005-07-14 13:06     ` Sergey Vlasov
  0 siblings, 2 replies; 9+ messages in thread
From: Alexey Shabalin @ 2005-07-14 10:25 UTC (permalink / raw)
  To: devel-kernel, ALT Devel discussion list; +Cc: Sergey Vlasov, taf, Anton Farygin

Я отправил новые модули ipw2100, ipw2200, ieee80211 в cvs. 
kernel-source-* залиты в инкоминг. Прошу посмотреть не замыленым
глазом - не напутал ли я чего в зависимостях.
При сборке идет некоторвая ругань, но собирается и работает. Проверял
работу ipw2100.

Просьба к Alexei Takaseev  - оторвать патч у wpa_supplicant, относящийся к ipw.



-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Re: ipw2x00
  2005-07-14 10:25   ` Alexey Shabalin
@ 2005-07-14 12:23     ` Alexander Bokovoy
  2005-07-14 13:37       ` Alexey Shabalin
  2005-07-14 13:06     ` Sergey Vlasov
  1 sibling, 1 reply; 9+ messages in thread
From: Alexander Bokovoy @ 2005-07-14 12:23 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

On Thu, Jul 14, 2005 at 02:25:43PM +0400, Alexey Shabalin wrote:
> Я отправил новые модули ipw2100, ipw2200, ieee80211 в cvs. 
> kernel-source-* залиты в инкоминг. Прошу посмотреть не замыленым
> глазом - не напутал ли я чего в зависимостях.
> При сборке идет некоторвая ругань, но собирается и работает. Проверял
> работу ipw2100.
> 
> Просьба к Alexei Takaseev  - оторвать патч у wpa_supplicant, относящийся к ipw.
Он теперь не нужен?

-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: ipw2x00
  2005-07-14 10:25   ` Alexey Shabalin
  2005-07-14 12:23     ` Alexander Bokovoy
@ 2005-07-14 13:06     ` Sergey Vlasov
  2005-07-14 13:45       ` Alexey Shabalin
  2005-07-14 15:33       ` [devel] Re: [d-kernel] " Sergey Vlasov
  1 sibling, 2 replies; 9+ messages in thread
From: Sergey Vlasov @ 2005-07-14 13:06 UTC (permalink / raw)
  To: shaba; +Cc: ALT Devel discussion list, taf, Anton Farygin, devel-kernel

[-- Attachment #1: Type: text/plain, Size: 6490 bytes --]

On Thu, Jul 14, 2005 at 02:25:43PM +0400, Alexey Shabalin wrote:
> Я отправил новые модули ipw2100, ipw2200, ieee80211 в cvs. 
> kernel-source-* залиты в инкоминг. Прошу посмотреть не замыленым
> глазом - не напутал ли я чего в зависимостях.

Да, зависимости не совсем правильные:

1) Модули ipw2?00 должны требовать для сборки не просто
kernel-headers-ieee80211-%flavour, а именно версию для соответствующего
ядра - kernel-headers-ieee80211-%kversion-%flavour-%krelease, иначе
получится путаница с заголовками.

2) Для установки пакетов с модулями также нужен не просто пакет
kernel-modules-ieee80211-%flavour (собранный неизвестно для какого ядра),
а именно та версия, заголовки от которой использовались при сборке.
Аналогичную проблему с модулями v4l и lirc я решал добавлением в пакет с
заголовками файла, содержащего информацию о версии и сборке пакета с
модулями, и использованием этого файла при сборке зависимых модулей.
После любой пересборки модулей ieee80211 потребуется пересборка ipw2100 и
ipw2200.

Кроме того, в некоторых местах нужно поправить каталоги, чтобы сборка
проходила не только через hasher, а и при использовании сборочных скриптов
из kernel CVS (там макрос %_usrsrc переопределяется, чтобы файлы брались
из временного каталога, поэтому при помещении файлов в собираемый пакет
надо использовать вместо него %_prefix/src).

> При сборке идет некоторвая ругань, но собирается и работает. Проверял
> работу ipw2100.

Вполне возможно, что модули действительно работают, только при загрузке
имеем вот такую неприятность:

ipw2200: no version for "ieee80211_get_crypto_ops" found: kernel tainted.

Соответственно получается Tainted: GF, хотя все модули "нормальные" :(

Как-то нужно передать информацию для modpost; возможно, придётся положить
собранные файлы модулей ещё и в kernel-headers-ieee80211-%flavour, а потом
как-то их подсовывать при сборке зависимых модулей.  По этому поводу я ещё
пока ничего не сделал; остальные изменения ниже (пока не коммитил).


Index: modules/ieee80211/kernel-modules-ieee80211.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ieee80211/kernel-modules-ieee80211.spec,v
retrieving revision 1.1
diff -u -p -r1.1 kernel-modules-ieee80211.spec
--- modules/ieee80211/kernel-modules-ieee80211.spec	14 Jul 2005 10:11:05 -0000	1.1
+++ modules/ieee80211/kernel-modules-ieee80211.spec	14 Jul 2005 12:44:50 -0000
@@ -63,8 +63,10 @@ modules which interface with these drive
 %install
 %__mkdir_p %buildroot/%module_dir
 %__cp -a *.ko %buildroot/%module_dir
-%__mkdir_p %buildroot/%_usrsrc/linux-%kversion-%flavour/include/net
-%__cp -a net/*  %buildroot/%_usrsrc/linux-%kversion-%flavour/include/net/ 
+%__mkdir_p %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net
+%__cp -a net/*  %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net/
+echo "%name = %version-%release" \
+	> %buildroot%_prefix/src/linux-%kversion-%flavour/kernel-modules-%module_name.release
 
 %post
 %post_kernel_modules %kversion-%flavour-%krelease
@@ -78,8 +80,9 @@ modules which interface with these drive
 
 %files -n kernel-headers-%module_name-%flavour
 %defattr(644,root,root,755)
-%_usrsrc/linux-%kversion-%flavour/include/net/*
+%_prefix/src/linux-%kversion-%flavour/include/net/*
+%_prefix/src/linux-%kversion-%flavour/kernel-modules-%module_name.release
 
 %changelog
-* * Thu Jul 14 2005 Alexey Shabalin <shaba@altlinux.ru> 1.0.2-alt1.@kreleasebuild@
+* Thu Jul 14 2005 Alexey Shabalin <shaba@altlinux.ru> 1.0.2-alt1.@kreleasebuild@
 - initial release
Index: modules/ipw2100/kernel-modules-ipw2100.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ipw2100/kernel-modules-ipw2100.spec,v
retrieving revision 1.5
diff -u -p -r1.5 kernel-modules-ipw2100.spec
--- modules/ipw2100/kernel-modules-ipw2100.spec	14 Jul 2005 10:08:08 -0000	1.5
+++ modules/ipw2100/kernel-modules-ipw2100.spec	14 Jul 2005 12:44:50 -0000
@@ -25,7 +25,7 @@ BuildPreReq: kernel-build-tools
 BuildRequires: kernel-headers-%flavour = %kversion-%krelease
 BuildRequires: kernel-source-%module_name-%module_version
 BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
-BuildRequires: kernel-headers-ieee80211-%flavour
+BuildRequires: kernel-headers-ieee80211-%kversion-%flavour-%krelease
 
 Provides:       kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
 Conflicts:      kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
@@ -37,7 +37,8 @@ PreReq: kernel-image-%flavour = %kversio
 ExclusiveArch: %ix86
 
 Requires: firmware-%module_name
-Requires: kernel-modules-ieee80211-%flavour
+%define ieee80211_release_file %_usrsrc/linux-%kversion-%flavour/kernel-modules-ieee80211.release
+%([ -s "%ieee80211_release_file" ] && echo "PreReq: $(cat "%ieee80211_release_file")")
 
 %description
 This project was created by Intel to enable support for the Intel
Index: modules/ipw2200/kernel-modules-ipw2200.spec
===================================================================
RCS file: /cvs/kernel/kernel/modules/ipw2200/kernel-modules-ipw2200.spec,v
retrieving revision 1.7
diff -u -p -r1.7 kernel-modules-ipw2200.spec
--- modules/ipw2200/kernel-modules-ipw2200.spec	14 Jul 2005 10:09:01 -0000	1.7
+++ modules/ipw2200/kernel-modules-ipw2200.spec	14 Jul 2005 12:44:50 -0000
@@ -24,7 +24,7 @@ BuildPreReq: kernel-build-tools
 BuildRequires: kernel-headers-%flavour = %kversion-%krelease
 BuildRequires: kernel-source-%module_name-%module_version
 BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
-BuildRequires: kernel-headers-ieee80211-%flavour
+BuildRequires: kernel-headers-ieee80211-%kversion-%flavour-%krelease
 
 Provides:       kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
 Conflicts:      kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
@@ -36,7 +36,9 @@ PreReq: kernel-image-%flavour = %kversio
 ExclusiveArch: %ix86
 
 Requires: firmware-%module_name-2.3
-Requires: kernel-modules-ieee80211-%flavour
+
+%define ieee80211_release_file %_usrsrc/linux-%kversion-%flavour/kernel-modules-ieee80211.release
+%([ -s "%ieee80211_release_file" ] && echo "PreReq: $(cat "%ieee80211_release_file")")
 
 %description
 This project was created by Intel to enable support for the Intel

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] Re: ipw2x00
  2005-07-14 12:23     ` Alexander Bokovoy
@ 2005-07-14 13:37       ` Alexey Shabalin
  0 siblings, 0 replies; 9+ messages in thread
From: Alexey Shabalin @ 2005-07-14 13:37 UTC (permalink / raw)
  To: ALT Devel discussion list

> > Просьба к Alexei Takaseev  - оторвать патч у wpa_supplicant, относящийся к ipw.
> Он теперь не нужен?
> 
для новых ipw2x00 противопоказан - wpa работать не будет.


-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: ipw2x00
  2005-07-14 13:06     ` Sergey Vlasov
@ 2005-07-14 13:45       ` Alexey Shabalin
  2005-07-14 15:33       ` [devel] Re: [d-kernel] " Sergey Vlasov
  1 sibling, 0 replies; 9+ messages in thread
From: Alexey Shabalin @ 2005-07-14 13:45 UTC (permalink / raw)
  To: shaba, devel-kernel, ALT Devel discussion list, Anton Farygin, taf

> Как-то нужно передать информацию для modpost; возможно, придётся положить
> собранные файлы модулей ещё и в kernel-headers-ieee80211-%flavour, а потом
> как-то их подсовывать при сборке зависимых модулей.  По этому поводу я ещё
> пока ничего не сделал; остальные изменения ниже (пока не коммитил).

закоммитишь?

Может тогда вообще  не создавать пакет kernel-headers-ieee80211, если
все равно  нужны собранные модули. Хотя все равно криво получается.
Я сначала думал сделать   чтоб kernel-headers-ieee80211 получался из
kernel-source-ieee80211 и был общий для всех ядер (так вроде в alsa
сделано).


-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: [d-kernel] Re: ipw2x00
  2005-07-14 13:06     ` Sergey Vlasov
  2005-07-14 13:45       ` Alexey Shabalin
@ 2005-07-14 15:33       ` Sergey Vlasov
  2005-07-18 10:28         ` Alexey Shabalin
  1 sibling, 1 reply; 9+ messages in thread
From: Sergey Vlasov @ 2005-07-14 15:33 UTC (permalink / raw)
  To: shaba, devel-kernel, ALT Devel discussion list, Anton Farygin, taf

[-- Attachment #1: Type: text/plain, Size: 3344 bytes --]

On Thu, Jul 14, 2005 at 05:06:11PM +0400, Sergey Vlasov wrote:
> Как-то нужно передать информацию для modpost; возможно, придётся положить
> собранные файлы модулей ещё и в kernel-headers-ieee80211-%flavour, а потом
> как-то их подсовывать при сборке зависимых модулей.

Именно так и пришлось сделать (причём в kernel-headers-ieee80211-%flavour
кладутся даже не *.ko, а *.o, потом при сборке модулей эти файлы
копируются в сборочный каталог, в .tmp_versions/ создаются файлы *.mod, а
потом сборочная система ядра ещё и собирает из них *.ko).

Некрасиво, но другого способа быстро решить эту проблему я пока не вижу.
Если делать совсем правильно, нужно патчить scripts/mod/modpost.c в ядре,
чтобы добавить туда поддержку генерации и использования нескольких файлов
типа имеющегося сейчас Module.symvers.


--- modules/ieee80211/kernel-modules-ieee80211.spec.modpost	2005-07-14 15:20:40 +0400
+++ modules/ieee80211/kernel-modules-ieee80211.spec	2005-07-14 18:33:02 +0400
@@ -63,6 +63,11 @@ modules which interface with these drive
 %install
 %__mkdir_p %buildroot/%module_dir
 %__cp -a *.ko %buildroot/%module_dir
+%__mkdir_p %buildroot/%_prefix/src/linux-%kversion-%flavour/drivers/net/ieee80211
+for f in *.ko; do
+	mod="${f%.ko}"
+	%__cp -a "$mod.o" %buildroot/%_prefix/src/linux-%kversion-%flavour/drivers/net/ieee80211/
+done
 %__mkdir_p %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net
 %__cp -a net/*  %buildroot/%_prefix/src/linux-%kversion-%flavour/include/net/
 echo "%name = %version-%release" \
@@ -81,6 +86,7 @@ echo "%name = %version-%release" \
 %files -n kernel-headers-%module_name-%flavour
 %defattr(644,root,root,755)
 %_prefix/src/linux-%kversion-%flavour/include/net/*
+%_prefix/src/linux-%kversion-%flavour/drivers/net/ieee80211
 %_prefix/src/linux-%kversion-%flavour/kernel-modules-%module_name.release
 
 %changelog
--- modules/ipw2100/kernel-modules-ipw2100.spec.modpost	2005-07-14 15:26:32 +0400
+++ modules/ipw2100/kernel-modules-ipw2100.spec	2005-07-14 18:33:47 +0400
@@ -53,6 +53,16 @@ PRO/Wireless 2100 Network Connection min
 
 %build
 . %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
+
+%__mkdir .tmp_versions
+%__mkdir ieee80211
+for f in %_usrsrc/linux-%kversion-%flavour/drivers/net/ieee80211/*.o; do
+	mod="${f##*/}"
+	mod="${mod%.o}"
+	echo "$(pwd)/ieee80211/$mod.ko" > .tmp_versions/"$mod".mod
+	%__cp -a "$f" ieee80211/
+done
+
 %make_build -C %_usrsrc/linux-%kversion-%flavour SUBDIRS=$PWD \
 	    LINUXSRC=%_usrsrc/linux-%kversion-%flavour/ \
 	    IEEE80211_INC=%_usrsrc/linux-%kversion-%flavour/include
--- modules/ipw2200/kernel-modules-ipw2200.spec.modpost	2005-07-14 15:25:09 +0400
+++ modules/ipw2200/kernel-modules-ipw2200.spec	2005-07-14 18:40:23 +0400
@@ -53,6 +53,16 @@ PRO/Wireless 2200 Network Connection min
 
 %build
 . %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
+
+%__mkdir .tmp_versions
+%__mkdir ieee80211
+for f in %_usrsrc/linux-%kversion-%flavour/drivers/net/ieee80211/*.o; do
+	mod="${f##*/}"
+	mod="${mod%.o}"
+	echo "$(pwd)/ieee80211/$mod.ko" > .tmp_versions/"$mod".mod
+	%__cp -a "$f" ieee80211/
+done
+
 %make_build -C %_usrsrc/linux-%kversion-%flavour SUBDIRS=$PWD \
 	    LINUXSRC=%_usrsrc/linux-%kversion-%flavour/ \
 	    IEEE80211_INC=%_usrsrc/linux-%kversion-%flavour/include

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] Re: [d-kernel] Re: ipw2x00
  2005-07-14 15:33       ` [devel] Re: [d-kernel] " Sergey Vlasov
@ 2005-07-18 10:28         ` Alexey Shabalin
  0 siblings, 0 replies; 9+ messages in thread
From: Alexey Shabalin @ 2005-07-18 10:28 UTC (permalink / raw)
  To: ALT Devel discussion list, Sergey Vlasov

Сергей  а ты закомитишь изменения, или мне по мотивам рассылки сделать?
Кстати в инкоминг сырци новой версии ieee80211 за номером 1.0.3 отправлены.

-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-07-18 10:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-13 11:50 [devel] ipw2x00 Alexey Shabalin
2005-07-13 12:25 ` [devel] ipw2x00 Sergey Vlasov
2005-07-14 10:25   ` Alexey Shabalin
2005-07-14 12:23     ` Alexander Bokovoy
2005-07-14 13:37       ` Alexey Shabalin
2005-07-14 13:06     ` Sergey Vlasov
2005-07-14 13:45       ` Alexey Shabalin
2005-07-14 15:33       ` [devel] Re: [d-kernel] " Sergey Vlasov
2005-07-18 10:28         ` Alexey Shabalin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git