[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