Felipe, Greg, Please accept that I am not interested in discussing the merits of commit 782e70c6fc2290a0395850e8e02583b8b62264d8. You seem to have a great urge to explain these, and you are of course free to do so whenever you want, but it is completely irrelevant to my question. My only concern is to evaluate my options for using this device with recent Linux releases, and I'll therefore limit my reply to those of your statements which appear pertinent to that. On Fri, 1 Aug 2008 02:26:41 +0300, Felipe Balbi wrote:
And after all, that driver isn't even closed source. I can see in the files' header the driver is lgpl (that's actually the first lgpl driver i see :-p)
I think you are mistaken. Only the glue code to recompile for the target kernel is LGPLed, the binary file which gets linked to it obviously isn't. Consequently, line 49 of fritz/src/main.c says, in no unclear words: MODULE_LICENSE ("Proprietary"); But even if you were right it wouldn't help, because LGPL drivers aren't permitted to use the USB API either.
With a few changes to the source file, I could make it build. Don't have the device to test, but I assure you it's pretty simple changes.
Sure thing. In fact, that's what I did before posting my question. For reference, here's the complete minimal patch needed to make AVM's fwlanusb-1.00.00.tar.gz driver work on an openSUSE 11.0 system with kernel 2.6.25.11: diff -rup fritz/src/defs.h fritz.patched/src/defs.h --- fritz/src/defs.h 2007-07-05 15:00:00.000000000 +0200 +++ fritz.patched/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/main.c fritz.patched/src/main.c --- fritz/src/main.c 2007-07-05 15:00:00.000000000 +0200 +++ fritz.patched/src/main.c 2008-07-11 17:48:45.000000000 +0200 @@ -46,7 +46,7 @@ /*---------------------------------------------------------------------------*\ \*---------------------------------------------------------------------------*/ -MODULE_LICENSE ("Proprietary"); +MODULE_LICENSE ("GPL"); MODULE_DESCRIPTION ("Driver for " PRODUCT_LOGO); /*---------------------------------------------------------------------------*\ diff -rup fritz/src/wext.c fritz.patched/src/wext.c --- fritz/src/wext.c 2007-07-05 15:00:00.000000000 +0200 +++ fritz.patched/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) { - strcpy(wrqu->name, "IEEE 802.11b/g"); + snprintf(wrqu->name, IFNAMSIZ, "IEEE 802.11b/g"); return 0; } I guess you can spot the problematic part. Thanks, Tilman -- Tilman Schmidt E-Mail: tilman@xxxxxxx Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
Attachment:
signature.asc
Description: OpenPGP digital signature