James Ketrenos wrote : > > When last we looked at this, step 4 was being handled by ifplugd only > after IFF_RUNNING or carrier_detect indicated link, which with wireless > is potentially not possible until after step 7.
So, basically you want to change all wireless driver and all distro scripts to accomodate the need of ifplugd. Hmm... I personally consider that a bug in ifplugd. For example, the hp100 Ethernet driver will start media sensing only in the open() call, which means that ifplugd won't work on the hp100 driver. It would be trivial to fix ifplugd to open the device without an IP configuration before doing media sensing. If the device doesn't have an IP config, it won't be used by the networking layer. Similarly, when ifplugd doesn't want anymore to use an interface, it remove the IP address from it and leave it up. The other problem is that not all drivers/technologies implement media sensing. The media-sensing API is part of the specific Ethernet API, not the generic network API, which make sense. If you think about it 2sec, media sensing does not make sense in 802.11 Ad-Hoc mode, neither in Master mode. Having tools or distro depending on it at this stage seems quite foolish to me. Anyway, it seems that ifplugd itself see media sensing has not trivial and has many options to do media sensing, and had many changes in that part, so they don't see that as totally clear and straightforward. > Although I believe some hardware can't detect MAC until after the fw is > loaded. So, we might want to require that hotplug scripts not attempt > to rename the interface until after it has been opened. The rub there > being that (IIRC) ifrename requires the interface to be down in order to > rename it... Having the MAC address before open() is not mandatory. I specifically designed ifrename with a *wide* variety of selectors, so that user could address trivially cases where the device doesn't have a MAC address at boot up, and the man page makes it clear that the MAC address is not always present. For example : ---------------------------------------- ipw* driver ipw2100 ---------------------------------------- would work properly on your driver even if you don't read the MAC address until open(). If you have another idea for a nice selector that could replace the MAC address (I don't know, serial number, or whatever), I can add that to ifrename. Jiri Benc wrote : > > As we definitely don't want to add a new > WE (or some other) call to perform this, the only call we can use for > telling the driver "ok, now it's the time to associate" is ifconfig up. > So opening the card should follow its configuration. Correct, however the problem is not WE per say. We are not going to change the networking scripts of all existing distribution to add a specific call to associate wireless devices. And then change all the existing wireless drivers. > And yes, this brings up the problem with firmware loading. It should > really be solved, but trying to solve it by requiring to bring the card > up before it is configured is the bad way. And the actual solution is quite trivial, the driver just needs to cache the wireless settings if the card is not up. A few driver do that already, such as orinoco.c, airo.c, atmel.c and ray_cs.c. And the Wireless Extension provides a bit of help through the "commit" mechanism. Personally, I don't see what the fuss is about. > Today, some cards require to be brought up before they are configured > and some require it in the other order. The network scripts of every single distribution configure the card before bringing it up, and every single driver I've worked on support that. Cards that require being up before configuration just won't work. There is even a few driver that don't support configuration after beeing brought up (ray_cs). > And when the unification is performed, why not do this the > right way? Actually, it's already unified, and the right way. And it works today for a wide range of cards/drivers. > (*) Because it's not good idea to start association before wireless is > fully configured. By the way, how do you define "fully configured" ? If I want to connect at home or at a random hotspot, the default configuration of most device (mode=managed ; essid=any ; wep=off ; ip=dhcp) is just what I want, and therefore I don't need to "configure" the device. Peter Jones <[EMAIL PROTECTED]> wrote : > > I don't think that's really right either. For one thing, things like > DHCP's timeout start counting at about the same time as "ifconfig up", > and association can take some time. That's a bug in DHCP, and DHCP should be fixed. A nice analogy is Ethernet. The Ethernet layer doesn't enforce that the user has plug the Ethernet cable in the right port at bootup, or any port at all, for that matter. Actually, I would like my Ethernet connection to work even if I plug the Ethernet cable a few minutes after having booted the box. DHCP should not time out so easily. Even better, I should be able to plug my laptop in any Ethernet port when I want and move from one port to another without having to reboot the laptop or to mess with the network stuff. Also, maybe I'm connected to my switch, but Oops, I forgot to connect the switch to the network. It would be nice if it would work when I eventually connect my switch to the network. The situation with IEEE802.11 is not any different, the "cable" just takes a bit more time to be plugged that the average Ethernet. But, 802.11 is hardly the worse, DHCP over BlueTooth or ZigBee is not going to happen instantly. > But why don't we want to add a call to do this? I'd agree that it > shouldn't be a WE call. I know quite a few people still using Red-Hat 9. How are you going to retrofit already deployed distro with your new call ? > There seemed to be general agreement at OLS > last month that we should really be using netlink for this stuff anyway, > and it doesn't seem like adding a netlink call is all that painful. There are patches on my web page adding Wireless Extensions over RtNetlink, which seems exactly like what everybody is clamoring about. They have been sent a couple of time to this mailing list. To date, I've received *zero* feedback on those. Have fun... Jean - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html