View previous topic :: View next topic |
Author |
Message |
roothorick Tux's lil' helper
Joined: 30 May 2004 Posts: 83
|
Posted: Thu Dec 30, 2004 6:46 pm Post subject: Prism2 USB: Unresolved symbols? |
|
|
After upgrading from 2.6.9-gentoo-r9 to 2.6.10-gentoo-r1, all of a sudden the driver for my WLAN adapter (a D-Link DWL-122, USB pocket adapter) won't load.
Code: | prodigy /usr/src/linux # modprobe prism2_usb
WARNING: Error inserting p80211 (/lib/modules/2.6.10-gentoo-r1/kernel/drivers/net/p80211.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting prism2_usb (/lib/modules/2.6.10-gentoo-r1/kernel/drivers/net/prism2_usb.ko): Unknown symbol in module, or unknown parameter (see dmesg)
prodigy /usr/src/linux # dmesg | tail -n 8
p80211: Unknown symbol hotplug_path
p80211: Unknown symbol dev_get
prism2_usb: Unknown symbol p80211netdev_rx
prism2_usb: Unknown symbol register_wlandev
prism2_usb: Unknown symbol wlan_unsetup
prism2_usb: Unknown symbol unregister_wlandev
prism2_usb: Unknown symbol p80211netdev_hwremoved
prism2_usb: Unknown symbol wlan_setup
|
After looking around online, it sounds like they changed something drastic in 2.6.10 that broke a lot of things, and there's no patch available yet. (I can't use the in-kernel driver -- it only supports ISA, PCI, and PCMCIA adaptors, it can't do anything with USB.) Anyone have any other revelations?
-EDIT- ARGH! Some mod please move this to Kernel & Hardware. How did I do that? _________________ Note: This user has been arrested under the DMCA for copyright infringement based on a complaint from The Inernational Cliche Company. He is also facing charges for violating US patents describing the encoding of text in digital form. |
|
Back to top |
|
|
elefantenfloh n00b
Joined: 30 Jun 2002 Posts: 21 Location: Deutschland (Germany)
|
Posted: Tue Jan 04, 2005 10:59 pm Post subject: Re: Prism2 USB: Unresolved symbols? |
|
|
linux-wlan-ng uses some obsolete kernel code. Patch your 2.6.10-Kernel with the patch below, rebuild your kernel and re-emerge linux-wlan-ng and everything should work.
The next release of linux-wlan-ng (0.2.1_pre24) will fix the problem.
Code: |
diff -Nur linux/include/linux/netdevice.h linux-2.6.10-rc3-oldhotplug/include/linux/netdevice.h
--- linux/include/linux/netdevice.h 2004-12-04 09:57:58.000000000 +0100
+++ linux-2.6.10-rc3-oldhotplug/include/linux/netdevice.h 2004-12-14 23:32:39.000000000 +0100
@@ -531,6 +531,15 @@
extern void dev_remove_pack(struct packet_type *pt);
extern void __dev_remove_pack(struct packet_type *pt);
+// still provide dev_get for compatibility to older kernel drivers
+// *ugly*, it would be better to convert the 3rd party software :-(
+extern int __dev_get(const char *name);
+static inline int __deprecated dev_get(const char *name)
+{
+ return __dev_get(name);
+}
+
+
extern struct net_device *dev_get_by_flags(unsigned short flags,
unsigned short mask);
extern struct net_device *dev_get_by_name(const char *name);
diff -Nur linux/lib/kobject_uevent.c linux-2.6.10-rc3-oldhotplug/lib/kobject_uevent.c
--- linux/lib/kobject_uevent.c 2004-12-04 09:57:58.000000000 +0100
+++ linux-2.6.10-rc3-oldhotplug/lib/kobject_uevent.c 2004-12-14 23:15:59.000000000 +0100
@@ -178,6 +178,11 @@
#ifdef CONFIG_HOTPLUG
char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug";
+
+// be compatible to older kernel drivers (e.g. linux-wlan-ng-0.2.1pre23)
+// as long as they are not fully converted to the new hotplug calls
+EXPORT_SYMBOL(hotplug_path);
+
u64 hotplug_seqnum;
static spinlock_t sequence_lock = SPIN_LOCK_UNLOCKED;
diff -Nur linux/net/core/dev.c linux-2.6.10-rc3-oldhotplug/net/core/dev.c
--- linux/net/core/dev.c 2004-12-04 09:57:58.000000000 +0100
+++ linux-2.6.10-rc3-oldhotplug/net/core/dev.c 2004-12-15 00:19:00.000000000 +0100
@@ -520,6 +520,31 @@
return dev;
}
+
+// ***** this is deprecated and has been removed already *****
+// ***** it is just back to provide compatibility *****
+/**
+* dev_get - test if a device exists
+* @name: name to test for
+*
+* Test if a name exists. Returns true if the name is found. In order
+* to be sure the name is not allocated or removed during the test the
+* caller must hold the rtnl semaphore.
+*
+* This function exists only for back compatibility with older
+* drivers.
+*/
+int __dev_get(const char *name)
+{
+ struct net_device *dev;
+
+ read_lock(&dev_base_lock);
+ dev = __dev_get_by_name(name);
+ read_unlock(&dev_base_lock);
+ return dev != NULL;
+}
+
+
/**
* __dev_get_by_index - find a device by its ifindex
* @ifindex: index of device
@@ -3208,6 +3233,7 @@
subsys_initcall(net_dev_init);
EXPORT_SYMBOL(__dev_get_by_index);
+EXPORT_SYMBOL(__dev_get);
EXPORT_SYMBOL(__dev_get_by_name);
EXPORT_SYMBOL(__dev_remove_pack);
EXPORT_SYMBOL(__skb_linearize);
|
|
|
Back to top |
|
|
xenfasa n00b
Joined: 13 Oct 2004 Posts: 6
|
Posted: Fri Jan 07, 2005 4:05 pm Post subject: prism2 wlan-ng kernel 2.6.10-r1 fix |
|
|
Thanks for posting this patch. It fixed things for me.
I did not even have to reboot.
After applying, compiling, re-emerging...
I just restarted /etc/init.d/pcmcia and typed iwconfig and my senao prism2 card was there.
mobile gentoo linux on my laptop! After running linux servers for 10 years, Gentoo and KDE convinced me to completely do away with all my windows machines. Desktops and servers. I only run windows in vmware when needed.
I'm much more productive now that I don't have crashes everyday and have all the cool tools, utils and programs to make me more effieicient.
thanks,
xen |
|
Back to top |
|
|
elefantenfloh n00b
Joined: 30 Jun 2002 Posts: 21 Location: Deutschland (Germany)
|
Posted: Wed Jan 12, 2005 9:17 pm Post subject: New linux-wlan-ng with Kernel-2.6.10 fixes |
|
|
I created an ebuild for the latest linux-wlan-ng release 0.2.1_pre25:
https://bugs.gentoo.org/show_bug.cgi?id=76350
Changelog
- works with Kernel-2.6.10 without extra Kernel-Patch
- Lot of USB-Bugfixes |
|
Back to top |
|
|
hevtig n00b
Joined: 22 Jan 2005 Posts: 3
|
Posted: Wed Jan 26, 2005 9:36 am Post subject: |
|
|
Hi,
I´m new to Linux and tried to install my DWL-122 but it didn´t work.
I tried it with this description => https://forums.gentoo.org/viewtopic.php?t=143921&highlight=dwl122
I use the kernel 2.6.10. "emerge linux-wlan-ng" doesn´t work => ends with an error message, gotta see, something like it cannot load for this kernel :/
I tried the description above even with the current linux-wl-ng 0.2.1pre25.
But when I "tail /var/log/messages -f" there ain´t no error messages, or even no message about prism2_usb :/
Propably you´ve got a hint?
Sry for my english |
|
Back to top |
|
|
elefantenfloh n00b
Joined: 30 Jun 2002 Posts: 21 Location: Deutschland (Germany)
|
Posted: Wed Jan 26, 2005 2:33 pm Post subject: |
|
|
hevtig wrote: | Hi,
I´m new to Linux and tried to install my DWL-122 but it didn´t work.
I tried it with this description => https://forums.gentoo.org/viewtopic.php?t=143921&highlight=dwl122
I use the kernel 2.6.10. "emerge linux-wlan-ng" doesn´t work => ends with an error message, gotta see, something like it cannot load for this kernel :/
|
Please post the Emerge-Output.
thx |
|
Back to top |
|
|
hevtig n00b
Joined: 22 Jan 2005 Posts: 3
|
Posted: Wed Jan 26, 2005 10:27 pm Post subject: |
|
|
This is the message:
Code: |
emerge linux-wlan-ng
Calculating dependencies ...done!
>>> emerge (1 of 1) net-wireless/linux-wlan-ng-0.2.0-r3 to /
>>> md5 src_uri ;-) linux-wlan-ng-0.2.0.tar.gz
>>> md5 src_uri ;-) linux-wlan-ng-gentoo-init.gz
>>> Unpacking source...
* This version of linux-wlan-ng will NOT work with 2.6 kernels
* Please use linux-wlan-ng-0.2.1_pre17 for 2.6 kernels.
* For now, you will need to disable sandbox to get this to merge.
* See bug #32737 for info on work being done to fix this.
!!! ERROR: net-wireless/linux-wlan-ng-0.2.0-r3 failed.
!!! Function src_unpack, Line 39, Exitcode 0
!!! This version of linux-wlan-ng does not support 2.6 kernels
!!! If you need support, post the topmost build error, NOT this status message.
|
I don´t know what I did wrong. emerge linux-wlan-ng seems to try emerging an old package. |
|
Back to top |
|
|
hevtig n00b
Joined: 22 Jan 2005 Posts: 3
|
Posted: Wed Jan 26, 2005 10:28 pm Post subject: |
|
|
Sorry, now it seems to work.
I thought it would start automatically, I remember with an old kernel it did.
modprobe prism2_usb seems to work. |
|
Back to top |
|
|
elefantenfloh n00b
Joined: 30 Jun 2002 Posts: 21 Location: Deutschland (Germany)
|
Posted: Thu Jan 27, 2005 1:18 pm Post subject: |
|
|
hevtig wrote: | This is the message:
Code: |
emerge linux-wlan-ng
Calculating dependencies ...done!
>>> emerge (1 of 1) net-wireless/linux-wlan-ng-0.2.0-r3 to /
>>> md5 src_uri ;-) linux-wlan-ng-0.2.0.tar.gz
>>> md5 src_uri ;-) linux-wlan-ng-gentoo-init.gz
>>> Unpacking source...
* This version of linux-wlan-ng will NOT work with 2.6 kernels
|
I don´t know what I did wrong. emerge linux-wlan-ng seems to try emerging an old package. |
Perhaps the 0.2.1-packages are masked with "~x86"-Keyword.
To load the module automatically on every system boot, add "prism2_usb" to /etc/modules.autoload/kernel-2.6. |
|
Back to top |
|
|
|