LFS Trac wrote:
> #1842: DRIVER=="*?" in network udev rules breaks for some cards
> --------------------------------------------+-------------------------------
>  Reporter:  [EMAIL PROTECTED]  |        Owner:  [EMAIL PROTECTED]
>      Type:  task                            |       Status:  assigned         
>           
>  Priority:  high                            |    Milestone:  6.2              
>           
> Component:  Book                            |      Version:  SVN              
>           
>  Severity:  major                           |   Resolution:                   
>           
>  Keywords:                                  |  
> --------------------------------------------+-------------------------------
> Comment (by [EMAIL PROTECTED]):
> 
>  Indeed, that's bad. This also means that Debian (where I borrowed this
>  "solution" from) is buggy. What happens if you add KERNEL=="ath*" and
>  KERNEL=="wifi*" instead of SYSFS{type}? What is the output of the
>  following commands?
> 
>  {{{
>  udevinfo -a -p /class/net/ath0
>  udevinfo -a -p /class/net/wifi0
>  }}}
> 

# udevinfo -a -p /class/net/ath0

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/class/net/ath0':
    KERNEL=="ath0"
    SUBSYSTEM=="net"
    SYSFS{weight}=="0"
    SYSFS{tx_queue_len}=="0"
    SYSFS{flags}=="0x1043"
    SYSFS{mtu}=="1500"
    SYSFS{carrier}=="1"
    SYSFS{broadcast}=="ff:ff:ff:ff:ff:ff"
    SYSFS{address}=="00:13:46:0d:a3:71"
    SYSFS{type}=="1"
    SYSFS{features}=="0x0"
    SYSFS{ifindex}=="4"
    SYSFS{iflink}=="4"
    SYSFS{addr_len}=="6"

  looking at parent device
'/devices/pci0000:00/0000:00:1e.0/0000:02:01.1/0000:07:00.0':
    ID=="0000:07:00.0"
    BUS=="pci"
    DRIVER=="ath_pci"
    SYSFS{modalias}=="pci:v0000168Cd00000013sv00001186sd00003202bc02sc00i00"
    SYSFS{local_cpus}=="1"
    SYSFS{irq}=="11"
    SYSFS{class}=="0x020000"
    SYSFS{subsystem_device}=="0x3202"
    SYSFS{subsystem_vendor}=="0x1186"
    SYSFS{device}=="0x0013"
    SYSFS{vendor}=="0x168c"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:02:01.1':
    ID=="0000:02:01.1"
    BUS=="pci"
    DRIVER=="yenta_cardbus"
    SYSFS{modalias}=="pci:v0000104Cd0000AC42sv00001028sd000000D5bc06sc07i00"
    SYSFS{local_cpus}=="1"
    SYSFS{irq}=="11"
    SYSFS{class}=="0x060700"
    SYSFS{subsystem_device}=="0x00d5"
    SYSFS{subsystem_vendor}=="0x1028"
    SYSFS{device}=="0xac42"
    SYSFS{vendor}=="0x104c"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0':
    ID=="0000:00:1e.0"
    BUS=="pci"
    DRIVER==""
    SYSFS{modalias}=="pci:v00008086d00002448sv00000000sd00000000bc06sc04i00"
    SYSFS{local_cpus}=="1"
    SYSFS{irq}=="0"
    SYSFS{class}=="0x060400"
    SYSFS{subsystem_device}=="0x0000"
    SYSFS{subsystem_vendor}=="0x0000"
    SYSFS{device}=="0x2448"
    SYSFS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    ID=="pci0000:00"
    BUS==""
    DRIVER==""

Looking at the difference between wifi0 and ath0:

# diff a w
8,9c8,9
<   looking at device '/class/net/ath0':
<     KERNEL=="ath0"
---
>   looking at device '/class/net/wifi0':
>     KERNEL=="wifi0"
12c12
<     SYSFS{tx_queue_len}=="0"
---
>     SYSFS{tx_queue_len}=="199"
20,21c20,21
<     SYSFS{ifindex}=="4"
<     SYSFS{iflink}=="4"
---
>     SYSFS{ifindex}=="3"
>     SYSFS{iflink}=="3"

  -- Bruce
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to