2012-01-24 19:36:15

by Sid Hayn

[permalink] [raw]
Subject: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

module-init-tools has been deprecated in favor of kmod in Arch Linux,
and kmod doesn't have the legacy --list option for modprobe.
This patch fixes the areas of the Makefile which actually needed the
output of modprobe -l. The other 100's of uses are just to echo info to
the screen which in this case will simply fail in an extremely noisy
fashion yet non-fatal way.

Please apply to all branches.

Signed-of-By: Rick Farina <[email protected]>

diff -Naur compat-wireless-3.3-rc1-2/Makefile
compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
--- compat-wireless-3.3-rc1-2/Makefile 2012-01-21 02:00:21.000000000
-0500
+++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile 2012-01-24
14:27:20.000000000 -0500
@@ -9,11 +9,6 @@
# Sometimes not available in the path
MODPROBE := /sbin/modprobe

-ifneq ($(wildcard $(MODPROBE)),)
-MADWIFI=$(shell $(MODPROBE) -l ath_pci)
-OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
-endif
-
DESTDIR?=

ifneq ($(KERNELRELEASE),)
@@ -188,7 +183,7 @@
@install scripts/athload $(DESTDIR)/usr/sbin/
@install scripts/b43load $(DESTDIR)/usr/sbin/
@install scripts/iwl-load $(DESTDIR)/usr/sbin/
- @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; then \
+ @if [ `modinfo ath_pci > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ];
then \
echo ;\
echo -n "Note: madwifi detected, we're going to disable it. " ;\
echo "If you would like to enable it later you can run:" ;\
@@ -197,7 +192,7 @@
echo Running athenable ath5k...;\
/usr/sbin/athenable ath5k ;\
fi
- @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \
+ @if [ `modinfo iwl4965 > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ];
then \
echo ;\
echo -n "Note: iwl4965 detected, we're going to disable it. " ;\
echo "If you would like to enable it later you can run:" ;\



2012-01-31 14:04:44

by Sid Hayn

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On 01/29/2012 04:39 PM, Hauke Mehrtens wrote:
> On 01/24/2012 08:35 PM, Richard Farina wrote:
>> module-init-tools has been deprecated in favor of kmod in Arch Linux,
>> and kmod doesn't have the legacy --list option for modprobe.
>> This patch fixes the areas of the Makefile which actually needed the
>> output of modprobe -l. The other 100's of uses are just to echo info to
>> the screen which in this case will simply fail in an extremely noisy
>> fashion yet non-fatal way.
>>
>> Please apply to all branches.
>>
>> Signed-of-By: Rick Farina<[email protected]>
>>
>> diff -Naur compat-wireless-3.3-rc1-2/Makefile
>> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
>> --- compat-wireless-3.3-rc1-2/Makefile 2012-01-21 02:00:21.000000000
>> -0500
>> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile 2012-01-24
>> 14:27:20.000000000 -0500
>> @@ -9,11 +9,6 @@
>> # Sometimes not available in the path
>> MODPROBE := /sbin/modprobe
>>
>> -ifneq ($(wildcard $(MODPROBE)),)
>> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
>> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
>> -endif
>> -
> What happens if modinfo is not available? I do not know on what systems
> this is the case, but I do not think that modinfo is available when
> modprobe is not.
AFAIK this is never the case. modinfo is packaged with
module-init-tools and on Arch module-init-tools has been replaced by
KMOD which also includes modinfo. It would seem to me that at this
point modinfo is a required tool and is always packaged with modprobe.

-Rick
>> DESTDIR?=
>>
>> ifneq ($(KERNELRELEASE),)
>> @@ -188,7 +183,7 @@
>> @install scripts/athload $(DESTDIR)/usr/sbin/
>> @install scripts/b43load $(DESTDIR)/usr/sbin/
>> @install scripts/iwl-load $(DESTDIR)/usr/sbin/
>> - @if [ ! -z "$(MADWIFI)" ]&& [ -z "$(DESTDIR)" ]; then \
>> + @if [ `modinfo ath_pci> /dev/null 2>&1` ]&& [ -z "$(DESTDIR)" ];
>> then \
>> echo ;\
>> echo -n "Note: madwifi detected, we're going to disable it. " ;\
>> echo "If you would like to enable it later you can run:" ;\
>> @@ -197,7 +192,7 @@
>> echo Running athenable ath5k...;\
>> /usr/sbin/athenable ath5k ;\
>> fi
>> - @if [ ! -z "$(OLD_IWL)" ]&& [ -z "$(DESTDIR)" ]; then \
>> + @if [ `modinfo iwl4965> /dev/null 2>&1` ]&& [ -z "$(DESTDIR)" ];
>> then \
>> echo ;\
>> echo -n "Note: iwl4965 detected, we're going to disable it. " ;\
>> echo "If you would like to enable it later you can run:" ;\
>>
>


2012-01-29 21:40:06

by Hauke Mehrtens

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On 01/24/2012 08:35 PM, Richard Farina wrote:
> module-init-tools has been deprecated in favor of kmod in Arch Linux,
> and kmod doesn't have the legacy --list option for modprobe.
> This patch fixes the areas of the Makefile which actually needed the
> output of modprobe -l. The other 100's of uses are just to echo info to
> the screen which in this case will simply fail in an extremely noisy
> fashion yet non-fatal way.
>
> Please apply to all branches.
>
> Signed-of-By: Rick Farina <[email protected]>
>
> diff -Naur compat-wireless-3.3-rc1-2/Makefile
> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
> --- compat-wireless-3.3-rc1-2/Makefile 2012-01-21 02:00:21.000000000
> -0500
> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile 2012-01-24
> 14:27:20.000000000 -0500
> @@ -9,11 +9,6 @@
> # Sometimes not available in the path
> MODPROBE := /sbin/modprobe
>
> -ifneq ($(wildcard $(MODPROBE)),)
> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
> -endif
> -
What happens if modinfo is not available? I do not know on what systems
this is the case, but I do not think that modinfo is available when
modprobe is not.
> DESTDIR?=
>
> ifneq ($(KERNELRELEASE),)
> @@ -188,7 +183,7 @@
> @install scripts/athload $(DESTDIR)/usr/sbin/
> @install scripts/b43load $(DESTDIR)/usr/sbin/
> @install scripts/iwl-load $(DESTDIR)/usr/sbin/
> - @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; then \
> + @if [ `modinfo ath_pci > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ];
> then \
> echo ;\
> echo -n "Note: madwifi detected, we're going to disable it. " ;\
> echo "If you would like to enable it later you can run:" ;\
> @@ -197,7 +192,7 @@
> echo Running athenable ath5k...;\
> /usr/sbin/athenable ath5k ;\
> fi
> - @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \
> + @if [ `modinfo iwl4965 > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ];
> then \
> echo ;\
> echo -n "Note: iwl4965 detected, we're going to disable it. " ;\
> echo "If you would like to enable it later you can run:" ;\
>


2012-02-03 20:34:46

by Rusty Russell

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On Tue, 31 Jan 2012 15:15:45 -0800, "Luis R. Rodriguez" <[email protected]> wrote:
> On Tue, Jan 31, 2012 at 6:04 AM, Richard Farina <[email protected]> wrote:
> > On 01/29/2012 04:39 PM, Hauke Mehrtens wrote:
> >>
> >> On 01/24/2012 08:35 PM, Richard Farina wrote:
> >>>
> >>> module-init-tools has been deprecated in favor of kmod in Arch Linux,
> >>> and kmod doesn't have the legacy --list option for modprobe.
> >>> This patch fixes the areas of the Makefile which actually needed the
> >>> output of modprobe -l. The other 100's of uses are just to echo info to
> >>> the screen which in this case will simply fail in an extremely noisy
> >>> fashion yet non-fatal way.
> >>>
> >>> Please apply to all branches.
> >>>
> >>> Signed-of-By: Rick Farina<[email protected]>
> >>>
> >>> diff -Naur compat-wireless-3.3-rc1-2/Makefile
> >>> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
> >>> --- compat-wireless-3.3-rc1-2/Makefile    2012-01-21 02:00:21.000000000
> >>> -0500
> >>> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile    2012-01-24
> >>> 14:27:20.000000000 -0500
> >>> @@ -9,11 +9,6 @@
> >>>  # Sometimes not available in the path
> >>>  MODPROBE := /sbin/modprobe
> >>>
> >>> -ifneq ($(wildcard $(MODPROBE)),)
> >>> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
> >>> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
> >>> -endif
> >>> -
> >>
> >> What happens if modinfo is not available? I do not know on what systems
> >> this is the case, but I do not think that modinfo is available when
> >> modprobe is not.
> >
> > AFAIK this is never the case.  modinfo is packaged with module-init-tools
> > and on Arch module-init-tools has been replaced by KMOD which also includes
> > modinfo.  It would seem to me that at this point modinfo is a required tool
> > and is always packaged with modprobe.
>
> Rusty, should all Linux distributions that carry modprobe also have modinfo ?

Yes, at least so far. But you should make sure the kmod guys are in the
loop, so they know exactly what you're trying to do.

This feedback allows them to decide whether to offer it in a different
way...

Cheers,
Rusty.

2012-01-31 23:15:04

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On Tue, Jan 24, 2012 at 11:35 AM, Richard Farina <[email protected]> wrote:
> module-init-tools has been deprecated in favor of kmod in Arch Linux, and
> kmod doesn't have the legacy --list option for modprobe.
> This patch fixes the areas of the Makefile which actually needed the output
> of modprobe -l. The other 100's of uses are just to echo info to the screen
> which in this case will simply fail in an extremely noisy fashion yet
> non-fatal way.
>
> Please apply to all branches.
>
> Signed-of-By: Rick Farina <[email protected]>
>
> diff -Naur compat-wireless-3.3-rc1-2/Makefile
> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
> --- compat-wireless-3.3-rc1-2/Makefile    2012-01-21 02:00:21.000000000
> -0500

This patch form is not valid. Not sure if it was your SMTP or what but
its busted and I cannot apply it even if I try to salvage it manually.
Please consider using git on top of the latest master branch:

git://github.com/mcgrof/compat-wireless.git

And then please consider sending me patches using ssmtp or something
that will respect the form so that I can apply the patch accordingly.
For instructions you can read:

http://wireless.kernel.org/en/developers/Documentation/git-guide

You can read the ssmtp section, it covers gmail.

> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile    2012-01-24
> 14:27:20.000000000 -0500
> @@ -9,11 +9,6 @@
>  # Sometimes not available in the path
>  MODPROBE := /sbin/modprobe
>
> -ifneq ($(wildcard $(MODPROBE)),)
> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
> -endif
> -
>  DESTDIR?=
>
>  ifneq ($(KERNELRELEASE),)
> @@ -188,7 +183,7 @@
>     @install scripts/athload    $(DESTDIR)/usr/sbin/
>     @install scripts/b43load    $(DESTDIR)/usr/sbin/
>     @install scripts/iwl-load    $(DESTDIR)/usr/sbin/
> -    @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; then \
> +    @if [ `modinfo ath_pci > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ]; then
> \

This check never values to true for me. Did you test it?

$ if [ `modinfo ath9k > /dev/null 2>&1` ] ; then echo module exists;
else echo module does not exist; fi

module does not exist

So at least for me this check does not work. Also consider using
something like $(modinfo ath9k), it looks a lot nicer than the
`modinfo ath9k` stuff.

>         echo ;\
>         echo -n "Note: madwifi detected, we're going to disable it. "  ;\
>         echo "If you would like to enable it later you can run:"  ;\
> @@ -197,7 +192,7 @@
>         echo Running athenable ath5k...;\
>         /usr/sbin/athenable ath5k ;\
>     fi
> -    @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \
> +    @if [ `modinfo iwl4965 > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ]; then
> \

Same here.

Luis

2012-02-03 02:50:25

by Sid Hayn

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On 01/31/12 18:14, Luis R. Rodriguez wrote:
> On Tue, Jan 24, 2012 at 11:35 AM, Richard Farina <[email protected]> wrote:
>> module-init-tools has been deprecated in favor of kmod in Arch Linux, and
>> kmod doesn't have the legacy --list option for modprobe.
>> This patch fixes the areas of the Makefile which actually needed the output
>> of modprobe -l. The other 100's of uses are just to echo info to the screen
>> which in this case will simply fail in an extremely noisy fashion yet
>> non-fatal way.
>>
>> Please apply to all branches.
>>
>> Signed-of-By: Rick Farina <[email protected]>
>>
>> diff -Naur compat-wireless-3.3-rc1-2/Makefile
>> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
>> --- compat-wireless-3.3-rc1-2/Makefile 2012-01-21 02:00:21.000000000
>> -0500
> This patch form is not valid. Not sure if it was your SMTP or what but
> its busted and I cannot apply it even if I try to salvage it manually.
> Please consider using git on top of the latest master branch:
>
> git://github.com/mcgrof/compat-wireless.git
>
> And then please consider sending me patches using ssmtp or something
> that will respect the form so that I can apply the patch accordingly.
> For instructions you can read:
>
> http://wireless.kernel.org/en/developers/Documentation/git-guide
>
> You can read the ssmtp section, it covers gmail.

I read like 10 guides on how to submit patches, I just sent, I hope I
got it right....
>
>> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile 2012-01-24
>> 14:27:20.000000000 -0500
>> @@ -9,11 +9,6 @@
>> # Sometimes not available in the path
>> MODPROBE := /sbin/modprobe
>>
>> -ifneq ($(wildcard $(MODPROBE)),)
>> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
>> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
>> -endif
>> -
>> DESTDIR?=
>>
>> ifneq ($(KERNELRELEASE),)
>> @@ -188,7 +183,7 @@
>> @install scripts/athload $(DESTDIR)/usr/sbin/
>> @install scripts/b43load $(DESTDIR)/usr/sbin/
>> @install scripts/iwl-load $(DESTDIR)/usr/sbin/
>> - @if [ ! -z "$(MADWIFI)" ] && [ -z "$(DESTDIR)" ]; then \
>> + @if [ `modinfo ath_pci > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ]; then
>> \
> This check never values to true for me. Did you test it?
>
> $ if [ `modinfo ath9k > /dev/null 2>&1` ] ; then echo module exists;
> else echo module does not exist; fi
>
> module does not exist
>
> So at least for me this check does not work. Also consider using
> something like $(modinfo ath9k), it looks a lot nicer than the
> `modinfo ath9k` stuff.
Yeah... I messed up on that check in this patch as well as somewhere
else, the resend fixes it.

Thanks,
Rick Farina
>> echo ;\
>> echo -n "Note: madwifi detected, we're going to disable it. " ;\
>> echo "If you would like to enable it later you can run:" ;\
>> @@ -197,7 +192,7 @@
>> echo Running athenable ath5k...;\
>> /usr/sbin/athenable ath5k ;\
>> fi
>> - @if [ ! -z "$(OLD_IWL)" ] && [ -z "$(DESTDIR)" ]; then \
>> + @if [ `modinfo iwl4965 > /dev/null 2>&1` ] && [ -z "$(DESTDIR)" ]; then
>> \
> Same here.
>
> Luis
>


2012-01-31 23:16:05

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

On Tue, Jan 31, 2012 at 6:04 AM, Richard Farina <[email protected]> wrote:
> On 01/29/2012 04:39 PM, Hauke Mehrtens wrote:
>>
>> On 01/24/2012 08:35 PM, Richard Farina wrote:
>>>
>>> module-init-tools has been deprecated in favor of kmod in Arch Linux,
>>> and kmod doesn't have the legacy --list option for modprobe.
>>> This patch fixes the areas of the Makefile which actually needed the
>>> output of modprobe -l. The other 100's of uses are just to echo info to
>>> the screen which in this case will simply fail in an extremely noisy
>>> fashion yet non-fatal way.
>>>
>>> Please apply to all branches.
>>>
>>> Signed-of-By: Rick Farina<[email protected]>
>>>
>>> diff -Naur compat-wireless-3.3-rc1-2/Makefile
>>> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
>>> --- compat-wireless-3.3-rc1-2/Makefile    2012-01-21 02:00:21.000000000
>>> -0500
>>> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile    2012-01-24
>>> 14:27:20.000000000 -0500
>>> @@ -9,11 +9,6 @@
>>>  # Sometimes not available in the path
>>>  MODPROBE := /sbin/modprobe
>>>
>>> -ifneq ($(wildcard $(MODPROBE)),)
>>> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
>>> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
>>> -endif
>>> -
>>
>> What happens if modinfo is not available? I do not know on what systems
>> this is the case, but I do not think that modinfo is available when
>> modprobe is not.
>
> AFAIK this is never the case.  modinfo is packaged with module-init-tools
> and on Arch module-init-tools has been replaced by KMOD which also includes
> modinfo.  It would seem to me that at this point modinfo is a required tool
> and is always packaged with modprobe.

Rusty, should all Linux distributions that carry modprobe also have modinfo ?

Luis

2012-02-04 13:42:46

by Lucas De Marchi

[permalink] [raw]
Subject: Re: [compat-wireless] modprobe -l is legacy compatibility mode and is being removed from some distros

* Rusty Russell <[email protected]> [2012-02-03 14:16:30 +1030]:

> On Tue, 31 Jan 2012 15:15:45 -0800, "Luis R. Rodriguez" <[email protected]> wrote:
> > On Tue, Jan 31, 2012 at 6:04 AM, Richard Farina <[email protected]> wrote:
> > > On 01/29/2012 04:39 PM, Hauke Mehrtens wrote:
> > >>
> > >> On 01/24/2012 08:35 PM, Richard Farina wrote:
> > >>>
> > >>> module-init-tools has been deprecated in favor of kmod in Arch Linux,
> > >>> and kmod doesn't have the legacy --list option for modprobe.
> > >>> This patch fixes the areas of the Makefile which actually needed the
> > >>> output of modprobe -l. The other 100's of uses are just to echo info to
> > >>> the screen which in this case will simply fail in an extremely noisy
> > >>> fashion yet non-fatal way.
> > >>>
> > >>> Please apply to all branches.
> > >>>
> > >>> Signed-of-By: Rick Farina<[email protected]>
> > >>>
> > >>> diff -Naur compat-wireless-3.3-rc1-2/Makefile
> > >>> compat-wireless-3.3-rc1-2-modinfo-migration/Makefile
> > >>> --- compat-wireless-3.3-rc1-2/Makefile ? ?2012-01-21 02:00:21.000000000
> > >>> -0500
> > >>> +++ compat-wireless-3.3-rc1-2-modinfo-migration/Makefile ? ?2012-01-24
> > >>> 14:27:20.000000000 -0500
> > >>> @@ -9,11 +9,6 @@
> > >>> ?# Sometimes not available in the path
> > >>> ?MODPROBE := /sbin/modprobe
> > >>>
> > >>> -ifneq ($(wildcard $(MODPROBE)),)
> > >>> -MADWIFI=$(shell $(MODPROBE) -l ath_pci)
> > >>> -OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
> > >>> -endif
> > >>> -

Why do you need to know this? If you really need this, it can be well
accomplished by 'find'. That's the reason it was removed from modprobe
(and it was already deprecated in module-init-tools).

But what's the point in knowing where the file is?

> > >>
> > >> What happens if modinfo is not available? I do not know on what systems
> > >> this is the case, but I do not think that modinfo is available when
> > >> modprobe is not.
> > >
> > > AFAIK this is never the case. ?modinfo is packaged with module-init-tools
> > > and on Arch module-init-tools has been replaced by KMOD which also includes
> > > modinfo. ?It would seem to me that at this point modinfo is a required tool
> > > and is always packaged with modprobe.
> >
> > Rusty, should all Linux distributions that carry modprobe also have modinfo ?
>
> Yes, at least so far. But you should make sure the kmod guys are in the
> loop, so they know exactly what you're trying to do.
>

Yes, let us know what exactly you are trying to accomplish here.


Lucas De Marchi