Obtener números de serie de dispositivos USB conectados

Estoy buscando un comando de terminal para averiguar los números de serie de los dispositivos USB conectados en computadoras macOS. ¿Hay algún equivalente al comando de Linux "usb-devices"? Probé "ioreg -p IOUSB" pero la salida no contiene los números de serie.

Respuestas (2)

La información sobre los dispositivos USB se almacena de manera diferente en Linux que en macOS:

  • En Linux , usb-deviceses un bash script que esencialmente lee un montón de archivos de texto, vinculados a /sys/bus/usb/devices/usb*, que contienen información sobre los dispositivos USB y los formatea en la salida que ve en Linux.

  • En macOS , no tiene ese script ya que no almacena la información de la misma manera. Sin embargo, si desea generar información sobre los dispositivos USB enumerados por el sistema operativo, en la Terminal, utilice el siguiente comando:

    system_profiler SPUSBDataType
    

    Si un dispositivo USB tiene un número de serie, se mostrará en la salida.


Como mencionó Allan en su comentario, puede usar el siguiente comando para minimizar la salida e incluir partes relevantes de la información del dispositivo que contienen el nombre del dispositivo y el número de serie con un poco de información adicional.

system_profiler SPUSBDataType | grep "Serial Number" -B5

Tenga en cuenta que hacer esto oculta parte de la información del dispositivo en comparación con la información generada por usb-devices, aunque puede ser información innecesaria según sus necesidades.


Como ejemplo, aquí está la usb-devicessalida, en Linux, para una unidad flash USB de 8 GB:

T:  Bus=03 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0781 ProdID=5530 Rev=01.26
S:  Manufacturer=SanDisk
S:  Product=Cruzer
S:  SerialNumber=20042214412B1A33690E
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

Mismo dispositivo bajo macOS usando system_profiler SPUSBDataType:

            Cruzer:

              Product ID: 0x5530
              Vendor ID: 0x0781  (SanDisk Corporation)
              Version: 1.26
              Serial Number: 20042214412B1A33690E
              Speed: Up to 480 Mb/sec
              Manufacturer: SanDisk
              Location ID: 0x1d110000 / 7
              Current Available (mA): 500
              Current Required (mA): 200
              Capacity: 8 GB (8,004,304,896 bytes)
              Removable Media: Yes
              Detachable Drive: Yes
              BSD Name: disk3
              Partition Map Type: MBR (Master Boot Record)
              S.M.A.R.T. status: Not Supported
              Volumes:
                disk3s1:
                  Capacity: 2.97 GB (2,966,634,496 bytes)
                  BSD Name: disk3s1
                  Content: 0x17
                NO NAME:
                  Capacity: 110.1 MB (110,100,480 bytes)
                  Available: 4.1 MB (4,124,672 bytes)
                  Writable: Yes
                  File System: MS-DOS FAT16
                  BSD Name: disk3s2
                  Mount Point: /Volumes/NO NAME
                  Content: DOS_FAT_12
                disk3s3:
                  Capacity: 3.92 GB (3,923,232,768 bytes)
                  BSD Name: disk3s3
                  Content: Linux

Salida bajo macOS usando system_profiler SPUSBDataType | grep "Serial Number" -B5:

            Cruzer:

              Product ID: 0x5530
              Vendor ID: 0x0781  (SanDisk Corporation)
              Version: 1.26
              Serial Number: 20042214412B1A33690E
Si solo desea los números de serie, agregue | grep "Serial Number" -B5el comando anterior para obtener el dispositivo y el número de serie asociado con él.
Esto es exactamente lo que necesitaba. Gracias. Pero, ¿este comando también es compatible con versiones anteriores de macOS?
@Phelps, sí, ambos comandos que se muestran en la respuesta son compatibles con versiones anteriores de OS X/macOS.

por cierto: descubrí que, si conecta un disco duro externo o SSD usando una carcasa externa o un cable adaptador USB a SATA, si usa estos comandos de terminal o información del sistema, verá el número de serie, la identificación del producto, etc. el cable del adaptador o la carcasa en sí (probablemente del chip del controlador en el interior), no el SN deseado para el disco duro o SSD, etc. Por ejemplo, esta imagen aparece en mi Mac Mini> información del sistema cuando conecté un Samsung Evo SSD de 250 GB, La información proporcionada corresponde al cable adaptador, que se identifica con un ID de producto de 0x0621 y un ID de proveedor de 0x1f75 (Innostor Co, Ltd.) que está relacionado con Startech, que es la marca en Amazon para este cable adaptador USB.
ingrese la descripción de la imagen aquí