[patch] wireless network support
David Zeuthen
david at fubar.dk
Wed May 26 11:17:59 PDT 2004
On Wed, 2004-05-26 at 14:16 -0400, Joe Shaw wrote:
> > One more property which would be nice to see is what type of card it is.
> > PCMCIA/Cardbus cards are the most popular, but minipci is quickly taking
> > over. [...] Some program may want that feature to know if it can be
> > ejected or whatever.
>
> Don't we have a general "info.removable" or "info.hotpluggable" property
> or something like that? That might make sense to have. Problem with
> PCMCIA in Linux is that it's not well exposed through sysfs, so there's
> no way for us to know how a class device (ie, /sys/class/net/eth1)
> associates with a system device (ie, /sys/devices/pcietc.). So with
> just the eth1 info, we don't know if it's PCMCIA or what. This probably
> can't be fixed in the short term.
>
Right, we probably can't fix it for 16-bit PCMCIA cards in the short
term, but for Cardbus (32-bit PCMCIA) it will work fine since the net
device will get merged onto the sysdevice. So the HalDevice will expose
both pci.* and net.* properties just like this wired ethernet device on
my Mac:
udi = '/org/freedesktop/Hal/devices/pci_106b_32'
info.capabilities = 'net net.ethernet' (string)
net.linux.sysfs_path = '/sys/class/net/eth0' (string)
net.interface = 'eth0' (string)
net.ethernet.mac_addr = '00:03:93:d4:05:90' (string)
net.ethernet.mac_addr_upper24 = 915 (0x393) (int)
net.ethernet.mac_addr_lower24 = 13895056 (0xd40590) (int)
net.ethernet.link = true (bool)
net.ethernet.rate = 10000000 (0x989680) (int)
net.arp_proto_hw_id = 1 (0x1) (int)
net.media = 'Ethernet' (string)
info.category = 'net.ethernet' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_106b_32' (string)
pci.device_protocol = 0 (0x0) (int)
pci.device_subclass = 0 (0x0) (int)
pci.device_class = 2 (0x2) (int)
info.vendor = 'Apple Computer Inc.' (string)
info.product = 'UniNorth 2 GMAC (Sun GEM)' (string)
pci.product = 'UniNorth 2 GMAC (Sun GEM)' (string)
pci.vendor = 'Apple Computer Inc.' (string)
pci.subsys_product_id = 0 (0x0) (int)
pci.subsys_vendor_id = 0 (0x0) (int)
pci.product_id = 50 (0x32) (int)
pci.vendor_id = 4203 (0x106b) (int)
pci.linux.sysfs_path = '/sys/devices/pci0002:02/0002:02:0f.0'
(string)
linux.sysfs_path_device = '/sys/devices/pci0002:02/0002:02:0f.0'
(string)
linux.sysfs_path = '/sys/devices/pci0002:02/0002:02:0f.0' (string)
info.bus = 'pci' (string)
And when 16-bit PCMCIA gets in sysfs, applications will simply just have
more information at their disposal without any recompilation. Btw, I
actually recently purchased a CardBus 802.11b card (I have two 16-bit
PCMCIA wireless cards), so I'm eager to test this as well :-)
Cheers,
David
_______________________________________________
hal mailing list
hal at freedesktop.org
http://freedesktop.org/mailman/listinfo/hal
More information about the Hal
mailing list