Larry Finger schrieb:
> Tilman Schmidt wrote:
[…][color=green]
>> Any chance of getting that device to work? Or do I have to file AVM in
>> the “Linux unfriendly” category?
>
> They are certainly not “Linux friendly” if they are not GPLing their
> driver.[/color]
Granted. However, between black (vendors blocking any effort to use their
device with Linux) and white (vendors maintaining a fully functional GPLed
driver within the official kernel source tree), there are a lot of shades
of grey, from sharing specs to publishing a GPLed but out-of-tree driver,
or even different hues like the oft-deplored binary-only parts, somtimes
accompanied by limited-functionality open source drivers.
> I don’t have the device, but I’m willing to look at their code.
Thanks for that offer, but in the meantime I have already received a
pointer to a solution for Ubuntu published on the web
(http://forum.ubuntuusers.de/topic/avm-usb-stick-8.04/4/#post-1402740)
which cleared everything up. There are really two problems:
(a) changes in the kernel to which the code has to be adapted, and
(b) the new measures against non-GPL USB drivers in the Linux kernel.
So without much further ado, here’s how I got it to work:
-
Download the AVM driver fwlanusb-1.00.00.tar.gz from the AVM website.
-
Unpack with the command “tar -tvzf fwlanusb-1.00.00.tar.gz”, producing
a directory “fritz”.
-
Apply the following patch to adapt the source for use with kernel
release 2.6.25:
--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<
diff -rup fritz~/src/defs.h fritz/src/defs.h
— fritz~/src/defs.h 2007-07-05 15:00:00.000000000 +0200
+++ fritz/src/defs.h 2008-07-11 17:47:08.000000000 +0200
@@ -60,7 +60,7 @@
#define UNUSED_ARG(x) (x)=(x)
-typedef unsigned long uintptr_t;
+//typedef unsigned long uintptr_t;
/---------------------------------------------------------------------------
*---------------------------------------------------------------------------*/
diff -rup fritz~/src/wext.c fritz/src/wext.c
— fritz~/src/wext.c 2007-07-05 15:00:00.000000000 +0200
+++ fritz/src/wext.c 2008-07-28 02:37:10.000000000 +0200
@@ -68,7 +68,7 @@ static int fwlanusb_get_name (
struct net_device *dev, struct iw_request_info *info,
union iwreq_data *wrqu, char *extra) {
return 0;
}
-------->8-------->8-------->8-------->8-------->8-------->8-------->8-------->8
-
Bypass the measures against non-GPL USB drivers introduced with
kernel release 2.6.25. This is of course frowned upon, so I won’t
explain how to do it.
-
Run the driver’s “install” script as root, with the command
“sudo ./install”
-
Plug in the stick, watch it being detected in the syslog, configure
as described in the driver’s Readme.html file, enjoy (with bad
conscience).
HTH
T.
[li] Introduced by commit 782e70c6fc2290a0395850e8e02583b8b62264d8, which[/li]claims in its description: “There are no known closed source USB drivers
in the wild, so this patch should cause no problems.” Oh well.