Tiny Core Extensions > TCE Q&A Forum

how do firmware extensions work without startup script?

<< < (7/10) > >>

GNUser:
Sure thing:


--- Code: ---$ udevadm info -q property -p /sys/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.2
BUSNUM=002
DEVNAME=/dev/bus/usb/002/003
DEVNUM=003
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.2
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=VIA_USB2.0_WLAN
ID_MODEL_ENC=VIA\x20USB2.0\x20WLAN
ID_MODEL_ID=3801
ID_REVISION=0108
ID_SERIAL=VIA_TECH_VIA_USB2.0_WLAN_12345
ID_SERIAL_SHORT=12345
ID_USB_INTERFACES=:ff0000:
ID_VENDOR=VIA_TECH
ID_VENDOR_ENC=VIA\x20TECH
ID_VENDOR_ID=040d
MAJOR=189
MINOR=130
PRODUCT=40d/3801/108
SUBSYSTEM=usb
TYPE=255/255/255
USEC_INITIALIZED=2151963
--- End code ---

Rich:
Hi GNUser
I think I need a deeper look. How about this please:

--- Code: ---udevadm info -a -p /sys/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.2
--- End code ---

GNUser:

--- Code: ---$ udevadm info -a -p /sys/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.2

Udevadm info 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 '/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.2':
    KERNEL=="2-1.2"
    SUBSYSTEM=="usb"
    DRIVER==""
    ATTR{configuration}==""
    ATTR{bMaxPacketSize0}=="64"
    ATTR{bDeviceClass}=="ff"
    ATTR{bcdDevice}=="0108"
    ATTR{bNumInterfaces}==""
    ATTR{bConfigurationValue}==""
    ATTR{manufacturer}=="VIA TECH"
    ATTR{bNumConfigurations}=="1"
    ATTR{authorized}=="1"
    ATTR{speed}=="480"
    ATTR{idProduct}=="3801"
    ATTR{urbnum}=="11"
    ATTR{devnum}=="6"
    ATTR{product}=="VIA USB2.0 WLAN"
    ATTR{maxchild}=="0"
    ATTR{bmAttributes}==""
    ATTR{bDeviceSubClass}=="ff"
    ATTR{bMaxPower}==""
    ATTR{rx_lanes}=="1"
    ATTR{removable}=="unknown"
    ATTR{idVendor}=="040d"
    ATTR{version}==" 2.00"
    ATTR{avoid_reset_quirk}=="0"
    ATTR{serial}=="12345"
    ATTR{bDeviceProtocol}=="ff"
    ATTR{tx_lanes}=="1"
    ATTR{ltm_capable}=="no"
    ATTR{devpath}=="1.2"
    ATTR{busnum}=="2"
    ATTR{quirks}=="0x0"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{authorized}=="1"
    ATTRS{speed}=="480"
    ATTRS{idProduct}=="0024"
    ATTRS{urbnum}=="61"
    ATTRS{devnum}=="2"
    ATTRS{maxchild}=="6"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{rx_lanes}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{idVendor}=="8087"
    ATTRS{version}==" 2.00"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{tx_lanes}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{devpath}=="1"
    ATTRS{busnum}=="2"
    ATTRS{quirks}=="0x0"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0606"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{manufacturer}=="Linux 6.6.8-tinycore64 ehci_hcd"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{authorized}=="1"
    ATTRS{speed}=="480"
    ATTRS{idProduct}=="0002"
    ATTRS{urbnum}=="26"
    ATTRS{devnum}=="1"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{maxchild}=="3"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{rx_lanes}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{tx_lanes}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{devpath}=="0"
    ATTRS{busnum}=="2"
    ATTRS{quirks}=="0x0"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci-pci"
    ATTRS{power_state}=="D0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{subsystem_device}=="0x1e2d"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{vendor}=="0x8086"
    ATTRS{local_cpus}=="f"
    ATTRS{companion}==""
    ATTRS{class}=="0x0c0320"
    ATTRS{msi_bus}=="1"
    ATTRS{device}=="0x1e2d"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{driver_override}=="(null)"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{irq}=="19"
    ATTRS{revision}=="0x04"
    ATTRS{reset_method}=="af_flr pm"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{ari_enabled}=="0"
    ATTRS{uframe_periodic_max}=="100"
    ATTRS{enable}=="1"
    ATTRS{subsystem_vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{waiting_for_supplier}=="0"

--- End code ---

mocore:

--- Quote from: GNUser on September 03, 2024, 10:40:44 AM ---By "software level" I mean anything other than manually pulling out the usb device and pushing it back into the usb port.

--- End quote ---

posted in case it of any use (i might be barking ... up the wrong tree)
 this builds on the previously linked uhubctl  https://github.com/octoprobe/usbhubctl and mentions navigating usb topology
so seamingly similar (atleast to me) domain 

GNUser:
Thanks, mocore. I'll check out usbhubctl as it sounds useful. That being said, I think this particular little problem is solvable without external utilities (i.e., using only what's available in TCL base).

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version