tkmbe
July 5, 2023, 8:53pm
#1
Hello
I have a kingston cfreader and have the following udev rules in file /etc/udev/rules.d/97-kingston-cf-reader.rules
KERNEL=="sd*", ATTRS{serial}=="000004355", SYMLINK+="cfreader%n"
In leap 15.2 it creates the device reader with the first free device like
/dev/cfreader -> sdb
/dev/cfreader1 -> sdb1
/dev/cfreader2 -> sdb2
but since leap 15.4 default device without partition is different as partitions…
/dev/cfreader -> sdc
/dev/cfreader1 -> sdb1
/dev/cfreader2 -> sdb2
The right device are the partition in this example sdb.
and I cannot access the device with /dev/cfreader for example to install lilo
The serial is the correct one .
What could be the problem? Any ideas?
marel
July 6, 2023, 6:05am
#2
If you are sure that the drive is sdb, the you could cahnge the udev line to KERNEL==“sdb *” and see if that works.
Still if the udev rule now works for sdc it means that sdc somehow has the serial indicated…
Typically udev rules are based on the idVendor and idProduct tags what makes sense, you want it to work for all “kingston-cf-reader”-s not only the one with the give serial number. So another option is to update the udev rule to use idVendor and idProduct tags instead the kernel and serial. You can find those idVendor and idProduct using “lsusb -v”
tkmbe:
Any ideas?
Show full output of
udevadm info -a -n sdc
udevadm info -a -n sdb1
tkmbe
July 7, 2023, 8:59pm
#4
lsusb -v -d 11b0:6108 # Output for cfreader
Bus 002 Device 052: ID 11b0:6108 ATECH FLASH TECHNOLOGY FCR-HS215/1
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x11b0 ATECH FLASH TECHNOLOGY
idProduct 0x6108
bcdDevice 93.28
iManufacturer 3 Kingston
iProduct 4 FCR-HS215/1
iSerial 5 000004355
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
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 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
tkmbe
July 7, 2023, 9:15pm
#5
It’s the same with the following rules:
KERNEL=="sd*", ATTRS{idVendor}=="11b0", ATTRS{idProduct}=="6108", SYMLINK+="cfreader%n"
Of course the device will not be always /dev/sdb that’s the problem.
tkmbe
July 7, 2023, 9:18pm
#6
Difference of output from udevadm info -a -n /dev/sdb and udevadm info -a -n /dev/sdc
I still do not understand why it will mount /dev/cdreader i.e. whole “disk” to /dev/sdc
and partitions to /dev/sdbX
8,9c8,9
< looking at device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sdb':
< KERNEL=="sdb"
---
> looking at device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:1/block/sdc':
> KERNEL=="sdc"
39c39
< ATTR{queue/add_random}=="1"
---
> ATTR{queue/add_random}=="0"
91,92c91,92
< ATTR{size}=="7847280"
< ATTR{stat}==" 418 62 17492 913 4 1 10 4 0 944 918 0 0 0 0 0 0"
---
> ATTR{size}=="0"
> ATTR{stat}==" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
99,100c99,100
< looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0':
< KERNELS=="6:0:0:0"
---
> looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:1':
> KERNELS=="6:0:0:1"
116,118c116,118
< ATTRS{iodone_cnt}=="0x203"
< ATTRS{ioerr_cnt}=="0x2"
< ATTRS{iorequest_cnt}=="0x203"
---
> ATTRS{iodone_cnt}=="0x1c"
> ATTRS{ioerr_cnt}=="0x1b"
> ATTRS{iorequest_cnt}=="0x1c"
125c125
< ATTRS{power/runtime_active_time}=="13583"
---
> ATTRS{power/runtime_active_time}=="17294"
146c146
< ATTRS{power/runtime_active_time}=="13583"
---
> ATTRS{power/runtime_active_time}=="17295"
159c159
< ATTRS{power/runtime_active_time}=="13834"
---
> ATTRS{power/runtime_active_time}=="17546"
208c208
< ATTRS{power/active_duration}=="15132"
---
> ATTRS{power/active_duration}=="18844"
212c212
< ATTRS{power/connected_duration}=="15132"
---
> ATTRS{power/connected_duration}=="18844"
217c217
< ATTRS{power/runtime_active_time}=="14855"
---
> ATTRS{power/runtime_active_time}=="18567"
229c229
< ATTRS{urbnum}=="1891"
---
> ATTRS{urbnum}=="1921"
259c259
< ATTRS{power/active_duration}=="32343252"
---
> ATTRS{power/active_duration}=="32346964"
263c263
< ATTRS{power/connected_duration}=="921325708"
---
> ATTRS{power/connected_duration}=="921329420"
267c267
< ATTRS{power/runtime_active_time}=="32399565"
---
> ATTRS{power/runtime_active_time}=="32403276"
324c324
< ATTRS{power/runtime_active_time}=="921325058"
---
> ATTRS{power/runtime_active_time}=="921328770"
370c370
< ATTRS{power/runtime_active_time}=="921325065"
---
> ATTRS{power/runtime_active_time}=="921328775"
tkmbe
July 7, 2023, 9:23pm
#7
output of udevadm info -a -n sdbc
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:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:1/block/sdc':
KERNEL=="sdc"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{capability}=="51"
ATTR{discard_alignment}=="0"
ATTR{events}=="media_change"
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
ATTR{ext_range}=="256"
ATTR{hidden}=="0"
ATTR{inflight}==" 0 0"
ATTR{integrity/device_is_integrity_capable}=="0"
ATTR{integrity/format}=="none"
ATTR{integrity/protection_interval_bytes}=="0"
ATTR{integrity/read_verify}=="0"
ATTR{integrity/tag_size}=="0"
ATTR{integrity/write_generate}=="0"
ATTR{make-it-fail}=="0"
ATTR{mq/0/cpu_list}=="0, 1, 2, 3, 4, 5, 6, 7"
ATTR{mq/0/nr_reserved_tags}=="0"
ATTR{mq/0/nr_tags}=="1"
ATTR{power/async}=="disabled"
ATTR{power/control}=="auto"
ATTR{power/runtime_active_kids}=="0"
ATTR{power/runtime_active_time}=="0"
ATTR{power/runtime_enabled}=="disabled"
ATTR{power/runtime_status}=="unsupported"
ATTR{power/runtime_suspended_time}=="0"
ATTR{power/runtime_usage}=="0"
ATTR{queue/add_random}=="0"
ATTR{queue/chunk_sectors}=="0"
ATTR{queue/dax}=="0"
ATTR{queue/discard_granularity}=="0"
ATTR{queue/discard_max_bytes}=="0"
ATTR{queue/discard_max_hw_bytes}=="0"
ATTR{queue/discard_zeroes_data}=="0"
ATTR{queue/fua}=="0"
ATTR{queue/hw_sector_size}=="512"
ATTR{queue/io_poll}=="0"
ATTR{queue/io_poll_delay}=="-1"
ATTR{queue/io_timeout}=="30000"
ATTR{queue/iosched/back_seek_max}=="16384"
ATTR{queue/iosched/back_seek_penalty}=="2"
ATTR{queue/iosched/fifo_expire_async}=="250"
ATTR{queue/iosched/fifo_expire_sync}=="125"
ATTR{queue/iosched/low_latency}=="1"
ATTR{queue/iosched/max_budget}=="0"
ATTR{queue/iosched/slice_idle}=="8"
ATTR{queue/iosched/slice_idle_us}=="8000"
ATTR{queue/iosched/strict_guarantees}=="0"
ATTR{queue/iosched/timeout_sync}=="124"
ATTR{queue/iostats}=="1"
ATTR{queue/logical_block_size}=="512"
ATTR{queue/max_discard_segments}=="1"
ATTR{queue/max_hw_sectors_kb}=="120"
ATTR{queue/max_integrity_segments}=="0"
ATTR{queue/max_sectors_kb}=="120"
ATTR{queue/max_segment_size}=="65536"
ATTR{queue/max_segments}=="2048"
ATTR{queue/minimum_io_size}=="512"
ATTR{queue/nomerges}=="0"
ATTR{queue/nr_requests}=="2"
ATTR{queue/nr_zones}=="0"
ATTR{queue/optimal_io_size}=="0"
ATTR{queue/physical_block_size}=="512"
ATTR{queue/read_ahead_kb}=="512"
ATTR{queue/rotational}=="1"
ATTR{queue/rq_affinity}=="1"
ATTR{queue/scheduler}=="mq-deadline kyber [bfq] none"
ATTR{queue/stable_writes}=="0"
ATTR{queue/virt_boundary_mask}=="0"
ATTR{queue/wbt_lat_usec}=="75000"
ATTR{queue/write_cache}=="write through"
ATTR{queue/write_same_max_bytes}=="0"
ATTR{queue/write_zeroes_max_bytes}=="0"
ATTR{queue/zone_append_max_bytes}=="0"
ATTR{queue/zone_write_granularity}=="0"
ATTR{queue/zoned}=="none"
ATTR{range}=="16"
ATTR{removable}=="1"
ATTR{ro}=="0"
ATTR{size}=="0"
ATTR{stat}==" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
ATTR{trace/act_mask}=="disabled"
ATTR{trace/enable}=="0"
ATTR{trace/end_lba}=="disabled"
ATTR{trace/pid}=="disabled"
ATTR{trace/start_lba}=="disabled"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:1':
KERNELS=="6:0:0:1"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{blacklist}=="FORCELUN"
ATTRS{device_blocked}=="0"
ATTRS{device_busy}=="0"
ATTRS{dh_state}=="detached"
ATTRS{eh_timeout}=="10"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_media_change}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{inquiry}==""
ATTRS{iocounterbits}=="32"
ATTRS{iodone_cnt}=="0x1c"
ATTRS{ioerr_cnt}=="0x1b"
ATTRS{iorequest_cnt}=="0x1c"
ATTRS{max_sectors}=="240"
ATTRS{model}=="STORAGE DEVICE "
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend_delay_ms}=="-1"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="0"
ATTRS{power/runtime_active_time}=="17294"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="2"
ATTRS{queue_depth}=="1"
ATTRS{queue_type}=="none"
ATTRS{rev}=="9328"
ATTRS{scsi_level}=="0"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{type}=="0"
ATTRS{vendor}=="Generic "
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0':
KERNELS=="target6:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="4"
ATTRS{power/runtime_active_time}=="17295"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6':
KERNELS=="host6"
SUBSYSTEMS=="scsi"
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="17546"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="1012"
ATTRS{power/runtime_usage}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0':
KERNELS=="2-2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usb-storage"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="08"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="50"
ATTRS{bInterfaceSubClass}=="06"
ATTRS{bNumEndpoints}=="02"
ATTRS{power/async}=="enabled"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_usage}=="0"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2':
KERNELS=="2-2"
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}=="500mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="9328"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="2"
ATTRS{configuration}==""
ATTRS{devnum}=="55"
ATTRS{devpath}=="2"
ATTRS{idProduct}=="6108"
ATTRS{idVendor}=="11b0"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Kingston"
ATTRS{maxchild}=="0"
ATTRS{power/active_duration}=="18844"
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend}=="2"
ATTRS{power/autosuspend_delay_ms}=="2000"
ATTRS{power/connected_duration}=="18844"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/persist}=="1"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="18567"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
ATTRS{product}=="FCR-HS215/1"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="000004355"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="1921"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0514"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="2"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0002"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 5.14.21-150400.24.63-default xhci-hcd"
ATTRS{maxchild}=="2"
ATTRS{power/active_duration}=="32346964"
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend}=="0"
ATTRS{power/autosuspend_delay_ms}=="0"
ATTRS{power/connected_duration}=="921329420"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="32403276"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="888922664"
ATTRS{power/runtime_usage}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{product}=="xHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="0000:19:00.0"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="375187"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0':
KERNELS=="0000:19:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{current_link_speed}=="5.0 GT/s PCIe"
ATTRS{current_link_width}=="1"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x0194"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="19"
ATTRS{local_cpulist}=="0-7"
ATTRS{local_cpus}=="ff"
ATTRS{max_link_speed}=="5.0 GT/s PCIe"
ATTRS{max_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{msi_irqs/27}=="msix"
ATTRS{msi_irqs/28}=="msix"
ATTRS{msi_irqs/29}=="msix"
ATTRS{msi_irqs/30}=="msix"
ATTRS{msi_irqs/31}=="msix"
ATTRS{msi_irqs/32}=="msix"
ATTRS{msi_irqs/33}=="msix"
ATTRS{msi_irqs/34}=="msix"
ATTRS{numa_node}=="-1"
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="921328770"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="1"
ATTRS{power/wakeup}=="enabled"
ATTRS{power/wakeup_abort_count}=="0"
ATTRS{power/wakeup_active}=="0"
ATTRS{power/wakeup_active_count}=="0"
ATTRS{power/wakeup_count}=="0"
ATTRS{power/wakeup_expire_count}=="0"
ATTRS{power/wakeup_last_time_ms}=="0"
ATTRS{power/wakeup_max_time_ms}=="0"
ATTRS{power/wakeup_total_time_ms}=="0"
ATTRS{power_state}=="D0"
ATTRS{reset_method}=="bus"
ATTRS{revision}=="0x04"
ATTRS{subsystem_device}=="0x1658"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x1033"
looking at parent device '/devices/pci0000:00/0000:00:1c.3':
KERNELS=="0000:00:1c.3"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="5.0 GT/s PCIe"
ATTRS{current_link_width}=="1"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x1c16"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="2"
ATTRS{irq}=="19"
ATTRS{local_cpulist}=="0-7"
ATTRS{local_cpus}=="ff"
ATTRS{max_link_speed}=="5.0 GT/s PCIe"
ATTRS{max_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="921328775"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="2"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{power_state}=="D0"
ATTRS{reset_method}=="pm"
ATTRS{revision}=="0xb5"
ATTRS{secondary_bus_number}=="25"
ATTRS{subordinate_bus_number}=="25"
ATTRS{subsystem_device}=="0x3389"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="14"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_enabled}=="disabled"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
ATTRS{waiting_for_supplier}=="0"
tkmbe
July 7, 2023, 9:29pm
#8
output of udevadm info -a -n sdb1
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:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sdb/sdb1':
KERNEL=="sdb1"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{discard_alignment}=="0"
ATTR{inflight}==" 0 0"
ATTR{make-it-fail}=="0"
ATTR{partition}=="1"
ATTR{power/async}=="disabled"
ATTR{power/control}=="auto"
ATTR{power/runtime_active_kids}=="0"
ATTR{power/runtime_active_time}=="0"
ATTR{power/runtime_enabled}=="disabled"
ATTR{power/runtime_status}=="unsupported"
ATTR{power/runtime_suspended_time}=="0"
ATTR{power/runtime_usage}=="0"
ATTR{ro}=="0"
ATTR{size}=="201599"
ATTR{start}=="1"
ATTR{stat}==" 174 62 5894 231 9 11 40 13 0 424 244 0 0 0 0 0 0"
ATTR{trace/act_mask}=="disabled"
ATTR{trace/enable}=="0"
ATTR{trace/end_lba}=="disabled"
ATTR{trace/pid}=="disabled"
ATTR{trace/start_lba}=="disabled"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0/block/sdb':
KERNELS=="sdb"
SUBSYSTEMS=="block"
DRIVERS==""
ATTRS{alignment_offset}=="0"
ATTRS{capability}=="51"
ATTRS{discard_alignment}=="0"
ATTRS{events}=="media_change"
ATTRS{events_async}==""
ATTRS{events_poll_msecs}=="-1"
ATTRS{ext_range}=="256"
ATTRS{hidden}=="0"
ATTRS{inflight}==" 0 0"
ATTRS{integrity/device_is_integrity_capable}=="0"
ATTRS{integrity/format}=="none"
ATTRS{integrity/protection_interval_bytes}=="0"
ATTRS{integrity/read_verify}=="0"
ATTRS{integrity/tag_size}=="0"
ATTRS{integrity/write_generate}=="0"
ATTRS{make-it-fail}=="0"
ATTRS{mq/0/cpu_list}=="0, 1, 2, 3, 4, 5, 6, 7"
ATTRS{mq/0/nr_reserved_tags}=="0"
ATTRS{mq/0/nr_tags}=="1"
ATTRS{power/async}=="disabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="0"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_enabled}=="disabled"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
ATTRS{queue/add_random}=="1"
ATTRS{queue/chunk_sectors}=="0"
ATTRS{queue/dax}=="0"
ATTRS{queue/discard_granularity}=="0"
ATTRS{queue/discard_max_bytes}=="0"
ATTRS{queue/discard_max_hw_bytes}=="0"
ATTRS{queue/discard_zeroes_data}=="0"
ATTRS{queue/fua}=="0"
ATTRS{queue/hw_sector_size}=="512"
ATTRS{queue/io_poll}=="0"
ATTRS{queue/io_poll_delay}=="-1"
ATTRS{queue/io_timeout}=="30000"
ATTRS{queue/iosched/back_seek_max}=="16384"
ATTRS{queue/iosched/back_seek_penalty}=="2"
ATTRS{queue/iosched/fifo_expire_async}=="250"
ATTRS{queue/iosched/fifo_expire_sync}=="125"
ATTRS{queue/iosched/low_latency}=="1"
ATTRS{queue/iosched/max_budget}=="0"
ATTRS{queue/iosched/slice_idle}=="8"
ATTRS{queue/iosched/slice_idle_us}=="8000"
ATTRS{queue/iosched/strict_guarantees}=="0"
ATTRS{queue/iosched/timeout_sync}=="124"
ATTRS{queue/iostats}=="1"
ATTRS{queue/logical_block_size}=="512"
ATTRS{queue/max_discard_segments}=="1"
ATTRS{queue/max_hw_sectors_kb}=="120"
ATTRS{queue/max_integrity_segments}=="0"
ATTRS{queue/max_sectors_kb}=="120"
ATTRS{queue/max_segment_size}=="65536"
ATTRS{queue/max_segments}=="2048"
ATTRS{queue/minimum_io_size}=="512"
ATTRS{queue/nomerges}=="0"
ATTRS{queue/nr_requests}=="2"
ATTRS{queue/nr_zones}=="0"
ATTRS{queue/optimal_io_size}=="0"
ATTRS{queue/physical_block_size}=="512"
ATTRS{queue/read_ahead_kb}=="512"
ATTRS{queue/rotational}=="1"
ATTRS{queue/rq_affinity}=="1"
ATTRS{queue/scheduler}=="mq-deadline kyber [bfq] none"
ATTRS{queue/stable_writes}=="0"
ATTRS{queue/virt_boundary_mask}=="0"
ATTRS{queue/wbt_lat_usec}=="75000"
ATTRS{queue/write_cache}=="write through"
ATTRS{queue/write_same_max_bytes}=="0"
ATTRS{queue/write_zeroes_max_bytes}=="0"
ATTRS{queue/zone_append_max_bytes}=="0"
ATTRS{queue/zone_write_granularity}=="0"
ATTRS{queue/zoned}=="none"
ATTRS{range}=="16"
ATTRS{removable}=="1"
ATTRS{ro}=="0"
ATTRS{size}=="7847280"
ATTRS{stat}==" 418 62 17492 913 9 11 40 13 0 956 927 0 0 0 0 0 0"
ATTRS{trace/act_mask}=="disabled"
ATTRS{trace/enable}=="0"
ATTRS{trace/end_lba}=="disabled"
ATTRS{trace/pid}=="disabled"
ATTRS{trace/start_lba}=="disabled"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0/6:0:0:0':
KERNELS=="6:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{blacklist}=="FORCELUN"
ATTRS{device_blocked}=="0"
ATTRS{device_busy}=="0"
ATTRS{dh_state}=="detached"
ATTRS{eh_timeout}=="10"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_media_change}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{inquiry}==""
ATTRS{iocounterbits}=="32"
ATTRS{iodone_cnt}=="0x301"
ATTRS{ioerr_cnt}=="0x2"
ATTRS{iorequest_cnt}=="0x301"
ATTRS{max_sectors}=="240"
ATTRS{model}=="STORAGE DEVICE "
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend_delay_ms}=="-1"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="0"
ATTRS{power/runtime_active_time}=="515595"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="2"
ATTRS{queue_depth}=="1"
ATTRS{queue_type}=="none"
ATTRS{rev}=="9328"
ATTRS{scsi_level}=="0"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{type}=="0"
ATTRS{vendor}=="Generic "
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6/target6:0:0':
KERNELS=="target6:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="4"
ATTRS{power/runtime_active_time}=="515595"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0/host6':
KERNELS=="host6"
SUBSYSTEMS=="scsi"
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="515847"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="1012"
ATTRS{power/runtime_usage}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2/2-2:1.0':
KERNELS=="2-2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="usb-storage"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="08"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="50"
ATTRS{bInterfaceSubClass}=="06"
ATTRS{bNumEndpoints}=="02"
ATTRS{power/async}=="enabled"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_usage}=="0"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2/2-2':
KERNELS=="2-2"
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}=="500mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="9328"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="2"
ATTRS{configuration}==""
ATTRS{devnum}=="55"
ATTRS{devpath}=="2"
ATTRS{idProduct}=="6108"
ATTRS{idVendor}=="11b0"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Kingston"
ATTRS{maxchild}=="0"
ATTRS{power/active_duration}=="517144"
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend}=="2"
ATTRS{power/autosuspend_delay_ms}=="2000"
ATTRS{power/connected_duration}=="517144"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/persist}=="1"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="516868"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
ATTRS{product}=="FCR-HS215/1"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="000004355"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="6144"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0514"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="2"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0002"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 5.14.21-150400.24.63-default xhci-hcd"
ATTRS{maxchild}=="2"
ATTRS{power/active_duration}=="32845264"
ATTRS{power/async}=="enabled"
ATTRS{power/autosuspend}=="0"
ATTRS{power/autosuspend_delay_ms}=="0"
ATTRS{power/connected_duration}=="921827720"
ATTRS{power/control}=="auto"
ATTRS{power/level}=="auto"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="32901578"
ATTRS{power/runtime_enabled}=="enabled"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="888922664"
ATTRS{power/runtime_usage}=="0"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{product}=="xHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="0000:19:00.0"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="375187"
ATTRS{version}==" 2.00"
looking at parent device '/devices/pci0000:00/0000:00:1c.3/0000:19:00.0':
KERNELS=="0000:19:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{current_link_speed}=="5.0 GT/s PCIe"
ATTRS{current_link_width}=="1"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x0194"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="19"
ATTRS{local_cpulist}=="0-7"
ATTRS{local_cpus}=="ff"
ATTRS{max_link_speed}=="5.0 GT/s PCIe"
ATTRS{max_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{msi_irqs/27}=="msix"
ATTRS{msi_irqs/28}=="msix"
ATTRS{msi_irqs/29}=="msix"
ATTRS{msi_irqs/30}=="msix"
ATTRS{msi_irqs/31}=="msix"
ATTRS{msi_irqs/32}=="msix"
ATTRS{msi_irqs/33}=="msix"
ATTRS{msi_irqs/34}=="msix"
ATTRS{numa_node}=="-1"
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="921827071"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="1"
ATTRS{power/wakeup}=="enabled"
ATTRS{power/wakeup_abort_count}=="0"
ATTRS{power/wakeup_active}=="0"
ATTRS{power/wakeup_active_count}=="0"
ATTRS{power/wakeup_count}=="0"
ATTRS{power/wakeup_expire_count}=="0"
ATTRS{power/wakeup_last_time_ms}=="0"
ATTRS{power/wakeup_max_time_ms}=="0"
ATTRS{power/wakeup_total_time_ms}=="0"
ATTRS{power_state}=="D0"
ATTRS{reset_method}=="bus"
ATTRS{revision}=="0x04"
ATTRS{subsystem_device}=="0x1658"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x1033"
looking at parent device '/devices/pci0000:00/0000:00:1c.3':
KERNELS=="0000:00:1c.3"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="5.0 GT/s PCIe"
ATTRS{current_link_width}=="1"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x1c16"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="2"
ATTRS{irq}=="19"
ATTRS{local_cpulist}=="0-7"
ATTRS{local_cpus}=="ff"
ATTRS{max_link_speed}=="5.0 GT/s PCIe"
ATTRS{max_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="on"
ATTRS{power/runtime_active_kids}=="1"
ATTRS{power/runtime_active_time}=="921827076"
ATTRS{power/runtime_enabled}=="forbidden"
ATTRS{power/runtime_status}=="active"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="2"
ATTRS{power/wakeup}=="disabled"
ATTRS{power/wakeup_abort_count}==""
ATTRS{power/wakeup_active}==""
ATTRS{power/wakeup_active_count}==""
ATTRS{power/wakeup_count}==""
ATTRS{power/wakeup_expire_count}==""
ATTRS{power/wakeup_last_time_ms}==""
ATTRS{power/wakeup_max_time_ms}==""
ATTRS{power/wakeup_total_time_ms}==""
ATTRS{power_state}=="D0"
ATTRS{reset_method}=="pm"
ATTRS{revision}=="0xb5"
ATTRS{secondary_bus_number}=="25"
ATTRS{subordinate_bus_number}=="25"
ATTRS{subsystem_device}=="0x3389"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
ATTRS{power/async}=="enabled"
ATTRS{power/control}=="auto"
ATTRS{power/runtime_active_kids}=="14"
ATTRS{power/runtime_active_time}=="0"
ATTRS{power/runtime_enabled}=="disabled"
ATTRS{power/runtime_status}=="unsupported"
ATTRS{power/runtime_suspended_time}=="0"
ATTRS{power/runtime_usage}=="0"
ATTRS{waiting_for_supplier}=="0"
If dealing with a limited number of frequently used USB volumes, you may wish to consider including them in /etc/fstab/, along with specific mount options and locations. To facilitate this, give each volume a unique LABEL using tune2fs, e2label, or one of the FAT or other labeling tools after formatting, or as a command option when formatting, and configure mounting by their humanly memorable LABELs rather than immemorable UUIDs or inconsistent device names. The Leap I’m using to write here has 155 lines in /etc/fstab.
ATTRS{serial}
will search for the serial
attribute on any parent of this device. In this case it is your USB multi-format reader (FCR-HS215/1). Each block device is child of this USB device and attempts to create the same links. The last block device for which this rule runs wins. It worked previously just by pure luck. You obviously cannot assign the same name cfreader1
to both sdb1
and sdc1
You need to use unique (base) name for each block device. %n
is not enough because they overlap.
Did you look at existing /dev/disk/by-*
links? udev
already goes out of its way to give you persistent stable links.
That is not how you post command output. Please, always copy and paste the full command line, its complete output and subsequent shell prompt, all as one chunk of text. Only then can we be sure that you actually run the command you described and its output is complete. And yes, it happens quite often that commands get entered wrong, like confusing capital and small letters, missing spaces etc.
tkmbe
July 12, 2023, 2:20pm
#12
tkmbe:
udevadm info -a -n sdb1
I don’t want to have /dev/sdb and /dev/sdc the udev mounter is doing that.
Of course it should be the same device so I don’t know which the partitions are right i.e. set to /dev/sdbX
and whole device is /dev/sdc instead of /dev/sdb!
I cannot to mounts with fstab etc. fixed because the amount ofpartition depends of the target system I use OpenSuse to install embedded systems and need to install lilo to the cfreader is all automated…
Your hardware cannot read your mind. Your multifunctional card reader provides (at least) two different block devices. Which is rather logical if you can use several slots at the same time - each slot has to be addressed as separate device.
Did you even try to look at /dev/disk/by-*
links?
tkmbe
July 17, 2023, 4:09pm
#14
I don’t understand why I have
usb-Kingston_FCR-HS219_1_114601005146-0:0 pointing to /dev/sdb
and it is not reflected to /dev/cfreader
while
usb-Kingston_FCR-HS219_1_114601005146-0:1 pointing to /dev/sdc
is reflected to /dev/cfreader
Why do I have 2 kingston readers :0 and :1?
This is the same problem with 2 differente models of kingston readers…
ls -l /dev/disk/by-* | grep sdb
lrwxrwxrwx 1 root root 9 Jul 17 13:00 usb-Kingston_FCR-HS219_1_114601005146-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jul 17 13:00 usb-Kingston_FCR-HS219_1_114601005146-0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jul 17 13:00 usb-Kingston_FCR-HS219_1_114601005146-0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jul 17 13:00 usb-Kingston_FCR-HS219_1_114601005146-0:0-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Jul 17 13:00 usb-Kingston_FCR-HS219_1_114601005146-0:0-part4 -> ../../sdb4
lrwxrwxrwx 1 root root 10 Jul 17 13:00 backup -> ../../sdb4
lrwxrwxrwx 1 root root 10 Jul 17 13:00 boot -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jul 17 13:00 log -> ../../sdb3
lrwxrwxrwx 1 root root 10 Jul 17 13:00 swr1 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jul 17 13:00 68afa527-01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jul 17 13:00 68afa527-02 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jul 17 13:00 68afa527-03 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Jul 17 13:00 68afa527-04 -> ../../sdb4
lrwxrwxrwx 1 root root 9 Jul 17 13:00 pci-0000:19:00.0-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jul 17 13:00 pci-0000:19:00.0-usb-0:1:1.0-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Jul 17 13:00 pci-0000:19:00.0-usb-0:1:1.0-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jul 17 13:00 pci-0000:19:00.0-usb-0:1:1.0-scsi-0:0:0:0-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Jul 17 13:00 pci-0000:19:00.0-usb-0:1:1.0-scsi-0:0:0:0-part4 -> ../../sdb4
lrwxrwxrwx 1 root root 10 Jul 17 13:00 187e306a-9479-45b7-8ef7-5898a8aca4f9 -> ../../sdb4
lrwxrwxrwx 1 root root 10 Jul 17 13:00 7e34d5dc-b3a8-4ed6-9552-853311337e15 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Jul 17 13:00 849d2d6c-48f1-46b9-8139-352798299781 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Jul 17 13:00 fffcc0dd-1278-485f-b974-3ea9447bf84b -> ../../sdb1
ls -l /dev/cfreader
lrwxrwxrwx 1 root root 3 Jul 17 13:00 /dev/cfreader → sdc
lrwxrwxrwx 1 root root 4 Jul 17 13:00 /dev/cfreader1 → sdb1
lrwxrwxrwx 1 root root 4 Jul 17 13:00 /dev/cfreader2 → sdb2
lrwxrwxrwx 1 root root 4 Jul 17 13:00 /dev/cfreader3 → sdb3
lrwxrwxrwx 1 root root 4 Jul 17 13:00 /dev/cfreader4 → sdb4
Because your reader has multiple slots and they can be used at the same time and each slot needs its own device. Hey, did not I already told you that?
tkmbe
July 25, 2023, 9:04pm
#16
I know the reader has multiple slots but there are recognized as for example
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
but the partition of /dev/sdb SHOULD be /dev/sdb1 /dev/sdb2 etc. of course and–
Now after upgrading a lot of packages suddenly it works right…
Then write the correct udev rule that matches sdb1
to sdb
, not to some random device of your multifunctional reader. Which is what I’m trying to tell you all the time but you are not listening.
tkmbe:
Any ideas?
To my experience udev works until users start tinkering. Temporarily rename the rules file and show the output of ls -1 /dev/disk/by-id/
:
erlangen:~ # ls -1 /dev/disk/by-id/
ata-CT2000BX500SSD1_1944E225C2B1
ata-CT2000BX500SSD1_1944E225C2B1-part1
ata-PIONEER_DVD-RW_DVR-221_MHQC295793WL
ata-ST8000VN004-2M2101_WSD7VMT2
ata-ST8000VN004-2M2101_WSD7VMT2-part1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L-part1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L-part2
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L_1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L_1-part1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0R834197L_1-part2
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E-part1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E-part2
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E_1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E_1-part1
nvme-Samsung_SSD_970_EVO_Plus_2TB_S4J4NX0W552342E_1-part2
nvme-eui.0025385531b1db50
nvme-eui.0025385531b1db50-part1
nvme-eui.0025385531b1db50-part2
nvme-eui.0025385811b131fb
nvme-eui.0025385811b131fb-part1
nvme-eui.0025385811b131fb-part2
scsi-0ATA_CT2000BX500SSD1_1944E225C2B1
scsi-0ATA_CT2000BX500SSD1_1944E225C2B1-part1
scsi-0ATA_ST8000VN004-2M21_WSD7VMT2
scsi-0ATA_ST8000VN004-2M21_WSD7VMT2-part1
scsi-1ATA_CT2000BX500SSD1_1944E225C2B1
scsi-1ATA_CT2000BX500SSD1_1944E225C2B1-part1
scsi-1ATA_ST8000VN004-2M2101_WSD7VMT2
scsi-1ATA_ST8000VN004-2M2101_WSD7VMT2-part1
scsi-35000c500e4980e65
scsi-35000c500e4980e65-part1
scsi-3500a0751e225c2b1
scsi-3500a0751e225c2b1-part1
scsi-SATA_CT2000BX500SSD1_1944E225C2B1
scsi-SATA_CT2000BX500SSD1_1944E225C2B1-part1
scsi-SATA_ST8000VN004-2M21_WSD7VMT2
scsi-SATA_ST8000VN004-2M21_WSD7VMT2-part1
usb-Generic_STORAGE_DEVICE_000000000828-0:0
usb-Generic_STORAGE_DEVICE_000000000828-0:0-part1
usb-Intenso_Premium_09101700028006-0:0
usb-Intenso_Premium_09101700028006-0:0-part1
usb-Intenso_Ultra_Line_CCYYMMDDHHmmSSUP-0:0
usb-Intenso_Ultra_Line_CCYYMMDDHHmmSSUP-0:0-part1
usb-Intenso_Ultra_Line_CCYYMMDDHHmmSSUP-0:0-part2
usb-SanDisk_Extreme_AA011208142056380851-0:0
wwn-0x5000c500e4980e65
wwn-0x5000c500e4980e65-part1
wwn-0x500a0751e225c2b1
wwn-0x500a0751e225c2b1-part1
erlangen:~ #