command sg_inq returns right away with proper info and, with 60-persistent-storage.rules only:
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial
E: ID_SERIAL=Corsair_Voyager_Mini_3.0_070851D0E490C776-0:0
E: ID_SERIAL_SHORT=070851D0E490C776
--------
$ sudo sg_inq -d /dev/sdb
<hangs for quite sometime>
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial
<no serial is given>
AFTER sg_inq command returns (10 seconds or more) AND with 55-scsi-sg3.rules installed, then we get:
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial
E: ID_SERIAL=3
E: ID_SERIAL_SHORT=2000acde48234567
Which means that its likely that curtin did not wait enough (or settled) for the device VPD to "arrive". I haven't found out why the "USB" ("SCSI") vpd gets so long to be returned when sg-utils-udev is installed, will investigate.
@Rhyan, thanks for the quick pointers, helped a lot =), I think I found out what is going on.
Linux mylab 5.0.0-30-generic #32-Ubuntu SMP Wed Sep 18 00:24:43 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
Using a memstick in an aarch64 server:
$ sudo sg_inq -d /dev/sdb
standard INQUIRY:
PQual=0 Device_type=0 RMB=1 LU_CONG=0 version=0x06 [SPC-4]
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 [BQue=0]
EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0
[RelAdr=0] WBus16=0 Sync=0 [Linked=0] [TranDis=0] CmdQue=0
length=36 (0x24) Peripheral device type: disk
Vendor identification: Corsair
Product identification: Voyager Mini 3.0
Product revision level: 000B
Unit serial number: 0C7707865010
command sg_inq returns right away with proper info and, with 60-persistent- storage. rules only:
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial Corsair_ Voyager_ Mini_3. 0_070851D0E490C 776-0:0 SHORT=070851D0E 490C776
E: ID_SERIAL=
E: ID_SERIAL_
--------
$ sudo sg_inq -d /dev/sdb
<hangs for quite sometime>
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial
<no serial is given>
AFTER sg_inq command returns (10 seconds or more) AND with 55-scsi-sg3.rules installed, then we get:
$ sudo udevadm info --query=all --name=/dev/sdb | grep -i serial SHORT=2000acde4 8234567
E: ID_SERIAL=3
E: ID_SERIAL_
Which means that its likely that curtin did not wait enough (or settled) for the device VPD to "arrive". I haven't found out why the "USB" ("SCSI") vpd gets so long to be returned when sg-utils-udev is installed, will investigate.