You are not logged in.
I'm struggling to connect an actioncam to use it as a USB webcam.
The actioncam is some cheap Chinese camera running some sort of android OS and based on an sunx/allwinner SoC.
lsusb:
Bus 001 Device 018: ID 1f3a:1002 Onda (unverified) Android
Upon plugging the camera (USB), dmesg reads
[14909.163345] usb 1-3: new high-speed USB device number 16 using ehci-pci
[14909.311690] usb 1-3: New USB device found, idVendor=1f3a, idProduct=1002, bcdDevice= 2.33
[14909.311694] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[14909.311697] usb 1-3: Product: Android
[14909.311699] usb 1-3: Manufacturer: USB Developer
[14909.311701] usb 1-3: SerialNumber: 20080411
[14909.312344] usb-storage 1-3:1.0: USB Mass Storage device detected
[14909.317490] scsi host5: usb-storage 1-3:1.0
[14910.320616] scsi 5:0:0:0: Direct-Access USB 2.0 USB Flash Driver 0100 PQ: 0 ANSI: 2
[14910.323677] sd 5:0:0:0: Power-on or device reset occurred
[14910.325468] sd 5:0:0:0: [sdb] Attached SCSI removable disk
If I then attempt to switch the camera to its 'PC CAMERA' mode inside its menu (which is supposed activate the usb interface), dmesg reads:
[15022.719611] usb 1-3: USB disconnect, device number 16
[15023.049989] usb 1-3: new high-speed USB device number 17 using ehci-pci
[15023.200997] usb 1-3: New USB device found, idVendor=1f3a, idProduct=100e, bcdDevice= 2.33
[15023.201006] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[15023.201011] usb 1-3: Product: Android
[15023.201017] usb 1-3: Manufacturer: USB Developer
[15023.201022] usb 1-3: SerialNumber: 20080411
[15023.202158] uvcvideo: Found UVC 1.00 device Android (1f3a:100e)
[15023.709911] uvcvideo: Failed to query (GET_INFO) UVC control 2 on unit 1: -110 (exp. 1).
[15023.710113] uvcvideo: Failed to query (GET_INFO) UVC control 2 on unit 2: -32 (exp. 1).
[15023.712015] uvcvideo 1-3:1.0: Entity type for entity Processing 2 was not initialized!
[15023.712023] uvcvideo 1-3:1.0: Entity type for entity Camera 1 was not initialized!
[15023.712416] input: Android: UVC Camera as /devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3:1.0/input/input20
[15026.230067] usb 1-3: USB disconnect, device number 17
[15026.973328] usb 1-3: new high-speed USB device number 18 using ehci-pci
[15027.124236] usb 1-3: New USB device found, idVendor=1f3a, idProduct=1002, bcdDevice= 2.33
[15027.124245] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[15027.124250] usb 1-3: Product: Android
[15027.124256] usb 1-3: Manufacturer: USB Developer
[15027.124261] usb 1-3: SerialNumber: 20080411
[15027.125177] usb-storage 1-3:1.0: USB Mass Storage device detected
[15027.126731] scsi host5: usb-storage 1-3:1.0
[15028.134317] scsi 5:0:0:0: Direct-Access USB 2.0 USB Flash Driver 0100 PQ: 0 ANSI: 2
[15028.137864] sd 5:0:0:0: Power-on or device reset occurred
[15028.139834] sd 5:0:0:0: [sdb] Attached SCSI removable disk
And the camera rapidly gets out of its 'PC CAMERA' mode.
For the brief moment during which the camera is in its 'PC CAMERA' mode, the output of lsusb -v changes:
The baseline output of lsusb -v when the camera is just plugged in is:
Bus 001 Device 006: ID 1f3a:1002 Onda (unverified) Android
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1f3a Onda (unverified)
idProduct 0x1002
bcdDevice 2.33
iManufacturer 2
iProduct 3
iSerial 4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0037
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 224mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
And this is the output of lsusb -v during the 2 seconds the interface is on:
Bus 001 Device 007: ID 1f3a:100e Onda (unverified) Android
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1f3a Onda (unverified)
idProduct 0x100e
bcdDevice 2.33
iManufacturer 2
iProduct 3
iSerial 4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00c7
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 224mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 14 Video
bFunctionSubClass 3 Video Interface Collection
bFunctionProtocol 0
iFunction 17
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 1 Video Control
bInterfaceProtocol 0
iInterface 18
VideoControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdUVC 1.00
wTotalLength 0x0033
dwClockFrequency 48.000000MHz
bInCollection 1
baInterfaceNr( 0) 1
VideoControl Interface Descriptor:
bLength 18
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Camera Sensor
bAssocTerminal 0
iTerminal 0
wObjectiveFocalLengthMin 0
wObjectiveFocalLengthMax 0
wOcularFocalLength 0
bControlSize 3
bmControls 0x00000002
Auto-Exposure Mode
VideoControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 5 (PROCESSING_UNIT)
Warning: Descriptor too short
bUnitID 2
bSourceID 1
wMaxMultiplier 16384
bControlSize 2
bmControls 0x00000001
Brightness
iProcessing 0
bmVideoStandards 0x09
None
SECAM - 625/50
VideoControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 2
iTerminal 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 19
VideoStreaming Interface Descriptor:
bLength 15
bDescriptorType 36
bDescriptorSubtype 1 (INPUT_HEADER)
bNumFormats 2
wTotalLength 0x003e
bEndPointAddress 131
bmInfo 0
bTerminalLink 3
bStillCaptureMethod 0
bTriggerSupport 0
bTriggerUsage 0
bControlSize 1
bmaControls( 0) 0
bmaControls( 1) 4
VideoStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 6 (FORMAT_MJPEG)
bFormatIndex 2
bNumFrameDescriptors 1
bFlags 0
Fixed-size samples: No
bDefaultFrameIndex 1
bAspectRatioX 0
bAspectRatioY 0
bmInterlaceFlags 0x00
Interlaced stream or variable: No
Fields per frame: 1 fields
Field 1 first: No
Field pattern: Field 1 only
bCopyProtect 0
VideoStreaming Interface Descriptor:
bLength 30
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 2
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 720
dwMinBitRate 442368000
dwMaxBitRate 442368000
dwMaxVideoFrameBufferSize 1843200
dwDefaultFrameInterval 333333
bFrameIntervalType 1
dwFrameInterval( 0) 333333
VideoStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 13 (COLORFORMAT)
bColorPrimaries 1 (BT.709,sRGB)
bTransferCharacteristics 1 (BT.709)
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 19
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
I assumed that the default module 'uvcvideo' couldn't manage the camera.
So I tried using a gpsca module, as suggested in the wiki (https://wiki.archlinux.org/index.php/Webcam_setup).
I manually loaded the module that seems the most appropriate to me (pure guess work, couldn't find reliable information for this camera),
sudo modprobe gspca_sunplus
But this doesn't seem to have any effect.
I don't see any difference in the dmesg, and the camera still does not connect.
Here's the output of lsmod (just in case)
Module Size Used by
gspca_sunplus 24576 0
gspca_main 28672 1 gspca_sunplus
nfnetlink 16384 0
bluetooth 675840 0
ecdh_generic 16384 1 bluetooth
ecc 32768 1 ecdh_generic
uas 28672 0
arc4 16384 2
iwl3945 122880 0
iwlegacy 143360 1 iwl3945
rtl8187 49152 0
fuse 135168 3
8021q 40960 0
garp 16384 1 8021q
mac80211 999424 3 iwl3945,iwlegacy,rtl8187
mrp 20480 1 8021q
stp 16384 1 garp
i915 2265088 4
llc 16384 2 stp,garp
coretemp 20480 0
kvm_intel 311296 0
mousedev 24576 0
uvcvideo 114688 0
snd_hda_codec_analog 20480 1
snd_hda_codec_generic 94208 1 snd_hda_codec_analog
videobuf2_vmalloc 20480 2 gspca_main,uvcvideo
videobuf2_memops 20480 1 videobuf2_vmalloc
iTCO_wdt 16384 0
kvm 770048 1 kvm_intel
videobuf2_v4l2 28672 2 gspca_main,uvcvideo
snd_hda_intel 53248 4
iTCO_vendor_support 16384 1 iTCO_wdt
videobuf2_common 57344 3 gspca_main,videobuf2_v4l2,uvcvideo
i2c_algo_bit 16384 1 i915
cfg80211 856064 4 iwl3945,iwlegacy,mac80211,rtl8187
videodev 237568 5 gspca_main,gspca_sunplus,videobuf2_v4l2,uvcvideo,videobuf2_common
pcmcia 77824 0
snd_hda_codec 159744 3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_analog
psmouse 180224 0
drm_kms_helper 225280 1 i915
snd_hda_core 102400 4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_analog,snd_hda_codec
media 61440 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
irqbypass 16384 1 kvm
yenta_socket 53248 0
tpm_tis 16384 0
snd_hwdep 20480 1 snd_hda_codec
input_leds 16384 0
pcmcia_rsrc 24576 1 yenta_socket
eeprom_93cx6 16384 1 rtl8187
tpm_tis_core 24576 1 tpm_tis
pcmcia_core 32768 3 pcmcia,pcmcia_rsrc,yenta_socket
snd_pcm 135168 4 snd_hda_intel,snd_hda_codec,snd_hda_core
tpm 73728 2 tpm_tis,tpm_tis_core
pcspkr 16384 0
thinkpad_acpi 110592 0
i2c_i801 36864 0
drm 503808 6 drm_kms_helper,i915
snd_timer 40960 2 snd_pcm
ac 16384 0
battery 24576 1 thinkpad_acpi
nvram 16384 1 thinkpad_acpi
ledtrig_audio 16384 2 snd_hda_codec_generic,thinkpad_acpi
snd 110592 14 snd_hda_codec_generic,snd_hwdep,snd_hda_intel,snd_hda_codec_analog,snd_hda_codec,snd_timer,thinkpad_acpi,snd_pcm
e1000e 286720 0
rng_core 16384 1 tpm
evdev 24576 11
intel_agp 24576 0
mac_hid 16384 0
rfkill 28672 4 bluetooth,thinkpad_acpi,cfg80211
lpc_ich 28672 0
intel_gtt 24576 2 intel_agp,i915
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
soundcore 16384 1 snd
agpgart 53248 3 intel_agp,intel_gtt,drm
fb_sys_fops 16384 1 drm_kms_helper
pcc_cpufreq 20480 0
acpi_cpufreq 28672 1
ip_tables 36864 0
x_tables 49152 1 ip_tables
ext4 770048 2
crc32c_generic 16384 4
crc16 16384 2 bluetooth,ext4
mbcache 16384 1 ext4
jbd2 135168 1 ext4
crypto_simd 16384 0
cryptd 24576 1 crypto_simd
glue_helper 16384 0
aes_x86_64 20480 2
dm_crypt 53248 1
dm_mod 155648 3 dm_crypt
usb_storage 77824 1 uas
sd_mod 57344 3
ata_generic 16384 0
pata_acpi 16384 0
serio_raw 20480 0
atkbd 36864 0
libps2 20480 2 atkbd,psmouse
sdhci_pci 49152 0
cqhci 32768 1 sdhci_pci
ahci 40960 2
libahci 40960 1 ahci
ata_piix 36864 0
sdhci 69632 1 sdhci_pci
libata 282624 5 ata_piix,libahci,ahci,pata_acpi,ata_generic
firewire_ohci 49152 0
scsi_mod 249856 4 sd_mod,usb_storage,uas,libata
mmc_core 184320 3 sdhci,cqhci,sdhci_pci
uhci_hcd 53248 0
firewire_core 81920 1 firewire_ohci
crc_itu_t 16384 1 firewire_core
ehci_pci 20480 0
ehci_hcd 98304 1 ehci_pci
i8042 32768 0
serio 28672 6 serio_raw,atkbd,psmouse,i8042
How can troubleshoot this?
What Am I missing?
What could I try next?
Offline
Do you have v4l-utils installed?
You might need to use a udev rule to keep it the PC CAMERA persistent as mentioned in the wiki:
Configuration made via V4L2 does not persist after the webcam is disconnected and reconnected. It's possible to use v4l2-ctl with Udev rules in order to set some configuration each time a particular camera is connected.
Offline
Yes, v4l-utils is installed.
In fact, if I open qv4l2 and pick the device
/dev/video0
fast enough before it disappears, the camera stays in the 'PC CAMERA' mode and the usb playback works.
The uvcvideo module complains the entire time:
[20052.430053] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20052.936720] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20053.576727] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20054.086741] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20054.616781] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20055.149975] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
[20055.656605] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2).
But the usb playback works (at least for a couple of minutes)
I'm not sure I understood your suggestion. What type of rule should I consider in this case?
I wrote a udev rule to create an alias device.
I used the output of
udevadm info -a -n /dev/video0
for the couple of second the device was up, to gather the info to write the following udev rule
/etc/udev/rules.d/83-webcam.rules:
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="100e", SYMLINK+="video-cam"
This alias device works, but it fades away like the other one.
What other udev rule can I set?
Offline
Could be a kernel bug similar to this regression:
https://bugs.launchpad.net/ubuntu/+sour … ug/1018020
Which was fixed by this commit by reordering calls in the usb sound endpoint stuff:
https://github.com/torvalds/linux/commi … 6874641755
Offline
I'm not sure I understood your suggestion. What type of rule should I consider in this case?
The idea is to have the VideoControl Descriptor to be persistent in udev but honestly I am not sure if that will solve the problem or even how to implement that rule. The rule probable looks like the reordering of the endpoint as boltactionpiano hinted.
Can you post the output of udevadm info -a -n /dev/video0 just to see what one can work on?
Offline
Here's an output of udevadm info -a -n /dev/video0
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.7/usb1/1-3/1-3:1.0/video4linux/video0':
KERNEL=="video0"
SUBSYSTEM=="video4linux"
DRIVER==""
ATTR{dev_debug}=="0"
ATTR{index}=="0"
ATTR{name}=="Android: UVC Camera"
looking at parent device '/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3:1.0':
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="0e"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{bNumEndpoints}=="01"
ATTRS{iad_bFirstInterface}=="00"
ATTRS{iad_bFunctionClass}=="0e"
ATTRS{iad_bFunctionProtocol}=="00"
ATTRS{iad_bFunctionSubClass}=="03"
ATTRS{iad_bInterfaceCount}=="02"
ATTRS{interface}=="Video Control"
ATTRS{supports_autosuspend}=="1"
DRIVERS=="uvcvideo"
KERNELS=="1-3:1.0"
SUBSYSTEMS=="usb"
looking at parent device '/devices/pci0000:00/0000:00:1a.7/usb1/1-3':
KERNELS=="1-3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="224mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 3"
ATTRS{bcdDevice}=="0233"
ATTRS{bmAttributes}=="c0"
ATTRS{busnum}=="1"
ATTRS{configuration}==""
ATTRS{devnum}=="10"
ATTRS{devpath}=="3"
ATTRS{devspec}=="(null)"
ATTRS{idProduct}=="100e"
ATTRS{idVendor}=="1f3a"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="USB Developer"
ATTRS{maxchild}=="0"
ATTRS{product}=="Android"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="20080411"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="36"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:1a.7/usb1':
ATTRS{authorized_default}=="1"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0502"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="1"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{devspec}=="(null)"
ATTRS{idProduct}=="0002"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 5.2.13-arch1-1-ARCH ehci_hcd"
ATTRS{maxchild}=="4"
ATTRS{product}=="EHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="0000:00:1a.7"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="205"
ATTRS{version}==" 2.00"
DRIVERS=="usb"
KERNELS=="usb1"
SUBSYSTEMS=="usb"
looking at parent device '/devices/pci0000:00/0000:00:1a.7':
KERNELS=="0000:00:1a.7"
SUBSYSTEMS=="pci"
DRIVERS=="ehci-pci"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0320"
ATTRS{companion}==""
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x283a"
ATTRS{devspec}==""
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="22"
ATTRS{local_cpulist}=="0-1"
ATTRS{local_cpus}=="3"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{revision}=="0x03"
ATTRS{subsystem_device}=="0x20ab"
ATTRS{subsystem_vendor}=="0x17aa"
ATTRS{uframe_periodic_max}=="100"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
PS:
I really don't know if it's relevant or not, but the output of the command slightly changes during the short time the device is alive. As far as I can tell, it changes 4 times, and the differences are small (I actually had to sort the lines in each subsections of the output to realize that they were small - I hope this isn't a problem).
It's mainly the urbnum attribute of parent device '/devices/pci0000:00/0000:00:1a.7/usb1/1-3':
ATTRS{urbnum} == "20"
and the following attributes for parent device '/devices/pci0000:00/0000:00:1a.7/usb1':
ATTRS{authorized_default}=="1"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
which only appear after some time.
Offline