random hackery

2008-04-30

rt2570-k2wrlz-1.6.1 kerneliams >= 2.6.24

Įrašyta kategorijoje: wifi — Almantas Karvelis @ 02:32

pabandžiau susikompiliuoti rt2570-k2wrlz-1.6.1 modulį 2.6.25 kerneliui, ir dėl API pasikeitimo gavau kruvą klaidų:

  CC [M]  /data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.o
/data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.c: In function ‘usb_rtusb_probe’:
/data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.c:1964:
  error: implicit declaration of function ‘SET_MODULE_OWNER’
/data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.c:1984:
  error: ‘struct net_device’ has no member named ‘weight’
/data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.c:2015:
  error: too few arguments to function ‘first_net_device’
make[2]: *** [/data/drivers/rt2570-k2wrlz-1.6.1/Module/rtusb_main.o] Error 1
make[1]: *** [_module_/data/drivers/rt2570-k2wrlz-1.6.1/Module] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25'
rt2570.ko failed to build!
make: *** [module] Error 1

panašu kad ASPj šio čipseto nebenaudoja, ir atnaujinimai jam neaktualūs.. taigi, pataisiau src, kad kompilintųsi (patchinti su `patch -l` – originale yra tab’u):


--- rtusb_main.c.orig   2007-07-05 19:41:51.000000000 +0300
+++ rtusb_main.c        2008-04-30 03:59:03.000000000 +0300
@@ -1650,7 +1650,9 @@
        pAdapter->net->hard_header_len = 14;
        pAdapter->net->mtu = 1500;
        pAdapter->net->addr_len = 6;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
        pAdapter->net->weight = 64;
+#endif
        pAdapter->MediaState = NdisMediaStateDisconnected;

        {// find available
@@ -1981,7 +1983,9 @@
        pAdapter->net->hard_header_len = 14;
        pAdapter->net->mtu = 1500;
        pAdapter->net->addr_len = 6;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
        pAdapter->net->weight = 64;
+#endif
        pAdapter->MediaState = NdisMediaStateDisconnected;
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
        pAdapter->MLMEThr_pid= -1;

--- rt_config.h.orig    2007-07-19 21:53:58.000000000 +0300
+++ rt_config.h 2008-04-30 03:47:58.000000000 +0300
@@ -231,6 +231,12 @@

 #endif

+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
+#define SET_MODULE_OWNER(some_struct) do { } while (0)
+#define dev_get_by_name(slot_name) dev_get_by_name(&init_net, slot_name)
+#define first_net_device() first_net_device(&init_net)
+#endif
+

No Comments Yet »

Komentarų dar nėra.

RSS feed for comments on this post. TrackBack URI

Pakomentuokite

Blog at WordPress.com.