Re: rt2x00/rt2500 support
- From: Dan Williams <dcbw redhat com>
- To: Eion Robb <emr33 student canterbury ac nz>
- Cc: networkmanager-list gnome org
- Subject: Re: rt2x00/rt2500 support
- Date: Tue, 11 Jul 2006 18:08:47 -0400
On Wed, 2006-07-12 at 09:51 +1200, Eion Robb wrote:
> > The rt2x00-cvs-daily driver does appear to properly support WEXT since
> > it uses the ieee80211 layer. But until the sourceforge site gets
> > updated to reflect which driver people should actually use, I'd be
> > hesitant to say that rt2x00 is actually WEXT compliant since most people
> > would likely make the same mistake I did, and download the older driver.
>
> Which brings me back the question:
> >> So is there any reason for it not to be detected by NetworkManager?
>
> To be honest, I'm not really concerned with the layout of the website,
> since I have no power over it. I am concerned about getting rt2x00
> working with NetworkManager. :)
Ok; does it show up in HAL? Run 'hal-device-manager' and look around
for your card. There needs to also be a "WLAN Interface" object that's
a child of the actual PCI/USB card. The "WLAN Interface" object needs
to have the "net.80211" capability in its info.capabilities list. It
also needs to have a "net.interface" property.
The driver is likely not showing up because it has no SET_NETDEV_DEV()
call when it sets up its netdevice, which means that the right device
links aren't set up in sysfs. Each separate hardware-specific file
(rt2500pci.c, rt2400pci.c, rt2500usb.c) needs to have the
SET_NETDEV_DEV() command added. Try the attached patch, and if that
works, please send it upstream to the rt2x00 maintainers.
Dan
--- ./rt2500pci.c.setnetdevdev 2006-07-11 18:05:03.000000000 -0400
+++ ./rt2500pci.c 2006-07-11 18:05:26.000000000 -0400
@@ -3104,6 +3104,7 @@
struct rt2x00_dev *rt2x00dev = ieee80211_dev_hw_data(net_dev);
rt2x00dev->dev = pci_dev;
+ SET_NETDEV_DEV(net_dev, pci);
rt2x00dev->csr_addr = ioremap(
pci_resource_start(rt2x00dev_pci(rt2x00dev), 0),
--- ./rt2400pci.c.setnetdevdev 2006-07-11 18:04:56.000000000 -0400
+++ ./rt2400pci.c 2006-07-11 18:06:43.000000000 -0400
@@ -2821,6 +2821,7 @@
struct rt2x00_dev *rt2x00dev = ieee80211_dev_hw_data(net_dev);
rt2x00dev->dev = pci_dev;
+ SET_NETDEV_DEV(net_dev, pci_dev->dev);
rt2x00dev->csr_addr = ioremap(
pci_resource_start(rt2x00dev_pci(rt2x00dev), 0),
--- ./rt2500usb.c.setnetdevdev 2006-07-11 18:05:10.000000000 -0400
+++ ./rt2500usb.c 2006-07-11 18:07:35.000000000 -0400
@@ -2727,6 +2727,7 @@
struct rt2x00_dev *rt2x00dev = ieee80211_dev_hw_data(net_dev);
rt2x00dev->dev = usb_intf;
+ SET_NETDEV_DEV(net_dev, usb_intf->dev);
rt2x00dev->workqueue = create_singlethread_workqueue(DRV_NAME);
if (!rt2x00dev->workqueue)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]